Open Source Software Licenses

As I am in the process of packaging a python package to facilitate my research, I was hoping to incorporate a module from the famous cutadapt adapter trimming tool. This leads me to consider some licensing issues towards whether it is okay to do this. Cutadapt used a MIT license, below is a screenshot from the Github project of cutadapt:

png

So MIT license basically provide all freedom to reuse/copy of the codes for whatever use I want. This is great! But what if the codes were licensed with something other than MIT?

As I started with basically ZERO knowledge on this topic, I first looked at some stats on Github. Oh! I have seen/heard GPL and BSD before. So what are the differences between them?

As I read through several blogs (Titus Brown’s blog, Jake Vanderplas’s blog and John Hunter’s statement), I started to have some ideas on the difference between GPL and BSD/BSD-like licenses (e.g. MIT). So basically, any if any software adopted GPL-licensed code, the new software must be licensed under GPL as well (copyleft). This is in some sense promoting open source software in a restrictive way. In contrast, MIT and BSD licenses allow adopters to do whatever they want. This is how BSD-licensed Unix being incorporated into Max OSX under the hood without any legal issues.

Anyways, there a whole lot more open source licenses in the community, a common choice is Apache license, where it is explicitly stating a BSD-like license.

To decide whether or not to license any codes, unlicensed code is closed code, so any open license is better than none. On this end, Github is providing a nice way to help choosing the right license and also creating license file in any repository.

It is as easy as:

1. Create a file in the repository named as LICENSE,

png

2. Click choose a license template,

png

And it is done!




Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License. If you liked this post, you can share it with your followers or follow me on Twitter!