2007 and 2008: looking at things in perspective
Welcome to 2008 and Happy New Year to everybody. As Chris says, this is the season in which people sum up or predict things about your favourite technology, such as "this will be the year that Linux on the desktop really takes off" - boring stuff! - but don't worry, I'm not going to do that. Instead, I'm going to talk about what _I_ have done in 2007 and about what I will do in 2008. :-) Even more boring? It depends, because after all this is related to a question that I've been put after my talk at JavaPolis.
The question was more or less "how do you make money with your opensource projects?". Now, to your dismay, the problem is that I don't know the answer (bad) even because I'm not substantially making money out of my opensource projects (worse). In any case I've some thoughts to share and I think that they can be useful to others (and I hope others will be useful to me in posting comments).
Well, facts first. Even though blueMarine officially started in 2003 (with some parts of code that originated earlier), I've started working seriously on it in 2005, so there are two round years of work. Some numbers:
- 2 "serious" years of work (blueMarine indeed started officially in 2003 but not very seriously, and only a few of that old code survives today).
- 6 Projects, including spin-offs (not counting plugins and incubators): blueMarine, jrawio, Mistral, OpenBlueSky, ForceTen, windRose.
- about 150.000 total LOC (according to Ohloh, aggregating the various subprojects plus the stuff in the incubator);
- 3 presentations at major conferences: Jazoon 2007 (2 talks), JavaPolis 2007, plus a BoF at JavaPolis 2006;
- 7 meetings: NetBeans Days in Zurich, Rome, Milan, Cagliari; Java Days in Turin, Novara, Rome;
- 1 seminar (CRS4 in Cagliari)
From a money point of view, this year my revenues have been roughly 20% lower than the usual. 10% of this loss was due to some serious illness, that jeopardized about a month worth of work. The remaining 10% was due to the time spent on blueMarine rather than on paid projects. Of course I also spent money on it, both in hardware (fortunately the needed software is all opensource) and in travels for the conferences - 2% of my income more or less (I'm not considering expenses for JavaPolis, that I'd attend in any case). Summing up, blueMarine impacted on 12% of my gross profits, which was an expected figure.
On the other side, presenting and attending a conference is a good return for the money: it's all public relations and advertising, you meet people and learn things. After years of working almost exclusively with the back-end, now I can write in my CV that I'm a Swing and NetBeans expert. Heck, I've become even a member of the NetBeans Dream Team thanks to blueMarine. The ego ROI is huge :-) and even though a satisfied ego doesn't bring money in, it definitely makes you work better.
Being able to diversify your expertise is always a good thing. Also, I've got some paid projects this year just because of the blueMarine advertisement effect, even though I can't say I've earned unexpected money out of this (I've never had problems in filling my agenda even with my J2EE mainstay). But one of these projects is something I particularly love (this is a plus) and if and when it will pass an important milestone it could receive a substantial funding - sharing some code with blueMarine, this will be a huge step forward in my opensource duties. If things go well, you'll see me blogging on that.
I'd say, so far so good. Most of the goals for blueMarine were met (see below for those not met) and to tell the truth the hit on my finances could have been worse, especially considering that in these two years I managed blueMarine by "visual navigation". But the unexpected health problems caused a drain from my money reserves, so for 2008 I must go with careful planning: first budget, then blueMarine (this should not be a problem in the project evolution, since there are three reasons for which I'm working much faster: the troubles of the migration to NetBeans RCP are now definitely over; I've got a very strong foundation, so new features come faster; and last but not least NetBeans-the-IDE is now out of beta and more efficient). "Budget first" also means that I must be more active in searching for extra fundings (or aggregating other people - for instance, this year I'd like to submit blueMarine to the Google Summer of Code).
What are the goals that I couldn't met? Well, first there is still no community of developers (while there's a tiny brand new community of beta users). If you look at the member list in the java.net pages you'll find quite a few people, but basically most of those volunteering for code development disappeared (BTW, I have to do some clean up there). I must been doing something wrong, as now a lot of people is aware of the project. Paradoxically, I've got plenty of people volunteering for localization, and in this case I am the one blocking the others, since I've not "bundled" all the message strings yet. Then, the test coverage is not good as I hoped - the problem being that when I started writing the code in 2003 I wasn't proficient with testing. Even though the most recent features have been developed in TDD mode, I haven't been able to extend the coverage to older parts as much as I hoped. Last but not least, I've always disclosed a roadmap, but I always failed miserably in respecting it - but this should be substantially addressed with the better planning for 2008.
In the end, expect a whole new bunch of stuff from the blueMarine project this year - and I personally hope that at the end of the year I'll be able to say that it has become a source of profits instead of expenses! :-)
Technorati Tags: blueMarine