
Ask HN: Do you get paid to contribute to a open source project? - alistproducer2
I&#x27;ve been considering putting in the effort to get up to speed with a major project like Chromium or Firefox.<p>Ideally, if I am going to put in the massive amount of effort, I&#x27;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.<p>Any advice from serious open source contributors?
======
jedberg
I'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.

~~~
sytse
"This is ideal, and I've only ever seen it once" I think this is happening
more and more.

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.

~~~
jedberg
I guess it gets interesting when you're an open source company. It could be
argued that the people you hire fall into category 2 (doing things the company
wants), but since the company is driven by community desire, it's sort of a
nice hybrid of 1 and 2. :)

(BTW I love GitLab and you guys are doing!)

~~~
sytse
Thanks for your kind words!

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.

------
phkamp
By 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.

------
mperham
Once 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.

~~~
jonaf
This is awesome! Has this become your full time gig, or is it still not enough
to replace a salary?

~~~
dhruvkar
In 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.

------
connorshea
One 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/ro...](http://www.fordfoundation.org/library/reports-and-
studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure)
[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/)

------
kzisme
Some 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.

------
ihodes
(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
sounds fascinating

~~~
ihodes
Feel free to email me if you're interested (even if you don't feel as though
you're an ML expert)!

------
pm215
Yep, 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...

------
dtnewman
You 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.

------
sowbug
This 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.

------
SEJeff
I'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
Were 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
A 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
This is awesome! I actually just started working on my first project with
Mesos + Marathon this week.

~~~
SEJeff
Great stuff as well (but due to $reasons, I'm switching to kubernetes away
from Mesos/Marathon)!

[https://github.com/mesosphere/marathon/issues/created_by/SEJ...](https://github.com/mesosphere/marathon/issues/created_by/SEJeff)
:)

------
secfirstmd
Yes 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.u...](https://play.google.com/store/apps/details?id=org.secfirst.umbrella)).

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...](http://ie.indeed.com/job/android-developer-passion-human-
rights-995a46ed7366c651)

Code is here:
[https://github.com/securityfirst](https://github.com/securityfirst)

------
xem
I'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...](https://www.smashingmagazine.com/2016/07/how-i-ended-up-with-element-
queries-and-how-you-can-use-them-today/)

------
timeSl
If 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.

------
scardine
Not 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.

------
wkoszek
I'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.

------
err4nt
I 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!

------
bjelkeman-again
There 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/)

------
disordinary
Look 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.

------
puddintane
I 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
It's a cool effort, but the pay is not substantial.

[https://gratipay.com](https://gratipay.com)

------
sundarurfriend
This, 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/)

------
dlor
I 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
I'm one of those engineers working on minikube full time. It's been a great
experience so far.

------
woodruffw
For 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/)

------
agibsonccc
My 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.

------
koolba
Yes 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_
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)?

~~~
koolba
> 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.

------
teddyuk
I 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 :)

------
tedmiston
You 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.

------
divbit
The 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.

------
lincolnpark
If you're into working on a Opensource Social Virtual Reality platform, we're
always looking for contributors!
[http://highfidelity.io](http://highfidelity.io)

------
SwellJoe
I'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.

------
voltagex_
If 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.

------
irfansharif
yeap, 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/)

------
Rbpaservices
Lots of actors supplement their income waiting tables. Artists paint
portraits. Writers edit newspaper articles. Devs speak at conferences.

------
Findeton
Yes, I work for nVotes/Agora Voting, which is an open source secure
electronic/online voting project.

------
Rbpaservices
Open Source Devs speak at conferences to make ends meet.

------
voltagex_
FWIW, 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.

------
caniszczyk
Yes

------
NoCanDo
yes

------
wcummings
If you're a student, GSoC does include a small stipend iirc.

------
jedberg
If 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.

~~~
protomikron
I 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").

