When I started the DZgameEngine project I wanted it to be open source, so that anybody could freely use it to experiment with game development and accelerate the learning stage for understanding the insides of a game engine, from drawing to the screen to generating sounds.
Soon I realized that I needed to provide some sort of distribution license. Not doing so would have put my code in the position of being indirectly copyrighted and no one could really use it to eventually publish his/her own game. As usually things go, I didn’t put much thought on it, so I ended up using the same license used by the Linux Kernel. I thought: “if it works for Linus Torvalds, it can work for me too”.
But, recently, I started thinking on that a little more, and I started doing some research. I came to understand that the GPLv2 license ultimately could constitute a barrier for people to use my game engine. In fact, with such a license, people would be forced to make their own game totally open source. And if they wanted to get some money out of it, they probably couldn’t. A game is not a product on which you can easily charge for maintenance contract or other services. Once in the hands of a gamer, it gets used as is, and later discarded. Nobody is going to pay anything for it.
I needed something that could give the developer a choice, which seemed more fair than forcing him/her to open source the game.
I needed something that a developer could use to either release his/her game completely open source, or completely in binary form, for a fee. At the same time, I needed something I could use to ask the developer to release to the open source whatever change was made to my own code, the game engine itself.
And finally I realized the Lesser GPL does exactly that: what ever someone makes changes to the DZgameEngine library, it has to release the code changes so I can keep improving the library. But, at the same time, the developers can keep their own code closed, so that they could sell the product of their brain, if so they please.
So, at the end, that’s what I did, I changed the distribution license for my DZgameEngine library, making it more available to developers the way they want it fit for their own purposes.
Was this the right decision? Will it ever DZgameEngine be something that other people will use? Will people be more willing to use it now that I have changed the license to something that I think is more appealing? I think so, but really only time can tell. And if you out there have any thought, one way or another, would you be willing to post a comment and let me know?
Leave a Reply