Open Source, Licensing, or In-House?
What's the deal?
We've put a lot of work into the OPifex Engine over the last couple of years. It's a platform that we'll be continuing with for a long time.
Lately though we've gotten interest from others to use our engine. We've kept it in-house for now, but suggestions have been made to go open source or even to license it. What's the right direction to go with it?
(optional) More information on what the OPifex Engine consists of: http://teamopifex.com/opifex-engine-part-1/
Why go Open Source?
We've poured hundreds of hours into this project... why give it away for free?
There are a lot of advantages for open source:
Bug Fixing / Catching
There's a potential for thousands of like-minded developers to pour their time and expertise into the project. It could create a very solid solution with fewer bugs than we could ever hope to achieve with our small team.
However, with so many developers sticking their hands into the pot, how do you steer the project in the correct direction while still being involved with the community around it? It would require careful monitoring of pull requests and code quality. Without careful planning, someone could easily steer the bus off the cliff.
Another option would be to sell it off. If someone wants to use the engine, they simply pay a licensing fee. It would help us keep the lights on.
How do you argue with making a little money on something you've put so much effort into?
The biggest issue we would have is support. Managing a solution of this size with all of the bugs that could pop up for a larger client would take a lot of time and effort.
Furthermore, would we even be a game studio anymore? We would end up spending more time supporting and improving the engine to compete against the competition than we would working on our own games. Is that really what we want to do? It's not the path we intended to take when we started.
The Hybrid Approach
Why not do both? This is the approach a lot of software solutions have been taking lately.
A hybrid approach would mean open sourcing the project but making money by alternative means. This could be through donation requests (like Ubuntu does) or through support licensing (like Umbraco). Even more business-like, we could take the approach where games that have a revenue over $100,000 have to pay a licensing fee.
It's a "have your cake and eat it too" solution... though I feel like it can ride the line of exploiting the hard work of the community around the project.
Another approach we could choose is to continue what we're doing. Keep it to ourselves. Spend our time making our own games with our own engine.
The engine would only have the code we want in it, but development would continue at its current pace. Every new feature would add more potential bugs, giving us less time to work on our actual games... but the engine would grow with us instead of surpassing what we need.
A lot of Indie Games.
The final approach, which I'm currently leaning towards, is an access pass.
You would pay for a "memborship" to gain access to the repository where you could make your own forks/pull requests. You could then sell the binaries of the engine (with your alterations or not) but not the source code itself. This would allow you to redistribute the engine with your own games or applications.
In addition to the source code of the engine, you would also gain access to the source code of all of the OPifex games, but with no rights to redistribute it. That means you get a copy of the game itself to play, and you get access to the source code for reference and/or to tweak the game itself. You would not however, be allowed to re-sell the game in any form.
What do you think?
I'm looking for feedback before making a decision. It's a complicated process no matter which direction it's taken.
Have any of you gone through this before? Did you have any luck with the path you took?
This was orginally posted on GameDev.net http://www.gamedev.net/blog/1899/entry-2260039-open-source-licensing-or-in-house/