usr/src/README.license-files
author Liane Praza <Liane.Praza@Sun.COM>
Tue, 02 Mar 2010 19:29:26 -0700
changeset 11838 32bb5d254240
parent 6417 7c259be9c77b
child 12998 c0270875939a
permissions -rw-r--r--
PSARC 2010/067 Interim modernization updates 6915312 ON should be able to build IPS packages natively 6281004 docbook.dtd is obsolete and unused 6490919 strange file in onnv-gate 6878498 update tools proto ${ROOT} to include ${MACH} and make nightly.sh copy it into parent repository 6888427 SVM packages should drop legacy objects 6893530 Some header files can be opened up 6903324 sharemgr should either use isaexec or not build 64-bit commands 6920651 mktpl will inadvertently reuse stale license files for empty license lists 6920674 svvs kmods should not be built during an open build Portions contributed by Rich Lowe <[email protected]>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     1
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     2
# CDDL HEADER START
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     3
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     7
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    10
# See the License for the specific language governing permissions
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    11
# and limitations under the License.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    12
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    18
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    19
# CDDL HEADER END
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    20
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    21
#
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    22
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    23
# Use is subject to license terms.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    24
#
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    25
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    26
OK, so you've got approval to integrate code, and you want to know how to
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    27
properly communicate the license terms.  What do you do next?
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    28
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    29
0. Determine whether your code should be covered by Sun copyright,
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    30
   CDDL, and/or a third party license.  If only Sun copyright and/or
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    31
   CDDL, then skip to step 4.
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    32
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    33
1. Scan the source code and extract all of the third party licenses
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    34
   into one or more separate files.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    35
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    36
   A. In general, you'll name these files "THIRDPARTYLICENSE," and
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    37
      you'll put one in each source directory (i.e. one per library,
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    38
      or one per command, or one per kernel module.)
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    39
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    40
      EXAMPLE: usr/src/uts/common/io/pcan/THIRDPARTYLICENSE
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    41
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    42
      If this file proves unmanageable, or you're adding licenses
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    43
      that really are independent of each other, you may instead
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    44
      create multiple "THIRDPARTYLICENSE.foo" files, where "foo"
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    45
      obviously corresponds to the license in question.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    46
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    47
      EXAMPLE: usr/src/lib/libsmbfs/smb/THIRDPARTYLICENSE.*
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    48
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    49
   B. If you planned ahead and included graceful delimiters in your
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    50
      source code, the THIRDPARTYLICENSE files may actually be build
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    51
      targets in your Makefiles.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    52
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    53
      EXAMPLE: usr/src/cmd/perl/Makefile
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    54
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    55
      This approach is usually overkill.  But if the third party license
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    56
      will remain unchanged while the corresponding copyright will change
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    57
      dates frequently, then this approach can work well, because you won't
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    58
      need to update the license files manually.                                        
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    59
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    60
2. Give each of the license files a corresponding ".descrip" file with
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    61
   an extremely terse explanation of the contents.  Something like
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    62
   "MJN DRIVER" or "PORTIONS OF ARCANE FUNCTIONALITY" is sufficient.
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    63
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    64
   EXAMPLE: usr/src/cmd/refer/THIRDPARTYLICENSE.descrip
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    65
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    66
3. Edit usr/src/tools/opensolaris/license-list and add the full path
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    67
   of your new license file(s).
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    68
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    69
4. Figure out which packages deliver objects that are built using the
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    70
   new source, and add license actions to the package manifest(s).
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    71
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    72
   A. It's extremely rare for a package NOT to include a Sun copyright
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    73
      and CDDL.  If your package is one of the 99 percent that should
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    74
      have a Sun copyright and CDDL, then your package should have license
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    75
      actions like this:
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    76
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    77
	  license lic_CDDL license=lic_CDDL
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    78
	  license cr_Sun license=cr_Sun
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    79
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    80
   B. If your package delivers ONLY header files, and has multiple different
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    81
      copyrights or licenses, you can use
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    82
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    83
          license license_in_headers license=license_in_headers
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    84
	  license path/to/most/common/copyright/file license=path/to/most/common/copyright/file
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    85
	  license path/to/most/common/license/file license=path/to/most/common/license/file
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    86
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    87
   C. For your new license files, the path you use in your license
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    88
      actions should be relative to ${SRC}.
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    89
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    90
   D. Empty packages: if your package delivers nothing (or, more strictly
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    91
      speaking, nothing besides directories) you should include the Sun
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    92
      copyright but not the CDDL.
6417
7c259be9c77b 6677590 ON is now required to deliver license info via pkg copyright files
mjnelson
parents:
diff changeset
    93
11838
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    94
   E. As with any other action that is architecture dependent, license
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    95
      actions may be preceded by $(blah_ONLY), where "blah" corresponds
32bb5d254240 PSARC 2010/067 Interim modernization updates
Liane Praza <Liane.Praza@Sun.COM>
parents: 6417
diff changeset
    96
      to $(uname -p).