-
Notifications
You must be signed in to change notification settings - Fork 4
/
LICENSE.modules
73 lines (56 loc) · 3.17 KB
/
LICENSE.modules
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
66
67
68
69
70
71
72
73
Copyright 2020 Atle Solbakken <atle@goliathdns.no>
1. RRR MODULE LICENSE VERSION 1
This license applies to extensions of the software package
"Read Route Record (RRR)" initially created by Atle Solbakken. Other
licenses may apply in addition to this license. The authors of
extensions may under certain conditions choose to have this license
apply to their code.
The RRR libraries are a collection of common functions used by the RRR
executables and modules. Linking is the process of using these functions
and making a binary file dependant on functions from the libraries.
A module is an extension of RRR. When certain conditions are made, new
modules may be linked with RRR libraries without any restrictions or
requirements imposed by other licenses used by RRR.
This license DOES NOT cover the situtation where a separate new
executable is created which directly or indirectly is linked to
the RRR libraries.
The RRR libraries themselves are linked to other libraries. These
libraries may have licenses which are incompatible with this license,
depending on which functions in the RRR which are utilized. When
applying this license, care must be taken so that other licenses are
not violated. Most code in the RRR library however only depends on
"C standard library" functions.
Any newer version of this license may be used instead of this
license even when not explicitly stated. However, any new restrictions
or requirements imposed by a version does not apply to code licensed
with this license unless explicitly accepted by copyright owners.
2. LICENSE APPLICATION
Any code using this license MUST contain "RRR MODULE LICENSE VERSION 1"
clearly visible at the top, and this full license document must be
distributed along with the code.
If a module does not contain this header, the license DOES NOT apply,
and other licenses used by RRR apply.
Code licensed with this license MAY have other licenses applying
simultaneously without any restrictions as long as they don't conflict
with this license.
3. LINKING COSTUM MODULES WITH RRR LIBRARIES
A module is an object loaded into RRR, by RRR, and is interacting with
RRR and other existing modules using functions provided in the RRR
libraries.
When the following conditions are met, the module MAY be linked with
the RRR libraries, also by integrating it into the existing build system,
without any restrictions or requirements.
3.1. NEW FUNCTIONALLITY
The module MUST provide completely new functionallity which RRR does not
already have and MUST NOT be a rewrite of an existing module. The basic
structure of a module, like how it starts and shuts down, MAY be copied
from existing modules without restrictions or requirements.
If another module providing similar or equal functionallity as the new
module is added to RRR at a later time, this will not affect the rights
already granted by this license.
3.2 MODIFICATIONS TO THE RRR LIBRARY
If the RRR libraries are modified in any way to allow for the new module
to function correctly, this license MAY NOT be used in the module. If
however a change in the library is also useful for other modules, this
license MAY still be applied if the changed code is contributed to the
RRR project under licenses used by RRR.