Open Source, Licensing, or In-House?

Published September 06, 2014
Advertisement
-
[size=7]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/




[size=7]Why go Open Source?
opensource.png

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


  • Community


  • Time


  • 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.



    opensourcecliff.png

    http://www.monogame.net/
    http://www.ogre3d.org/
    http://irrlicht.sourceforge.net/

    [size=7]License it!

    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.


    [size=7]licenseapproved.png

    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.



    http://unity3d.com/
    https://www.unrealengine.com/products/udk/
    http://www.heroengine.com/
    http://www.leadwerks.com/

    [size=7]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.



    http://deltaengine.net/
    https://playcanvas.com/
    https://chipmunk-physics.net/

    [size=7]In-House

    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.



    sharingiscaring.png
    http://www.ign.com/games/dead-space/xbox-360-850402
    http://www.naughtydog.com/
    A lot of Indie Games.

    [size=7]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?



    gamedevdirection.png

    0 likes 4 comments

    Comments

    tnovelli

    The "have your cake and eat it" approach is pure sleaze. Offhand I'd say keep it in-house. Less headaches for you, less cookie-cutter games for players. Maybe share a few little tools or modules...

    September 08, 2014 11:09 PM
    GambitSunob

    I agree, of all of the options, the Hybrid approach is my least favorite. Lots of issues with legality, morality, financial, etc.

    I like the idea of sharing tools / modules but I'm not sure how effective and/or helpful they would be. A majority of them are fairly directed at the engine itself. Though with some effort they could be generalized. Did you have any tools or modules in mind? Maybe tools like our exporter scripts for Blender / Gimp that could more easily be used elsewhere?

    September 08, 2014 11:25 PM
    tnovelli

    Yeah, Blender/Gimp scripts could be worth sharing, even just as an example.

    Let's see what I have on github... heh, just this: https://github.com/tnovelli/imgpack

    I wrote that 2-3 years ago, almost forgot about it.. a few people (including me) are finally using it.

    Oh, and this web-based sound-fx generator that needs finishing. There are better ones but they require Flash.

    https://github.com/tnovelli/apparition/blob/master/wfxr.html

    Here's some great stuff (not mine) for C/C++ https://github.com/nothings/stb

    April 05, 2015 06:30 PM
    GambitSunob

    We've actually decided to try selling it, though the model we're using may change with all of the engines going (in some way or another) free.

    You can check it out here: http://opengine.io/

    I like your image packer. We're using a modified version of Stitches.js : http://tools.teamopifex.com/opspritesheet

    April 06, 2015 03:59 PM
    You must log in to join the conversation.
    Don't have a GameDev.net account? Sign up!
    Advertisement
    Advertisement