
Getting paid to work on open-source? - danaw
I&#x27;m a freelance software developer and I&#x27;ve just had my first real experience getting paid by a client to work on an open-source project (some library we use heavily in our app that is lacking a few feature we need).<p>I know there are companies out there that pay employee to do a % of their time or sometimes even work exclusively on open-source projects.<p>I&#x27;m wondering how I could go about doing more of that type of work as a freelancer and if others have done the same.<p>I contribute as much as I can to open-source off-the-clock but I&#x27;m curious if there are people out there getting paid regularly to what I&#x27;m only just having an experience of.<p>Thanks for any thoughts, suggestions or leads!
======
amatix
We hire freelancers who are experts in particular projects to fix bugs, add
features we need, etc. Some of those are on a "retainer" basis (eg. $8000 for
80 hours work on an OSS project for us during a year where we can "consume"
that time on bugs/features we need), others are on a fixed-price per-project
basis, others are hourly. Generally in these cases the freelancer will be a
core contributor to the OSS project in question, and come through our contacts
in the project community. Posting to the -dev mailing list as either a client
needing something done or a freelancer available for work is probably a good
way to start.

In some cases these freelancers have shopped-around work to previous clients
like us -- eg. "if I can get $X from you and $Y & $Z from these other clients,
I can work to make this large/necessary change to the project happen" \--
which maybe we don't need enough to pay for ourselves but we'd like to see.

Otherwise we expect team members or contractors working on projects involving
OSS to contribute any fixes & improvements upstream where practical, and we
book this into project timelines & budgets.

------
latkin
I'm a regular salaryman at Microsoft, and everything I've done for the past 2+
years has been open source. It's pretty cool, after having worked on
traditional closed-source msft teams for my first ~5 years.

I work on the F# language, which has been on Codeplex since 2010, and 1 year
ago moved to a fully-open-engineering model (and moved to GitHub about a month
ago).

The broader team I'm part of, which includes the C#/VB compilers, Typescript,
Python tools for VS, and the .NET framework/JIT/CLR, is also now pretty much
100% open source (or is rapidly and publicly moving that direction). That's
maybe ~100 Evil Empire FTEs doing OSS every day as their 9-5, just in my
building. Not bad!

~~~
digitalzombie
> That's maybe ~100 Evil Empire FTEs doing OSS every day as their 9-5

This action doesn't make them any less Evil. If they didn't neglected the
server back end and just concentrated on user desktop they would never be
doing open source. The fact was they lost when they didn't bet on the internet
and several sector.

Now that they are losing ground on several sectors and that they are doing
open source stuff doesn't mean that they're not evil anymore. Their open
source stuff is to help them stay relevant in these sectors. This isn't purely
out of altruism. If they were to cross over to the good side they wouldn't be
making money off of Android by threatening these companies with patents
lawsuit.

~~~
sukilot
Name one company do in open source purely out of altruism.

~~~
jghn
Mine does, although it's a non-profit funded heavily by philanthropy and
government grant money

~~~
dinkumthinkum
A non-profit is not really a company in the traditional sense of the word.

------
cweagans
I work at a major media company, and while my job description doesn't include
open source contribution, I contribute almost every day through normal work.
Granted, we use open source software for what I work on. All of our bug fixes
and new features are submitted upstream as patches. It's much easier to get
management to commit to allowing time for this because it reduces our long-
term maintenance burden.

Personally, I don't think it makes much sense for a position to be 100% open
source contribution. It's difficult to make the business case for it, and
eventually, you'll tire of it (maintainers that don't respond quickly, feature
requests that don't match with their vision for the project, etc.)

~~~
geetee
I'm trying to get this kind of thing going at the company I work for. Was this
system already in place before you joined? I'm hoping you can speak more to
some ways that will persuade management to support this effort. Thanks!

~~~
cweagans
Yes, it was already in place when I was hired. I'm a Drupal developer, and
pretty much every site that I work on uses 10s or 100s of contributed modules
from Drupal.org. When a bug is reported to us, the first thing we do is narrow
down what module is causing it and then go look through the issue queue for
that module to see if it's already been reported. If so, then we can just
apply the patch from that issue. If not, then we fix it and upload the patch
to Drupal.org. We're already doing 99% of the work involved in open source
contribution. Why not do the remaining 1% and get the benefits from it?

There's a clear benefit to doing this. If we have a module that we have to
apply 100 patches to in a specific order every time we upgrade the module,
that's a lot of maintenance burden. If we submit those patches upstream and
let the module maintainer roll them into the module, then maybe we only have
4-5 patches to apply. That makes upgrades significantly easier. In fact, our
developers are the maintainers of some of the modules that we use, so they
have incentive to be responsive maintainers. When a patch is posted, it's in
their best interest to commit it ASAP so that we don't have to include that
patch in our patch list.

Getting to that point is step 1, and it's relatively easy if you work in an
environment where you depend on a lot of external open source software.

The next step is slowly pushing a cultural shift in your company to develop
things in a generic way that would be useful to people outside of your
organization. Unfortunately, there's no clear cut way to do this, as it
depends on too many factors. Again, though, the justification really comes
down to maintenance burden. If it's open source and people use it, then it's
likely that other people will help you maintain it (fixing bugs, adding
features, etc). The more you involve the community, the more likely it is that
you will be able to share the maintenance burden. An example of this is that a
few of our developers co-maintain this module:
[https://www.drupal.org/project/media_theplatform_mpx](https://www.drupal.org/project/media_theplatform_mpx)

We needed to integrate with a video service, and since it's a third party
commercial service, it's likely that somebody else needs to integrate with it
as well, so we did all of the generic integration in the module I linked to
before, and then the very few things specific to my team's product go into a
module that we don't open source.

One thing that I've noticed is that it really comes down to your supervisor
being open to looking at things a little differently, but I think the long
term benefits are clear and definitely worthwhile.

~~~
geetee
Thanks for your thoughtful reply!

------
msoad
There are plenty of jobs that are 100% open source. Based on my experience
working on open source software is both interesting and challenging. Biggest
challenge for me is that people are expecting you to provide 24/7 support.

Here are some jobs I found that are 100% open source:

[http://careers.stackoverflow.com/jobs/80088/javascript-
engin...](http://careers.stackoverflow.com/jobs/80088/javascript-engineer-mt-
view-ca-phoenix-az-or-
elasticsearch?a=qRg7d4f2WRy&utm_source=careers.stackoverflow.com&utm_medium=ad&utm_campaign=jobs-
list&utm_source=Indeed&utm_medium=organic&utm_campaign=Indeed)

[http://careers.stackoverflow.com/jobs/80212/senior-
software-...](http://careers.stackoverflow.com/jobs/80212/senior-software-
engineer-front-end-ui-
symphony?a=qTQ8fAj3Lc4&utm_source=careers.stackoverflow.com&utm_medium=ad&utm_campaign=jobs-
list&utm_source=Indeed&utm_medium=organic&utm_campaign=Indeed)

[http://jobs.netflix.com/jobs.php?id=NFX01939](http://jobs.netflix.com/jobs.php?id=NFX01939)

~~~
nateps
At Lever, we've got roles that are 100% focused on very cool open source
technology, such as helping to scale and improve our unique web framework
DerbyJS. We are working on cutting edge JavaScript rendering strategies as
well as distributed data syncing via Operational Transformation, which is how
Google Docs and Google Wave work. We are also excited for our product
engineers to get involved in helping to improve our frameworks.

[https://lever.co/jobs.html](https://lever.co/jobs.html)

------
icecold
Mozilla is a great company to work for. You only do open source, we care a lot
about the open web, and you can work from anywhere in the world.
[http://careers.mozilla.org/](http://careers.mozilla.org/)

~~~
nos4A2
I have to honestly say that mozilla's recruitment process is among the worst
that I have come across, which was really surprising to me, the recruiters do
not seem to care about past open source contributions and radio silence is
common, I wish it were easier to apply.

~~~
drethemadrapper
+1. I am an active contributor to Mozilla. I contributed to its localization
works (ff & ffos) out of freewill. And they later contacted me to focus on
some other works. By the way, they pushed a lot of work to me this time around
(new lang. translations & projects). And when I asked that they make it a
contract OR that I should be compensated, they change the tune of the
correspondence. Now, they are giving the work to an agency, which will heavily
charge them. They no doubt wanted to start/keep exploiting our team. I know
how terrible financial matters could be in Mozilla. Nevertheless, I like their
products & some of its employees/teams.

------
MalcolmDiggs
As a freelancer myself, I've found working on open projects to be a pretty
rewarding way to spend my time. I typically discount my rate by 50 - 75% for
all MIT or GNU licensed projects, to encourage potential-clients to make their
otherwise closed-sourced project at least partially open. Does the trick much
of the time.

~~~
Plasmoid
50%-75%? That's quite a haircut. How can you afford it?

~~~
MalcolmDiggs
It's just a matter of price-anchoring. I used to charge the same rate for all
clients regardless of whether the projects were closed-source or open-source.
When I decided to switch to a dual-track pricing structure I pushed one option
much higher (closed source) and one option much lower (open source). On
average I still end up making the same (since I get a mix of both kinds of
clients).

------
blcknight
Plenty of companies hire people full time to work on open source projects -
look at all the companies involved in things like the Linux kernel or
OpenStack, they hire messes of developers who work on F/OSS projects.

I work at Red Hat. I've never written a single line of proprietary code in my
entire career. And hope never to.

~~~
danaw
Great to hear. Do you have any suggestions on how a freelancer could do more
of this work?

------
kiyoto
Treasure Data ([https://jobs.lever.co/treasure-
data](https://jobs.lever.co/treasure-data)), where I've been for the last
three years, employs several people to work exclusively on Fluentd, an open
source project ([https://www.fluentd.org](https://www.fluentd.org))

We do this for a strategic reason, which I outlined here:
[https://www.fluentd.org/blog/unified-logging-
layer](https://www.fluentd.org/blog/unified-logging-layer)

------
alain94040
The way it usually works is that you become an expert at a certain stack.
Companies will pay an expert when they need something to be done around that
certain stack. Whether that particular stack is open source or not is not
especially relevant.

I guess, what I'm trying to say is that if you become an expert at an open
source stack that is useful, you should be able to land consulting jobs to
improve that stack. But it's not because companies particularly care about
open source.

------
jlukic
I'm the author of Semantic UI <[http://www.semantic-
ui.com>](http://www.semantic-ui.com>) an open source UI framework.

I think the most important thing is to choose to do open source code because
it gives you the ability to work on code you believe in, even without 'market
fit' or 'commercial viability'.

If you're a programmer (and can make an interesting open source project) you
will always have enough money to live on. Programming wages for those who are
reading YC probably range (I'm guessing) from 60-200k+.

Try to make double the salary you need for a year, then take a year off. Or
try finding a way of living off half of your normal salary. Consider in many
fields (my girlfriend is a librarian) it takes 6+ years of schooling to reach
even the possibility of applying for a position with a 50k/year salary.

If you think programming can be art, open source code is your chance to create
art without concession. Cherish this opportunity, and try not to worry about
whether or not others want to pay you to do it. Ideas have their own merit,
chase them wherever they lead.

~~~
tmikaeld
I'm actually basing my entirely new design toolkit on Semantic UI and will be
using it for every future project in my company.

I've read and followed most of your work during the development of Semantic UI
and when i start developing my own stuff on top of Semantic UI i will be sure
to contribute all of it towards your repo. I will also setup a concurrent
donation!

Thanks for being such an inspiration and above all, for making it open source!

EDIT: That came out a bit too fanboy than it did in my head, well, i guess I'm
a proud fanboy then!

------
Ologn
A small example for myself, when I started programming for Android I looked
for popular open source Java libraries I could use in an Android app. One was
Jackcess - an LGPL licensed library which handles Microsoft Access files. So I
ported it to Android, put a small UI on it and released it (
[https://play.google.com/store/apps/details?id=com.panaceasup...](https://play.google.com/store/apps/details?id=com.panaceasupplies.android.panaceadb)
). People responded, so I updated the UI and logic, mostly due to suggestions.
Right now it makes about $70 a month from ad clicks for me.

So while testing things out I tried some Microsoft Access 2010 files with
"Attachment" data types. Crash! Jackcess couldn't handle tables with that data
type. It wouldn't just kill that data type but the whole table. So I looked at
the source code, wrote a kludge that got around the problem, and sent the
patch in (
[http://sourceforge.net/p/jackcess/patches/15](http://sourceforge.net/p/jackcess/patches/15)
). The maintainer looked at the patch, and then rewrote the code so that it
could handle not just attachments but other data types.

So I make money from the app I build with their code. The upstream gets
patches for problems I find.

I've been Android focused lately and have sent a lot of Android port patches
out (or just general fixes for bugs I found while doing a port). The latest
version of Xscreensaver has some of my alpha Android port code in there.

It's a good dynamic for cooperation - the upstream cares about their code,
which is usually cross-platform. I care about Android and using their code on
Android. The Google Play users just want to use the app generally. Everyone
winds up happy.

------
yesimahuman
There are all kinds of OSS projects out there. Some companies build OSS as
part of their product strategy (I run one of those companies:
[http://ionicframework.com/](http://ionicframework.com/)). Technically, we
have several people on the team getting paid full time to work on OSS.

But in the past I've done contract work on OSS when a company had the desire
to build a reputation in a specific field, or was using a project that needed
extra help.

All of those projects have a different type of work style. I'd say the former
(OSS as a product) is more like working on product at a startup, so is more
intense. Finding the former is easier as well, just look at all the OSS
startups today: Docker, RethinkDB, etc.

~~~
danaw
Ionic is great, thanks for your work on it!

I love the product strategy of releasing OSS and then building a business
around it. I hope to do the same some day.

Do you see any unique challenges with launching an OSS product?

------
stsp
Your clients will need to grok the ideas behind open source. Try asking
potential clients what they believe the open source community will get out of
it if you take on the job. Their answer will probably tell you if they
understand what they're getting into.

Take a good look at the ecosystem of your open source project. Does it have a
large user community? Are there companies involved in funding some of its
developers? Will the project still be alive in a couple of years?

If you contribute to widely used open source projects you should be able to
find paid jobs doing consulting (troubleshooting bugs and other problems,
helping companies who are transitioning to using the software), training users
who rely on your project to do their job (this might involve a good amount of
travelling), and coding (but to a lesser degree). Coding activities are often
taken for granted even by commercial users since "it's free software" as in
"saving costs". I am rarely being paid for coding directly, and mostly work on
code during off peak periods where not much consulting/support/training is
going on.

Unless you start a project of your own, there's a non-trivial amount of time
to invest before you become enough of an expert in a project to be taken
seriously by potential clients. I was lucky enough to be on paid student job
to do just that for several years and now I'm freelancing too (URL to my
offering can be found on my HN user page).

Showing a strong and productive presence in user support forums will also help
raising your profile, but again is a lot of time invested up front.

If you end up persuing paid open source work in earnest I'd be interested to
hear how you're getting on. Feel free to contact me any time.

Good luck!

------
derekp7
I've actually got a slight variation of this question. There is an open source
project that I created, and it is starting to get some traction. I also have a
need at work that I can fill using this project (not customer facing, just
internal IT related). And there's a number of additional open source projects
that I'd like to extend, and use for work too (such as adding a better
database backend to Nagios for example). The problem I have, is if I bring
this up to management, I take the chance that they will think I worked on it
during business hours (I actually coded it up during a 2-week holiday break),
or that they otherwise own the IP for the code. Not that I think I'll have a
major problem with it, but it could be a bit awkward. Is there any guides out
there of how to approach this subject with management?

~~~
cplease
Most salaried software engineers have contracts that any software IP they
create belongs to their employer, whether they do it on company time/computers
or not. You are correct that this is especially hairy if you wrote a project
that could be applied to your employer. Check your contract and tread
carefully.

~~~
derekp7
I'm a systems admin/engineer, not hired specifically for software. However, I
actually had that type of contract when I worked at Motorola ("Anything you
conceive solely by you or jointly with others, at any time of the term of your
employment..."). The company I work for now did not have that in any of their
paperwork, at least not that I've signed directly. Unless it is hidden in the
employee handbook, then I only signed a paper that says I've received the
handbook. But still...

------
wkonkel
Have you seen Bountysource?

[https://www.bountysource.com/](https://www.bountysource.com/)

~~~
tokenrove
The problem with bountysource is that the bounties are quite low for the
amount of work involved. Working a week consulting on the customization of
open source software for a business will usually net far more than the largest
bounty on there. (And those large bounties are significant, highly-specialized
tasks.)

I think the bounty model could work well, but on all the projects I've seen it
implemented on, it acted more like a tip mechanism for the core team than a
way to attract professional freelancers to contribute, because of the low
value of the bounties.

------
Acconut
I have been hired by a software company to develop one of their SDKs which has
been open-sourced later. After this job ended I kept working with them and a
some of my contributions were and are still towards open-source projects which
are mostly promoted by the company themselves. I, personally, don't have
experience with working fulltime on OSS but I read some stories about it where
companies hire people to maintain a project they use internally similar to a
SLA.

In my freetime I try to publish as much code as possible although it doesn't
get much attention but without this I would not have gotten the job. For me
open-source is not about getting famous or working on the next big thing but
giving the community something back and not just consuming the work of others.

------
woud420
I used to work for Datacratic
<[http://datacratic.com>](http://datacratic.com>) for a year and a half and
I'd say a good 35 to 50% of the time was spent working on RTBkit
<[http://rtbkit.org>](http://rtbkit.org>), an open source real time bidding
framework on which part of our products were built on.

Honestly, it's a pretty good feeling, it's fun, let's you interact with a
larger community from which you can learn from and it might pave the way to
gigs.

------
vram22
I haven't been paid for doing open source software work, per se (yet), but
I've been told multiple times by people who contacted me for work, that they
got to know about me via my open source projects or posts about it, and some
of those contacts have turned into contracts for work. So in my experience,
open source work is worthwhile both for itself and for those side effects.

------
GroSacASacs
Also check this out, [https://assembly.com/](https://assembly.com/) I recently
discovered it. You can be paid for working on open source code. In fact you
are paid in % of the product not directly in money. When the product makes
money you gain that much % of the product you own. Read terms carefully
though, maybe you disagree with them.

------
marknadal
My company is an open source company and we just got funded. Needless to say,
I'll pay for work on the project,
[http://github.com/amark/gun](http://github.com/amark/gun) \- it is an in
memory database with push notifications and graph storage. If you're
interested send me an email: mark@gunDB.io

------
felipebueno
I'm full-time contributor on a project called Sneer. Almost one year writing
exclusively 100% open-source code. I love it. :)

[http://sneer.me/project.html](http://sneer.me/project.html)
[https://github.com/sneerteam/sneer](https://github.com/sneerteam/sneer)

------
spot
The open source Beaker Notebook is hiring full-time front-end and full-stack
engineers:
[http://beakernotebook.com/careers](http://beakernotebook.com/careers)

Advice: develop your github account, find a project that's hiring and make a
contribution to get their attention.

------
edsiper2
I work for Treasure Data ([https://jobs.lever.co/treasure-
data](https://jobs.lever.co/treasure-data)). I do 100% Open Source stuff.

------
unclesaamm
Some contract-funded R&D projects are required to be open source. Check out
the Darpa open catalog, for example.

------
tbrock
Work for MongoDB. You can get paid to work on open source software 100% of the
time.

