NetBSD/external
lukem 6ea5514d2c Move usr.bin/top/Makefile -> bin/Makefile, and tweak accordingly:
- bin (instead of usr.bin) follows ../README
- no point having a sub-subdir for a single reachover (bin vs bin/top),
  although we could debate the pros & cons of that endlessly.
2008-07-17 10:46:56 +00:00
..
bsd Move usr.bin/top/Makefile -> bin/Makefile, and tweak accordingly: 2008-07-17 10:46:56 +00:00
gpl2 version 1.02.27-cvs 2008-07-15 13:51:16 +00:00
lib Makefile to build various external/*/*/lib "early" in the build. 2008-05-22 14:12:21 +00:00
Makefile Descend into lib & bsd 2008-05-22 14:12:32 +00:00
README Add an entry for gpl2. 2008-07-15 13:32:35 +00:00

README

$NetBSD: README,v 1.3 2008/07/15 13:32:35 lukem Exp $

Organization of Sources:

This directory hierarchy is using an organization that separates
source for programs that we have obtained from external third
parties (where NetBSD is not the primary maintainer) from the
system source.

The hierarchy is grouped by license, and then package per license,
and is organized as follows:

	external/

	    Makefile
			Descend into the license sub-directories.

	    <license>/
			Per-license sub-directories.

		Makefile
			Descend into the package sub-directories.

		<package>/
			Per-package sub-directories.

		    Makefile
			Build the package.
			
		    dist/
			The third-party source for a given package.

		    bin/
		    lib/
		    sbin/
			BSD makefiles "reach over" from these into
			"../dist/".

This arrangement allows for packages to be easily disabled or
excised as necessary, either on a per-license or per-package basis.

The licenses currently used are:

	bsd	BSD (or equivalent) licensed software, possibly with
		the "advertising clause".

	gpl2	GNU Public License, version 2 (or earlier).

If a package has components covered by different licenses
(for example, GPL2 and the LGPL), use the <license> subdirectory
for the more restrictive license.

If a package allows the choice of a license to use, we'll
generally use the less restrictive license.

If in doubt about where a package should be located, please
contact <core@NetBSD.org> for advice.


Migration Strategy:


Eventually src/dist (and associated framework in other base source
directories) and src/gnu will be migrated to this hierarchy.


Maintenance Strategy:

The sources under src/external/<license>/<package>/dist/ are
generally a combination of a published distribution plus changes
that we submit to the maintainers and that are not yet published
by them.

Make sure all changes made to the external sources are submitted
to the appropriate maintainer, but only after coordinating with
the NetBSD maintainers.