toil
toil copied to clipboard
Discuss: License Change? BSD, MIT, Apache.
As the title suggests, we should discuss the positives and negatives of the different licenses.
UCSC prefers MIT and BSD. Apache is better for patents I believe.
From Max Xiong at StackExchange:
The MIT and BSD 2 clause licenses have similar requirements: keep the license file. The BSD 3 clause license adds a term to the BSD 2 that prevents someone from claiming false endorsement. These three licenses are compatible with GPLv2 and v3.
The Apache 2.0 license requires you to keep the license file, the NOTICE file if there is one, and show notice for modified files. It also addresses some patent-related issues, so companies use it a lot. It is compatible with GPLv3 but not v2 (due to the patent clauses).
There is also an old BSD license that has an clause related to advertising. Don't use it because it's not GPL compatible.
In practice, the ecosystem you are working with has a license that is used most often to begin with, and I would stick to that. For example, I would use MIT for Nodejs packages. If you are working on an application, some would recommend using the Apache 2.0 license because it covers patent issues.
┆Issue is synchronized with this Jira Story ┆Issue Number: TOIL-1572
I support moving to MIT and a generally more permissive license.
I also vote for MIT. @mr-c - do you have an opinion?
I'm not seeing any advantage to switching licenses. All the software I maintain for the CWL project is Apache 2.0 licensed. Mixing any of the above mentioned licenses is allowed, so why go through the pain of relicensing?
I think the complexity of the Apache 2.0 license vs. MIT, and the second clause of the patent provision, scare off some (e.g. Broad). I think that is a totally reasonable concern for this and a reason to switch.
If you want to use a different license, then toil will have to be a mixed-license** project until all 116 contributors have either agreed in writing to license their previous contributions under the new license or you can document that their contributions are no longer present.
(**mixed license meaning: Apache 2.0 for old contributions, MIT for new contributions)
I'm helping the Galaxy project to finish their switch to MIT from AFL and it takes a long time. They required MIT for new contributions starting on 2021-04-07 and we are still working through the 400+ contributors. Obviously Galaxy is a bigger project, but I wanted to share that datapoint.