diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 23:56:19 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 23:56:19 +0000 |
commit | e657bfcfb7f9f0f92c496cf28631d87d1a022a1c (patch) | |
tree | 99ef7934dd281c3cdead7137112ed544e4c01983 | |
parent | 069478a79826ba9ec691cb0da6f7f716c375113e (diff) | |
download | chromium_src-e657bfcfb7f9f0f92c496cf28631d87d1a022a1c.zip chromium_src-e657bfcfb7f9f0f92c496cf28631d87d1a022a1c.tar.gz chromium_src-e657bfcfb7f9f0f92c496cf28631d87d1a022a1c.tar.bz2 |
Add licensing info for another set of projects in third_party.
Allow special cases in licenses.py for when we pull code directly
from an upstream and can't check in a README.chromium. (In particular,
we'll need this for WebKit.)
Review URL: http://codereview.chromium.org/1075015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42288 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | third_party/libjingle/README.chromium | 3 | ||||
-rw-r--r-- | third_party/libjpeg/LICENSE | 75 | ||||
-rw-r--r-- | third_party/libpng/README.chromium | 4 | ||||
-rw-r--r-- | third_party/sqlite/LICENSE | 6 | ||||
-rw-r--r-- | third_party/sqlite/README.chromium | 3 | ||||
-rw-r--r-- | third_party/wtl/README.chromium | 9 | ||||
-rwxr-xr-x | tools/licenses.py | 45 |
7 files changed, 126 insertions, 19 deletions
diff --git a/third_party/libjingle/README.chromium b/third_party/libjingle/README.chromium index e8aaf06..8ee7bcc 100644 --- a/third_party/libjingle/README.chromium +++ b/third_party/libjingle/README.chromium @@ -1,7 +1,8 @@ +Name: libjingle URL: http://code.google.com/p/libjingle/ Version: 2.7.0 License: BSD -License File: COPYING +License File: files/COPYING Description: Libjingle provides xmpp support to the sync code, which diff --git a/third_party/libjpeg/LICENSE b/third_party/libjpeg/LICENSE new file mode 100644 index 0000000..096becc --- /dev/null +++ b/third_party/libjpeg/LICENSE @@ -0,0 +1,75 @@ +(Copied from the README.) + +-------------------------------------------------------------------------------- + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-1998, Thomas G. Lane. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + + +ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, +sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. +ansi2knr.c is NOT covered by the above copyright and conditions, but instead +by the usual distribution terms of the Free Software Foundation; principally, +that you must include source code if you redistribute it. (See the file +ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part +of any program generated from the IJG code, this does not limit you more than +the foregoing paragraphs do. + +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltconfig, ltmain.sh). Another support script, install-sh, is copyright +by M.I.T. but is also freely distributable. + +It appears that the arithmetic coding option of the JPEG spec is covered by +patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot +legally be used without obtaining one or more licenses. For this reason, +support for arithmetic coding has been removed from the free JPEG software. +(Since arithmetic coding provides only a marginal gain over the unpatented +Huffman mode, it is unlikely that very many implementations will support it.) +So far as we are aware, there are no patent restrictions on the remaining +code. + +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent, GIF reading support has +been removed altogether, and the GIF writer has been simplified to produce +"uncompressed GIFs". This technique does not use the LZW algorithm; the +resulting GIF files are larger than usual, but are readable by all standard +GIF decoders. + +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." diff --git a/third_party/libpng/README.chromium b/third_party/libpng/README.chromium index 5ae9fa2..5549159 100644 --- a/third_party/libpng/README.chromium +++ b/third_party/libpng/README.chromium @@ -1,3 +1,6 @@ +Name: libpng +URL: http://libpng.org/ + Our custom configuration options are defined in pngusr.h. This was previously called mozpngconf.h, which was copied from Mozilla and modified by Apple (hence the webkit_* names). @@ -5,4 +8,3 @@ the webkit_* names). Updated to 1.2.43, no changes to the source files but all unneeded files stripped. -http://www.libpng.org/pub/png/libpng.html diff --git a/third_party/sqlite/LICENSE b/third_party/sqlite/LICENSE new file mode 100644 index 0000000..cb0841c --- /dev/null +++ b/third_party/sqlite/LICENSE @@ -0,0 +1,6 @@ +The author disclaims copyright to this source code. In place of +a legal notice, here is a blessing: + + May you do good and not evil. + May you find forgiveness for yourself and forgive others. + May you share freely, never taking more than you give. diff --git a/third_party/sqlite/README.chromium b/third_party/sqlite/README.chromium index bb30588..62fa8e6 100644 --- a/third_party/sqlite/README.chromium +++ b/third_party/sqlite/README.chromium @@ -1,3 +1,6 @@ +Name: SQLite +URL: http://sqlite.org/ + Instructions for importing a new release of SQLite from sqlite.org. Note: our current base version is 3.6.18. diff --git a/third_party/wtl/README.chromium b/third_party/wtl/README.chromium index 7be0079..10b3f31 100644 --- a/third_party/wtl/README.chromium +++ b/third_party/wtl/README.chromium @@ -1,5 +1,8 @@ -WTL 8.0 from http://www.microsoft.com/downloads/details.aspx?FamilyID=e5ba5ba4-6e6b-462a-b24c-61115e846f0c -with min and max replaced respectively with __min and __max. See below for an explanation. +Name: WTL 8.0 +URL: http://www.microsoft.com/downloads/details.aspx?FamilyID=e5ba5ba4-6e6b-462a-b24c-61115e846f0c +License File: Ms-PL.txt + +With min and max replaced respectively with __min and __max. See below for an explanation. --- @@ -11,4 +14,4 @@ http://sourceforge.net/tracker/index.php?func=detail&aid=1871358&group_id=109071 When defining NOMINMAX before including windows.h, min and max aren't defined. __min and __max are always defined though. So use them instead. -This patch simply consist of a search of replace for both term."
\ No newline at end of file +This patch simply consist of a search of replace for both term." diff --git a/tools/licenses.py b/tools/licenses.py index cb4ccfb..ec97e85 100755 --- a/tools/licenses.py +++ b/tools/licenses.py @@ -32,6 +32,16 @@ PRUNE_DIRS = ('.svn', '.git', # VCS metadata 'out', 'Debug', 'Release', # build files 'layout_tests') # lots of subdirs +# Directories where we check out directly from upstream, and therefore +# can't provide a README.chromium. Please prefer a README.chromium +# wherever possible. +SPECIAL_CASES = { + 'third_party/ots': { + "Name": "OTS (OpenType Sanitizer)", + "URL": "http://code.google.com/p/ots/", + } +} + class LicenseError(Exception): """We raise this exception when a directory's licensing info isn't fully filled out.""" @@ -41,11 +51,6 @@ class LicenseError(Exception): def ParseDir(path): """Examine a third_party/foo component and extract its metadata.""" - # Try to find README.chromium. - readme_path = os.path.join(path, 'README.chromium') - if not os.path.exists(readme_path): - raise LicenseError("missing README.chromium") - # Parse metadata fields out of README.chromium. # We examine "LICENSE" for the license file by default. metadata = { @@ -53,20 +58,30 @@ def ParseDir(path): "Name": None, # Short name (for header on about:credits). "URL": None, # Project home page. } - for line in open(readme_path): - line = line.strip() - if not line: - break - for key in metadata.keys(): - field = key + ": " - if line.startswith(field): - metadata[key] = line[len(field):] + + if path in SPECIAL_CASES: + metadata.update(SPECIAL_CASES[path]) + else: + # Try to find README.chromium. + readme_path = os.path.join(path, 'README.chromium') + if not os.path.exists(readme_path): + raise LicenseError("missing README.chromium") + + for line in open(readme_path): + line = line.strip() + if not line: + break + for key in metadata.keys(): + field = key + ": " + if line.startswith(field): + metadata[key] = line[len(field):] # Check that all expected metadata is present. for key, value in metadata.iteritems(): if not value: raise LicenseError("couldn't find '" + key + "' line " - "in README.chromium") + "in README.chromium or licences.py " + "SPECIAL_CASES") # Check that the license file exists. for filename in (metadata["License File"], "COPYING"): @@ -97,6 +112,8 @@ def ScanThirdPartyDirs(third_party_dirs): continue print path, "OK:", metadata["License File"] + print + for path, error in sorted(errors): print path + ": " + error |