Browse Source

[legal] Add support for the Unmodified Binary Distribution Licence

Add the text for the Unmodified Binary Distribution Licence.  This
Licence allows for the distribution of unmodified binaries built from
publicly available source code, without imposing the obligations of
the GNU General Public License upon anyone who chooses to distribute
only the unmodified binaries built from that source code.  See the
licence text for the precise terms and conditions.

Add the licence GPL2_OR_LATER_OR_UBDL to the set of licences which can
be declared using FILE_LICENCE(), and add the corresponding support to
licence.pl.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 5 years ago
parent
commit
2782ccec41
3 changed files with 83 additions and 0 deletions
  1. 59
    0
      COPYING.UBDL
  2. 11
    0
      src/include/compiler.h
  3. 13
    0
      src/util/licence.pl

+ 59
- 0
COPYING.UBDL View File

@@ -0,0 +1,59 @@
1
+UNMODIFIED BINARY DISTRIBUTION LICENCE
2
+
3
+
4
+PREAMBLE
5
+
6
+The GNU General Public License provides a legal guarantee that
7
+software covered by it remains free (in the sense of freedom, not
8
+price).  It achieves this guarantee by imposing obligations on anyone
9
+who chooses to distribute the software.
10
+
11
+Some of these obligations may be seen as unnecessarily burdensome.  In
12
+particular, when the source code for the software is already publicly
13
+and freely available, there is minimal value in imposing upon each
14
+distributor the obligation to provide the complete source code (or an
15
+equivalent written offer to provide the complete source code).
16
+
17
+This Licence allows for the distribution of unmodified binaries built
18
+from publicly available source code, without imposing the obligations
19
+of the GNU General Public License upon anyone who chooses to
20
+distribute only the unmodified binaries built from that source code.
21
+
22
+The extra permissions granted by this Licence apply only to unmodified
23
+binaries built from source code which has already been made available
24
+to the public in accordance with the terms of the GNU General Public
25
+Licence.  Nothing in this Licence allows for the creation of
26
+closed-source modified versions of the Program.  Any modified versions
27
+of the Program are subject to the usual terms and conditions of the
28
+GNU General Public License.
29
+
30
+
31
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
32
+
33
+This Licence applies to any Program or other work which contains a
34
+notice placed by the copyright holder saying it may be distributed
35
+under the terms of this Unmodified Binary Distribution Licence.  All
36
+terms used in the text of this Licence are to be interpreted as they
37
+are used in version 2 of the GNU General Public License as published
38
+by the Free Software Foundation.
39
+
40
+If you have made this Program available to the public in both source
41
+code and executable form in accordance with the terms of the GNU
42
+General Public License as published by the Free Software Foundation;
43
+either version 2 of the License, or (at your option) any later
44
+version, then you are hereby granted an additional permission to use,
45
+copy, and distribute the unmodified executable form of this Program
46
+(the "Unmodified Binary") without restriction, including the right to
47
+permit persons to whom the Unmodified Binary is furnished to do
48
+likewise, subject to the following conditions:
49
+
50
+- when started running, the Program must display an announcement which
51
+  includes the details of your existing publication of the Program
52
+  made in accordance with the terms of the GNU General Public License.
53
+  For example, the Program could display the URL of the publicly
54
+  available source code from which the Unmodified Binary was built.
55
+
56
+- when exercising your right to grant permissions under this Licence,
57
+  you do not need to refer directly to the text of this Licence, but
58
+  you may not grant permissions beyond those granted to you by this
59
+  Licence.

+ 11
- 0
src/include/compiler.h View File

@@ -730,6 +730,17 @@ int __debug_disable;
730 730
 #define FILE_LICENCE_MIT \
731 731
 	PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__mit__ ) )
732 732
 
733
+/** Declare a file as being under GPLv2+ or UBDL
734
+ *
735
+ * This licence declaration is applicable when a file states itself to
736
+ * be licensed under the GNU GPL; "either version 2 of the License, or
737
+ * (at your option) any later version" and also states that it may be
738
+ * distributed under the terms of the Unmodified Binary Distribution
739
+ * Licence (as given in the file COPYING.UBDL).
740
+ */
741
+#define FILE_LICENCE_GPL2_OR_LATER_OR_UBDL \
742
+	PROVIDE_SYMBOL ( PREFIX_OBJECT ( __licence__gpl2_or_later_or_ubdl__ ) )
743
+
733 744
 /** Declare a particular licence as applying to a file */
734 745
 #define FILE_LICENCE( _licence ) FILE_LICENCE_ ## _licence
735 746
 

+ 13
- 0
src/util/licence.pl View File

@@ -37,6 +37,7 @@ my $known_licences = {
37 37
     desc => "GPL version 2 (or, at your option, any later version)",
38 38
     can_subsume => {
39 39
       gpl_any => 1,
40
+      gpl2_or_later_or_ubdl => 1,
40 41
       public_domain => 1,
41 42
       bsd3 => 1,
42 43
       bsd2 => 1,
@@ -49,6 +50,7 @@ my $known_licences = {
49 50
     can_subsume => {
50 51
       gpl_any => 1,
51 52
       gpl2_or_later => 1,
53
+      gpl2_or_later_or_ubdl => 1,
52 54
       public_domain => 1,
53 55
       bsd3 => 1,
54 56
       bsd2 => 1,
@@ -56,6 +58,17 @@ my $known_licences = {
56 58
       isc  => 1,
57 59
     },
58 60
   },
61
+  gpl2_or_later_or_ubdl => {
62
+    desc => ( "GPL version 2 (or, at your option, any later version) or ".
63
+	      "Unmodified Binary Distribution Licence" ),
64
+    can_subsume => {
65
+      public_domain => 1,
66
+      bsd3 => 1,
67
+      bsd2 => 1,
68
+      mit => 1,
69
+      isc => 1,
70
+    },
71
+  },
59 72
   public_domain => {
60 73
     desc => "Public Domain",
61 74
     can_subsume => {},

Loading…
Cancel
Save