From: Austin Ziegler Date: 2005-09-14T06:47:08+09:00 Subject: Re: [OT] Choosing an open source license On 9/13/05, Ara.T.Howard wrote: > On Wed, 14 Sep 2005, Austin Ziegler wrote: > > I will not use software that has this restriction. Period. Over time, > > I will be changing my software that is stuck under the GPL to freeze > > it at GPL2, because I believe that the Affero/GPL3 direction is going > > to be a debacle and a mistake. I don't trust Stallman or Moglen on > > this, because they've already made mistakes with their dicta regarding > > dynamic linking. > > > > BSD is a far better choice than GNU GPL for most software, and you'll > > note that some of the most useful GNU GPLed software has an exlusion > > clause in any case. > i always release my stuff under the ruby liscense - any problems with this? i > often don't even put my name on it because i want to encourage people to use > it however they see fit. No, because of the nature of dual licensing. Let me be clear -- I don't *like* the GNU GPL, mostly because of misrepresentation by its supporters, but it's (mostly) a fine licence for what it does. IMO, the GNU GPL without the socialistic nonsense that Stallman put on it would probably be even better, for what it does. The goal of the GPL is to make it so that purely private binary releases of software don't exist. This has nothing to do with distributing the source back to the author (which is, IMO, the *main* problem of what the OP in this thread wants, and is also a common misconception of GNU GPL supporters and opponents alike), but with distributing the source to downstream customers and not preventing *them* from doing what they wish with the source from that point. For some types of software, this is definitely a good thing as a licence goal. But it most certainly isn't a "free" licence. It places heavy restrictions on the use and distribution of the source code. This, again, isn't a *bad* thing, it just isn't "free" (no matter how much doublethink comes out of the FSF officies). More problematic with the GNU GPL is the (open) question of dynamic linking, and the likely future decision to make it so that web service accessibility is considered distribution (like the Affero licence). Strictly speaking, dynamic linking is a place where the law hasn't quite caught up with (old) technology, but what little case law exists tends to suggest that dynamic linking with something does NOT make the resulting program a derivative of the linked software. The FSF has partially acknowledged this with bad opinion pieces indicating that dynamically linking a GPLed library would be unacceptable *unless an API-compatible alternative exists* and that the GNU GPLed library isn't distributed with the linking program. This was done because of the licensing nonsense around GNU readline. Unfortunately for the FSF, dynamic linking has grown *way* beyond this. Stallman is on record as having indicated that it is improper for users of PhotoShop to use GNU GPLed PhotoShop filters, or GIMP users (which implements the same ABI/API) to use non-GNU GPLed filters. Sadly, not only is he wrong in fact, he is wrong by his own licence, which is triggered not by use[1] but by distribution. Hence the redefinition of distribution in the Affero licence, because redefinition of use would make the Affero licence wholly incompatible with the GNU GPL. This whole discussion affects users of modern programming languages (Java, C# -- the whole of .NET in fact, Ruby, Python, Perl, etc.) extensively because one can end up using software without being fully aware of its licensing heritage -- in some cases, even loading code from across the network. I can't begin to express how horrendously naive (or, conversely, how horrendously sinister) the FSF position on this is, because it makes a mockery of the very idea of replaceable component development. This is one of the reasons that, when I have included others works in my own (Text::Hyphen, PDF::Writer, Ruwiki, and a couple of others), I make it clear that *my* software is under a particular licence, *their* software is under a particular licence, and the *compilation* is under a particular licence. The three licences must be compatible (in most cases, this isn't a problem, as I choose less-restrictive licences than the GNU GPL). I also make sure that I give credit -- which is why I'd disagree with your decision to not put your name on your releases. I have also gone out of my way to fix licensing issues with software that I release. Diff::LCS exists *solely* because the original porter of Algorithm::Diff chose the more restrictive licence (it was under Perl's and the GNU GPL; the porter chose only the GNU GPL) and that was incompatible with the licence chosen for Ruwiki by Alan and I. I happen to think that Diff::LCS is far better than Algorithm::Diff, but I lost a month's worth of work on Ruwiki directly because of that reality. As I mentioned at the top, dual licensing is an interesting beast. When I have licensed something under multiple licenses, all of the chosen licences apply, but not simultaneously. If you release something under the GNU GPL or the Ruby licence, the recipient can choose *either* licence to obey. So if someone decided to fork your software, they could choose to make it GNU GPL only if they so decide. They aren't bound by your dual licence choice, ironically. I encourage Ruby developers to avoid the GNU GPL as their sole licence, because it makes for legal incompatibilities where legal incompatibilities do not exist. -austin [1] This is one of the things that thoroughly pisses me off about the morons who use NSIS or other Windows install kits and put the GNU GPL as a EULA. The GNU GPL isn't a EULA, and I don't have to accept it just to be able to use your program. -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca