A while back I wrote a blog entry comparing various copyleft and permissive licenses and why I generally preferred the latter. In that article I explained how I felt copyleft could be useful, but felt that it was too far reaching. Since that time, I have done a lot of thinking, and I have come to a change of heart. Thus I am relicensing all of my content, as well as any future content I may create. I know this may inconvenience some people (all the better that I change earlier rather than later) but I truly feel that this is the best option for my work moving forward.
Before we begin, I want to reassure people that this does not affect any of my existing licenses. Free and Open licenses are designed, after all, to be irrevocable. Otherwise, they would not be free. This means that anyone who obtained copies of my work before the license change, can continue to use the old license. This includes modifying and redistributing the work under the same license. However, if you do wish to redistribute my work, please consider updating to the new license.
This does not mean that I am under any obligation to continue to distribute my work under the old license. Anyone who obtained the work under the new license will be required to comply with that license. Finally, any new material I create will only be available under the new license. The old license does not retroactively apply to any new content I create.
So Why The Change?
Ultimately, I want people to be able to do whatever they want with the stuff I create. I used to think this ought to include the ability to relicense my content as they see fit. However, far too often have I seen license agreements used as a means to restrict the rights of others. I don't want users of my content to be able to deny others the same freedom that I originally gave them. I want to ensure that my work remains free for as long as it is made available, whether by me or anyone else.
I truly believe in the benefits of a free and open world. When people are able to freely share and build upon each others work, there is no limit to what they can create. There have been several projects that I have wanted to share with others, but doing so would have been illegal due to complex copyright restrictions. While I cannot blame others for wanting to protect their intellectual property, it makes me sad that there aren’t more people willing to share.
So far, my primary concern with copyleft has been with derivative works which combine content from multiple licenses. What qualifies as a derivative work is vague at best. One cannot simply combine work which is proprietary with work that is copyleft, as the two are incompatible. Therefore, one has to be extra careful when using both copyleft and proprietary content, to make sure they are not running afoul of one or the other.
This does not seem to be as big an issue with the Creative Commons Share-Alike license, which is generally used for text, images, video, and the like. There is plenty of CC content already available, and the usefulness of these items is not contingent on whether they can be used alongside proprietary content. In addition, most such works are meant to be complete onto themselves. They may be expanded upon, or referred to in other works, but normally wouldn’t be used to create brand new works.
If you were licensing content intended to be used in entirely new works, such as texture images or background music, then a simple attribution license may be more appropriate. Furthermore, if anyone does want to use my work outside the scope of my license, they can always contact me. Despite its drawbacks, the best way to support the world I want to create, is with copyleft.
The Same Cannot Be Said For Software
One of my principle design decisions behind the Vulpine Core Library was to make it as modular as possible. It should be possible to swap out any third-party library it interacts with, for a different library, with a minimal amount of effort. The end user can use any library that can interface with the core library, even providing their own library if they so choose. This way, the core library can continue to be useful even if the libraries it's built upon become outdated, unobtainable, or otherwise undesirable.
Software libraries are created, by design, to interface with other software. If the Vulpine Core Library could not interface with another library, because the license of that library forbids it, that would defeat the purposes of making the library modular. That is why I cannot and will not use a “strong” copyleft license such as the GNU GPL for any of my libraries. Using such a license works well if you are making a standalone application, and you have all the rights necessary to use that license. But for libraries, it makes no sense.
Still, it would be nice if I could copyleft the library itself, without impairing it's functionality. The Free Software Foundation originally had a special version of the GNU GPL to handle this, appropriately called the GNU Library GPL. However they quickly replaced the license with the GNU Lesser GPL, as if to suggest that it was somehow inferior to the GPL. They even wrote a lengthy article explaining why you should avoid using the Lesser GPL and think carefully before applying it to your own work.
The most recent version (3.0) of the Lesser GPL isn’t even a license, but an extension of the ordinary GPL. Most of the terminology explaining the use cases of the license are gone, and the terms that remain are rather terse. Almost as if they wanted to obscure the fact that you could link against such libraries using proprietary software. I wound not be surprised if support for this license was dropped altogether by version 4.
It's no secret that the FSF wants to make everything copyleft. But it's this sort of disdain for more open licenses that originally made me want to stay away from copyleft. Fortunately for me, this isn't too much of a problem. Because the GNU licenses are ultimately free licenses, I can use any version, of any license, to distribute my software despite the FSF's recommendations.
So far the best community I have found for sharing content has been Creative Commons. They have a total of 6 different licenses to choose from, based on what permissions the licensor is willing to give. The share-alike licenses are copyleft, while the rest are not. All of the licenses are treated equally, and none are considered morally superior to any other. They understand that different projects have different licensing needs.
Unfortunately, CC licenses are not recommended for software, especially open source software, as they have no indication of how to distribute the source code. So for now software developers are forced to choose between licenses by the FSF and more open licenses, each of which have their own political agenda. That's not to say the FSF's goal isn't admirable, but I do question their methods.
I wish I could just let people use my stuff, without having to be nit-picky about the details. Unfortunately there are those who would abuse this power to restrict the freedom of others. Are the licenses I have chosen the best representation of my wishes? Probably not. But writing my own license would have it's own barrel of problems, not least of which would be compatibility. Therefore I see these licenses as a sort of necessary evil.
If anyone wants or needs to use my content in a manner that is not applicable to my license, I encourage them to contact me. Depending on the circumstances I may be more than willing to grant them a special, non-exclusive, license for their particular use.