- Hires: You start an open-source project, it gets some nice traction, a company start using your code in production, but they want to make sure you spend your time working on the project. They hire you to work full time on it. So you're technically employed by the company, but all the community is benefiting from your work.
- Consulting: you sell consulting services for your project, or an hosted implementation (think MongoDB or Wordpress, for example)
- Sponsorship: you get sponsored either by a company that has an interest in the project (but you're not an employee of the company), or by universities / research grants / etc... I think Nokia sponsors some KDE developers, for example. The European Union also spends some money sponsoring open-source projects.
- Donations (from individuals or corporations). Either in money, or in hardware / software / services / etc... Usually not a good way to make a living, as a developer, though.
One thing is for sure: it is definetely possible to make money with open source. But more likely as a project (ie: you found a company that develops a piece of technology which is open-source), than as a developer (ie: you're not very likely to make a living of being a regular contributor to open source projects)
It must be difficult in this situation to keep the needs of other users in mind, if one user in particular is paying you to maintain the project. How does this usually pan out?
It’s possible, but keep in mind that those two are great developers, not everybody can do what they did.
Matt Mackall of Mercurial, before it was acquired (http://selenic.com/pipermail/mercurial/2010-April/031543.htm...)
I tend to agree with the points that Bradley Kuhn makes in one of his blog posts [2], but I'm still trying to figure out how direct payment for time spent would work for non-obvious scenarios, like end-user desktop or mobile apps.
[1]: http://clojure.org/funding [2]: http://www.ebb.org/bkuhn/blog/2010/07/07/producing-nothing.h...
In a lot of cases companies will buy the talent behind an open source project to get the support they need. Sounds funny, but when you consider a piece of software mission critical to your business its a lot safer to be able to pay the guy or gal and get their immediate attention. :)
I think Apple did that with the CUPS creator, and Rapid7 did something similar with w3af. Sometimes its called "partnering" or "sponsorship" other times it is an all out acquisition. It depends.
All my code is released under LGPL or ASL2 on either the company mercurial repo http://hg.nuxeo.org or on apache projects we contribute to (Apache Chemistry and soon Apache Stanbol).
The company sells support subscriptions, consulting, training and custom dev.
Do you know anyone who has gone through the effort of convincing the boss not just to leverage open-source, but start such a thing from scratch?
also some companys make the step to employ these people full time and sometimes even to work on the software full time.
It's entirely possible to find a salaried position where you develop open source software professionally. However, your employers will most likely not consider that a factor when assigning work.
I'm betting that the of OSS development that is done by people who are paid for it, is seem as a marketing effort. Any large corporation have more than enough money for a few developers in their marketing budget.