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.
That’s cool, as long as you make a choice and let the rest of us know about it