Euro-Office: License compliance and what open source means - Nextcloud

Compatibilité
Sauvegarder(0)
partager

On March 27, a coalition of companies launched Euro-Office — an open, collaborative project to build a trustworthy, sovereign office editor on top of existing open-source foundations. License compliance is at the heart of the free-and-open-source movement, and as a new project built on existing code, getting it right matters.

Before publishing any code, we conducted a thorough license review and consulted directly with people closely involved in writing the AGPLv3, who have since also spoken about Euro-Office in public. This article explains what we found, what we did, and why we are sure that Euro-Office is fully compliant with the terms of the AGPLv3.

Since publishing, our position was explicitly confirmed in a recent blog post about the Euro-Office license debate by the Free Software Foundation, the organization behind the GPL family of licenses. The original author of the AGPL, Bradley M. Kühn, similarly wrote a forceful case for our interpretation of the AGPL, and Dutch lawyer Maurits Westerik, known for the Dutch translation of the GPL series of licenses, came to the very same conclusion.

We are deeply humbled by the incredibly supportive response from the wider Free and Open Source Software community, and in particular we are grateful for the efforts of these very prominent members of our movement. Across forums, mailing lists and social media channels, thousands of other community members have voiced their support.

Summary

Euro-Office is built on ONLYOFFICE, which is distributed under the AGPLv3. The source files include additional terms added by ONLYOFFICE under Section 7 of that license — a mechanism that allows authors to attach a limited set of supplementary conditions.

We reviewed each of those terms carefully. One, a warranty disclaimer under Section 7(a), is entirely valid, and we have kept it. A second term, however, requires distributors to display the ONLYOFFICE product logo, while a third simultaneously declines to grant any trademark rights to that logo. This creates an impossible situation: you are required to include something you have no legal right to use. According to the Free Software Foundation, the author of the AGPLv3, a product logo does not qualify as a “reasonable legal notice or author attribution” under Section 7(b), and the combination with the trademark restriction makes this requirement a “further restriction” — which is explicitly prohibited by Section 10 of the license.

Fortunately, the license anticipates exactly this scenario. Section 7 states clearly that if a distributed work contains a further restriction, the recipient may remove that term. That is precisely what Euro-Office has done. The result is a codebase that is fully compliant with the AGPLv3, where all four user freedoms are preserved: to run, study, modify, and redistribute the software.

Read on to gain a deeper understanding of the AGPLv3 license and read a more detailed analysis of the additional terms ONLYOFFICE included.

Free and Open Source Software

Fundamentally, Open Source (or Free Software) changes the relation between the developer and the user (or customer) of a piece of software. Compared to traditional, ‘proprietary’ licenses, it shifts power from the copyright owner to users, granting them the right to exercise four essential freedoms (traditionally counted from 0 to 3):

  1. To run the program for any purpose.
  2. To study and change the program (requires source code).
  3. To redistribute copies and help others.
  4. To improve the program and release modified versions.

The licenses that underpin these freedoms are the General Public License, and its ‘networked’ sister, the GNU Affero General Public License. The fundamental goal of the licenses is to ensure that software can not be used to lock users in and limit their choices.

A level playing field

These licenses have allowed a thriving ecosystem to develop. They facilitate collaboration at an unprecedented scale, because it strikes a unique balance between leadership and contributors. As long as a project’s leadership, be it a single person like Linus Torvalds or a company like Sun Microsystems, acts in the interests of the users and contributors, the project can thrive. When the leader fails to do so, those users and contributors can choose to defect and simply create a new project in a process called ‘forking’. They are allowed to take a copy of the code and continue to collaborate on its development without any of the restrictions or even involvement of the original project.

Such a ‘fork’ can be more successful than the original, as Nextcloud has shown. Sometimes, after a fork, the community works it out, and the projects merge, as was seen when OpenWRT merged with its fork LEDE. Other forks disappear. Either way, forking is core to what open source stands for: freedom from vendor lock-in.

This freedom ensures that nobody can ‘kill’ a project with many users and contributors. Buy an open source company and shut it down – its users and contributors will simply proceed without you. But it also creates a discipline because leadership always knows that they owe their position to the trust they have with the community. Violate that trust, and they can be left with nothing.

The result is that open source licenses have created a unique collaborative space, a level playing field where developers can freely experiment and innovate and the best ideas win. Successful projects can build large and impactful products that are incredibly resilient and, through the transparent development and governance enabled by the licenses, can be afforded a extraordinary amount of trust by their users.

Detailed analysis of the license and terms

Let’s have a more detailed look at the terms included by ONLYOFFICE. We start by looking at the copyright notice in DocxRenderer.cpp. This same notice is included in all source files.

/*

* (c) Copyright Ascensio System SIA 2010-2023
* 
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
* 
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR  PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
* 
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
* 
* The  interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
* 
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
* 
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
* 

*/

The license is thus the AGPLV3, itself included verbatim with the code repository. The copyright notice proceeds to add a number of terms, referring to the rules as set out in the AGPLv3 Section 7.

A look at Section 7

Let’s have a closer look at this section of the AGPL. Section 7 of the license scopes clearly which terms can be added without contradicting the terms of the license (under Section 10):

Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:


a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or

e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.

When a term is added that does not fit the scope of a through f, this is considered a “further restriction”. These may be removed, as Section 7 continues:

All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

It refers to Section 10 which states you are not allowed to distribute AGPLv3 licensed software with “further restrictions” to the rights otherwise granted by the license:

You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

In short, section 7 allows the addition of terms, as long as the fundamental rights of the end user to run, study, modify and share the code are not limited. If such a restrictive term is added, the recipient of the code is allowed to remove it.

This was explicitly written to deal with “gotcha” licenses that took an open source license and added a clause undermining the freedoms the GPL grants, as can be read in this blog from the Software Freedom Concervancy’s Bradley M. Kühn, one of the authors of the AGPLv3:

Specifically, the clause was designed to give more rights to downstream recipients when bad actors attempt this nasty trick. Indeed, I recall from my direct participation in the A/GPLv3 drafting that this provision was specifically designed for the situation where the original, sole copyright holder/licensor added additional restrictions.

He also quotes Richard Fontana, legal council of the FSF at the time of the license being written:

The whole point of the section 7 clause (“If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.”) was to address the well known problem of an original GPL licensor tacking on non-GPL, non-FOSS, GPL-norm-violating restrictions.

The specific terms added

Let’s closely examine the terms added by ONLYOFFICE, which relies on sections 7(a), 7(b) and 7(e).

Clearly, a disclaimer of warranty as described under Section 7(a) is included. This has been retained and can be found in the latest version of the license.

Next comes a term under 7(b). In the license, this section outlines the ‘Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it’. Satisfying the condition generally means having an ‘about’ dialog which would credit the author, for example:

Portions of this software are © 2024 Example Corp.

Attribution Notice:
This product includes the “ExampleDB Engine” developed by Example Corp.
(https://example.com). This notice must be displayed in all user interfaces
that present legal notices or credits.

Such a requirement is reasonable: it does not put an undue burden on the recipient, limiting their freedom to use, study, modify or distribute.

However, the logo requirement added by ONLYOFFICE does not fit within the well defined scope of the terms under Section 7(b):

* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.

This is a rather contradictory requirement. It requires including the product logo, which is trademarked by ONLYOFFICE, while explicitly not granting any rights to use the ONLYOFFICE trademark. Or, to put it differently:

  • you MUST include the product logo
  • you do NOT get permission to use the logo in any way

Of course, it is impossible to abide by these conflicting requirements. Thus shipping the code like this would violate the terms of the AGPLv3 in Section 10:

You may not impose any further restrictions on the exercise of the rights
granted or affirmed under this License.

This is also the view of the license author, the Free Software Foundation:

The GNU GPLv3 Sec. 7(b) does make it possible to extend the requirement, but only to cover items that can be deemed as “reasonable legal notices or author attributions.” The terms “legal notice” and “author attribution” cannot be stretched to cover completely different items. “Legal notice” normally means a notice advising a person of their rights or obligations. “Author attribution” is an identification of the natural person who is the author of the copyrighted work. This means that, for example, links leading to different materials are not intended to benefit from Sec. 7(b). Apart from some specific situations, logos are neither “legal notices” nor “author attributions” as normally understood.

Earlier this week, this position was explicitly confirmed by the FSF in a blog about the case with ONLYOFFICE:

This obligation to “retain the original Product logo” is not included in Sec. 7(b) of the (A)GPLv3, nor in any other parts, as an (A)GPL-compliant additional term, and is therefore considered a further restriction of the (A)GPLv3.

From their side, ONLYOFFICE has acknowledged the tension between brand protection and open-source freedoms in a discussion with isitreallyfoss.com. There they clearly stated their wish to “remain committed to open-source principles while also ensuring that our bran

Coordonnées
Jos Poortvliet