Software licences — why, how and… what???

I’ve spent a great deal of time writing software for other people, using open source software and skipping reading the licence. I start reading the GNU/GPL/Berkley etc licences and then go “yeah yeah ok whatever” and move on.

In general I know that I don’t own the software, no one accepts liability for anything and well… so long as I don’t purport to creating the software for a merit badge and a pat on the head, I know that I can use that software as much as I want.

Cool, sorted, closed, etc, don’t need to read the licence again right?

Wrong

Because a licence can change between versions of software, its crucial that you watch your licence versions as you update software.

But thats not what I’m talking about here

I’ve got some cool stuff that I keep to myself, only because I never considered someone else might use it. Perhaps I’ve developed a conscience, need an ego boost or want to help out, pay it forward/back — whatever — I’ve got some code that I think people might want to use :)

Cool! I can just give it away! — Wrong!

After sharing with some friends that I was smug and had a desire to show off (or share) my code, a few asked me what licence I was using. I (still smug) said:

none, this software wont make me money and it might help other people so I’m just giving it away

To which there was a giggle and a question that went:

What if someone gets hurt using your software

Of course… this I didn’t take into account culpability. If someone uses my software and my software fails and something bad happens, who’s fault is it? Legally its a bit of a fuzzy area unless you put a clause in to cover that area.

The journey

Research

I read the GNU(1,2,3), GPL, Berkley and a whole bunch of licences out there for ideals and developed a bulled pointed list of things I needed to cover and allow for — this list was 50-something items long and… well quite ridiculous.

But what does it all mean?

The truth is that pretty much all of the licences out there cover what I need. But they’re boring! and way too long..

After some thought, some green tea and a short daydream about making a fort in my lounge I decided to reduce that list.

Stuff I want to say

This is what I came up with:

  1. I made this software
  2. You can use it all you like
  3. If you use my software and like it, you should say thank you or not… whatever
  4. Saying thank you should be simple and not overstated
  5. If you hurt yourself, someone else or whatever; its not my fault

What I found

The Beer-ware licence: https://fedoraproject.org/wiki/Licensing/Beerware

/* 
* — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
* “THE BEER-WARE LICENSE” (Revision 42):
* <your@email.com> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet
* some day, and you think this stuff is worth it, you can buy me
* a beer in return.
* — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
*/

With this I had covered all of the above but #5 and realistically thats actually the only thing I was worried about, as soon as code is out in the public domain, the only thing I really care about is that I don’t get kicked in the nuts for being a top bloke and sharing my stuff.

(from http://giphy.com/)

What I came up with

I really like the beer-ware licence and I like the idea that someone might buy me a beer and tell me about how they used/improved/broke/fixed my code — I do love a good story.

Of course there’s the negative stuff its missing so I figured I could just use an amendment.

/* 
* — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
* “THE BEER-WARE LICENSE” (Revision 42):
* <your@email.com> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet
* some day, and you think this stuff is worth it, you can buy me
* a beer in return.
* — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
* Amendment 1: The author(s) of this code accept absolutely no
* liability for any damage or general bad things that may come as
* part of its use. Any use of this software is deemed an agreement
* to absolve the author(s) of any liability, culpability,
* durability and any other “(*)ability” (good or bad).
*/

I reckon its not bad, afterall:

  1. I made this software (tick)
  2. You can use it all you like (tick)
  3. If you use my software and like it, you should say thank you (tick)
  4. Saying thank you should be simple and not overstated (tick)
  5. If you hurt yourself, someone else or whatever; its not my fault (tick)

Thoughts?