earthstar-project / willow-rs

Implementations of the Willow family of specifications in Rust.
https://willowprotocol.org
Apache License 2.0
25 stars 1 forks source link

License under EUPL v1.2 #10

Closed sgwilym closed 3 months ago

sgwilym commented 3 months ago

Currently all Earthstar Project source has been licensed under the GNU Lesser General Public License version 3. We chose this license because it is considered 'weak copyleft': a derivative work which modifies the licensed code must be released as LGPL-3.0, but work which statically or dynamically links to the library (i.e. uses it as a dependency) does not need to be relicensed.

However, the GPL licences have a 'SaaS loophole', as they only stipulate that code must be distributed when the original code is distributed as binaries to the end user. This means that if the code is used in server-side application, there is no obligation to distribute modifications to that library. It is easy to imagine Earthstar or Willow being used in this capacity, so this is kind of an undesirable quality.

Our stance is that we are okay with Earthstar and Willow being used to build closed-source applications, as long as all modifications and improvements to Earthstar / Willow are made available to the larger community. That should hold true whether that application is distributed directly to end-users or accessible via a server-side application.

The European Union Public License v1.2 is much like the LGPL in that it is 'weak copyleft': direct modifications must be licensed under the EUPL, but works which statically or dynamically link to the library to not need to be relicensed under the EUPL. The license has no 'virality' (which I have discovered is a concept which does not exist legally in Europe, even for the GPLv3 or AGPLv3).

But in addition to this, the EUPL closes the 'SaaS loophole: 'communication to the public' is assimilated with 'distribution', thus covering SaaS activity.

Unlike most licenses which are only available in English, which makes their applicability in courts of non-English speaking jurisdictions something of a question, the EUPL is available in 23 languages. Which seems to me like a clarifying bonus.

This PR licenses willow-rs under the EUPL, and thus requires explicit approval from @AljoschaMeyer and @mycognosist.

AljoschaMeyer commented 3 months ago

@sgwilym I approve of changing the license of willow-rs to EUPL 1.2.

sgwilym commented 3 months ago

We had a long chat about this PR this morning, and we decided against this license.

Despite the EUPL having a particular combination of qualities we wanted, we eventually reached the consensus that it doesn't really matter: most users either cannot or do not want to assess license terms, and so base their decisions on what they already know is safe to use. The bottom line is that we could deter too many potential users with such a license.

This feels suboptimal (and a bit sad) to me, because again I feel this license hits a comfortable middle ground for Willow in particular. But as this is a legal matter, I understand that not everyone trusts that judgement (and why should they) or feels equipped to make that judgement.

We will instead do what everyone else does in the Rust ecosystem.