summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 23:56:19 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 23:56:19 +0000
commite657bfcfb7f9f0f92c496cf28631d87d1a022a1c (patch)
tree99ef7934dd281c3cdead7137112ed544e4c01983
parent069478a79826ba9ec691cb0da6f7f716c375113e (diff)
downloadchromium_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.chromium3
-rw-r--r--third_party/libjpeg/LICENSE75
-rw-r--r--third_party/libpng/README.chromium4
-rw-r--r--third_party/sqlite/LICENSE6
-rw-r--r--third_party/sqlite/README.chromium3
-rw-r--r--third_party/wtl/README.chromium9
-rwxr-xr-xtools/licenses.py45
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