So here’s the deal. I’m about to start writing a Java implementation of the Source RCON Protocol. It’ll be a small library that will implement only the basic communication between the server and the client. Nothing fancy, nothing too complicated. Just some basic classes that will be used to send and receive packets.
I would like also to make my library open source so that others can benefit from my work. My problem though lies in the license I should use. I’m between the GPLv3 and the Modified-BSD license.
But everyone knows that there are some major differences between these licenses. What’s worst though is that I can’t 100% agree with either of these. On the one hand I like the idea that any derived work from my library will also be free and that it no one will be able to use it in a closed source proprietary program but on the other hand I don’t want to force people to open source their program just because I chose to open source mine.
I’m really confused and I don’t know what to choose. I believe that you can’t force true freedom and that the forceful and viral nature of the GPL license doesn’t promote such freedom. The BSD license though lets the author do whatever he wants with any piece of code he uses which also means that he can use your work without even crediting you.
So what would you choose?
Interesting articles: