This has come up a few times recently (example), so I thought I’d point it out here for all the world to see.
If you’re sharing code on a blog, Github or anywhere else you think people might find it and want to use it, please license it in some way. If you don’t, it won’t be used the in the way you might want and expect.
Let me explain.
Many organizations are friendly to open source software. As a consultant and “agency dude”, I’ve seen far more companies that were happy to use open source software than companies who were completely freaked out by the prospect (although I have seen a few completely dysfunctional organizations that wanted to pay money for horrible solutions just because they had the fear.) This is a good thing because 10-15 years ago that wasn’t the case.
The thing is, and it seems some people don’t know this, unless you explicitly license your code, your software isn’t magically open source or free to use.
The lack of a copyright notice or license doesn’t mean you don’t have a copyright on it.
It is, in fact, the complete opposite.
In all countries where the Berne Convention standards apply, when you make software you automatically own all the rights to that software– even if your intent is for it to be free for everyone to use and you hate the very idea of software patents or copyright. Without a license allowing people to use your code within acceptable guidelines you are the only person that has a legal right to use it. While you probably won’t turn around and sue everybody that uses your code (because hey, you’re cool and you wanted to share it with everyone in the first place), there’s also nothing stopping you from changing your mind later and sending out nastygrams asking for big bucks from everyone who ever even sniffed at the code. Right or wrong, that would be your legal right.
And that’s why we need licenses. Any organization (or, really, individual developer) with any sense is going to steer clear of a situation where they might end up having to call their lawyers. Using software without explicit permission is exactly one of those situations.
So, if you’re doing anything that people might find interesting please think about how you’d like to see it used and add a license.
I use what’s commonly referred to as the MIT license because I can understand it and it allows people to do whatever they want with my code.
You might want to choose something else.
That’s cool, as long as you make a choice and let the rest of us know about it 🙂
At first the idea of licensing something one intends to make freely available to anyone in the world seems downright crazy, but given how much commercialization is being built with or atop open source, it starts to make sense.
Two questions/thoughts:
1. With open source hardware, techniques, models and more accelerating into existence, should this concept be extended to those projects as well? I think so.
2. Where do the Creative Commons licenses fall into the pantheon of licensing as you see it? I noticed you didn’t mention them in your blog post, nor does the Open Source Initiative site you link to. Should they be perceived as red-headed stepchildren among license grantors and/or grantees? CC-BY and CC-BY-SA seem pretty popular in some of the circles I run in.
1. I think so. With clarity and open licensing, people are encouraged to tinker. Tinkering is good.
2. I think Creative Commons licensing is great. I offer of content with CC licensing (thousands of flickr photos, for example) and as I redesign my sites I’ll probably offer up a lot more.