Recently, the Diaspora project has been making waves on the Internet. Personally, I'm glad someone is taking privacy seriously for a change, but that's not what this post is about. One thing about the project that caught my attention is that their Kickstarter page says that they promise to release the source code under "aGPL", also known as Affero GPL. This is a modification of the well-known General Public License that removes a potential loophole in the "standard" GNU GPL that may allow for proprietary modifications to code as long as it is not distributed to others - such as in the case of hosted Web services and applications.
Closing such a loophole is a good idea for the purposes of forcing software source code to be freely available, but I take issue with its effect on freedom. In fact, this doesn't just apply to the AGPL, but to most copyleft licenses. My issue is that, while users of copyleft-licensed software may have more freedom (as in speech) than with proprietary software, developers have to face severe restrictions on licensing not only their modifications, but any other code that links to the copyleft software.
I don't have a big problem with requiring modifications to be released under an open source license. After all, I released ArkSwitch under Ms-RL. In my opinion, if you want people to help improve your software, you can license it in a way that ensures the improvements are made freely available. However, even that impinges on other developers' freedom, though to a lesser extent.
I do have a big problem with requiring any and all software that merely links with copyleft code to be itself released under a copyleft license. That is simply not freedom. Why should I be barred from making closed software that links to open source code and selling it? That jars my thought processes. When I think of open source, I instinctively think of freedom. In a selfish sense, that includes freedom for me to do what I want with said open source code (within reason, of course). Licenses such as the GPL and, even more so, the AGPL, while claiming freedom, do quite the opposite for programmers' rights.
If you truly want to make your software free and open source, do not choose a restrictive copyleft license. At a minimum, use the LGPL, which allows for linking to proprietary software. As I stated earlier, Ms-RL does so as well. However, for even less restrictions and, consequently, more freedom, choose the Apache, BSD, or MIT/X11 license.