I’ve been thinking a lot lately about open source and funding arrangements. The vast, vast majority of the top open source projects have funded members at their core. This is true with Linux, Eclipse, Apache, JBoss, MySQL, Qt etc. There are pretty large variations on where this funding comes from; some are simply employed by organisations which favour open source because it helps them sell their own products (IBM), some because their products are used by enough big businesses that will readily pay for support (Red Hat, JBoss) , some because they dual license and can thus pay their core developers directly (MySQL, Qt). There are others or variations / combinations of these sorts of themes, a good reference on this Koenig’s paper on open source commercial options. These open source projects thrive under these arrangements, supplying the open source community with great software whilst still keeping their developers in coffee and pizza whilst at the coal face.
Now, some people are no doubt thinking “He’s taking OGRE commercial - the traitor!”. But that’s not the case at all, all the options under consideration have a fundamental LGPL basis firmly at the heart - it’s about thinking how we can improve the funding position we have now in order to make OGRE an absolutely killer open source project in the long term. Sure, we could just carry on as we are now. That could work, but it essentially means mostly standing still, and that’s never a good strategy, especially for something as technology-driven as a graphics engine. It won’t expand OGRE’s user base beyond PC’s, and if you hadn’t noticed, PC’s are becoming less and less popular for gaming compared to consoles - not that OGRE is all about gaming, it’s not, but that’s a significant part of the market we can never, ever touch the way we are now. The other thing is that we’ll lose core developers. They won’t want to leave, but real life will force them to, or at least scale down their input.
It’s already happening. Over the last year _mental_ and temas have largely dropped out of active OGRE development due to work commitments, and just recently nfz has had to seriously scale back his OGRE work because of money problems which have required him to go back to manual work 12 hours a day rather than having that time free for coding. Luckily genva has jumped on board which has helped an awful lot, and so far I am still able to spend a decent amount of time on OGRE. But being so financially fragile cannot be good for the long term prospects for any project - these things have already impacted on Dagon. Sure, other developers will come along, but driving things forward takes a stable core leadership and design cohesion, not just random programming talent no matter how good. The reason OGRE is favoured by so many people is because we run it professionally, with quality and consistency being at the heart - not the case with some other projects.
So the question is, do we want to drive forward ambitiously, as we’ve always done with OGRE, or do we want to spin our wheels where we are, with the very real risk of slowly losing the momentum / cohesion that has made it a success so far? This leads me to one inescapable conclusion - for OGRE to really prosper long-term, it needs developer stability which means it needs to be funded, directly or indirectly. Our recent survey was about how we might be able to directly fund it, which is the preferable option since all proceeds and effort go directly into OGRE itself, since it is at the centre of that funding arrangement. Some people wish we could exist on just support and donations, but that’s extremely doubtful; the kind of people using OGRE are not the same kinds of people who happily pay support contracts to the likes of Red Hat, so the numbers are much, much lower and donations too erratic to support anything other than basic web services. Another ‘non polluting’ type of commercial operation is in consulting; but I’ve tried that over the last couple of years, and whilst it can happen, there’s just not enough demand for it to be the only way. In all probability a combined strategy of support, consulting and commercial license options will be the most realistic.
Of course, there are other approaches other than offering commercial license options for OGRE directly, such as developing other commercial applications on top of OGRE. But these will be less beneficial to core OGRE since it will involve basically subsidising OGRE through other ancilliary products sold through other channels, hence OGRE work is not at the core of the funding any more and will not benefit from it as much. Nevertheless that’s a path I will take if it’s the only one open to me.
The more rabid FOSS preachers would probably prefer the ‘sell other products, not dual license’ approach since OGRE itself remains completely ‘pure and unsullied’ by commercial involvement, but in practice it means more work will go into those ancilliary products and not OGRE itself. Once again this is a clash of dogma against practical reality. I always favour reality, because I personally have to live in it, although I accept that some don’t :P.
Interesting times. I realise this is potentially controversial stuff for some members of our community, but I’m going to face up to it anyway, because it needs to be done for the good of the project even if I have to take some flak for it. If the result is a negative, either through community opinion (although the balance is strongly in favour right now), reluctance of existing contributors, or financial impracticality, then ok, at least we know where we stand.