Most open source projects start by scratching the developer’s own itch. They then spread to other developers based on functionality and stability, and the responsiveness of the community.
Larger open source frameworks often transition into a business for the maintainers. They serve as consultants, sell commercial licenses, and develop custom features for customers on demand. It’s difficult to expand from geeky early adopters to business-oriented mainstream users. Potential business users need to see that the project has a strong ecosystem, including integrators and consultants who can support customers.
Also, if the framework is to be the core of a customer’s software projects, they will want to hire developers full-time and to know that other developers will be available to replace them when needed.
Four steps to transition an open source project into a business
- Easy access to the discussion. Make the discussion forum easily accessible so that visitors can see that the project is alive and kicking. The forum software should be conveniently browsable and searchable on the web, rather than just an online archive of message threads. It’s a good idea to make sure that the "latest posted" date is always recent. To do this, its help if you avoid splitting off sub-forums until you really need them.
- Show who’s behind the project. Post the names and email addresses of the project maintainer and other leaders. At far too many open source projects, it’s hard to find this information. Modesty is good in communal undertakings, but when customers are trying to decide whether to use a product, you want them to associate a name with the project.
- Show off your ecosystem. Let site visitors see the third-party plugins, organizations using the software in their own products, and integrators supporting for the framework. This provides social proof, and also shows them that they’ll have the services they need to back them up.
- Highlight your developers. Another powerful proof of project maturity, frequently overlooked, is to show off the developers who know your project. By presenting developers who are familiar with the framework and open to job offers, you let employers know that they could hire a salaried developer to work with the framework, and that they can find a replacement for that employee when the time comes.
A developer’s involvement in open source is a sign of commitment to programming. Without an easy way to find developers at your project site, employers can try to track them down on the project’s forum, but they won’t know which developers want to be contacted with suitable job offers.
As a test case for these four points, let’s take a look at JUCE. It’s an open source C++ framework which provides a wide range of functionality like GUI widgets, audio, networking, and multi-threading—something like the JDK for C++.
Amazingly, it was developed and maintained almost entirely by one man.
Essential features of JUCE’s strength are immediately apparent on juce.com.
- The forum is lively, up-to-date, and web oriented.
- Jules Storer, JUCE’s maintainer, puts his name and the name of his company on the About page, and his personal email on the Contact page.
- The Ecosystem page presents a vibrant marketplace of commercial JUCE users, open source projects based on the library, and third-party modules.
- The same page presents developers who know JUCE and who are open to job offers. Knowledge of JUCE is in-demand, and more than that, anyone who uses it is showing expertise in application programming in C++, a rare and in-demand skill. Employers see this list, and know that developers with JUCE skills exist, and could be interested in the right job offers.
If an open source project is to become a business, it has to transition from tactical technical uses and become a strategic framework on which organizations base their business. You need to impress the developers, but you also need to show management that they will be able to hire the expertise they need to keep working with the software, even when the developer moves on.
You can do this by making it clear that the project is strong: That the forum is alive, that a real person puts their name behind the project, that a lively ecosystem of users surrounds the project, and that skilled developers will always be available.