Skip to content

Commit 3bccb31

Browse files
committed
Improve copyright detection
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
1 parent 1f94c9d commit 3bccb31

File tree

97 files changed

+302
-291
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+302
-291
lines changed

src/cluecode/copyrights.py

Lines changed: 98 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,16 @@ class CopyrightDetector(object):
215215
"""
216216

217217
def __init__(self):
218-
self.lexer = lex.Lexer(patterns)
219-
self.parser = parse.Parser(grammar, trace=TRACE_DEEP, validate=VALIDATE)
218+
"""
219+
Initialize this detector with a lexer and a parser.
220+
"""
221+
self.lexer = lex.Lexer(matchers=PATTERNS)
222+
self.parser = parse.Parser(
223+
grammar=GRAMMAR,
224+
loop=1,
225+
trace=TRACE_DEEP,
226+
validate=VALIDATE,
227+
)
220228

221229
def detect(self,
222230
numbered_lines,
@@ -591,7 +599,7 @@ def build_detection_from_node(
591599
_YEAR_THEN_YEAR_SHORT = fr'({_YEAR_OR_YEAR_YEAR_WITH_PUNCT}({_YEAR_SHORT_PUNCT})*)'
592600
_YEAR_DASH_PRESENT = _YEAR + r'[\-~]? ?[Pp]resent\.?,?'
593601

594-
patterns = [
602+
PATTERNS = [
595603
############################################################################
596604
# COPYRIGHT
597605
############################################################################
@@ -877,6 +885,7 @@ def build_detection_from_node(
877885
(r'^DISCLAIMS?$', 'JUNK'),
878886
(r'^SPECIFICALLY$', 'JUNK'),
879887

888+
(r'^identifying', 'JUNK'),
880889
(r'^IDENTIFICATION$', 'JUNK'),
881890
(r'^WARRANTIE?S?$', 'JUNK'),
882891
(r'^WARRANTS?$', 'JUNK'),
@@ -1267,6 +1276,7 @@ def build_detection_from_node(
12671276
(r'^But$', 'NN'),
12681277
(r'^Builders?\.?$', 'NN'),
12691278
(r'^Cacute$', 'NN'),
1279+
(r'^CD$', 'JUNK'),
12701280
(r'^Cell.$', 'NN'),
12711281
(r'^Change\.?[lL]og$', 'NN'),
12721282
(r'^CHANGElogger$', 'NN'),
@@ -1304,17 +1314,18 @@ def build_detection_from_node(
13041314
(r'^Education$', 'NN'),
13051315
(r'^Extended', 'NN'),
13061316
(r'^Every$', 'NN'),
1307-
(r'^Exhibit$', 'NN'),
1317+
(r'^EXHIBIT$', 'JUNK'),
1318+
(r'^Exhibit$', 'JUNK'),
13081319
(r'^Digitized', 'NN'),
13091320
(r'^[Ds]istributed?.?$', 'NN'),
1321+
(r'^Distributions?', 'NN'),
13101322
(r'^Multiply$', 'NN'),
13111323
(r'^Convert$', 'NN'),
13121324
(r'^Compute$', 'NN'),
13131325
(r'^Case$', 'NN'),
13141326
(r'^Hessian$', 'NN'),
13151327
(r'^Include', 'NN'),
13161328
(r'^Downstream', 'NN'),
1317-
(r'^Distributions?', 'NN'),
13181329
(r'^Volumes?', 'NN'),
13191330
(r'^Manuals?.?', 'NN'),
13201331
(r'^Update.?', 'NN'),
@@ -1435,8 +1446,8 @@ def build_detection_from_node(
14351446
(r'^Packaging$', 'NN'),
14361447
(r'^Patent', 'NN'),
14371448
(r'^Pentium$', 'NN'),
1438-
(r'^[Pp]ermission', 'NN'),
1439-
(r'^PERMISSIONS?', 'NN'),
1449+
(r'^[Pp]ermission', 'JUNK'),
1450+
(r'^PERMISSIONS?', 'JUNK'),
14401451
(r'^PGP$', 'NN'),
14411452
(r'^Phrase', 'NN'),
14421453
(r'^Plugin', 'NN'),
@@ -1871,15 +1882,16 @@ def build_detection_from_node(
18711882

18721883
# same for developed, etc...
18731884
(r'^[Cc]oded$', 'AUTH2'),
1874-
(r'^[Rr]ecoded$', 'AUTH2'),
1875-
(r'^[Mm]odified$', 'AUTH2'),
1876-
(r'^[Cc]reated$', 'AUTH2'),
1885+
(r'^\(?[Rr]ecoded$', 'AUTH2'),
1886+
(r'^\(?[Mm]odified$', 'AUTH2'),
1887+
(r'^\(?[Cc]reated$', 'AUTH2'),
18771888
# written is often mispelled
1878-
(r'^[Ww]ritt?e[dn]$', 'AUTH2'),
1889+
(r'^\(?[Ww]ritt?e[dn]$', 'AUTH2'),
18791890
# rewritten is often mispelled
1880-
(r'^[Rr]ewritt?e[dn]$', 'AUTH2'),
1881-
(r'^[Mm]aintained$', 'AUTH2'),
1882-
(r'^[Dd]eveloped$', 'AUTH2'),
1891+
(r'^\(?[Rr]ewritt?e[dn]$', 'AUTH2'),
1892+
(r'^\(?[Mm]aintained$', 'AUTH2'),
1893+
(r'^\(?[Dd]eveloped$', 'AUTH2'),
1894+
(r'^\(?[Au]thored$', 'AUTH2'),
18831895

18841896
# commiters is interesting, and so a tag of its own
18851897
(r'[Cc]ommitters\.?,?', 'COMMIT'),
@@ -1888,7 +1900,6 @@ def build_detection_from_node(
18881900
(r'^[Aa]dmins?$', 'MAINT'),
18891901
(r'^[Dd]evelopers?\.?$', 'MAINT'),
18901902
(r'^[Mm]aintainers?\.?$', 'MAINT'),
1891-
(r'^[Cc]o-maintainers?\.?$', 'MAINT'),
18921903

18931904
############################################################################
18941905
# Conjunctions and related
@@ -1965,7 +1976,7 @@ def build_detection_from_node(
19651976
############################################################################
19661977

19671978
# rare cases of trailing + signon years
1968-
(r'^20[0-1][0-9]\+$', 'YR-PLUS'),
1979+
(r'^20[0-2][0-9]\+$', 'YR-PLUS'),
19691980

19701981
# year or year ranges
19711982
# plain year with various leading and trailing punct
@@ -2003,6 +2014,9 @@ def build_detection_from_node(
20032014
# slash dates as in 08/95
20042015
(r'^(0?[1-9]|1[012])/[6-9][0-9][\.,]?$', 'YR'),
20052016

2017+
# ISO Dates: YYYY-MM-DD
2018+
(fr'^{_YEAR}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$', 'YR'),
2019+
20062020
# weird year
20072021
(r'today.year', 'YR'),
20082022
(r'^\$?LastChangedDate\$?$', 'YR'),
@@ -2162,7 +2176,7 @@ def build_detection_from_node(
21622176
# Comments in the Grammar are lines that start with #
21632177
# End of line commenst are rules descriptions.
21642178
# One rule per line.
2165-
grammar = """
2179+
GRAMMAR = """
21662180
21672181
#######################################
21682182
# YEARS
@@ -2336,7 +2350,7 @@ def build_detection_from_node(
23362350
NAME: {<NNP|PN>+ <NNP>+} #351
23372351
23382352
# Distributed Management Task Force
2339-
# NAME: {<NN> <NNP>{3}} #881111
2353+
NAME: {<NN> <NNP>{3}} #881111
23402354
23412355
# @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
23422356
NAME: { <NN>? <NN>? <EMAIL> <NAME> } #351.1
@@ -2407,10 +2421,10 @@ def build_detection_from_node(
24072421
NAME-YEAR: {<YR-RANGE> <NNP>+ <CAPS>?} #5612
24082422
24092423
#Academy of Motion Picture Arts and Sciences
2410-
NAME: {<NAME> <CC> <NNP>} # 561
2424+
NAME: {<NAME> <CC> <NNP>} #561
24112425
24122426
# Adam Weinberger and the GNOME Foundation
2413-
NAME: {<CC> <NN> <COMPANY>} # 565
2427+
NAME: {<CC> <NN> <COMPANY>} #565
24142428
24152429
# (c) 1991-1992, Thomas G. Lane , Part of the Independent JPEG Group's
24162430
NAME: {<PORTIONS> <OF> <NN> <NAME>+} #566
@@ -2497,8 +2511,10 @@ def build_detection_from_node(
24972511
# <s>Timothy Terriberry</s>, <s>CSIRO</s>, and other contributors
24982512
ANDCO: {<CC> <CAPS|COMPANY|NAME|NAME-EMAIL|NAME-YEAR>+} #960
24992513
2514+
COMPANY: {<COMPANY|NAME|NAME-EMAIL|NAME-YEAR> <ANDCO>+} #970
2515+
25002516
# Copyright © 1998-2009 Bill Spitzak (spitzak@users.sourceforge.net ) and others,
2501-
COMPANY: {<COMPANY|NAME|NAME-EMAIL|NAME-YEAR> <PARENS>? <ANDCO>+} #970
2517+
COMPANY: {<COMPANY|NAME|NAME-EMAIL|NAME-YEAR> <PARENS>? <ANDCO>+} #970.11
25022518
25032519
# de Nemours and Company
25042520
NAME: {<VAN>? <NNP> <ANDCO>+} #980
@@ -2596,7 +2612,7 @@ def build_detection_from_node(
25962612
# Copyright 2015 The Error Prone Authors.
25972613
NAME: {<NN> <NAME> <CONTRIBUTORS|AUTHS>} #196023
25982614
2599-
# Copyright (C) <s>Suresh P <suresh@ippimail.com></s>
2615+
# Copyright (C) <s>Suresh P <suresh@ippimail.com></s>
26002616
NAME: {<NNP> <PN> <EMAIL>} #19601.1
26012617
26022618
# Copyright or Copr. Mines Paristech, France - Mark NOBLE, Alexandrine GESRET
@@ -2611,9 +2627,14 @@ def build_detection_from_node(
26112627
# Copyright (C) 1998-2001 VideoLAN ( Johan Bilien <jobi@via.ecp.fr> and Gildas Bazin <gbazin@netcourrier.com> )
26122628
NAME: {<PARENS> <NAME> <PARENS>} #19653
26132629
2630+
# by the Initial Developer
2631+
INITIALDEV: {<BY>? <NN> <NN> <MAINT>} #19663
2632+
2633+
# UNIVERTSITY OF CHICAGO
2634+
NAME: {<UNI> <OF> <CAPS>} #19673
2635+
26142636
2615-
################################# #COPYRIGHT: {<COPY> <COPY> <MIT>} #1802
2616-
######
2637+
#######################################
26172638
# VARIOUS FORMS OF COPYRIGHT
26182639
#######################################
26192640
@@ -2649,9 +2670,6 @@ def build_detection_from_node(
26492670
# Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
26502671
COPYRIGHT: {<COPY>+ <NAME|NAME-EMAIL|NAME-YEAR>+ <YR-RANGE>*} #157999
26512672
2652-
# portions copyright The Internet Society, Tom Tromey and Red Hat, Inc.
2653-
COPYRIGHT: {<PORTIONS> <COPY> <NN> <NAME>} #157998
2654-
26552673
COPYRIGHT: {<COPY>+ <CAPS|NNP>+ <CC> <NN> <COPY> <YR-RANGE>?} #1590
26562674
26572675
# // (c) (C) → ©
@@ -2740,8 +2758,8 @@ def build_detection_from_node(
27402758
# (c) Copyright 1985-1999 SOME TECHNOLOGY SYSTEMS
27412759
COPYRIGHT2: {<COPY> <COPY> <YR-RANGE> <CAPS> <CAPS> <CAPS>? <CAPS>?} #2271
27422760
2743-
# Minpack Copyright Notice (1999) University of Chicago
2744-
COPYRIGHT: {<COPY> <NOTICE> <NAME-YEAR>} #2273.1
2761+
# Copyright Notice (1999) University of Chicago. All rights reserved
2762+
COPYRIGHT: {<COPY> <NOTICE> <NAME-YEAR> <ALLRIGHTRESERVED>? } #2271.1
27452763
27462764
# NAME-COPY is a name with a trailing copyright
27472765
# Daisy (c) 1998
@@ -2789,7 +2807,6 @@ def build_detection_from_node(
27892807
# Copyright (C) 2006 XStream committers.
27902808
# Copyright (c) 2019-2021, Open source contributors.
27912809
# Copyright 2007 ZXing authors
2792-
# Copyright (c) 2002 the Initial Developer
27932810
# Copyright (c) 2024 bgme <i@bgme.me>.
27942811
COPYRIGHT: {<COPY>+ <YR-RANGE> <NN>+ <CONTRIBUTORS|COMMIT|AUTHS|MAINT>? <EMAIL>? <ALLRIGHTRESERVED>?} #22793.3
27952812
@@ -2881,9 +2898,6 @@ def build_detection_from_node(
28812898
# maintainer Norbert Tretkowski <nobse@debian.org> 2005-04-16
28822899
AUTHOR: {<BY|MAINT> <NAME-EMAIL> <YR-RANGE>?} #26382
28832900
2884-
# Russ Dill <Russ.Dill@asu.edu> 2001-2003
2885-
COPYRIGHT: {<NAME-EMAIL> <YR-RANGE>} #2638
2886-
28872901
# (C) 2001-2009, <s>Takuo KITAME, Bart Martens, and Canonical, LTD</s>
28882902
COPYRIGHT: {<COPYRIGHT> <NNP> <COMPANY>} #26381
28892903
@@ -3081,9 +3095,6 @@ def build_detection_from_node(
30813095
# Copyright OProfile authors
30823096
COPYRIGHT: {<COPY> <NN>?<NNP>+ <AUTHS>} #83004
30833097
3084-
# (C) Distributed Management Task Force (Distributed is an NN)
3085-
# COPYRIGHT: {<COPY> <NN> <NAME>} #83010
3086-
30873098
# Copyright (c) 2014 The Rust Project Developers
30883099
COPYRIGHT: {<COPYRIGHT> <MAINT> } #83020
30893100
@@ -3092,15 +3103,45 @@ def build_detection_from_node(
30923103
30933104
# Copyright: 2004-2007 by Internet Systems Consortium, Inc. ("ISC")
30943105
# 1995-2003 by Internet Software Consortium
3095-
COPYRIGHT: {<YR-RANGE> <BY> <COMPANY> } #1615
3106+
COPYRIGHT: {<COPYRIGHT> <NN> <YR-RANGE> <BY> <COMPANY> } #1615
3107+
3108+
# Russ Dill <Russ.Dill@asu.edu> 2001-2003
3109+
# Rewrited by Vladimir Oleynik <dzo@simtreas.ru> (C) 2003
3110+
COPYRIGHT: {<NAME-EMAIL> <YR-RANGE> <AUTH2> <BY> <NAME-EMAIL> <COPY> <YR-RANGE>} #22793.5
3111+
3112+
# portions copyright The Internet Society, Tom Tromey and Red Hat, Inc.
3113+
COPYRIGHT: {<PORTIONS> <COPY> <NN> <NAME>} #157998
3114+
3115+
# Minpack Copyright Notice (1999) University of Chicago
3116+
COPYRIGHT: {<COPY> <NOTICE> <NAME-YEAR>} #2273.1
3117+
3118+
# Portions created by the Initial Developer are Copyright (C)
3119+
# the Initial Developer. All Rights Reserved.
3120+
COPYRIGHT: {<PORTIONS> <AUTH2> <INITIALDEV> <IS> <COPY|COPYRIGHT2>+ <YR-RANGE>? <INITIALDEV>} #2609.1
3121+
3122+
# Portions created by the Initial Developer are Copyright (C)
3123+
# the Initial Developer. All Rights Reserved.
3124+
# and
3125+
# Portions created by the Initial Developer are Copyright (C) 2002
3126+
# the Initial Developer. All Rights Reserved.
3127+
COPYRIGHT: {<COPYRIGHT|COPYRIGHT2> <INITIALDEV> <ALLRIGHTRESERVED>?} #2609.2
3128+
3129+
# Copyright (C) the Initial Developer.
3130+
COPYRIGHT: {<COPY>+ <INITIALDEV>} #35012
3131+
3132+
# (C) Distributed Management Task Force (Distributed is an NN)
3133+
# COPYRIGHT: {<COPY> <NN>? <NAME>} #83010
3134+
3135+
# Gracenote, Inc., copyright © 2000-2008 Gracenote.
3136+
# Gracenote Software, copyright © 2000-2008 Gracenote.
3137+
COPYRIGHT: {<COMPANY> <COPY>{1,2} <NAME-YEAR>} #157999.12
30963138
30973139
#######################################
30983140
# Copyright is held by ....
30993141
#######################################
31003142
# Copyright is held by ....
31013143
COPYRIGHT: {<COPY> <IS> <HELD> <BY> <NNP|NAME|COMPANYNAME-EMAIL>+ } #10989898
31023144
3103-
31043145
#######################################
31053146
# Authors
31063147
#######################################
@@ -3194,7 +3235,8 @@ def build_detection_from_node(
31943235
# Copyright (c) 2015 Jon Schlinkert, contributors.
31953236
COPYRIGHT: { <COPYRIGHT> <CONTRIBUTORS>} #420121
31963237
3197-
3238+
# J. Schoenwaelder, Copyright (c) 1999
3239+
# COPYRIGHT: {<NAME> <COPYRIGHT>} #22793.7
31983240
31993241
#######################################
32003242
# Last resort catch all ending with ALLRIGHTRESERVED
@@ -3246,6 +3288,19 @@ def refine_copyright(c):
32463288
return c.strip()
32473289

32483290

3291+
def remove_dupe_holder(h):
3292+
"""
3293+
Remove duplicated holders
3294+
"""
3295+
dupes_holders = {
3296+
"the Initial Developer the Initial Developer": "the Initial Developer",
3297+
}
3298+
for src, tgt in dupes_holders.items():
3299+
if src in h:
3300+
h = h.replace(src, tgt)
3301+
return h
3302+
3303+
32493304
def refine_holder(h):
32503305
"""
32513306
Refine a detected holder.
@@ -3278,6 +3333,7 @@ def refine_holder(h):
32783333
h = h.strip('+- ')
32793334
h = strip_trailing_period(h)
32803335
h = h.strip('+- ')
3336+
h = remove_dupe_holder(h)
32813337
h = ' '.join(h.split())
32823338
if h and h.lower() not in HOLDERS_JUNK:
32833339
return h
@@ -3694,7 +3750,9 @@ def remove_some_extra_words_and_punct(c):
36943750
c = c.replace(".net'", ".net")
36953751
c = c.replace("mailto:", "")
36963752
c = c.replace("@see", "")
3697-
return c
3753+
if c.endswith('as represented by'):
3754+
c, _, _ = c.partition('as represented by')
3755+
return c.strip()
36983756

36993757

37003758
def strip_prefixes(s, prefixes=()):

src/licensedcode/data/licenses/cups.LICENSE

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ ignorable_holders:
1616
- Jelmer Vernooij
1717
ignorable_authors:
1818
- Apple Inc.
19-
- permission from Apple Inc.
2019
ignorable_urls:
2120
- http://www.cups.org/
2221
---
@@ -74,4 +73,4 @@ Altered source versions must be plainly marked as such, and must not be misrepre
7473
This notice may not be removed or altered from any source distribution.
7574
Trademarks
7675

77-
CUPS and the CUPS logo (the "CUPS Marks") are trademarks of Apple Inc. Apple grants you a non-exclusive and non-transferable right to use the CUPS Marks in any direct port or binary distribution incorporating CUPS software and in any promotional material therefor. You agree that your products will meet the highest levels of quality and integrity for similar goods, not be unlawful, and be developed, manufactured, and distributed in compliance with this license. You will not interfere with Apple's rights in the CUPS Marks, and all use of the CUPS Marks shall inure to the benefit of Apple. This license does not apply to use of the CUPS Marks in a derivative products, which requires prior written permission from Apple Inc.
76+
CUPS and the CUPS logo (the "CUPS Marks") are trademarks of Apple Inc. Apple grants you a non-exclusive and non-transferable right to use the CUPS Marks in any direct port or binary distribution incorporating CUPS software and in any promotional material therefor. You agree that your products will meet the highest levels of quality and integrity for similar goods, not be unlawful, and be developed, manufactured, and distributed in compliance with this license. You will not interfere with Apple's rights in the CUPS Marks, and all use of the CUPS Marks shall inure to the benefit of Apple. This license does not apply to use of the CUPS Marks in a derivative products, which requires prior written permission from Apple Inc.

src/licensedcode/data/licenses/ms-directx-sdk-eula.LICENSE

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ owner: Microsoft
77
spdx_license_key: LicenseRef-scancode-ms-directx-sdk-eula
88
text_urls:
99
- ftp://ftp.physik.hu-berlin.de/pub/useful/dx7asdk/DXF/license/directx%20sdk%20eula.txt
10-
ignorable_authors:
11-
- permission from Microsoft Corporation
1210
---
1311

1412
DirectX Software Development Kit END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
@@ -74,4 +72,4 @@ If you acquired this product in Canada, this Agreement is governed by the laws o
7472

7573
If this product was acquired outside the United States, then local law may apply.
7674

77-
Should you have any questions concerning this Agreement, or if you desire to contact Microsoft for any reason, please contact the Microsoft subsidiary serving your country, or write: Microsoft Customer Sales and Service/One Microsoft Way/Redmond, WA 98052-6399.
75+
Should you have any questions concerning this Agreement, or if you desire to contact Microsoft for any reason, please contact the Microsoft subsidiary serving your country, or write: Microsoft Customer Sales and Service/One Microsoft Way/Redmond, WA 98052-6399.

src/licensedcode/data/licenses/mtll.LICENSE

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ notes: |
1010
derived from the Apache Software License v1.1, but it is modified in
1111
several ways. It is Free, but GPL-incompatible.
1212
spdx_license_key: MTLL
13-
ignorable_authors:
14-
- at the University of Notre Dame, the Pervasive Technology Labs at Indiana University,
15-
and Dresden University of Technology
16-
- permission, please contact Indiana University Advanced Research & Technology
1713
---
1814

1915
Software License for MTL
@@ -36,4 +32,4 @@ Alternatively, this acknowledgement may appear in the software itself, and where
3632

3733
TUD and IU provide no reassurances that the source code provided does not infringe the patent or any other intellectual property rights of any other entity. TUD and IU disclaim any liability to any recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.
3834

39-
LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY GIVE NO WARRANTIES AND MAKE NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY MAKE NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
35+
LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY GIVE NO WARRANTIES AND MAKE NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY MAKE NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.

0 commit comments

Comments
 (0)