24 #
25
26 OK, so you've got approval to integrate code, and you want to know how to
27 properly communicate the license terms. What do you do next?
28
29 0. Determine whether your code should be covered by Oracle copyright,
30 CDDL, and/or a third party license. If only Oracle copyright and/or
31 CDDL, then skip to step 3.
32
33 1. Scan the source code and extract all of the third party licenses
34 into one or more separate files.
35
36 This information may be present in comments in source code, or may
37 already be provided as separate files. For example, GPL license
38 terms are often found in files named "COPYING."
39
40 A. In general, you'll name these files "THIRDPARTYLICENSE," and
41 you'll put one in each source directory (i.e. one per library,
42 or one per command, or one per kernel module.)
43
44 EXAMPLE: usr/src/uts/common/io/pcan/THIRDPARTYLICENSE
45
46 If this file proves unmanageable, or you're adding licenses
47 that really are independent of each other, you may instead
48 create multiple "THIRDPARTYLICENSE.foo" files, where "foo"
49 obviously corresponds to the license in question.
50
51 EXAMPLE: usr/src/lib/libsmbfs/smb/THIRDPARTYLICENSE.*
52
53 B. If you planned ahead and included graceful delimiters in your
54 source code, the THIRDPARTYLICENSE files may actually be build
55 targets in your Makefiles.
56
57 EXAMPLE: usr/src/cmd/perl/Makefile
58
59 If the corresponding copyright will change dates frequently,
60 then this approach can work well, because you won't need to
61 update the license files manually.
62
63 If you do this, then your license file should be a dependency of
64 both the all and install targets, and should be removed via
|
24 #
25
26 OK, so you've got approval to integrate code, and you want to know how to
27 properly communicate the license terms. What do you do next?
28
29 0. Determine whether your code should be covered by Oracle copyright,
30 CDDL, and/or a third party license. If only Oracle copyright and/or
31 CDDL, then skip to step 3.
32
33 1. Scan the source code and extract all of the third party licenses
34 into one or more separate files.
35
36 This information may be present in comments in source code, or may
37 already be provided as separate files. For example, GPL license
38 terms are often found in files named "COPYING."
39
40 A. In general, you'll name these files "THIRDPARTYLICENSE," and
41 you'll put one in each source directory (i.e. one per library,
42 or one per command, or one per kernel module.)
43
44 EXAMPLE: usr/src/uts/common/io/mwl/THIRDPARTYLICENSE
45
46 If this file proves unmanageable, or you're adding licenses
47 that really are independent of each other, you may instead
48 create multiple "THIRDPARTYLICENSE.foo" files, where "foo"
49 obviously corresponds to the license in question.
50
51 EXAMPLE: usr/src/lib/libsmbfs/smb/THIRDPARTYLICENSE.*
52
53 B. If you planned ahead and included graceful delimiters in your
54 source code, the THIRDPARTYLICENSE files may actually be build
55 targets in your Makefiles.
56
57 EXAMPLE: usr/src/cmd/perl/Makefile
58
59 If the corresponding copyright will change dates frequently,
60 then this approach can work well, because you won't need to
61 update the license files manually.
62
63 If you do this, then your license file should be a dependency of
64 both the all and install targets, and should be removed via
|