Hacker News new | comments | ask | show | jobs | submit login
Ask HN: Getting paid to work on open source full-time?
112 points by malandrew on Nov 2, 2013 | hide | past | web | favorite | 67 comments
For those of you in the HN community that get paid to work on open source full-time or almost full-time, while still making a decent income, how do you do it?

I don't get paid to work on open source full-time (only part-time), but I do know a number of people whose full-time job is contributing to open-source projects like Chrome or Android.

The way to do it is to find an open-source project which is strategically important to a company, and yet which can't be made proprietary without destroying its strategic value. For example, the reason Android is open-source is because it would be hard to convince a broad base of hardware partners to support it if were closed-source (and now that one particular hardware partner is starting to dominate, it's getting more closed-source). Webkit is open-source because it started as open-source, and yet it is strategically important to Apple, Google, and Opera (well, until the Blink fork, but Blink is also open-source because it was derived from Webkit). Linux is strategically important to IBM, RedHat, etc. because they sell enterprise consulting services; having the source code available gives businesses confidence that they can continue running even if the vendor goes out of business, and yet they still drop a lot of money on consulting services.

It generally does not work to start a company based on open-source principles without also thinking about the strategic implications of who else will use the technology and what incentive they have for keeping it open. For example, LiveJournal was based on open-source principles and developed MogileFS, memcached, Gearman, and LJ itself. The effect of this was that every time they did something wrong, someone would start a clone of LJ and a clump of users would move over. And then Facebook took memcached and used it as a core part of their architecture, and won the whole social networking space.

I love your comment, but I disagree with your assessment of LiveJournal in the last paragraph. The reason Facebook beat LiveJournal had nothing to do with their ability to use memcached or other open infrastructure developed by the LJ/Danga team. It likely had a lot more to do with Six Apart, resources, energy, etc.

I don't think memcached was the specific reason Facebook beat LiveJournal, but I think a general hemorrhaging of competitive advantage and failure to secure additional resources was, and I think a large reason for the latter was the former. It's not really any one competitor or technology responsible for it, but the combined effect of it.

Whenever anything went wrong with LJ - server issues, PR headaches, unpopular feature decisions - a large clump of users would often very vocally say "I'm leaving", grab the opensource codebase, and start a competitor. Facebook faced all the same hiccups, but users generally stayed with them even when pissed off, because there wasn't the same option of grabbing the codebase and all your friends and opening a competing site. Moreover, it's just demoralizing to see your hard work appropriated by people who hate you and are trying to compete with you. This isn't really about Facebook, it's about DeadJournal and uJournal and Journalfen and all the other competitors.

It's also much harder to convince investors to back you when one of your primary competitive advantages is given away to anyone. I think this was probably the major problem; LJ wasn't really backable as a separate VC-funded entity, and when it was a subsidiary of Six Apart (itself VC-funded) it competed with the mothership for resources and got little attention.

The Affero GPL is partly motivated by this use case. It doesn't fully solve the problem, but it means that your competitor who grabbed your code base and set up an open-source clone, will at least have to keep open-sourcing all their stuff, too, leveling the playing field a bit. Alternately, it can serve as a kind of poison-pill to keep some competitors and would-be competitors from using your tech.

The site had been collapsing well before Six Apart (the Russians zomg) drove the last nails into the coffin. I think it was a mix of what nostrademons and you said, though.

I disagree with you regarding Android. Albeit a different platform, thats a bit like saying Windows was never a success and couldn't be because it was closed source and no one wanted to work with them.

In a world where Android didn't exist as an open source solution, if the value proposition was high enough, there still could have been a chance a closed source license OS could have succeeded. We'll never really know.

I work for a community college in their IT department. My job is paid for by tax payer dollars, so it is my opinion that all my work should be publicly accessible. My boss agrees with me on this. As such, I've done very little that can actually be useful outside of our scope of work. Whatever I can though, I either blog about in the form of a tutorial/how-to or publish code on github (only 1 project so far). I like the idea of writing blog posts/how-tos which can double as internal documentation.

Right now though, I'm working on trying to develop a consortium of other like-minded individuals in which we can brainstorm ideas, implement them in open source tools, then distribute them in the various forms -- either VMs, puppet manifests, docker templates, openshift gears, etc. The idea is to lighten the duties for the typical sys admin and make it easier for smaller schools to implement highly tested, rigorous deployments with minimal insight on the actual workings. It's amazing how much academia suffers from large corporations/consulting firms that gouge these smaller schools based solely off the fact that they can because they lack both qualified individuals as well as competitive salary offerings.

That sounds awesome! I always bemoaned the ridiculous prices of textbooks and the price of school itself when I was in college, so I applaud the efforts of MOOCs and the universities behind them. I never really connected the dots to extend that spirit to school IT departments. Surely, IT departments at different schools share similar responsibilities that can be consolidated in this way.

This is one path: http://www.mozilla.org/careers

Partial proof: https://github.com/mozilla/repositories https://github.com/mozilla-b2g/repositories

(that's 30 _pages_ of github repos, not including the stuff we do that's not on github: http://mxr.mozilla.org/)

Case in point: Source code for the careers site linked above can be found at https://github.com/mozilla/lumbergh/ (we just recently released a redesign, yay!)

It would sure be nice if there was a specific person/contact for each open position, or even any email address you can contact, on the site.

Many open source projects - Linux, Firefox, LLVM, WebKit, etc. - have people paid to work on them. This can also be true for small projects as well, I am paid to work on Emscripten for example.

Basically, if an open source project is valuable to an entity with money - can be a corporation or a non-profit - then that entity may hire people to work on that open source project. Being open source, the project may not be directly profitable for whoever sponsors the work (the code itself is not being sold, might be support though), but indirect profits or non-monetary effects can be very significant and enough to make paid work make sense. (Of course this is just one kind of way to get paid to work on open source code.)

Lots of people in thread are discussing about becoming a primary contributor to an open source product. I think there's an easier way, and it worked for me. I found a company that builds an open source product, applied, and impressed them enough to get hired. This seems far more direct.

edit: there is a downside. My job frankly isn't much different than many other software jobs; it just so happens that the output is open source. I still have a boss, we still have company priorities (though I help set them!) and strategic goals, etc. I don't get to just fuck around and work on whatever I want. So you should be careful: if what you want is the latter (work on whatever you want, get paid), you probably need to be someone like Linus. That said, the project I work on is damn cool and my job is better (for me; I don't think jobs are good but rather the tuple <job, employee> can be good) than almost anything else I can imagine.

edit2: I'm unfortunately not listing the company name because there are some real dicks on HN; you can probably figure it out if you're really interested but please don't post it.

This is an interesting question, because I'm in the process of looking to hire an engineer to work full time on contributing to WordPress. The twist is I'm looking for someone who is currently not part of the WordPress Community, which has made the search interesting.

I know WordPress has a mixed view here on HN, but that's kind of the point - we're (http://wpengine.com) looking to bring some "outside blood" with experienced with best-practice lower-level, heavy-lifting PHP experience that we can help inject into the WordPress Core project.

Interestingly, a lot of engineers I've spoken to don't want to quit a full time job at a company to work on Open Source.

So, my reverse question is where would you go to find folks who want to work on Open Source.

Could you offer some insights why many engineers dont want to work full time on open source?

Sure, these are the kind of concerns engineers raise when you talk to engineers who are right for the job but not worked on OSS before:

* Perceived job security, especially developers with mortgages, families, etc. Going from a core-function role within a company to working on OS apparently feels like less job-security.

* Don't want to move from working in office environment to (probably) working from home.

* Project politics and different working relationships of "peers" - not aligned colleagues for same employer.

* Not considered the most financially lucrative engineering positions in terms of performance bonus or career progression

> So, my reverse question is where would you go to find folks who want to work on Open Source.

I could do it for you. But I'm not a PHP programmer and don't live in Austin. That's probably why you're having trouble finding people. I could also get together a remote team and manage or work with them for you. It's what I did for my last client (actually, an Austin company as well).

>The twist is I'm looking for someone who is currently not part of the WordPress Community, which has made the search interesting.

Can you elaborate on this point?

This is a perrenial question that (I think) is very important to a lot of people.

I wish there were some kind of website or book that would answer the question, "Who is getting paid to work on open source, and by whom?"

There is good data for the Linux kernel, for example. On lwn.net you can always see the % contribution of each company. Presumably you could mine the kernel git repo to find out how many people that actually constitutes.

Getting this kind of data for other large/famous projects should be possible.

If anyone has pointers to something like this, please speak up.

EDIT: I guess an important metric would be, "For Company X, what % of code is open source vs. closed source." It would be nice to work at a company that is 100% open or reasonably close, other things being equal (which they aren't, but my point still stands).

EDIT2: I think providing a centralized site that collects these metrics and also allows people to submit them for smaller project/companies, would be awesome and very useful. Possibly even Kickstarter worthy.

It would be awesome if we could add a new "Who's Hiring?" thread each month but an open-source edition. i.e. any company or startup, large or small could advertise the open source project they are will to pay people to work on, if it is part-time or full-time and whether it is on-site or remote.

Please do it

I guess that getting this started just means getting up at 6am on the next first of the month and posting a thread. Or is there a special account or person that is responsible for those threads?

I created a closed source plugin for an open source platform. I did that 4yrs full-time then got a full-time job because sales were slow & I had a son on the way. I open sourced the code, which reinvigorated interest, and paid support is ramping back up to previous levels.

When I was closed source, providing support was my downfall. People would do stuff like install other plugins that conflicted with mine, and expected me to fix it. That was very time consuming. Now I give the code away, but charge for the support so I'm compensated proportionally for the time spent fixing that kind of stuff.

I'm also releasing a SaaS version of the product - it's the same thing as the open source code, but obviously the users don't have to install anything or fuss around with servers, and they won't be able to break things [as easily], because they're pasting javascript into their website instead of installing server side code. I'm hoping this will be a huge market.

A friend of mine at DeNA (Japanese mobile gaming company) spends most of his time at the office working on open source projects. Right now he's working on a language built on top of Javascript called JSX for large scale Javascript apps.

I did an interview with him a few months ago if you're interested: http://jhackers.net/Kazuho_Oku.html

(come to think of it, every programmer I've interviewed so far on above site works on OSS projects for work to one degree or another)

Mozilla has few open engineering positions, and many of which involve work on Open Source: https://careers.mozilla.org/en-US/listings/

I applied to work at Google, got hired, and was matched to the PageSpeed team. Now I work on https://github.com/pagespeed/ngx_pagespeed

It's nice working on free software, but I'd really be just as happy if I'd ended up in a different part of the company.

Didn't you have a chance to express the preference of where you'd like to end up? Also, did you were a fresh grad when you got hired?

I was offered the choice between three teams, all of which sounded interesting and only one of which worked on open source. I chose pagespeed mostly because I was interested in working on the A/B testing framework, which needed a new owner.

I wasn't a fresh grad; four years and two jobs out of school at that point.

You're doing good work with ngx_pagespeed! Been running ngx_pagespeed in production for a couple of months now and very happy with it.

Thanks! Let me know if you have any issues with it.

Red Hat. And we're hiring: http://jobs.redhat.com/

for a year or two i worked for mulesource, who make the open-source mule esb (these days, if you visit their site, i think there's more not-so-open stuff as they try to make money, but back in the day it was pretty much open source + paid support).

anyway, i got that job by using mule in my previous job, and writing some blog posts explaining it - mainly intended for my co-workers, but i posted them on the net. that, plus providing patches / feedback, led to them offering me a job (and it was a good job in may ways - very smart people, and i learnt a lot).

which is all pretty much what you'd imagine people to say (get involved in a project that has money to pay developers), so nothing very new here....


I would like to spend some time in the coming months to learn to use MuleSoft's ESB.

Are there any resources outside of what's on the site that you would recommend? In particular, I see that there is onsite training but I would love to have more in-depth training material that's in a pdf or ebook type format or even just online.

it's been some years now, sorry - i have no idea what's available. all i did was download it and use it to implement various patterns (see enterprise patterns book).

I work at Microsoft full time on http://orchardproject.net, a CMS based on ASP.NET MVC, Autofac and Nhibernate. I've been doing that for almost 4 years and many would agree it's kind of a dream job as there are absolutely no constraints from MS to drive the project one way or the other. It's also worth mentioning that our team is much involved in OSS: SignalR, Entity Framework, ASP.NET MVC, Nuget, ... So it's a really bold bet on OSS in general.

Me and my team work full-time on a popular open-source project. Based on our collective experience I can tell you about 3 different ways.

- The first way is to become a key contributor and maintainer for an open-source project with significant financial backing, and then get co-opted by one of the organizations providing the backing. As an obvious example, a significant Linux contributor or maintainer will have no problem getting a job at dozens of technology companies. In our case, we are constantly scanning the mailing list and irc channel for the most consistently helpful and reliable contributors. If you follow this route, make sure you pick a project you're passionate about and won't mind working on for a long time, focus on being reliable rather than impressing with your technical skills, and make sure to go beyond adding cool features: help other users, improve the documentation, review patches, fix small bugs, etc. I can't emphasize reliability enough. In a really successful project, the maintainers are usually busy and overwhelmed with demands. Be the person they can rely on, consistently, and you will earn their trust.

- The second way is to join a technology company with an open-source team, and be assigned to an open-source project. For example 2 of my co-maintainers joined as employees before the open-source project launched, and were assigned to this team via the normal company process. This will usually get you into a project in its early stages, when it is not yet large or popular enough to hire from the pool of existing contributors. In our case, we now hire almost exclusively out of the project's community.

- The third way is to turn your own project into a source of income. This means either hope that your project becomes popular enough to attract financial backing on its own (also known as "winning the lottery"), or secure funding yourself. Remember that open-source software is like music, writing and web apps: lots of people love doing it, and the barrier to entry is low, which means it's a buyer's market. There simply aren't enough dollars available for everyone to make a living scratching their own itch. Consider finding a job which can accommodates time for side-projects. Make sure your project is its own reward, see how successful it becomes, and adjust your financial expectations as you go. There are sources of funding like Gittip which might make this more feasible - I don't know. Or you could do what I did, and start a business around your project, keep at it until it's successful, find a great CEO to replace you, and finally enjoy your reward as the maintainer of the project you worked so hard to make possible. I'm not sure I would recommend it - it worked, but took me 6 years, most of which with very little time to write code, and an amount of work and stress I would not wish on anyone. But when it works, it's the best :)

I'm always happy to talk about this more if you're interested. You can find my contact in my profile.

I got into evangelism at an open source company after an injury prevented me from hacking full time (less typing). I was already promoting open source projects for free, so I was a shoe in. This led to a full time FOSS gig with a company that wanted to popularize its open source offering. Half coding, half promotion, aimed at removing barriers to entry, improving documentation and ease of use.

Fun gig.

I work for Oracle (MySQL team). It was going to a local meetup group in 2005 and giving a talk that eventually led me down this path.

For me it was pure luck..i applied to work for a construction company and was assigned a project that ironically no one was able to take on because it required collaboration with different construction companies abroad.

The project was to implement a data integration standard among different construction companies who were competitors so it was actually a tricky job. The chair of the project were Bechtel and they decided it would be open source.

Three years later i had a great journey but i also had to quit. not only was i making good money relative to where i live, but i travelled to some beautiful places and met extraordinary people. Since that was my first job, i was totally spoiled because now i can't accept any job that is less exciting, so i am currently pursuing being independent, which is the only alternative i would accept.

There are corporate open source jobs out there and i recommend that you look for them, but be careful you might get spoiled.

I work for ThinkOpen Solutions, which does projects and hosting based on OpenERP, an AGPL licensed software. As such, all the code we develop is AGPL licensed as well, and a fair share is published on launchpad, though some modules are only available to our clients.

As for how I did it, well, I replied to a job offer looking for Python programmers :)

I have looked at OpenERP and it looks very interesting.

What types of companies are targeted by your company? I have had thoughts of getting into this space but not sure how companies are willing to go with such a solution versus more established and recognizable solutions (such as Microsoft Dynamics AX, UNIT4, SAP, etc.)

I would love to hear your thoughts on this.

Sure, we can talk, shoot me an email.

You can work on academic projects funded by public money. The results are open source.

Ours, in bioinformatics: http://intermine.org

I definitely recommend scientific programming as a career.

I've worked as a programmer on bioinformatics projects in academia for the last 15 years. Everything has been open source.

Academia doesn't pay as well as the Real World but there are many benefits. As well as being able to work on open source software, the work is usually interesting. Job security has been excellent and I've moved jobs when I've wanted to (5 jobs in 15 years). Everywhere I've worked has had plenty of vacation days, sick days and a good pension plan.

The most useful benefit to me at the moment is flexibility: I mostly work remotely and I choose my hours.

Many bioinformatics jobs don't require prior experience of the field. I started with a computer science degree and no knowledge of biology and learnt the rest on the job.

Hi Kim!

The results can be open source, but do not have to be, even if funded by public money.

For example, d3.js is open source, but the code for PageRank and its related search engine is not. When I was a grad students, I worked on projects funded by NSF and DARPA where the code and data were not released. So it totally depends.

Some professors and grad students care more about releasing software into the public, while others don't care or don't bother writing reliable code.

Just curious how would one go about getting involved in something like this?

I'm looking for a topic for a masters thesis/possible job?

If you have a topic, then email (not shotgun) a PI. If not, then take up a masters course and do a project with a group in the field of your choice.

In UK, most academic posts will also be on job sites like this one http://www.jobs.ac.uk/.

You can see our job ad from when we were hiring a JS person here:


Ten years ago I funded my own company and became a Free Software vegetarian : not eating nor cooking anything but Free Software. I'm a developer and a few years later switched back to being an employee rather than a manager.

During the interviews I apologized for the inconveniences of exclusively using and making Free Software. The vegetarian image helped a great deal. What also helped a lot was that I already made the commitments years ago. It would have been a lot harder otherwise : how could you justify applying for a new job and at the same time apply new standards ?

I work as a Ceph developer in the context of OpenStack : very fashionable and easier to get jobs. That also helps a lot.

I don't exactly get paid to work on open-source, since our startup is still looking for our first customer(s), but my approach to attempt this, was to start an open-source startup.

So, I founded Fogbeam Labs[1], started writing code, eventually recruited a couple of co-founders, wrote more code, networked a lot, pimped the startup shamelessly at every turn, and ...

... TBD.

All joking aside, the end of this story hasn't been written yet. But we're pretty optimistic. We made some great connections at the All Things Open conference in Raleigh last week, and our content marketing strategy has paid off in that a trickle of inbound leads has been coming in. We're also looking at a sort of not-quite-a-pivot-but-something-like-that (call it a "swivel" instead, maybe?) where we're probably going to bump up the prioritization on releasing some SaaS applications built on the fundamental technologies we've been working on.

On a semi-related note, I actually do get paid to work with if not always on Open Source, by virtue of consulting at Open Software Integrators[2]. We specialize in helping companies with deployments of things like Tomcat, JBoss, MongoDB, Hadoop, Neo4J, etc.

[1]: http://www.fogbeam.com

[2]: http://www.osintegrators.com

I haven't seen it mentioned, but working for a university project funded by public and/or private grants (in my case for free educational software) is working quite well.

I don't know about full time, but sometimes when a client asks me to extend a piece of software I'll ask the upstream maintainer if they'll accept a patch for the change (with permission from the client of course). The client gets software with the fix included, where they don't have to worry about checking each future upgrade to see if the fix broke something.

Red Hatter here. If you want to work full-time on engineering within an open source project, the easiest way to get noticed by a commercial backer is making many quality contributions to the project. If we need to hire additional engineers, we'll typically ask some of the community developers first, prior to recruiting publicly.

That being said, there are many opportunities to work on the projects, albeit a little less "directly". Companies like Red Hat have large teams dedicated to QA, support, etc. Most of them are actively involved in contributing bug fixes, test cases, and directly working with customers. These types of positions do not usually require as much direct experience with the project as the engineering teams do.

And as one commenter already pointed out, we're definitely hiring! http://jobs.redhat.com/

I work at Yahoo and I'm a front-end engineer on the YUI Team. My job is to work on a number of open source projects such as YUI [1], Pure [2], and Mojito [3].

[1] github.com/yui/yui3 [2] github.com/yui/pure [3] github.com/yahoo/mojito

That's an incredibly broad question. I built my own business around a niche and established a client base through this while also doing jobs on the side that come about through that business.

This reminds me that I have been working full time on open source projects for almost a decade now. Started maintaining some R packages in an extremely open source oriented environment [1] then accidentally moved to web development. Started an open source project [2] which has been growing in the last couple of years.

[1] http://www.iq.harvard.edu/ [2] http://openscholar.harvard.edu/

I think that crowdfunding could provide one answer. Many open source projects are widely used by businesses for commercial purposes. In a lot of cases I think those businesses would be willing to pay money for improvements to be made to the code; if those contributions could be pooled, the amounts of money involved could be substantial.

Yes I would. With the recent revalations reguarding the total disreguard of basic human rights, I see no other choice except fully open ecosystem designed to empower the user, and keep them Free. I personally hate Stahlams politics but he was right, and as he was right early, he was shunned, but now his idea is right for right now.

If you agree that he was right, why do you hate his politics?

I think only externalities should be regulated by governments and not full and total redistribution. I see the push to systems that favor a total socialism as a push into the very thing he fears, as I do. When I hear him shout about destroying companies because they unfairly lock users into crapware, as well as use there Money/Power to do what anyone would do, what is in there best self interest, I cringe inside. No I am not happy that all the work TR did in busting the Trusts has been undone. But we should fix that in the system we have now, not destroy what little bits of the free market we have. Punishment for the sake of enjoyment is what I hear when I listen to his personal politics and that is what I don't like. Lets just be rational.

I'm sorry that I can't tell you how to get paid to work on oss but great question!

I suggest to watch the first part of Aaron @tenderlove Patterson's closing keynote at Rails Conf 2013[1], that touches upon this topic.

[1] http://www.youtube.com/watch?v=5kgUL_FfUZY

in a related note a friend of mine that's rails core member is interested in getting a job working full-time in rails, anyone want to hire him?

WalmartLabs has a few teams working on mostly open source stuff: github.com/spumko and github.com/walmartlabs. The spumko team (the one I am on) used to be 100% open source work but has recently cut back in the short term to help out other internal teams. But, OSS is still a major component of our jobs.

I have been working on a small project: https://github.com/tthieman/dagobah for the last few weeks. The plan is to improve it for internal use and contribute it back.

I used to work at Sourcefabric (sourcefabric.org) which pays you to work on open-source projects. They have offices in Berlin, Prague, Toronto and Romania.


I work at Cloudera. We work on Hadoop, HDFS, and other open source technologies full-time.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact