Open Source, Licensing, or In-House?
OPifex OpenGL Cross Platform Open Source Licensing
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:
- Code Quality
- Bug Fixing / Catching
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.
The final 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.
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?