MeshBay interface — additional permission for group applications under GNU AGPL version 3, section 7 ============================================================================== The MeshBay interface is free software under the GNU Affero General Public License, version 3 or (at your option) any later version (AGPL-3.0.txt, beside this file), with the following additional permission. Its protocol layer, the files marked SPDX-License-Identifier: LGPL-3.0-or-later, is under the GNU Lesser GPL instead and needs no such permission. Definitions "The Interface" is the MeshBay web interface: the files of packages/meshbay-hub/src/meshbay_hub/static/ that are under the AGPL, wherever they are conveyed — served by a hub, or carried by the desktop or the Android application. "The Application Interface" is: 1. the properties the Interface passes to a group application's component and to its settings pane, and the fields of an entry in its application registry (apps.js), as docs/MESHBAY_DESIGN.md sections 9.2 to 9.4 describe them; 2. the names exported by these modules of the Interface: i18n.js icon.js file-utils.js settings-ui.js folder-tree.js 3. the CSS class names style.css defines, and the message keys of the catalogues under locales/. "An Application" is a module, or a set of modules, that the Interface loads as a group application and that interacts with the Interface only through the Application Interface. It may also use the protocol layer and the third-party files under vendor/, each under its own licence. It contains no part of the Interface itself, copied or modified. Permission As a special exception, the copyright holders of the Interface give you permission to combine an Application with the Interface, and to convey the resulting combination, with the Application under terms of your choice, provided that the Interface itself — including any modification of it, of which registering the Application in apps.js or adding its messages to the catalogues is one — remains under the GNU AGPL with this permission, and that you meet the AGPL's terms for it, section 13 included. An Application does not become a work based on the Interface by using the Application Interface, and conveyed on its own carries no obligation from the Interface's licence. This permission covers the Interface only. The hub, the node and the desktop and Android shells keep their licence unchanged: code running there on an Application's behalf is a modification of them. If you modify the Interface, you may extend this permission to your version of it, but you are not obliged to do so. If you do not wish to, delete this permission from your version (section 7). Why: the point of the application store is that people other than MeshBay's authors write applications, under the licence they choose — free or not. An application runs in the same page as the Interface and calls into it, which without this permission would make it a work based on the Interface, under the AGPL. The permission is limited to a named, documented surface so that what an application may rely on is a deliberate commitment, not whatever happens to be importable.