There are many myths about open source software (OSS) and perhaps the most common is this: open source and profit are mutually exclusive. Surely there are those who believe that all software should be open and free, but they are a minority (not dissimilar to art purists).
The truth is: many OSS developers and projects do generate revenue. Some earn just enough money to survive while others produce so much money that they put proprietary alternatives to shame. How’s that for irony?
That being said, profiting as an OSS developer does require a slight paradigm shift. Rather than seeing your software as the product itself, the trick is to see your software as a platform or catalyst that paves the way for other revenue streams.
Offer Support and Services
By far the most common method of income is to provide a service alongside the OSS product. Pick any OSS project from random and there’s a good chance that they utilize this method in one way or another.
Compiled binaries. Despite releasing your source code for free, you can always find potential users who want to use your software but don’t have the knowledge, time, or energy to compile it on their own. These users are often willing to pay you to compile your own code on their behalf.
Maintenance services. You know your software the best. You can sell that expertise to users in the form of services that save them time and frustration. Most companies value their time more than their money so this is a great way to go, especially for server-based software. Paid installation and setup, or on-call administrative support are two prime examples.
Lectures and workshops. If your software is deeply complex with a steep learning curve, companies may hire you to teach their employees directly. Or, if your software is popular enough, you could hold workshops for individuals who want to learn everything from the basics to the most advanced aspects.
Sell Instructional Material
Users of OSS tend to be those who are self-taught lone wolves. They want to pick through your code and discover everything at their own pace. For these users, lectures and workshops are off the table; instead, they prefer hands-on material.
You can sell this material to them and they’ll probably pay for it.
Documentation. Many OSS projects include documentation for free and there’s nothing wrong with that. However, good documentation is time-consuming to produce and incredibly valuable, so much so that it may deserve a price tag. For those who don’t want to pay, they can always scour the source code itself.
Tutorials and examples. If paid documentation doesn’t sit well with you, you can always release it for free and then charge for tutorial resources. This applies more for complex frameworks like game engines and not so much for singular applications.
Paid Plugins and Enhancements
Depending on the open source license that binds a particular OSS project, you can mix and match an open platform with paid extensions or improvements. This may sound like it’s cheating the OSS philosophy but it’s more common than you think.
Paid extensions. Consider one of the most successful web systems, WordPress. It’s offered free of charge for anyone to use and modify, but there are plenty of WordPress professionals who make a living by creating and selling WordPress plugins. You can offer the base software for free and sell your own extensions for advanced features.
Another example is the Unity game engine, which is available in free and paid versions. However, in addition, there is the Unity Asset Store which is a central marketplace where users can create and sell plugins for others to use. Unity gets a cut of each sale and all of those individual sales do add up over time.
Enterprise versions. Offering your product in a free and paid version is nothing new and it’s entirely legitimate for OSS products, too. In most cases, the free version is open source while the paid version is closed source, but it doesn’t necessarily have to be that way.
JetBrains, a company that specializes in feature-rich programming IDEs, likes this approach. For example, they offer PyCharm for free as an open source “Community” version and a more advanced “Enterprise” version with additional features.
Secure Corporate Sponsors
It may be the case that a company or benefactor likes your software so much that they will pay you long-term to keep working on it, essentially becoming your sponsor. Depending on the circumstance, said sponsorship may be contractually-bound or simply based on donations, though the latter is less likely.
Another means of sponsorship is crowdfunding. You may not find too much success with OSS on a site like Kickstarter, but there are alternatives with an open source focus: FreedomSponsors and BountySource come to mind.
Or, if you’d prefer to maintain full control over your campaign, you could always crowdfund from your own website.
These aren’t the only ways to earn money as an OSS developer but they’ve been proven successful time and time again. Admittedly, it might be tougher to earn revenue with OSS, but it’s certainly not impossible.
How else can an open source developer make money? Share your thoughts with us in the comments below!
Image Credit: Source Code via Shutterstock, Portrait Of Happy Young Female Operator With Headphones, closeup hand on the book in library, Young software engineer working in office with headphones on his head