There are ways you can make good money by contributing to open source (OSS)
Many developers run passion projects on the side because they really find value in them. Whether the motivation is personal growth, the ability to help others through their tools, or simply to develop a crazy and fun idea, they are happy to work on them after their paid job is done for the day.
Right now, the software industry is largely dependent on open source, yet the field is often perceived as being a financially unrewarding one to work in.
If you don’t know, Open Source Software (OSS) is software for which the original source code is made freely available and may be redistributed and modified according to the requirement of the user. Open source software is that by which the source code or the base code is usually available for modification or enhancement by anyone for re-usability and accessibility.
Open source code is the part of software that mostly users don’t ever see. Anyone can manipulate and change a piece of software so that the program or application can work. Programmers who have access to a computer program source code can improve a program by adding features to it or fixing parts that don’t always work correctly.
Lately, most people when they think of open source software, imagine enthusiastic and generous developers who spend their days and nights creating software for free. But, developers have started thinking about how to monetize their OSS. Let me show a few common ways to make profits from open source software.
Software as a Service (OpenSaaS)
One way to monetize your open source project is by using the SaaS business model. This option makes sense if you have a fully-fledged application capable of generating demand. The SaaS model is a popular way to license software because it’s flexible and offers rapid deployment and decreased costs. What makes SaaS attractive is that the software is stored in the cloud; users only need a web browser to access an application. SaaS is a popular business model for vendors that build tools for HR, collaboration, content management, and project management.
SaaS solutions with a free codebase reduce development costs and eliminate the need to build redundant functionality. Additionally, the vibrant OSS community will gladly promote quality open source products. With an OpenSaaS model, software is purchased via subscriptions, which can offer varying levels of service. For example, you might offer technical support, software customization, and trainings as package options. WordPress and Sharetribe are two bright examples of OpenSaaS products. Let’s see how they function.
WordPress as OpenSaaS
WordPress effectively functions as a free SaaS product: it’s an open platform, and it offers subscription plans with extra features like unlimited storage, automatic backups, customizable themes, and custom domain names. We say “effectively,” however, because WordPress technically comes in the form of a software product you can install on your own web server and maintain independently. The SaaS version of WordPress can be found at wordpress.com. If you choose this service, then WordPress hosts your application for you. However, since there’s no vendor lock-in, a customer can easily switch to a self-hosted WordPress version any time.
Sharetribe as OpenSaaS
Sharetribe, a marketplace builder, is another great example of an OpenSaaS product. It comes in two versions: a self-hosted free version which can be found on GitHub, and a cloud-based hosted version at sharetribe.com. With the SaaS version of Sharetribe, customers receive software hosted on Sharetribe’s servers along with full-cycle support and maintenance, from installation to backups. With the SaaS version, customers don’t have to worry about updating their software, as this is done by Sharetribe. But while the SaaS version receives great support and additional offerings like custom domain and removal of Sharetribe branding, this version of Sharetribe is less customizable, only allowing you to personalize marketplace filters and change colors, images, and block position in the user interface.
With the open source version of Sharetribe, on the other hand, the customer has to deploy Sharetribe on their own server and run updates and backups themselves. The GitHub community offers decent support, but ultimately you’re on your own.
Though there aren’t many examples of OpenSaaS products on the market today, we feel that this business model is just beginning. The term ‘OpenSaaS’ was only coined in 2011 by Dris Buytaert, creator of Drupal. OpenSaaS is an exciting new trend that combines the best of both worlds, allowing people to build web experiences more easily than ever.
Many OSS companies succeed by providing extra services.
Such as technical support, certifications, and trainings. In fact, most professional open source companies (including Red Hat, JBoss, and MySQl) have built their entire business by providing free solutions. They generate profits only from additional services.
The most common way to get revenue from OSS is to provide paid support. Red Hat sets the bar for this model, boasting substantial revenue. In 2016, the company announced a profit of 2.05 billion dollars.
Red Hat does admirably by selling yearly subscriptions for user and technical support. Customers can choose a subscription plan based on number of requests, severity of requests, support channels and hours of coverage. MySQL, the leading open source database, derives revenue from selling support subscriptions for their product.
Paid support is an effective tool for making profit from open source for a few reasons. First, enterprise owners can save money on their payroll. Instead of hiring in-house specialists, enterprises can have access to certified support specialists on a less expensive basis. Second, enterprises can have peace of mind knowing that they can call in the pros whenever a problem arises.
Dual licensing allows companies to release commercial software (with a commercial license) that’s derived from free OSS commonly distributed under the GNU General Public (GPL) license. Dual licensing can be implemented in a few ways. In the first scenario, a company releases identical products under a commercial license and under a free license like GPL. In the second scenario, the company releases different versions under different licenses.
So what’s the point of dual licensing? The GPL license allows end users to run OSS, redistribute that software, and modify it. However, you can’t embed OSS solutions into your proprietary (commercial) software and make profit under a GPL license. This is precisely where you’ll need a commercial version of an open source product to have the right to sell your commercial software.
The most well-known example of successful dual licensing is MySQL. The company releases MySQL Enterprise Edition, MySQL Cluster CGE, and MySQL Standard Edition under commercial licenses while still offering two other products, MySQL Classic Edition and MySQL Community Edition, under the GPL license. The commercial versions receive enhanced security features, backups, 24/7 support and more.
Paid extra features or functionalities
Some companies make money with open source in this way: they distribute their software for free, but charge money for additional features, functionalities, or updates. We can’t call such approach selling open source software.
As we mentioned previously, customers feel most comfortable paying for only the services they utilize. Which is why, charging money for extra functionality is attractive for a number of reasons. First, it’s quite clear what additional functionality customers are paying for. Second, customers can save money on deployment and troubleshooting when these services are included in paid packages. For instance, GitLab distributes their developer tools in three editions. Their version for enterprises includes premium support, file locking and advanced solutions for remote teams, and is billed per user.
Charging money for additional functionality works well for software designed for blogging, HR, collaboration, customer management, and other similar needs. WordPress provides their Premium and Enterprise customers, for instance, with additional websites and an additional workforce to maintain their WordPress sites. While the fee per developer is quite high — $5k USD per month — customers receive certified professionals assigned to specific technologies and businesses.
If software is popular enough, companies can offer certification opportunities for specialists who want to validate their knowledge and skills. Getting certified, as a developer, is quite useful for a number of reasons. First, it’s a great opportunity to differentiate yourself among other specialists with the same skills. Second, developers realize the importance of networking with mentors and groupmates. Finally, a developer’s certification leads lends them additional professional credibility and even promotions, and can boost a company’s image.
Open source giants including Magento and Red Hat offer a variety of certification options. In fact, Red Hat offers around 30 different kinds of certifications in Red Hat’s products as well as PaaS, business processes, deployment and system management. Magento issue certificates for skills related to Magento development and solutions.
Bug bounty programs
Bug hunting, or as it’s usually known, bug bounty programs, is a way of earning money either by reporting errors on other systems or by solving them and submitting your pull requests with the code that fixes them. These programs are usually part of the entire vulnerability audit of the software being tested and accompany other internal processes the developers are implementing.
There are many different lists of bug bounty programs, but you can find a good, up-to-date one on this website. Overall, this option is quite lucrative if you are able to put in the hours. That being said, you also need to specialize your knowledge and focus on security bugs if you want to reap the big rewards.
Last but certainly not least, aside from bug bounties, you can also get paid by fulfilling OSS (open-source software) bounties over at BOSS, a relatively new initiative that has lots of potential. Here, project owners can submit development tasks that they pay for on completion. This is certainly not as lucrative as the above programs but also requires less of a focus on security and can be tackled with a more generic software development profile.
This option is definitely one of the classic ways of making money from your own and others’ open-source work. It involves selling support for OSS products, ideally your own libraries, frameworks, or any other type of system that is free to use for others.
Usually, OSS maintainers perform basic support for their products, but that can vary depending on a lot of issues, such as:
- The popularity of the product. The more people use it, the more motivated its creator will be to fix its problems.
- The number of issues the product has. Following on from the previous point, the more issues a popular product has, the more work its maintainers will need to do.
- The amount of time the creator or the maintainer of the code has. This is crucial, as normally OSS maintainers don’t get compensated directly for their products, which can directly affect the type of support they provide.
Make it your calling card for companies looking to hire
Now this one is a bit of a curveball, mainly because it isn’t a direct way of making money from any OSS products you might release. Instead, it represents a way for you to use the popularity of one or more of your open-source products to give you access to companies you normally wouldn’t have.
Maybe you’ve been wanting to get noticed by Microsoft but haven’t had any luck with your job applications. A good option might be to make some useful contributions to its open-source products, such as TypeScript — you could become a regular maintainer for its main product, creating some good OSS support tools (e.g., frameworks around TypeScript or tools to automate the development process), or even one of the main authors of its product.
Whichever way you choose to do it, if you provide quality content for the community that has grown up around a particular open-source product, you’ll get noticed and thus, companies will find out about you and might even consider hiring you to work on their products.
Open source software is highly regarded thanks to its security, reliability, and vibrant communities that support it. Moreover, OSS helps companies avoid reinventing the wheel, and can even be used within proprietary software. Altogether, these factors have made OSS quite popular. Today, people are willing to pay for open source software to ensure legal protection, technical support, and professional services. With paid open source technologies, companies can offer the best of both worlds: transparent technology with the support and features of commercial software.
That’s it for the best ways to make money from your open-source activities. As you can see, coding is not always required, but the main point you should be taking away from what we’ve outlined here is if you’re hoping to make considerable money from these activities, even to the point of making a living solely from them, it’s going to take time and will require effort in areas other than OSS, such as building a community.