README
1$NetBSD: README,v 1.19 2023/08/15 22:02:36 christos Exp $
2
3Organization of Sources:
4
5This directory hierarchy is using an organization that separates
6source for programs that we have obtained from external third
7parties (where NetBSD is not the primary maintainer) from the
8system source.
9
10The hierarchy is grouped by license, and then package per license,
11and is organized as follows:
12
13 external/
14
15 Makefile
16 Descend into the license sub-directories.
17
18 <license>/
19 Per-license sub-directories.
20
21 Makefile
22 Descend into the package sub-directories.
23
24 <package>/
25 Per-package sub-directories.
26
27 Makefile
28 Build the package.
29
30 dist/
31 The third-party source for a given package.
32
33 bin/
34 lib/
35 sbin/
36 BSD makefiles "reach over" from these into
37 "../dist/".
38
39This arrangement allows for packages to be easily disabled or
40excised as necessary, either on a per-license or per-package basis.
41
42The licenses currently used are:
43
44 apache2 Apache 2.0 license.
45 http://www.opensource.org/licenses/apache2.0.php
46
47 atheros Atheros License.
48
49 broadcom Broadcom licenses for rpi firmware and bfwm. See
50 */dist/LICENSE.broadcom*
51
52 bsd BSD (or equivalent) licensed software, possibly with
53 the "advertising clause".
54 http://www.opensource.org/licenses/bsd-license.php
55
56 cddl Common Development and Distribution License (the sun
57 license which is based on the Mozilla Public License
58 version 1.1).
59 http://www.opensource.org/licenses/cddl1.php
60
61 gpl2 GNU Public License, version 2 (or earlier).
62 http://www.opensource.org/licenses/gpl-2.0.php
63
64 gpl3 GNU Public License, version 3.
65 http://www.opensource.org/licenses/gpl-3.0.html
66
67 historical Lucent's old license:
68 http://www.opensource.org/licenses/historical.php
69
70 ibm-public IBM's public license:
71 http://www.opensource.org/licenses/ibmpl.php
72
73 intel-fw-eula Intel firmware license with redistribution
74 restricted to OEM.
75
76 intel-fw-public Intel firmware license permitting redistribution with
77 terms similar to BSD licensed software.
78
79 intel-public Intel license permitting redistribution with
80 terms similar to BSD licensed software.
81
82 lgpl2 GNU Lesser General Public License, version 2 (or earlier).
83 https://opensource.org/license/lgpl-2-1/
84
85 lgpl3 GNU Lesser General Public License, version 3 (or earlier).
86 https://opensource.org/license/lgpl-3-0/
87
88 mit MIT (X11) style license.
89 http://www.opensource.org/licenses/mit-license.php
90
91 mpl Mozilla Public license.
92 https://opensource.org/licenses/MPL-2.0
93
94 nvidia-firmware NVIDIA firmware license permitting redistribution for
95 use on operating systems distributed under the terms
96 of an OSI-approved open source license.
97
98 ofl SIL Open Font License
99 https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
100
101 public-domain Non-license for code that has been explicitly put
102 into the Public Domain.
103
104 realtek RealTek license.
105
106 zlib Zlib (BSD-like) license.
107 http://www.zlib.net/zlib_license.html
108
109If a package has components covered by different licenses
110(for example, GPL2 and the LGPL), use the <license> subdirectory
111for the more restrictive license.
112
113If a package allows the choice of a license to use, we'll
114generally use the less restrictive license.
115
116If in doubt about where a package should be located, please
117contact <core@NetBSD.org> for advice.
118
119
120Migration Strategy:
121
122
123Eventually src/dist (and associated framework in other base source
124directories) and src/gnu will be migrated to this hierarchy.
125
126
127Maintenance Strategy:
128
129The sources under src/external/<license>/<package>/dist/ are
130generally a combination of a published distribution plus changes
131that we submit to the maintainers and that are not yet published
132by them.
133
134Make sure all changes made to the external sources are submitted
135to the appropriate maintainer, but only after coordinating with
136the NetBSD maintainers.
137