1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
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.
|