So, it was pointed out that DBus is under a dual AFL/GPL license. The GPL is a fine and upstanding license and I wholeheartedly endorse it, but it's not ideal for infrastructure if your worldview includes non-Free software. So that leaves the AFL ("Academic Free License") for people writing non-Free stuff that sits on top of your desktop environment. The AFL is an interesting license - it's written in terse legalese in order to make anyone trying to read it unhappy, but it's fundamentally straightforward:
- You can distribute the original code and derived works based upon it
- It gives you a patent license to any patents the author holds that relate to the code
- You must make available the source code of the unmodified code if you distribute the unmodified code. Unless I'm misreading it, there's no requirement to distribute source of derivative works
- Blah blah standard endorsement crap blah blah
- The fits signs of crack appear when it starts telling you that any descriptive text in the source marked as an "Attribution Notice" must be unmodified. This is just plain buggy - there's no definition of descriptive text, so if there's a function that does printf("Attribution Notice: The authors of this software believe that %s are inferior beings\n",ethnic_minority) then you may be unable to remove that from the source even though you can comment it out. Poorly defined invarient sections are bad.
- Blah blah NO WARRANTY blah blah
- Blah blah NO LIABILITY blah blah
- Blah blah YOU'RE ONLY ALLOWED TO MAKE DERIVATIVE WORKS IF YOU ACCEPT THIS LICENSE blah blah
- And then, after three paragraphs of BLAH, you get to the point where it says:
10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, for patent infringement (i) against Licensor with respect to a patent applicable to software or (ii) against any entity with respect to a patent applicable to the Original Work (but excluding combinations of the Original Work with other software or hardware).What this means is that if I, as a company holding any software patents, sue someone who holds copyright over any part of the code over any software patent whatsoever then I lose the right to use that software. Even if they've sued me over a software patent first. Even if what I'm suing them over has nothing to do with this software. This is plainly nuts. My right to utilise a piece of software is dependent on me not doing things that have nothing whatsoever to do with the software in question.
- Blah blah bunch of tedious stuff of little value
It's a bad license. It's a non-Free license. And it's OSI certified. The Open Source Insitute's definition of an Open Source license is heavily derived from the Debian DFSG, but somehow has been subverted in such a way that a large set of licenses that would be considered non-Free are OSI certified. Please don't encourage them.