9 ms·
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?
- dtnewman 10y agoYou gave the example of Firefox. In fact, the Mozilla organization, which manages Firefox has plenty of paid employees. See https://careers.mozilla.org/ https://careers.mozilla.org/. The same is true for some other major open-source projects such as the Linux Foundation or LetsEncrypt. Being an employee at one of these organizations means you are literally being paid to contribute to open source projects.
- puddintane 10y agoI know one common technique for contributors is to put a bitcoin or donation type ID in their profile. This allows for people who see your contributions to go to your profile and give ya something back. Not sure how effective but this is one method I have seen.
- tedmiston 10y agoIt's a cool effort, but the pay is not substantial. https://gratipay.com https://gratipay.com
- jedberg 10y agoI'm not a contributor but I've worked with core contributors to major projects. This is usually how I see things go down: 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.
- ivraatiems 10y agoThere are companies like Canonical and Redhat that do a lot of work supporting mainly OSS projects. There are also companies like Oracle that are the progenitors of other OSS projects, even if they are no longer the primary maintainers. How do they factor in?
- jedberg 10y agoCanonical and Redhat are usually 1 or 2, depending on the project. Oracle is usually 2 or 3.
- webaholic 10y agoCan you cite the projects which are examples of 4?
- ivraatiems 10y agoNot the parent poster, but Microsoft did this with .NET Core and also supports Mono. Google has definitely done it too, but I am blanking on specific projects.
- justinlardinois 10y agoI'm curious, does anyone else have examples of #1?
- adekok 10y ago
- wcummings 10y agoIf you're a student, GSoC does include a small stipend iirc.
- SEJeff 10y agoI've gotten hired at my last 3 jobs primarily due to open source contributions I've done in my free time for fun. Instead of focusing on doing the code for money, focus on doing it for the challenge, the fun, and most importantly the networking.
- tedmiston 10y agoWere the jobs continuing to work on the open source projects, or your open source experience was just a factor for why you got the jobs?
- SEJeff 10y agoA bit of both :) 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
- tedmiston 10y agoThis is awesome! I actually just started working on my first project with Mesos + Marathon this week.
- SEJeff 10y agoGreat stuff as well (but due to $reasons, I'm switching to kubernetes away from Mesos/Marathon)! https://github.com/mesosphere/marathon/issues/created_by/SEJeff https://github.com/mesosphere/marathon/issues/created_by/SEJ... :)
- swordbeta 10y agoWhich projects did you contribute to?
- SEJeff 10y agoThe configuration management tool Saltstack: https://github.com/saltstack/salt/commits?author=SEJeff 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?author=SEJeff https://github.com/graphite-project/graphite-web/commits?aut... https://github.com/graphite-project/whisper/commits?author=SEJeff https://github.com/graphite-project/whisper/commits?author=S... https://github.com/graphite-project/carbon/commits?author=SEJeff 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.
- phkamp 10y agoBy and large Open Source is how I make a living. My major source of income is my "Varnish Moral License" (see: http://phk.freebsd.dk/VML/index.html 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 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.
- divbit 10y agoThe main benefit is giving back to the community, and possibly learning some new skills, and maybe building a github profile. I wouldn't depend on it for more than a little bonus every once in a while. Experiences may differ.
- teddyuk 10y agoI got paid/sponsored to work on a couple of projects. 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 :)
- mperham 10y agoOnce my OSS project became popular, I started a business and switched to an open core model. Businesses buy additional features, I get recurring revenue so that I am paid to maintain the OSS and commercial parts. http://sidekiq.org/ 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.
- spohlenz 10y agoDo you have any insight into how many of your customers buy Sidekiq Pro for the extra features, as opposed to for the commercial-friendly license, or simply to help sustain the OSS development? 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?
- mperham 10y agoMost buy for the features. It's hard for a business to justify giving money to someone for nothing. I'm a big fan of selling something tangible, even if rather minor, rather than just a license. My guess is that I'd have 25% of my current sales if I just sold support/license. I started Sidekiq Pro with just two major features: batches and metrics. http://www.mikeperham.com/2012/10/01/say-hello-to-sidekiq-pro/ http://www.mikeperham.com/2012/10/01/say-hello-to-sidekiq-pr... The rest have come out of customer feedback and demand.
- jonaf 10y agoThis is awesome! Has this become your full time gig, or is it still not enough to replace a salary?
- dhruvkar 10y agoIn the 'Pro' section it claims 500+ customers. Assuming that's true, at $950/year, that's $475,000. This doesn't include Enterprise ($1950/year). I'd guess it's his full-time job now.
- jedberg 10y agoIf you want an interesting way to get paid for OSS software, check this out: https://fair.io/ https://fair.io/ 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.
- ramshorns 10y agoThe first sentence in the description is "Not open source," and the license wouldn't qualify as open source or free software because of the limitation on use.
- protomikron 10y agoI applaud your effort in trying to support developers that want to make FOSS, but sorry, this just won't work, as the devil is in the details, and your license is not FOSS. - What is a user? - Why is it not applicable for library code (and libraries are *the* important assets in dev)? - What is a plugin? Now you might give me some convincing answers to these questions, and we might come to an agreement about the definition, but the takeaway for potential license users (e.g. dev companies) is: It is not FOSS (or "OSS").
- tedmiston 10y agoYou might consider talking to Tom Christie of Django Rest Framework. I know he's working on it full time now. IIRC the pay he gets is less than a normal salary, but there are plenty of upsides to the freedom and flexibility he has.
- Findeton 10y agoYes, I work for nVotes/Agora Voting, which is an open source secure electronic/online voting project.
- kzisme 10y agoSome projects choose to use Gratipay. If you take a look at Gratipay's website their goal is to provide voluntary payments (and eventually a payroll system) to contributors for open work. Any team/project can apply to join Gratipay, but the main stipulation is that "public issue tracker with documentation for self-onboarding, and be willing to use our payroll feature." https://gratipay.com/about/ 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 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.
- bjelkeman-again 10y agoThere are some organisations that build open source software and hire developers. We only have one open position right now, but we keep expanding our team. http://akvo.org/about-us/working-at-akvo/ http://akvo.org/about-us/working-at-akvo/
- scardine 10y agoNot directly, but given we use open source stacks at work, it is in the best interest of the company when we push patches upstream so there is no cost to maintain a fork.
- koolba 10y agoYes but not by others. I pay myself to do it (well my company does). 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.
- voltagex_ 10y agoThis may not work in all organisations - how do you get permission to work on FOSS? Did you have to explain that the code would be contributed back? How did that work with your employer's copyright assignment (if any)?
- desas 10y ago"boss I've made some small changes in open source project XXX, can I send them upstream so we don't have to keep maintaining them?"
- koolba 10y ago> This may not work in all organisations - how do you get permission to work on FOSS? Did you have to explain that the code would be contributed back? How did that work with your employer's copyright assignment (if any)? 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.
- pm215 10y agoYep, I get paid to work on QEMU. I would suggest that your chances of getting paid to work on something and what kind of work that turns out to be depend quite a bit on the project. You can have a look at the git commit history or the mailing lists: if the project really mostly worked on by a single company (as I suspect may be the case with Mozilla and Chromium) then the only paid employment prospects are likely to be with that company. A niche project might not have any opportunities for paid work on it at all. At the other extreme, if you look at the Linux kernel it has a huge range of corporate contributions of various kinds (as well as a lot of work that's purely downstream) and you have better chances of finding one that does the kind of work you might want to do. 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...
- voltagex_ 10y agoFWIW, I don't think I'd get into a FOSS project just for the chance of getting paid. I think it's really hard to work on something you don't have an underlying interest in, first.
- voltagex_ 10y agoIf you get a chance to go to a FOSS or Linux conference, there are normally lots of people there who are hiring or looking to be hired to work on FOSS.
- ihodes 10y ago(Nearly) all our work (github.com/hammerlab) is OSS. We're hiring experts in ML if you're interested in working on big genomic data in the field of cancer immunotherapy. We're a lab (academic not-for-profit, part of Mount Sinai's medical school, run off foundation, grant, and gift money) of software engineers from industry and academia in NYC trying to make research better, and cure some cancer while we're at it (running some clinical trials).
- DyslexicAtheist 10y agosounds fascinating
- ihodes 10y agoFeel free to email me if you're interested (even if you don't feel as though you're an ML expert)!
- timeSl 10y agoIf you're interested in academia or scientific research, there is scope to work on open source projects there. My full time job is working on a particle physics data analysis program, which is entirely open sourced. You won't necessarily have to do a scientific project either - other people who work at the same research facility work on configuration management systems, or databases. 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.
- secfirstmd 10y agoYes of course you can get paid to...For example, we build an open source Android app called Umbrella, which is used to help travellers, journalists and activists manage their digital and physical security on the move (https://play.google.com/store/apps/details?id=org.secfirst.umbrella https://play.google.com/store/apps/details?id=org.secfirst.u...). 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-rights-995a46ed7366c651 http://ie.indeed.com/job/android-developer-passion-human-rig... Code is here: https://github.com/securityfirst https://github.com/securityfirst
- NoCanDo 10y agoyes
- NoCanDo 10y agoyes
- sowbug 10y agoThis is not the answer you're looking for, but technically it is a valid answer to your question. I'm a software engineer at Google, where I've contributed to Google Servlet Engine, Omaha (https://github.com/google/omaha https://github.com/google/omaha), Firefox, Chromium, and Android, among other open-source projects. Some of these are closed-source projects that were later open-sourced, some are developed in the open, and some are run as a hybrid between the two. I also develop random crap on the weekends, and Google gives us wide latitude to open-source that work if we want. I recognize you're asking whether one can start with open-source contributions and eventually receive compensation for it. I'm answering that in my case I am compensated for a job that happens to involve lots of open-source contributions, which is the same end result but starting from a different place.
- lincolnpark 10y agoIf you're into working on a Opensource Social Virtual Reality platform, we're always looking for contributors! http://highfidelity.io http://highfidelity.io
- woodruffw 10y agoFor the past 2 summers, I've been paid by Google through GSoC [1] to work do open-source work, all on Homebrew. It's been a great experience in terms of skills learned, and the pay is just a nice incentive for work that I'd be doing anyways. I'd highly recommend it, although I believe enrollment in a university is required for eligibility. [1]: https://developers.google.com/open-source/gsoc/ https://developers.google.com/open-source/gsoc/
- wkoszek 10y agoI'm not getting paid for open-source, so most of my GitHub stuff is for fun/profit https://github.com/wkoszek https://github.com/wkoszek <- none of these generated any $$$. So if you contributed something, your learning goal could work, but there's no money to be made. Learn/money idea to what you want is to get a job where open source is welcome, cherished and used. Internships are good to try it out. HIIT in Finland was such place and I interned there, and the result is here: https://github.com/wkoszek/freebsd_netfpga https://github.com/wkoszek/freebsd_netfpga So I've got $$$ for stay + food + cinema for hacking project which I knew we'd publish and I learned a bunch. If you're not for a rich country, Google Code In and Google Summer of Code be an option. You get a $5000 stipend for spending your summer at home hacking code, you get a decent mentor from a project you're interested in and you get experience. Another model is to reach out to projects which are backed by a legal body. For example the FreeBSD Foundation helps and support the FreeBSD Project, and they have sponsored projects. If you're good in FreeBSD and have an idea, I feel there'd be some $$$ if you can deliver something useful. FreeBSD has feature idea pages and if you see a fit, you could just ping people and start collaborating. Last, and I think the hardest, is to start hacking good code in a product you see is (1) open-source (2) backed by a company. I don't know how many hiring managers are techies merging pull requests etc., but even through individual engineers you can get a reference. After 10th pull request accepted by a guy who reviewed your stuff and with whom you've worked, I feel like it's easier to shoot "Are you hiring? I NEED THE MONEYZ!" email.
- connorshea 10y agoOne person who has spent a lot of time looking at and thinking about this problem is Nadia Eghbal. She has a repository called "Lemonade Stand"[1], which is a resource that lists a number of ways to fund open source development, and she wrote a paper on the topic of "digital infrastructure" being built on top of open source projects[2]. She also co-hosts a podcast called Request for Commits[3]. Another person worth looking at would be Eric Holscher, who's Twitter feed frequently has interesting insights into running an open source project as your full-time job[4]. The best bet if you want to do open source full-time would be to work at a company like GitLab[5] or Sentry[6], but that does restrict the exact kinds of open source work you can do (at least during working hours). [1]: https://github.com/nayafia/lemonade-stand https://github.com/nayafia/lemonade-stand [2]: http://www.fordfoundation.org/library/reports-and-studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure http://www.fordfoundation.org/library/reports-and-studies/ro... [3]: https://changelog.com/rfc https://changelog.com/rfc [4]: https://twitter.com/ericholscher/status/752572876138565632 https://twitter.com/ericholscher/status/752572876138565632 [5]: https://about.gitlab.com/ https://about.gitlab.com/ [6]: https://sentry.io/ https://sentry.io/
- SwellJoe 10y agoI've made my living based on OSS projects for almost my entire professional career (about 17 years, specifically working on Squid, SciPy, Webmin, Virtualmin, etc.). Not a great living, mind you, but it's kept me in food and houses and given me a lot of freedom. Also, most of the stuff that made money hasn't been the stuff you want to be doing; the code doesn't make money, in the vast majority of cases. It's the stuff you do other than code, but that requires deep understanding of the code, that makes money. Deployments, support, customization, packaging, documentation, bundling and "productizing", and occasionally getting jobs on the strength of your prior contributions. I've written a lot less code than I would have liked in all those years, and much of the code I wrote has been fleeting ephemeral things like shell scripts and packaging scripts. I don't know a lot about the frontend OSS world, but I know that if you pick a project that has a lot of money being thrown around (in large deployments, for example) then you'll find that it's easier to get some of it to land in your pocket. Niche projects are difficult to get paid for, but can be good places to learn; smaller projects may be happy to have some help and will lend more guidance when you ask questions. But, then again, some big projects have people specifically tasked with bringing new developers up to speed and "community management", so that may even out that difference. It will never hurt you to have OSS contributions on your resume. It's gotten me jobs, and has allowed me to round up good paying contract work when I've needed it (even in unrelated fields; I've recently done some Ruby work, even though I've never had a real project in Ruby). And, as someone who has hired people, I can say I've only ever hired people who had OSS work I could see. Sometimes unrelated to what I was hiring for, sometimes they were already working on what I was hiring for and I just wanted them to be able to spend more time on it and get them on board with the company road map. All that said, it's not the easiest way to make a living in software. Getting a real job is probably the easiest way, and if you're lucky you'll get to work on OSS stuff to one degree or another. I've worked on tons of stuff that I never got paid for, and don't expect to ever get paid for. And, if you aren't really directing your efforts toward making something pay, you're unlikely to find that it'll pay. OSS contribution does not, in the general case, lead to getting paid. But, it can lead there if you want it to.
- disordinary 10y agoLook at issues, engage with the developers and do smaller commits into Chromeium or Firefox and then apply for a job at Mozilla, Google, or Apple once you have a bit of a portfolio with the project. Firefox has the benefit of hiring remote so you don't need to be near a campus of one of the other big companies. I work in Open Source and there are plenty of companies that build their business around a product and hire at market rates, normally they have a SaaS model of operation, but you'll have to set your sights a little lower than Chrome or Firefox. These companies include Ghost, Mongo, Elastic, Basho, Cockroach Labs, Automattic (Wordpress), Silverstripe, and countless more. Another way to do it is to do postgraduate work at a university and get a grant, I know people who work on the Rust compiler in this capacity.
- dlor 10y agoI started and work on the minikube project as part of my full time job. It's developed completely on GitHub, and I manage two other engineers working on it full-time. github.com/kubernetes/minikube
- rckrd 10y agoI'm one of those engineers working on minikube full time. It's been a great experience so far.
- agibsonccc 10y agoMy company started as an open source project. Most of our hires are open source contributors. We're distributed all around the world (many open source companies are like this). There are usually 3 kinds of paid contributors we see: 1. Companies scratching their own itch while we maintain it 2. People I hire to work on the project 3. Phd students technically on a stipend doing their research with us (we do AI) Another possibility is a 3rd party company paying someone to add a pull request to an open source project whether that be us or others.
- Rbpaservices 10y agoLots of actors supplement their income waiting tables. Artists paint portraits. Writers edit newspaper articles. Devs speak at conferences.
- Rbpaservices 10y agoOpen Source Devs speak at conferences to make ends meet.
- xem 10y agoI've been hired by a friend to co-develop the EQCSS JS library ( http://elementqueries.com http://elementqueries.com ), and everything turned out very well :) So I'm here to tell that friends or family aren't always the worst possible clients. If you both know what you're talking about, and are well organized, and define precisely what's the price for each task, it can be a great experience. today the project has 900 stars on Github and a lengthy Smashing Magazine page :) More info here: https://www.smashingmagazine.com/2016/07/how-i-ended-up-with-element-queries-and-how-you-can-use-them-today/ https://www.smashingmagazine.com/2016/07/how-i-ended-up-with...
- sundarurfriend 10y agoThis, I believe, is the core idea behind BountySource [1], and similar sites [2]. People place bounties on problems in open source software that they'd really like to see solved, and "bounty-hunters" (i.e. potentially you) solve these problems and get paid the amount pledged. And of course, if you're starting a new project, there's the Kickstarter model - followed by, for eg., Neovim, Chocolatey, etc. [1] https://www.bountysource.com/ https://www.bountysource.com/ [2] http://alternativeto.net/software/bountysource/ http://alternativeto.net/software/bountysource/
- irfansharif 10y agoyeap, interning this semester at Cockroach Labs, Inc.[1] where their central project CockroachDB[2] is open sourced under Apache-2.0. [1]: https://www.cockroachlabs.com/ https://www.cockroachlabs.com/ [2]: https://github.com/cockroachdb/cockroach/ https://github.com/cockroachdb/cockroach/
- err4nt 10y agoI have a couple motivations that drive me to invest in open-source: - I grew up in a family without a lot of money, by using open-source software growing up I got to learn a lot of different aspects of digital production, sofware development, and try software I never would have had the opportunity to try if it hadn't been open source. This was incredibly formative in shaping my skill set today, so I have a lot of past open-source contributers to thank for where I find myself today - I believe businesses have a responsibility to the community in which they operate and where their employees live. This is corporate stewardship, for a big business maaybe they invest in a local school, or sponsor kids sports teams or summer camp. I'm a freelancer, so I wont be sponsoring any sports teams, but I feel its important for my 1-man business to give back in a 1-man-sized way! So with those two things in mind, a desire to give back to open source, and a desire to help the community I come from - I have tried to find challenging new work that pushes the limits of current technology. I stretches me as a learner & worker, it provides a solution for a problem that meets the clients needs, and if I can find a way to give the solution I came up with back to the community, then others can save time and money by using my work as a springboard for their own solutions. I write and release lots of use cases and examples demonstrating techniques and solutions, and pour a lot of time, and even some of my own money into getting them out there! If your aim was to help a project like the Firefox project, and you wanted to be paid for your time - I would try to find a client who has an ee case not currently supported by Firefox, having them pay you to solve their problem, and also arrange that your solution can be sent back to Firefox and included in their codebase. Its a win/win/win for you, the client, and Firefox, plus a bonus win for all Firefox users at the same time!
- caniszczyk 10y agoYes