summaryrefslogtreecommitdiff
path: root/usr/src/README.license-files
diff options
context:
space:
mode:
authorMark J. Nelson <Mark.J.Nelson@Oracle.COM>2010-08-02 16:37:22 -0600
committerMark J. Nelson <Mark.J.Nelson@Oracle.COM>2010-08-02 16:37:22 -0600
commit5084e753b79a753c8b532c06eb3ad1d025e8e472 (patch)
tree6a7792aca858a5f5f6e128cb86945b60d18680be /usr/src/README.license-files
parentb86b270c836df59ddb475186e3e649d300906882 (diff)
downloadillumos-joyent-5084e753b79a753c8b532c06eb3ad1d025e8e472.tar.gz
6929502 packages are missing some license files
6930656 license action improvements --HG-- rename : usr/src/cmd/cmd-inet/usr.bin/pppdump/LICENSE.top.descrip => usr/src/cmd/cmd-inet/usr.bin/pppdump/THIRDPARTYLICENSE.descrip rename : usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE => usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.bsd rename : usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.descrip => usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.bsd.descrip rename : usr/src/pkg/license_files/lic_SUNWroute => usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.freebsd rename : usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.descrip => usr/src/cmd/cmd-inet/usr.sbin/in.routed/THIRDPARTYLICENSE.freebsd.descrip rename : usr/src/pkg/license_files/lic_SUNWhwdata => usr/src/cmd/hwdata/THIRDPARTYLICENSE.pciids.tmpl rename : usr/src/pkg/license_files/lic_GPLv2 => usr/src/cmd/powertop/common/COPYING rename : usr/src/lib/librstp/THIRDPARTYLICENSE.descrip => usr/src/lib/librstp/common/COPYING.descrip rename : usr/src/uts/common/io/e1000g/README => usr/src/uts/common/io/e1000g/THIRDPARTYLICENSE rename : usr/src/pkg/license_files/lic_Emulex => usr/src/uts/common/io/fibre-channel/fca/emlxs/FIRMWARELICENSE rename : usr/src/pkg/license_files/lic_Qlogic => usr/src/uts/common/io/fibre-channel/fca/qlc/FIRMWARELICENSE rename : usr/src/uts/common/io/ib/clients/of/lic_of => usr/src/uts/common/io/ib/clients/of/THIRDPARTYLICENSE rename : usr/src/uts/common/io/ib/clients/of/lic_of.descrip => usr/src/uts/common/io/ib/clients/of/THIRDPARTYLICENSE.descrip rename : usr/src/pkg/license_files/cr_Intel.SUNWfipe => usr/src/uts/i86pc/io/fipe/THIRDPARTYLICENSE
Diffstat (limited to 'usr/src/README.license-files')
-rw-r--r--usr/src/README.license-files46
1 files changed, 28 insertions, 18 deletions
diff --git a/usr/src/README.license-files b/usr/src/README.license-files
index af8c9589e2..5939f6eeba 100644
--- a/usr/src/README.license-files
+++ b/usr/src/README.license-files
@@ -18,21 +18,25 @@
#
# CDDL HEADER END
#
+
#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
#
OK, so you've got approval to integrate code, and you want to know how to
properly communicate the license terms. What do you do next?
-0. Determine whether your code should be covered by Sun copyright,
- CDDL, and/or a third party license. If only Sun copyright and/or
- CDDL, then skip to step 4.
+0. Determine whether your code should be covered by Oracle copyright,
+ CDDL, and/or a third party license. If only Oracle copyright and/or
+ CDDL, then skip to step 3.
1. Scan the source code and extract all of the third party licenses
into one or more separate files.
+ This information may be present in comments in source code, or may
+ already be provided as separate files. For example, GPL license
+ terms are often found in files named "COPYING."
+
A. In general, you'll name these files "THIRDPARTYLICENSE," and
you'll put one in each source directory (i.e. one per library,
or one per command, or one per kernel module.)
@@ -52,21 +56,21 @@ properly communicate the license terms. What do you do next?
EXAMPLE: usr/src/cmd/perl/Makefile
- This approach is usually overkill. But if the third party license
- will remain unchanged while the corresponding copyright will change
- dates frequently, then this approach can work well, because you won't
- need to update the license files manually.
+ If the corresponding copyright will change dates frequently,
+ then this approach can work well, because you won't need to
+ update the license files manually.
+
+ If you do this, then your license file should be a dependency of
+ both the all and install targets, and should be removed via
+ clobber, usually by way of CLOBBERFILES.
2. Give each of the license files a corresponding ".descrip" file with
- an extremely terse explanation of the contents. Something like
- "MJN DRIVER" or "PORTIONS OF ARCANE FUNCTIONALITY" is sufficient.
+ a terse explanation of the contents. Something like "MJN DRIVER"
+ or "PORTIONS OF ARCANE FUNCTIONALITY" is sufficient.
EXAMPLE: usr/src/cmd/refer/THIRDPARTYLICENSE.descrip
-3. Edit usr/src/tools/opensolaris/license-list and add the full path
- of your new license file(s).
-
-4. Figure out which packages deliver objects that are built using the
+3. Figure out which packages deliver objects that are built using the
new source, and add license actions to the package manifest(s).
A. It's extremely rare for a package NOT to include a Sun copyright
@@ -81,11 +85,13 @@ properly communicate the license terms. What do you do next?
copyrights or licenses, you can use
license license_in_headers license=license_in_headers
- license path/to/most/common/copyright/file license=path/to/most/common/copyright/file
- license path/to/most/common/license/file license=path/to/most/common/license/file
+ license path/to/most/common/copyright/file \
+ license=path/to/most/common/copyright/file
+ license path/to/most/common/license/file \
+ license=path/to/most/common/license/file
C. For your new license files, the path you use in your license
- actions should be relative to ${SRC}.
+ actions should be relative to ${CODEMGR_WS}.
D. Empty packages: if your package delivers nothing (or, more strictly
speaking, nothing besides directories) you should include the Sun
@@ -94,3 +100,7 @@ properly communicate the license terms. What do you do next?
E. As with any other action that is architecture dependent, license
actions may be preceded by $(blah_ONLY), where "blah" corresponds
to $(uname -p).
+
+ If you don't add the appropriate license actions to package
+ manifests, then your license and description files will show up as
+ unreferenced in the build.