I’m a fan of Open Source / Free Software licenses. I’m a REALLY huge fan of them in development tools.
So what am I bitching about here? Developers who fail to understand licenses, but insist on using them without really knowing what the hell they are doing.
I’m going to give two examples – both of them are more common than they should be (hey, just follow any Slashdot conversation involving the GPL or LGPL license to see how common it can be.) And I hate seeing them – it means the developer in question has never considered closely what they just licensed their software as.
Example 1 – I was tweaking the template I’m using (which I think is awesome – though I may be the only one), and was looking in the footer file, and find this:
this theme is released for free under the GNU General Public License 2.5 (GPL) requiring that the credits will stay intact. Thank you for using my WordPress Theme!
GPL 2.5? I scratched my head a minute – I don’t remember a GNU GPL 2.5. 1, 2, 3, but no 2.5. I’m pretty well versed in popular Open Source / Free Software licenses (No, I don’t use the abbreviation FOSS or F/OSS – it’s kind of a passive ‘screw you’ I’ve maintained for years after an email exchange with Richard Stallman). So I had to dig for a bit, wondering WTF?
This isn’t the first time I’ve seen things attributed to non-existent or poorly executed software licenses. I’m only talking Open Source / Free Software stuff here – there’s two bloody tons of REALLY bad software licenses in closed source software Here’s the problems with this license:
There is no GNU GPL 2.5 license. What the developer meant was it was under Creative Commons 2.5 Attribution license. At this point, the software in question has lost it’s protection under Creative Commons (and under the GPL).
The developer has now mixed two licenses that aren’t compatible (or, debatably compatible).
The developer has miss-used the Creative Commons license (from the CC FAQ):
Can I license software using CC licenses?
We do not recommend it. Creative Commons licenses should not be used for software. We strongly encourage you to use one of the very good software licenses which are already available.
The Creative Commons license is poorly suited for software, and the GPL isn’t well suited for handling things like content (though some would debate that last part of the statement.) Research the license before using it. Really – it’s important. Otherwise the whole point for using a license goes away – you might as well have released in either as a Copyrighted piece of software, or as Public Domain software.
And if it’s software – include a link to the license or full text of the license. Full text because (and this should make things click in some people’s heads) it’s a CONTRACT. Yes, that’s right – a licensing agreement, a contract. You can’t expect people to agree to something without reading it (OK, some software developers have done it. It’s just stupid. Really.)
In this case, the developer didn’t mean any malice. She just applied one without looking closely at it. Oddly enough, in a couple of other files, she has it attributed to the Creative Commons 2.5 license rather than the “GNU General Public License 2.5″ (which, well… is still the wrong license, but at least it is a license.) Treat applying your license at the end of a project with as much care as you would the development of your project (OK, I’ll admit – there’s plenty of software out there developed without that much care. But Microsoft has lawyers who handle their licenses for them
Oh, and why did this come up? I was looking remove the links at the bottom of the page so it ended in just a Copyright. That’s where I ran across this set of problems with the license. I’m not much of a fan of Attribution licenses, but, I respect ‘em when I see them – it’s there so the developer (be it a software developer or artist) continues to get their name out there and brings in more business. And since I liked the template so much, I figure she really does deserve the credit! (On a whim, I happened to check out her site… she’s a geek and she’s cute!)
In this next case, the developer was an idiot. Completely an idiot. Naw, that doesn’t cover it… the developer was a malicious idiot.
Here’s the setup – I’m on the mailing list for an Open Source project. I’m not a member, but, I utilize the software quite often, and I like to contribute back to things like that (If you use Open Source, give back to the community please.) Part of the people on the list are members of the development community, some of them are developers using the software, and some of them are just… well, random people.
The person in question (from here on out I’ll refer to him as “Dumbshit A”) was a (minor) developer on the software project. The project was a GPL General Public License 2 project – anyone who contributed to the project placed their code as part of the now GPL’ed project. That’s just the viral nature of the license.
Enter “Salesman B”. What he’s done is packaged the whole GPL’ed project up, added an installer (nice idea) and a few other ideas to it, and made it basically a dead simple package to get up and running. And is selling it for $500. Now, he didn’t keep this a secret – he was open about it and posted it on the mailing list.
Dumbshit A goes ballistic. He begins ranting about how it’s illegal, against the GPL, the guy is a slimeball, etc., etc., etc. Of course, Salesman B ends up unsubscribing from the list with the feeling that, well, he’s unwelcome (gee, I wonder why.)
Here’s the problem: Dumbshit A never studied the license. In fact, I did a nice rundown about it – it’s perfectly within the GPL license to sell GPL’ed software. Hell, even if you didn’t write it, it’s perfectly legal and within the parameters of the license. Wanna go further? It’s ENCOURAGED.
Because Dumbshit A never bothered to read the GNU GPL 2 license, he drove another member of the community out (and revealed himself to indeed be a Dumbshit.) Some people still object to the sale of GPL software. The solution is simple: use another license, or even roll your own (though you better be prepared for some serious work to do the latter.) But I wouldn’t recommend running out people who sell the software. They can be an asset to the success of the project too – people sell products by advertising. By advertising they are adding visibility to the project. By adding visibility, more developers become interested in the project. The project (potentially) becomes more solid and moves faster development wise.
Know your license, and know how it affects your software distribution, rights, and recourse. If not, I’ll make fun of you.
Davis Ray Sickmon, Jr