craft your forge, build your project, grow your community freely
Rationale for Choosing EUPL over AGPL for GitRoot
This document explains the reasoning behind the decision to license GitRoot under the European Union Public Licence (EUPL) version 1.2, rather than the Affero General Public License (AGPL) version 3.
While both the EUPL and the AGPL are Free and Open Source Software (FOSS) licenses with copyleft provisions, they differ in their scope and approach, particularly concerning network use and the licensing of derivative works. Our choice of the EUPL for GitRoot was based on a careful consideration of the project’s goals, intended use, and community engagement strategy.
Key Considerations Favoring EUPL over AGPL for GitRoot:
Scope of Copyleft and Plugin Ecosystem:
AGPL’s Strong Network Copyleft: The AGPL’s most distinctive feature is its strong “network copyleft.” This means that if a derivative work of AGPL-licensed software is run as a network service, even without being directly distributed, the source code of that derivative work must be made available under the AGPL. This could have significant implications for plugins and extensions developed for GitRoot. If GitRoot were licensed under AGPL, it could be argued that plugins interacting with a network-deployed instance of GitRoot would also need to be licensed under the AGPL, potentially limiting the licensing options for plugin developers and potentially discouraging the creation of proprietary or more permissively licensed plugins.
EUPL’s Weaker Copyleft: The EUPL’s copyleft is weaker. It primarily applies to modifications of the original EUPL-licensed code itself. When EUPL-licensed software is combined with other independent modules (like plugins communicating through well-defined interfaces), those other modules do not necessarily need to be licensed under the EUPL. This allows for a more diverse ecosystem of plugins with different licensing models, potentially fostering greater innovation and adoption. Our vision for GitRoot includes a vibrant plugin ecosystem, and the EUPL’s more permissive stance towards separate modules aligns better with this goal.
International Applicability of EUPL:
The European Union Public Licence (EUPL) was created by the European Union, hence its name. However, it is explicitly designed to apply internationally and is not restricted to usage within the EU. Its terms are intended to be legally sound across different jurisdictions.
License Compatibility:
Both licenses are compatible with certain other open source licenses. However, the EUPL’s compatibility with a range of licenses, including GPLv2 and v3, provides a good balance of copyleft protection while still allowing interaction with a significant portion of the existing open source ecosystem.
Complexity and Developer Adoption:
The legal implications of the AGPL’s network copyleft can sometimes be more complex to understand and navigate, especially for developers unfamiliar with its nuances. The EUPL’s copyleft, focusing primarily on modifications to the core code, might be perceived as simpler and less potentially encumbering for plugin developers.
Considering an AGPL Exception:
We considered licensing GitRoot under the AGPLv3 and then implementing a specific exception to allow plugins to be licensed under different terms. However, drafting such an exception to ensure it accurately reflects our intent and is legally sound would require expert legal counsel, incurring significant costs. Given the EUPL’s inherent flexibility regarding separate modules, it provides a more straightforward and economically viable path to achieving a similar outcome for our plugin ecosystem without the need for a custom and potentially complex exception.
In summary:
Our decision to choose the EUPL over the AGPL for GitRoot prioritizes fostering a flexible and diverse plugin ecosystem by employing a weaker copyleft that doesn’t automatically extend to independent modules. We believe that the EUPL strikes a good balance between protecting the core GitRoot project under a free and open source license while allowing for a wider range of licensing options for the plugins that will enhance its functionality and appeal to a broader audience, all while avoiding the complexities and costs associated with crafting and validating an AGPL exception.