There is a myth that simply by making a software platform open source, qualified people will give up their nights and weekends to contribute to its development. With rare exceptions, that's not how the open source world works. Building a community of contributors takes time, and complex applications often have a steep learning curve before a developer becomes comfortable working with the code.
Open source software companies are the fuel behind a lot of software development, forming the communities and providing the financial backing that support it. And, like any other type of business, open source software companies need to earn money to stay in business.
One way to do that is through sponsored development, where a business end-user pays an development company to develop a feature it needs but isn't currently available in the open source software of choice. This model enables an open source software company to leverage its expertise with the application to develop and sell a service or product that better meets the end user's needs—both functional and financial.
For example, imagine a business is using a piece of proprietary software only because it has a feature an open source platform lacks. If they are paying a yearly maintenance contract on that application, they can often save money and reduce the number of tools they're using if they contract with a development company to add the missing feature to an open source platform.
Why sponsored development makes sense
Typically, (non-open source) software development is governed by a master services agreement (MSA), which usually has language like this:
"Consultant hereby assigns to Company all right, title, and interest in and to any work product created by Consultant, to which Consultant contributes, or which relates in any way to Company Property pursuant to this MSA ('Work Product'), including all Intellectual Property Rights therein and thereto. Consultant retains no rights in the Work Product and agrees not to challenge the validity of Company's ownership in the Work Product."
This isn't an issue in an open source sponsored development contract. Because open source software is designed to be shared, the open source license gives companies basically unlimited rights to use the software within their organizations, and thus assignment of work product ownership is unnecessary. But this brings up another issue: Often, the sponsoring company is paying for a feature that many organizations would benefit from (and therefore the developer would like to provide), but under the terms of the open source license, any organization can use it. This leads many potential sponsors to ask why they should pay for a feature everyone else can get for free? There are several answers to this question.
First, sponsoring development may make business sense (and if it doesn't, you shouldn't do it in any case). Say a company is paying US$ 50,000 a year in maintenance fees for proprietary software because an open source alternative lacks a key feature. If it costs less to have that feature developed in an open source platform, the company will recoup its investment in reduced software costs over time. Additionally, the sponsor would get to access the feature quicker than they would if they waited for someone else to develop it (assuming it would even get developed).
Second, the feature will be developed precisely to meet the sponsoring company's needs and supported over the life of the software. If they need the feature to be "blue," and the rest of the world needs it to be "pink," the open source developer can add an option that lets it be "blue."
Finally, sponsored development has supported countless open source software features that we all benefit from. One company paid for Feature A, another one paid for Feature B, and so on. Every company that uses that software has benefitted from all that work, so if it makes business sense for a company to sponsor Feature C, there's no reason not to do it.
For end-user companies, funding key features in open source software often makes sense from a business perspective, and it can help developers leverage their expertise in a certain software platform to advance their project. Sponsored development is a rare win-win for both sponsoring companies and open source developers—not to mention the entire community that will benefit from the advancement.