Free and open-source software (FOSS) doesn’t have to be entirely separate from the concept of bringing in money, but the path to monetizing is maybe less clear than it could be. To help address this, [Drew DeVault] has shared some concise thoughts on different ways to monetize FOSS work and projects. [Drew] observes that monetizing one’s own projects is one approach, but that it is entirely possible, and less difficult, to make money by participating in open source work in a more general sense.
There are companies and organizations out there who may make their money otherwise, but are nevertheless involved in or reliant upon open source software for running their business. Such companies are a good starting point for anyone looking to work in FOSS, and [Drew] shares a clever tip for finding them: use git to clone the software repositories of large projects that are of interest to you, then run this command:
git log -n100000 --format="%ae" | cut -d@ -f2 | sort | uniq -c | sort -nr | less
This will extract the domain names from the last 100,000 commits to the repository in question; a good set of leads to companies and organizations that are invested enough in FOSS to contribute, and who may be willing to pay for such work.
There is also the option of monetizing one’s own projects, which [Drew] says is the more difficult approach. He shares tips on monetization options, but cautions that fundamentally one is building a business when going this route. One should therefore be prepared to face the attendant non-software-related problems in the process.
[Drew] runs SourceHut and works entirely in FOSS, but still makes time for fun hacks like using this old line printer to emulate the experience of working on a teletype, which is how it was done when terminal output went to paper, instead of a CRT monitor.
25 thoughts on “Some Tips For Monetizing Work In Open Source”
But what if it makes you feel unclean? Brought to you by Carl’s Jr.
So nobody is clean Even RMS takes paid consulting gigs to pay the bills.
Didn’t he retire to finish the GNU/THURD?
Yeah, something like that…..
nah, its got electrolytes ;-)
Brought to you by Carl’s Jr.
I just ran that command in a couple of cloned project directories owned by multiple people.
The resultant list is the domain name of the E-mail contact of the git user making the commit. If the committer is registered with a company E-mail contact, then that’s what you’ll get. If they’re registered with aol.com or msn.com, then *that’s* what you’ll get.
The format %ae is “author E-mail”.
Yep, that’s the idea.
Many years ago I was the release manager for a FOSS tool.
I wasn’t the primary developer by any stretch, but I built a (very) small business around doing little bits of coding on the edges of the product, minor features and prioritized bug fixes. The best money came from custom plug-ins to extend the tool to handle somebody’s unique needs.
The second revenue stream and by far the smaller was the priority bug fixes for users willing to pay a little money. Maybe a one topping pizza kind of service. I had a customer who – after the code was written, debugged and committed – refused to pay. Corporate refused my invoice (it might have been oh, $125? – 5 hours of work at $25/hr).
My contact was so embarrassed that he sent me a personal check for $25. Shortly after that I abandoned trying to make a living out of FOSS.
FOSS facing the same problems as everyone else asking for money. That’s why trickery like advertising is needed. And free stuff, you’re the product.
When you’re making money out of adding features and fixing bugs, or support and training, you have to build the application to be full of bugs and missing features, missing documentation, and difficult to use.
You get what you pay for.
I was hoping for a bit more info/options from the article. What about bug/feature bounty programs/services like bountysource.com? Does anybody have first hand experience with actually making money via those types of things?
Asking for a friend.
To be honest, many commercial shops are still mostly Microsoft stacks and not FOSS. There are several reasons for this phenomena, but the primary one is people don’t like paying for things they think is worthless (rather than free).
The FOSS shops tend to be budget constrained (there are a few exceptions), with proprietary stacks, and be on the lower end of compensation ranges. Gig economy work schemes are the absurd lowest form of contracting, and like uber/lyft pit peoples desperation against their own invested time to bleed off equity to a company.
My advice, work for the largest and most ruthless company you can find… then leave after 2 years for something better… even if you have to build it with some friends . ;-)
I think the primary reason is that people will come to you to sell you commercial software that they think you might need (and will try and convince you that you do). Nobody(ish) is going to push FOSS at you, you have to realise you have a need and go find it yourself – that’s a lot more effort.
In a commercial environment, the ease of using commercial software is a big benefit.
Erlang/Elixer evolved from the commercial side into the FOSS it is today. Personally, I think the lucrative aspect of commercial software died 10 years ago, and companies shifted to the voyeur economy of data mining the users. Most software people slowly realize they should have been a plumber after a few years…
“Nobody(ish) is going to push FOSS at you”
ahem, Amazon? Although they do tend to hide the project ideas they borrow from the community. ;-)
I run an open source project and give away everything from plugins to support for free.
I make a nice living doing customizations to and custom implementations if the project for people who don’t want to do it themselves.
The KiCad Services Corporation has figured out a way to monetize support for a FOSS project.
Consider, if KiCad was easy enough to use that the people could figure it out, they wouldn’t have a business.
Don’t be dumb dude, every software has flaws. At least FOSS have free tutorials lying around.
Try doing a Proteus, Cadence or Cadstar project to understand.
Also, at least with FOSS, the fileformat is open. Meaning that, even 10 years from now, one can decode your files and use them in other software.
My impression, probably questioned by FOSS fans, has been – in over 40 years of software development – that FOSS usually is about making things as hard to grasp, as fragile to use and as frustrating to support as possible for users and service all the like. Whereas, “on paper”, commercial products try to make a “good impression” at least on the usability side, else marketing has a hard stance selling the product in the first place.
I have worked for clients that WANTED to use FOSS software but had to realize that fixing the bugs and making the user interfaces USABLE FOR USERS (as in “non-computer-freak-users”) was MUCH more expensive than switching to commercial solutions and working around THEIR bugs.
In the end, I live from writing software in the context of commercial (high priced) applications to fullfil very specific user demands and only touch FOSS when a “quick and dirty, user-hidden” feature is required.
Sad – but that’s my story and I’m stickin’ to it.
I agree with this. I’m not a software developer, but every once in a while if I find some open source software I’m interseted in using, it seems like every step is so much more challenging than it feels like it needs to be. Downloaded in some weird tarball format, have to set up some strange build environment to build it, and then when you actually get it running, everything is these arcane command line commands. I don’t know…maybe I’m just not meant to use it.
I agree. I love FOSS but you must be willing to accept what it is and the warts that come with it. In other words, you get what you’ve paid for.
Functionality is the driver of FOSS and is the most “fun” aspect for the developer. Creating an easy-to-use-yet-complete UI is hard. Elegant commented code and documentation are tedious to create not to mention tedious to maintain. Easy installation is low priority. These all tend to get short shrift unless the developer is passionate about them or you are getting paid to do them.
Most FOSS developers create projects to solve problems they encounter in their personal hobbies, thus most FOSS projects are the means to achieve a goal, not the goal itself. Once they have something Good Enough ™ the urge to move on and heed the siren call of solving the next problem is almost irresistible. Hopefully someone else, perhaps you, will pick up the ball and move it towards where you want it to be. FOSS enables that–if that someone has the time, skill, and passion.
And, out of curiosity, did you tell the software maintainer that the interface wasn’t user friendly?
I mean, if the software is like that, it’s because the developper believed that it was the best way. So maybe it’s just a non awareness problem?
Remember that anytime you’re generating revenue your local government will consider you to be in business. Even if you don’t.
Might as well take a few minutes to set that structure up properly in a spreadsheet and setting aside taxes if you’re making a go of it.
Hi all, I have been developing a solution for monetizing open source with a friend.
I have written a post of the idea here https://juu.so/what-is-plate and am happy to hear what you think in comment here or to the email at the end of the post. (Sorry the link redirected and clicks counted as I would like to see how many people are interested.)
We are mainly on a stealth mode for couple of reasons, e.g. regulatory hindrances, but are starting to seek for alpha users for the platform. (We do have a proto website working.)
And thanks for this post and comments, I believe FOSS development and adoption will rise sky high when we are able to monetize it sustainably.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)