Advertisement

Would you be more interested in a open source or close source game engine?

Started by September 07, 2009 04:15 PM
26 comments, last by Andrew Russell 15 years, 2 months ago
I'm wondering whats the best thing to do with my engine, I plan to give it away for free and I'm not sure if I should make it open source or not? Whats the benefits of either of them?
Remember Codeka is my alternate account, just remember that!
I would say just go ahead and open source it. Unless it's got groundbreaking features nobody else has or features done better than anyone else, then there's little merit in keeping it closed source unless you want to charge lots of money for it.

If you open the source but attach some kind of licence to it (e.g. GPL) then people can have the best of both worlds; be able to use the engine, but also be able to study its internal workings or adjust it for their own needs. That said, I'm personally not bothered about open source. Regardless of whether or not the source is open, I won't download the compiled binary unless it does what I want straight out of the box so to speak; I won't download the code and alter it to meet my needs if the need is not catered for by default. I've used plenty of open source apps and never once looked at the code.
Advertisement
Open source it but don't use the GPL.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Quote: Original post by CodaKiller
I'm wondering whats the best thing to do with my engine, I plan to give it away for free and I'm not sure if I should make it open source or not? Whats the benefits of either of them?

Free engines and libraries with no source available are less likely to gain traction than those with source available. Developers know they won't be able to make even the slightest change to the library, meaning they'll be entirely dependent on you for fixing bugs. Most developers dislike being in that position. In addition, distributing only binaries means you'll have to do a lot of work keeping them up to date: A .lib file built with VS 2005 almost certainly won't work if you're using VS 2008, and even a .lib file built with VS 2008 may not work with VS 2008 SP2.

If you plan to give your engine away for free, give it away really for free. Release it under the BSD or MIT license; they're simple and don't encumber developers.
Quote: Original post by ukdeveloper
If you open the source but attach some kind of licence to it (e.g. GPL) then people can have the best of both worlds; be able to use the engine, but also be able to study its internal workings or adjust it for their own needs.

I do wish there was some way to dispel the myth that the GPL (and even LGPL) is "the" way to make code open source, and that the resulting code is actually "usable" by more than a narrow sliver of the developer community (that just happens to be very loud).

Does anybody actually take the time to read and understand the implications of the licences they apply to their work? (I'm looking at you, Freesound Project.)

*grumble*


Anyway, to answer the OP: In my last project I used a 3rd party physics engine. There were a couple of bugs in it that I needed fixed right away. If I didn't have the source to be able to fix it myself, it wouldn't have been fixed in time and I would have either missed my deadline or had to find another physics engine.

Unless your engine is unbelievably solid and you provide insanely good support (eg: you're Epic or Valve or Unity, etc) then the risk of using a closed source engine is too great (and even those examples provide engine source code to some customers).
Quote: Original post by Andrew Russell
I do wish there was some way to dispel the myth that the GPL (and even LGPL) is "the" way to make code open source, and that the resulting code is actually "usable" by more than a narrow sliver of the developer community (that just happens to be very loud).

So true...

Quote: Original post by Andrew Russell
Unless your engine is unbelievably solid and you provide insanely good support (eg: you're Epic or Valve or Unity, etc) then the risk of using a closed source engine is too great (and even those examples provide engine source code to some customers).

There is also a middle ground: provide the binaries for free, and sell the source (or give it for free to people you want to have it). PhysX went this way, for example (they did when they were still Ageia, and I'm pretty sure NV still does).

This has a number of advantages. First of all, you keep full control over your project. You don't have some freetard forking your engine all over the place, infesting it with bugs, and then distributing it while claiming loudly that you are responsible for the bugs. Second, you can select a number of "trusted developers" that get access to the source, still allowing community based team work - only that you are to hand pick the members of that community. And last, you can actually make some money from commercial use, if this is what you want.

Of course such a scheme requires that your engine is solid, well useable, and provides some kind of USP over other (free) products.

If you don't care about keeping the source to yourself, or about making money of it, or you think your engine is not ready for this yet, then just release it under an MIT, BSD or zlib style license.
Advertisement
First of all, are engine demos available?
I mean, even before the license is taken in consideration, how can oneself understand if the engine is worth its time?

Previously "Krohm"

Unless you're a) a company or b) a trustworthy individual that has made a name for himself already, publishing an engine as closed source would stop me from investigating any further right there.

Understand my mistrust in this case:

For each good programmer there are thousand mediocre ones and without being able to review the code, I wouldn't trust it. Also there are quite many capable developers starting out highly motivated, but after a year or so they just disappear.

In addition to that, I wouldn't be able to debug and fix bugs but have to trust that programmer in finding any bugs I encounter and providing a timely fix.

And I would depend on that programmer to provide the engine for my exact compiler version (because I don't want to let the engine dictate the compiler I'm using or be required to ship *two* runtimes with my game).

Finally, unless the engine is a shining example of good design, I would suspect that at some point, I'm going to have to modify it for some reason or feature I require and that will be hard at best if all I have is the header files and a line to the developer.


Please don't take offense from this overly negative view, I just want to illustrate the fears I'd be having relying on a closed source component that's backed by just a single developer :)
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or Twitter - Topics: Ogre3D, Blender, game architecture tips & code snippets.
>>Unless you're a) a company or b) a trustworthy individual that has made a name for himself already

Even thats not enuf, check out all the history of products from companies (large + small) and from trustworthy individual's that have been dropped. Neither of those 2 cases guarantee that the product will be around + supported in 5 years time. Open source is the only safe option

Can I create my own license? I mean do I really have to use one that is already created?
Remember Codeka is my alternate account, just remember that!

This topic is closed to new replies.

Advertisement