As you may know, I publish a lot of code for others to use. Often I forget to specify a license for the code – and I get a few comment asking me what license it is under. So I have created a license page for both Bin-Co and OpenJS. I hate restricting use of my code – so I choose the most permissive one around – the BSD License.
I know that many people feel strongly about software license. I still get a lot of flank from my LUG because I prefer using BSD License over their favorite GPL.
GPL was not an option as most of my code are snippets that are meant to be used with other code. GPL will not allow my code to be used within proprietary projects. Another option is LGPL – but I still prefer BSD.
Basically, all scripts, codes and programs from any of my sites are in the BSD License. That means that you can do anything with the scripts – except claim that you wrote it. You can use, copy, sell, modify or whatever you want with it – but you cannot claim authorship.
Importance of Choosing a License
If you are planning to release your code publicly, it is very important that you say what license you are using. If you fail to specify a license, many people will not use your code. It was a big mistake waiting this long before putting up a license on my sites.
If you want help in deciding the license, these links should be of help…
- A list of the most popular licenses
- Simon Willison’s Licensing Issue – read the comments
- Pick a License, Any License
- QuirksMode Copyright – an example of a license page
- The WTFPL License 😉
- The problem with BSD Style License according to Richard M. Stallman
- Copyright Explained – not about code licenses – but a must read if you are new to all this.
Licenses are the necessary evil. The complications today arise because of incompatibilities between licenses.
Licenses are necessary. It is evil only if it is a proprietary license 😉
Perhaps also important: Study: Reduced Open Source developer productivity linked to “restrictive” FLOSS licenses (where “restrictive”=GPL and non-restrictive=BSD).