anoma / juvix

A language for intent-centric and declarative decentralised applications
https://docs.juvix.org
GNU General Public License v3.0
449 stars 54 forks source link

Relicense the project / runtime to use Apache2.0 (if possible) #2553

Open paulcadman opened 9 months ago

paulcadman commented 9 months ago

This issue is for discussion about licensing of the project and the Juvix runtime. The desired license for the runtime is Apache 2.0 so that there's no issue with programs linking against it. It might be desirable to keep the main project license as GPL3 - this is for discussion with stakeholders.

The dependencies of the main project may not allow us to change our current license.

stack can print out a list of licenses for our dependencies. This is what it reports as of 2023-12-08:

$ stack ls dependencies --license | grep -v juvix | awk -F ' ' '{print $2}' | sort -u
Apache-2.0
BSD-2
BSD-3
BSD2
BSD3
ISC
MIT
MPL-2.0
PublicDomain
lukaszcz commented 9 months ago

Can we just put the Apache2.0 license in the runtime/ folder and indicate in the README that all files in runtime and its subfolders are under Apache2.0, all other files under GPL?

lukaszcz commented 9 months ago

There should be no problem with that, because the runtime has no dependencies