toil icon indicating copy to clipboard operation
toil copied to clipboard

Discuss: License Change? BSD, MIT, Apache.

Open DailyDreaming opened this issue 1 year ago • 6 comments

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

DailyDreaming avatar May 17 '24 23:05 DailyDreaming

+1 vote for MIT which is what we use in Cactus and vg

glennhickey avatar May 18 '24 00:05 glennhickey

+1 vote for MIT which is what we use in Cactus and vg

I support moving to MIT and a generally more permissive license.

DailyDreaming avatar May 18 '24 01:05 DailyDreaming

I also vote for MIT. @mr-c - do you have an opinion?

benedictpaten avatar May 20 '24 22:05 benedictpaten

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?

mr-c avatar May 21 '24 06:05 mr-c

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.

benedictpaten avatar May 21 '24 19:05 benedictpaten

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.

mr-c avatar May 24 '24 06:05 mr-c