Ask HN: Do you get paid to contribute to a open source project?
I've been considering putting in the effort to get up to speed with a major project like Chromium or Firefox.
Ideally, if I am going to put in the massive amount of effort, I'd like to at least have the potential to get paid for the effort. Let me stress, getting paid is not the primary reason. I learn code bases and write code because I love the art.
Any advice from serious open source contributors?
85 comments
[ 2.9 ms ] story [ 174 ms ] threadhttps://gratipay.com
1) You work on an open source project and an altruistic company hires you to keep working on it. This is ideal, and I've only ever seen it once (Sendmail hired a couple of core contributors to keep making Sendmail awesome back in the 90s).
2) You work on an open source project, people see the work because they use the project, and then offer you a job to keep working on the project, but slowly over time you are working less on things that are great for the community and more on things that are great for your company. I've seen this a lot.
3) You get hired by a company that uses a big project, and they ask you to start making modifications that are useful for the company. It turns out what you did was useful for everyone so you contribute it back. Sometimes it turns out to be a huge win and so you keep working on it. I saw this with Cassandra and some of the folks at Netflix.
4) You create a cool project and your company lets you open source it. It becomes well known and then other companies want to hire you for either 1, 2 or 3. I saw this a couple times were people left Netflix to go to Facebook or Google to continue work on an OSS project.
If you work on Chromium or Firefox, you'll pretty much be limited to Google or the Mozilla foundation (with some exceptions). So if you want to do it to learn some great code but don't have a particular project that you love, I'd suggest one of the more infrastructure projects that are widely deployed if you want to increase potential job prospects.
In summary: There are lots of ways to get paid to write OSS, but you may not like them all.
https://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity...
At GitLab we hired more than 10 people that first contributed to the project voluntarily. Including our CI lead Kamil and VP of Engineering Stan Hu. Our last hire that joined this way was Clement Ho that was an MVP (most valuable volunteer) on August 22nd, 2016.
(BTW I love GitLab and you guys are doing!)
Number 2 is: "you are working less on things that are great for the community and more on things that are great for your company" => I hope that at GitLab everything we do is good for the community. There is a split between working on great things that end up in the community edition and great things that end up in the enterprise edition (proprietary). Part of the community is using the enterprise edition, so those things are good for the community but at a reduced level. But I hope they are always things everyone can get excited about.
Another great example of a company like this is Sentry[1], which is fully open source, although I'm not sure if they've hired anyone from the community so far.
[1]: https://sentry.io/welcome/
[1] https://changelog.com/rfc/8
I got hired by a company that uses a big project. Several years later I had the opportunity to move to a team that does upstream open source work, and did.
Bu I guess the number of such projects are relatively small.
Why would you need to ask for permission to open source your side project? Is that always the case?
I was hired based on knowledge gained from dealing with the projects, implementing features in said projects, or literally just deploying the software in large challenging environments. And this was for stuff I contributed to in my free time for fun! OSS <3
https://github.com/mesosphere/marathon/issues/created_by/SEJ... :)
https://github.com/saltstack/salt/commits?author=SEJeff
And an infrastructure metrics tool named Graphite (maybe you've heard of it?):
https://github.com/graphite-project/graphite-web/commits?aut...
https://github.com/graphite-project/whisper/commits?author=S...
https://github.com/graphite-project/carbon/commits?author=SE...
Along with being a former volunteer Sysadmin for gnome.org (yes I used to have root on gnome.org for the Linux nerds out there) and knowing a lot of open source maintainers by nature of meeting them at tech conferences.
My major source of income is my "Varnish Moral License" (see: http://phk.freebsd.dk/VML/index.html)
It is not particularly easy to shake money loose, but I'm making a living and I'm trying to explain to the world that free software is not the same as gratis software.
(See for instance: http://queue.acm.org/detail.cfm?id=2636165)
As others have pointed out, the browsers are all backed by actual organizations with employees, so that will probably be a tough row to hoe, unless the end goal is to get employed by one of them.
I had met some people from the company a couple of times and wrote something they wanted adapted to work with their products but didn't want to invest in it.
A few thousand to get me to do something I was going to do anyway at some point was a good way for them to get something that they wouldn't monetise directly.
Not sure how to get a gig like that though :)
http://sidekiq.org/
And to answer the inevitable question: many of my paid features are also available as 3rd party OSS plugins. Many companies prefer to pay for the commercial version so they know the features will all work well together and be supported years from now.
You've added new features to Sidekiq Pro over time -- do you think your business would have been viable had you started with no (or very few) additional paid features?
I started Sidekiq Pro with just two major features: batches and metrics. http://www.mikeperham.com/2012/10/01/say-hello-to-sidekiq-pr... The rest have come out of customer feedback and demand.
I'd guess it's his full-time job now.
Basically the idea is that the code is open and free, but if someone uses it a lot to make money they pay you a licensing fee.
https://gratipay.com/about/
Once payroll rolls out contributors set their own compensation.
Some more information on that can be found here: https://gratipay.com/about/features/payroll
Previously Gratipay was Gittip, and worked much like Patreon - essentially a donation or ~tip~ system.
There's still some work to be done, but I've been following this project for awhile. I've been working full time now on other stuff, but I keep up with their updates, and Chad (founder) is a great dude.
If I need something fixed or added to a FOSS project for $WORK, that's work related and it's perfectly reasonable to do so.
Now getting someone else to pay you is a much bigger stretch. Outside of a couple people who work for really big companies that market commercial versions (or support packages) for FOSS projects, I don't know of anyone that gets paid to work on FOSS.
I'm the one in charge so it's pretty easy to convince myself.
The long term value of contributing back to a FOSS project means not having to maintain your own fork.
That's what it really comes down to and companies either get it or they don't. The dumber ones think that their three-line fix to an obscure JS library will be a competitive advantage instead of the white elephant it truly is.
Incidentally, previous experience with the specific codebase isn't necessarily a requirement to get a job working on a project: if you have general experience in the field and can work with an open source community then these both transfer over (this is how I got into working on QEMU). Learning a new codebase is something that you typically have to do when you start a new job in the closed source world, after all...
Note that this doesn't have to involve doing a PhD or actually being an academic - it's more a providing the tools that enable academics to do successful research kind of thing.
We pay our developers to help us build it and we are currently hiring an Android dev. http://ie.indeed.com/job/android-developer-passion-human-rig...
Code is here: https://github.com/securityfirst