Quick, you just wrote the next great piece of software for automating the creation of virtual lolcats wearing algorithmically generated period accurate pirate and ninja outfits that are anatomically suited to the feline body. You want to share this software with the world, but you’re not certain what are reasonable terms to do so in a way that leaves you happy. What do you do?
Who does not remember Quake and its first person shooter descendants? id Software has a policy of releasing these games of theirs under the gpl v2 license after their commercial life has ended. The Gnu public license or GPL is best understood as a tool for making software source code available in a fashion that maximizes the net societal utility, though not necessarily in a way that incentivizes companies to do so before the end of the product’s lifespan. These old id software games are an excellent example of this consideration where the only responsible way to make the software publically available is after the underlying technology is out of date and no competitors stand to gain from a clean room reconstruction of the software’s featureset.
So at least with a gpl style license, one hand there is a disincentive for businesses because they may lose some competitive advantage because of the risk in revealing proprietary algorithms or domain knowledge. On the other hand, this type of license is great for a product whose creator want’s it to be utilized in a fashion that maximizes public good over all other interests.
There are two main other types of licenses which are of interest when considering making source code avaiable:
“Free” licenses such as the revised BSD license which (ignoring the whole issue of software patents) allow any use of the code as long as the appropriate license and copyright notices are preserved in the code. This type of license has a great deal of appeal to academics, because it leads to such things as their work laying the foundations of major software systems such as Apple’s OS X.
“Educational” licenses. These aren’t used that often and the best example would be the creative commons noncommercial license. This is the appropriate license for software where there is both great pedagogic or marketing merit to making it freely available for personal use but also great profits to be made in selling it to businesses.
Which would the be best license for my hypothetical super lolcat software? Which utimately depends on how much I care about society versus myself.
Answering this question and understanding how these different choices in licenses will affect interested 3rd parties is the ultimately the guide that must be used in choosing a license, rather than a moral arguement as some such as Richard Stallman would claim.
I believe only the engines for Quake are released under the GPL. Also I assume you mean non-copyleft rather than free for the non-obnoxious BSD license (ie X11 license).
What do you mean by ‘only responsible way’? Presumably you are claiming that this would protect some kind of advanced technique used in the engine for games which does not seem incredibly likely.
Some interesting points here. A quick clarification, though: Creative Commons licenses are not designed for software — the organization recommends that developers use the GNU GPL or one of the OSI licenses. See
here for more.