Home | History | Annotate | Line # | Download | only in external
      1 $NetBSD: README,v 1.19 2023/08/15 22:02:36 christos Exp $
      2 
      3 Organization of Sources:
      4 
      5 This directory hierarchy is using an organization that separates
      6 source for programs that we have obtained from external third
      7 parties (where NetBSD is not the primary maintainer) from the
      8 system source.
      9 
     10 The hierarchy is grouped by license, and then package per license,
     11 and 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 
     39 This arrangement allows for packages to be easily disabled or
     40 excised as necessary, either on a per-license or per-package basis.
     41 
     42 The 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 
    109 If a package has components covered by different licenses
    110 (for example, GPL2 and the LGPL), use the <license> subdirectory
    111 for the more restrictive license.
    112 
    113 If a package allows the choice of a license to use, we'll
    114 generally use the less restrictive license.
    115 
    116 If in doubt about where a package should be located, please
    117 contact <core (a] NetBSD.org> for advice.
    118 
    119 
    120 Migration Strategy:
    121 
    122 
    123 Eventually src/dist (and associated framework in other base source
    124 directories) and src/gnu will be migrated to this hierarchy.
    125 
    126 
    127 Maintenance Strategy:
    128 
    129 The sources under src/external/<license>/<package>/dist/ are
    130 generally a combination of a published distribution plus changes
    131 that we submit to the maintainers and that are not yet published
    132 by them.
    133 
    134 Make sure all changes made to the external sources are submitted
    135 to the appropriate maintainer, but only after coordinating with
    136 the NetBSD maintainers.
    137