Open Source.NET

Giving Back to the OSS Community

While we often talk of how we can leverage OSS to deliver a higher-quality product, rarely do we talk about how we can give back to the OSS community.

Open-Source Software (OSS) is one of the greatest assets that can be leveraged in software development. Pick a technology, a tier, or a purpose and you're sure to find many OSS projects that can save you time and effort. Or take a look at the tools you use, and think about how much value has been added to your work.

And while we often talk of how we can leverage OSS to deliver a higher-quality product, delivering value that customers need, rarely do we talk about how we can give back to the OSS community.

OSS developers, for the most part, are driven by a passion for their craft. The question "What if...?" is a powerful driving force, constantly providing valuable one-upmanship. Sometimes OSS can become a yoke, with the project's authors attached; pulling the project forward becomes unpaid work. We all can help share the burden of this yoke, but the contributions we can make don't necessarily have to be financial.

I don't want to be paid for my OSS contributions. Why? Because it isn't work. Unlike a typical work environment, I can create anything I want and share it with the world. Everything I'd like to do at work, but is limited by deadlines, bureaucracy or company standards, is now fair game. Being paid turns my side projects into what I am trying not to do.

That doesn't mean, of course, that helping OSS projects financially wouldn't be greatly appreciated; Web hosting and bandwidth can be expensive. But that's only one way to help.

What other ways are there to help OSS developers? Try some of these simple ones:

  • Send the contributors an email thanking them for their work.
  • Tell them how their work has affected yours.
  • Help out on a mailing list.
  • Submit a patch or feature.
  • Create unit/integration tests.
  • If you meet someone whose work you use and appreciate, buy them a coffee, or lunch.
  • Promote their compiled/packaged application, plugin or widget.
  • Is there a paid version of the software? Has your usage been worth the cost of the paid versions? If so, consider that avenue.

One of the best, and seemingly paradoxical, ways to show your appreciation for an OSS project is to fork it, try to replace it, or directly compete with it. Competition is one of the best driving forces.

For example, compare and contrast these Inversion of Control containers: Castle Windsor, StructureMap, Ninject, Spring.NET, Autofac, and Funq. You'll see an amazing shared evolution: Features, extensions, conventions, and APIs moving in lockstep, borrowing features and adapting with the advancements in technology. Each project shows very specific behavior and structure based on what came before it. Each framework enriches the ecosystem and gives a new outlook on how we compose applications.

Taking a look at the tools we use every day, we have a lot to be grateful for -- here's a partial list:

Making someone's day is very simple and can have profound effects. Hearing someone talk about your work positively can give a tremendous push and make a developer's yoke seem much more bearable. We all need positive reinforcement, and to know that what we do is valued and worthwhile. So go out and tell those whose work is of value to you that you appreciate what they do.

About the Author

Ian Davis is the Master Code Ninja for software architecture and development consulting firm IntelliTechture. A C# MVP, Davis is an expert on the .NET Tramework and co-organizer of the Spokane .NET User Group who frequently speaks at industry events. He spends most of his free time as an open source author and advocate, publishing and working on many open source projects.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube