xref: /netbsd-src/external/README (revision 41706502e3202591d331e0a60f1a7f9079a103b9)
1*41706502Schristos$NetBSD: README,v 1.19 2023/08/15 22:02:36 christos Exp $
2f21cc697Slukem
3f21cc697SlukemOrganization of Sources:
4f21cc697Slukem
5f21cc697SlukemThis directory hierarchy is using an organization that separates
6f21cc697Slukemsource for programs that we have obtained from external third
757ab7bfaSminskimparties (where NetBSD is not the primary maintainer) from the
8f21cc697Slukemsystem source.
9f21cc697Slukem
10f21cc697SlukemThe hierarchy is grouped by license, and then package per license,
11f21cc697Slukemand is organized as follows:
12f21cc697Slukem
13f21cc697Slukem	external/
14f21cc697Slukem
15f21cc697Slukem	    Makefile
16f21cc697Slukem			Descend into the license sub-directories.
17f21cc697Slukem
18f21cc697Slukem	    <license>/
19f21cc697Slukem			Per-license sub-directories.
20f21cc697Slukem
21f21cc697Slukem		Makefile
22f21cc697Slukem			Descend into the package sub-directories.
23f21cc697Slukem
24f21cc697Slukem		<package>/
25f21cc697Slukem			Per-package sub-directories.
26f21cc697Slukem
27f21cc697Slukem		    Makefile
28f21cc697Slukem			Build the package.
29f21cc697Slukem
30f21cc697Slukem		    dist/
31f21cc697Slukem			The third-party source for a given package.
32f21cc697Slukem
33f21cc697Slukem		    bin/
34f21cc697Slukem		    lib/
35f21cc697Slukem		    sbin/
36f21cc697Slukem			BSD makefiles "reach over" from these into
37f21cc697Slukem			"../dist/".
38f21cc697Slukem
39f21cc697SlukemThis arrangement allows for packages to be easily disabled or
4078b88ab0Slukemexcised as necessary, either on a per-license or per-package basis.
41f21cc697Slukem
42f21cc697SlukemThe licenses currently used are:
43f21cc697Slukem
449ed4a95aStsarna	apache2		Apache 2.0 license.
453f874b54Schristos			http://www.opensource.org/licenses/apache2.0.php
469ed4a95aStsarna
47ce1a2860Schristos	atheros		Atheros License.
48ce1a2860Schristos
49*41706502Schristos	broadcom	Broadcom licenses for rpi firmware and bfwm. See
50*41706502Schristos			*/dist/LICENSE.broadcom*
51*41706502Schristos
52f21cc697Slukem	bsd		BSD (or equivalent) licensed software, possibly with
53f21cc697Slukem			the "advertising clause".
543f874b54Schristos			http://www.opensource.org/licenses/bsd-license.php
553f874b54Schristos
563f874b54Schristos	cddl		Common Development and Distribution License (the sun
573f874b54Schristos			license which is based on the Mozilla Public License
583f874b54Schristos			version 1.1).
593f874b54Schristos			http://www.opensource.org/licenses/cddl1.php
60f21cc697Slukem
6178b88ab0Slukem	gpl2		GNU Public License, version 2 (or earlier).
623f874b54Schristos			http://www.opensource.org/licenses/gpl-2.0.php
6378b88ab0Slukem
643f874b54Schristos	gpl3		GNU Public License, version 3.
653f874b54Schristos			http://www.opensource.org/licenses/gpl-3.0.html
663f874b54Schristos
67563a7b4aSchristos	historical	Lucent's old license:
68563a7b4aSchristos			http://www.opensource.org/licenses/historical.php
69563a7b4aSchristos
703f874b54Schristos	ibm-public	IBM's public license:
713f874b54Schristos			http://www.opensource.org/licenses/ibmpl.php
723f874b54Schristos
733f874b54Schristos	intel-fw-eula	Intel firmware license with redistribution
7468ab5fbbSjoerg			restricted to OEM.
7568ab5fbbSjoerg
7668ab5fbbSjoerg	intel-fw-public	Intel firmware license permitting redistribution with
7795ebd4eaSwiz			terms similar to BSD licensed software.
78a2996b07Smrg
794f823b1dSjmcneill	intel-public	Intel license permitting redistribution with
8095ebd4eaSwiz			terms similar to BSD licensed software.
814f823b1dSjmcneill
82*41706502Schristos	lgpl2		GNU Lesser General Public License, version 2 (or earlier).
83*41706502Schristos			https://opensource.org/license/lgpl-2-1/
84*41706502Schristos
85*41706502Schristos	lgpl3		GNU Lesser General Public License, version 3 (or earlier).
86*41706502Schristos			https://opensource.org/license/lgpl-3-0/
87*41706502Schristos
88a2996b07Smrg	mit		MIT (X11) style license.
893f874b54Schristos			http://www.opensource.org/licenses/mit-license.php
90a2996b07Smrg
91cd1c9b87Schristos	mpl		Mozilla Public license.
92cd1c9b87Schristos			https://opensource.org/licenses/MPL-2.0
93cd1c9b87Schristos
94a48b0618Sjmcneill	nvidia-firmware	NVIDIA firmware license permitting redistribution for
95a48b0618Sjmcneill			use on operating systems distributed under the terms
96a48b0618Sjmcneill			of an OSI-approved open source license.
97a48b0618Sjmcneill
98*41706502Schristos	ofl		SIL Open Font License
99*41706502Schristos			https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
100*41706502Schristos
1018d237712Sjoerg	public-domain	Non-license for code that has been explicitly put
1028d237712Sjoerg			into the Public Domain.
1038d237712Sjoerg
10449449523Sriz	realtek		RealTek license.
10549449523Sriz
1067baeb177Swiz	zlib		Zlib (BSD-like) license.
1072c07b62eSchristos			http://www.zlib.net/zlib_license.html
1082c07b62eSchristos
10978b88ab0SlukemIf a package has components covered by different licenses
11078b88ab0Slukem(for example, GPL2 and the LGPL), use the <license> subdirectory
11178b88ab0Slukemfor the more restrictive license.
11278b88ab0Slukem
11378b88ab0SlukemIf a package allows the choice of a license to use, we'll
11478b88ab0Slukemgenerally use the less restrictive license.
11578b88ab0Slukem
11678b88ab0SlukemIf in doubt about where a package should be located, please
11778b88ab0Slukemcontact <core@NetBSD.org> for advice.
11878b88ab0Slukem
11978b88ab0Slukem
12078b88ab0SlukemMigration Strategy:
12178b88ab0Slukem
122f21cc697Slukem
123f21cc697SlukemEventually src/dist (and associated framework in other base source
124f21cc697Slukemdirectories) and src/gnu will be migrated to this hierarchy.
125f21cc697Slukem
126f21cc697Slukem
127f21cc697SlukemMaintenance Strategy:
128f21cc697Slukem
129f21cc697SlukemThe sources under src/external/<license>/<package>/dist/ are
130f21cc697Slukemgenerally a combination of a published distribution plus changes
131f21cc697Slukemthat we submit to the maintainers and that are not yet published
132f21cc697Slukemby them.
133f21cc697Slukem
134f21cc697SlukemMake sure all changes made to the external sources are submitted
135f21cc697Slukemto the appropriate maintainer, but only after coordinating with
136f21cc697Slukemthe NetBSD maintainers.
137