Funding Open Source Projects
That was the topic under discussion in the first ALT.Net talks today. There weren't that many people at the talk, but it was very focused and useful.
In general, there aren't that many ways of funding OSS projects. Note that I am talking here from the perspective of the developers who does the actual work, and how they get compensated for their time and effort. This exclude reasons such as scratching an itch, or as a hobby.
- The OSS work is useful for the day-to-day work of the developer. This is by far the more common model in the .Net world. Most OSS developers tend to do so because supporting the project supports whatever they actually trying to do.
- Reputation building - being part of OSS project usually means that you get a good reputation as a result. This can be useful in getting a job, as an example.
- Contracting / training / support. This seems to be a very common model in the Java world. There are only a few projects in .Net that are working in this approach.
- Donations - nice in theory, doesn't work in practice.
- Grants - someone who needs a feature pays for it being included. I had several leads in the past, but nothing that ever got to actual money exchanging hands.
- Work for hire - Some entity that hire a developer to work on an OSS project. SvnBridge is a good example of that. The difference between this and the previous entry is that this is not necessarily something that the dev was initially involved at.
The session was focused on two subjects, how we can increase awareness, and how we can fund OSS projects. I think that the ALT.Net community is doing a lot best practices, approaches and techniques and the tools that can be used to support those. We recently had several articles in mainstream media about from members in the ALT.Net community, as a simple example. We can do more, like reaching out to the user groups, talking more about it, doing entry level tutorials, etc. But that is more related to adoption of OSS tools, not to funding them, which was the major topic for the session.
When we are talking about funding OSS projects, we have to make a distinction in what we are talking about. We can fund the OSS project itself, and we can fund OSS developers. I feel that a large part of the session was spent making this distinction.
The major difference is in what you are trying to achieve. I use OSS projects to help me do my work, I don't need them as a source of income. They are a tool. Getting paid to work on them is fun and would be lovely, but tat is not actually something that I spend a lot of time thinking about. A lot of the suggestions that we had at the talk all involved OSS developers making considerable investment in time, money & risk for the goal of furthering OSS development.
Sorry, it doesn't work that way. At least not for me. I am getting paid to write code. Incidentally, at this point in time I am actually getting paid to write OSS code, which I consider as a really nice perk, but not something that is in any way required.
When we are talking about funding OSS projects, I am actually thinking on the other side. Funding the project itself. however, is something that I would like to focus on. The best way I know of actually getting things done is to actually pay for it to be done. Working for free works if and only if the task is fun. If it isn't, it isn't going to happen. If you want something from an OSS project, put your money where your demands are.
You want more documentation for doing X, pay for it. You want feature Y, likewise. And by paying for it, I mean anything from offering money to submitting a patch to adding to the documentation.
It is a very simple concept. And the best one I can think of.
Comments
One thought: Seems sponsership would be a good route, selling that the product gives them advertisement & good reputation leading to paid work/support ?
imo, this means stable & documentation.
btw I would pay for your NQG :) (if I could figure out how to use it - :)
I'm using ms mvc w/spring.net & nhibernate - I like the linq syntax, but I'm on NH 1.2
(sorry for shorthand type - I'm holding my 2 yr old & typing w/1 hand)
Yes, NHQ is great, it should be merged into nhibernate :)
I think some some cases NHQ beats the LINQ syntax (for example when querying across relations).
I think the issue of oss funding and almost more importantly commercial support services for oss projects is a critical issue that the .NET community and Microsoft need to solve if the .NET platform is going to stay competitive compared to java.
I think a trend in enterprise companies is a move away from single supplier dependence (i.e. Microsoft), and what that really means is a move toward java and open source.
Open source doesn't need to bee free. ExtJs is a good example (although extjs is company).
The main problem with OSS is the documentation and tutorieals. And I'm willing to pay for it. (and did it before).
As a variation of Grants, Bounties can be interesting and have the nice side effect of adding new contributors to the project. Instead of asking Oren to add feature X to to the project, a monetary prize could be offered to whoever contribute that feature (first?).
As I mentioned during the talk at the conference, I think we need to focus less on directly funding open source projects (and dedicated OSS developers) and more on convincing large-scale companies to choose OSS over commercial (particularly Microsoft) software.
If more .NET developers use OSS day-to-day (because it is the best tool for the job at hand), OSS will improve, rapidly, without any direct funding. I know this means developers don't get to spend all day for weeks or months on end working on OSS. But I don't think that's always helpful in the first place. It is dangerous to develop any sort of software that you don't actually use in a real-world way.
You might be concerned that this will cover the smaller changes and fixes for an OSS project, but not the big (v.Next-type) changes. I think if more and larger companies were using .NET OSS the opportunities would present themselves. Time would prove me right or wrong.
Please stop doing this. The opposite term of OSS is not commercial software. Open source software is commercial software. The opposite term is proprietary.
You're right, and I know better. My apologies.
Try this:
http://www.paulgraham.com/good.html
Comment preview