Nihal D'Souza commited on
Commit
e41b03f
1 Parent(s): 95fa18f

Final app release

Browse files
Files changed (43) hide show
  1. .gitignore +1 -0
  2. UBC-SAP_gold-corpus/148334d53e76cc03808854050ebcb5addffe3c7c.txt +28 -0
  3. UBC-SAP_gold-corpus/18c471ad1b69f03b27da04f78486192d546bd393440235fb88c59a984cb4d1e8.txt +226 -0
  4. UBC-SAP_gold-corpus/19279e6f6707408fd93091d157b7836259bcbd21.txt +95 -0
  5. UBC-SAP_gold-corpus/1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5.txt +376 -0
  6. UBC-SAP_gold-corpus/2b939324e50f722186ac12f4a59fe3db5eaf94de.txt +29 -0
  7. UBC-SAP_gold-corpus/331fb0eb45c26daadf8cf01a3b6f20e909d7684b.txt +168 -0
  8. UBC-SAP_gold-corpus/3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c.txt +47 -0
  9. UBC-SAP_gold-corpus/3ee3fe6d463aaf82c6e0bbdd1b2b4d47d8d2a9205462bb7992027f9c0bd9ca98.txt +204 -0
  10. UBC-SAP_gold-corpus/4a0a835458904fb3c034d3dec4997f8c2b3fdfc9.txt +398 -0
  11. UBC-SAP_gold-corpus/4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b.txt +18 -0
  12. UBC-SAP_gold-corpus/519d98126c6d890b2ede1ed050c7888c62cf7f26cd6764c9c44b53b887e2f4c6.txt +34 -0
  13. UBC-SAP_gold-corpus/52798f097caf9253f284d1ea9cba52066251ad617b7a47efa736c853b8e7c796.txt +24 -0
  14. UBC-SAP_gold-corpus/6444c8f9e5448897681392ab7eb1b3e632da8d8a.txt +18 -0
  15. UBC-SAP_gold-corpus/7200000367e0e8b47822d563a5ddd2dd3a97cc05b32bd7dbcc7b4eeb92b76628.txt +204 -0
  16. UBC-SAP_gold-corpus/7e0515dce4950277ed404704e793bbc6d14d9464.txt +32 -0
  17. UBC-SAP_gold-corpus/7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c.txt +27 -0
  18. UBC-SAP_gold-corpus/87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed.txt +341 -0
  19. UBC-SAP_gold-corpus/885291b849b09c30262a7fdc5576d6099394d2c491866b8e4cdfe9ce95e8cfc9.txt +167 -0
  20. UBC-SAP_gold-corpus/9d2abe5ca823898acd5cdae62ddb4dffefd28ffd54d58b4aa796e7924b40cff3.txt +30 -0
  21. UBC-SAP_gold-corpus/9d3878b0a87ad1b2bafb729e8c9085b36b17bd0d30a813030113e13f99cced2c.txt +56 -0
  22. UBC-SAP_gold-corpus/UBC-SAP_capstone_corpus_labels_removed.xlsx +0 -0
  23. UBC-SAP_gold-corpus/be4d67364494daabb2b7954b987c1edfa18f09af84469982e0f6b3b8d9c8d612.txt +50 -0
  24. UBC-SAP_gold-corpus/bf30ef45fec6994c6cc47b8ec90b3551f061cb2e32279bf6bc978c35b0126024.txt +28 -0
  25. UBC-SAP_gold-corpus/cf7c3c6d0ed4bad89359301a220b536c4385ed36a396ca40def83b200df43225.txt +309 -0
  26. UBC-SAP_gold-corpus/de33fb695880d0b07615d4b86f78cd43796906959ade5fdfef70968827a0db78.txt +46 -0
  27. UBC-SAP_gold-corpus/deluge-torrent.txt +636 -0
  28. UBC-SAP_gold-corpus/e30fad305c0b6f68cbd2e05085f5a5943dd43ff8111bca7f52e2ad486ab636d0.txt +33 -0
  29. UBC-SAP_gold-corpus/f75d092e241e522baaf2dff3dc1f9a85eea8959a.txt +16 -0
  30. UBC-SAP_gold-corpus/ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad.txt +257 -0
  31. app.py +175 -48
  32. data/README.md +14 -2
  33. data/index_license_map.json +43 -1
  34. src/README.md +34 -0
  35. src/abstractive_sum.py +18 -5
  36. src/clean.py +98 -72
  37. src/diff.py +70 -0
  38. src/doc2vec.py +4 -2
  39. src/evaluate.py +74 -0
  40. src/parameters.py +284 -0
  41. src/read_data.py +87 -18
  42. src/textrank.py +399 -165
  43. src/tfidf.py +80 -0
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ *.pyc
UBC-SAP_gold-corpus/148334d53e76cc03808854050ebcb5addffe3c7c.txt ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/rescrv/hyperdex/148334d53e76cc03808854050ebcb5addffe3c7c
2
+ https://github.com/rescrv/hyperdex/blob/148334d53e76cc03808854050ebcb5addffe3c7c/LICENSE
3
+
4
+ Copyright (c) 2011, Cornell University
5
+ All rights reserved.
6
+
7
+ Redistribution and use in source and binary forms, with or without
8
+ modification, are permitted provided that the following conditions are met:
9
+
10
+ * Redistributions of source code must retain the above copyright notice,
11
+ this list of conditions and the following disclaimer.
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+ * Neither the name of HyperDex nor the names of its contributors
16
+ may be used to endorse or promote products derived from this software
17
+ without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
UBC-SAP_gold-corpus/18c471ad1b69f03b27da04f78486192d546bd393440235fb88c59a984cb4d1e8.txt ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/gem/rubygems/-/agi/0.0.1
2
+ https://api.clearlydefined.io/attachments/18c471ad1b69f03b27da04f78486192d546bd393440235fb88c59a984cb4d1e8
3
+
4
+ GNU GENERAL PUBLIC LICENSE
5
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
6
+
7
+ 0. This License applies to any program or other work which contains
8
+ a notice placed by the copyright holder saying it may be distributed
9
+ under the terms of this General Public License. The "Program", below,
10
+ refers to any such program or work, and a "work based on the Program"
11
+ means either the Program or any derivative work under copyright law:
12
+ that is to say, a work containing the Program or a portion of it,
13
+ either verbatim or with modifications and/or translated into another
14
+ language. (Hereinafter, translation is included without limitation in
15
+ the term "modification".) Each licensee is addressed as "you".
16
+
17
+ Activities other than copying, distribution and modification are not
18
+ covered by this License; they are outside its scope. The act of
19
+ running the Program is not restricted, and the output from the Program
20
+ is covered only if its contents constitute a work based on the
21
+ Program (independent of having been made by running the Program).
22
+ Whether that is true depends on what the Program does.
23
+
24
+ 1. You may copy and distribute verbatim copies of the Program's
25
+ source code as you receive it, in any medium, provided that you
26
+ conspicuously and appropriately publish on each copy an appropriate
27
+ copyright notice and disclaimer of warranty; keep intact all the
28
+ notices that refer to this License and to the absence of any warranty;
29
+ and give any other recipients of the Program a copy of this License
30
+ along with the Program.
31
+
32
+ You may charge a fee for the physical act of transferring a copy, and
33
+ you may at your option offer warranty protection in exchange for a fee.
34
+
35
+ 2. You may modify your copy or copies of the Program or any portion
36
+ of it, thus forming a work based on the Program, and copy and
37
+ distribute such modifications or work under the terms of Section 1
38
+ above, provided that you also meet all of these conditions:
39
+
40
+ a) You must cause the modified files to carry prominent notices
41
+ stating that you changed the files and the date of any change.
42
+
43
+ b) You must cause any work that you distribute or publish, that in
44
+ whole or in part contains or is derived from the Program or any
45
+ part thereof, to be licensed as a whole at no charge to all third
46
+ parties under the terms of this License.
47
+
48
+ c) If the modified program normally reads commands interactively
49
+ when run, you must cause it, when started running for such
50
+ interactive use in the most ordinary way, to print or display an
51
+ announcement including an appropriate copyright notice and a
52
+ notice that there is no warranty (or else, saying that you provide
53
+ a warranty) and that users may redistribute the program under
54
+ these conditions, and telling the user how to view a copy of this
55
+ License. (Exception: if the Program itself is interactive but
56
+ does not normally print such an announcement, your work based on
57
+ the Program is not required to print an announcement.)
58
+
59
+ These requirements apply to the modified work as a whole. If
60
+ identifiable sections of that work are not derived from the Program,
61
+ and can be reasonably considered independent and separate works in
62
+ themselves, then this License, and its terms, do not apply to those
63
+ sections when you distribute them as separate works. But when you
64
+ distribute the same sections as part of a whole which is a work based
65
+ on the Program, the distribution of the whole must be on the terms of
66
+ this License, whose permissions for other licensees extend to the
67
+ entire whole, and thus to each and every part regardless of who wrote it.
68
+
69
+ Thus, it is not the intent of this section to claim rights or contest
70
+ your rights to work written entirely by you; rather, the intent is to
71
+ exercise the right to control the distribution of derivative or
72
+ collective works based on the Program.
73
+
74
+ In addition, mere aggregation of another work not based on the Program
75
+ with the Program (or with a work based on the Program) on a volume of
76
+ a storage or distribution medium does not bring the other work under
77
+ the scope of this License.
78
+
79
+ 3. You may copy and distribute the Program (or a work based on it,
80
+ under Section 2) in object code or executable form under the terms of
81
+ Sections 1 and 2 above provided that you also do one of the following:
82
+
83
+ a) Accompany it with the complete corresponding machine-readable
84
+ source code, which must be distributed under the terms of Sections
85
+ 1 and 2 above on a medium customarily used for software interchange; or,
86
+
87
+ b) Accompany it with a written offer, valid for at least three
88
+ years, to give any third party, for a charge no more than your
89
+ cost of physically performing source distribution, a complete
90
+ machine-readable copy of the corresponding source code, to be
91
+ distributed under the terms of Sections 1 and 2 above on a medium
92
+ customarily used for software interchange; or,
93
+
94
+ c) Accompany it with the information you received as to the offer
95
+ to distribute corresponding source code. (This alternative is
96
+ allowed only for noncommercial distribution and only if you
97
+ received the program in object code or executable form with such
98
+ an offer, in accord with Subsection b above.)
99
+
100
+ The source code for a work means the preferred form of the work for
101
+ making modifications to it. For an executable work, complete source
102
+ code means all the source code for all modules it contains, plus any
103
+ associated interface definition files, plus the scripts used to
104
+ control compilation and installation of the executable. However, as a
105
+ special exception, the source code distributed need not include
106
+ anything that is normally distributed (in either source or binary
107
+ form) with the major components (compiler, kernel, and so on) of the
108
+ operating system on which the executable runs, unless that component
109
+ itself accompanies the executable.
110
+
111
+ If distribution of executable or object code is made by offering
112
+ access to copy from a designated place, then offering equivalent
113
+ access to copy the source code from the same place counts as
114
+ distribution of the source code, even though third parties are not
115
+ compelled to copy the source along with the object code.
116
+
117
+ 4. You may not copy, modify, sublicense, or distribute the Program
118
+ except as expressly provided under this License. Any attempt
119
+ otherwise to copy, modify, sublicense or distribute the Program is
120
+ void, and will automatically terminate your rights under this License.
121
+ However, parties who have received copies, or rights, from you under
122
+ this License will not have their licenses terminated so long as such
123
+ parties remain in full compliance.
124
+
125
+ 5. You are not required to accept this License, since you have not
126
+ signed it. However, nothing else grants you permission to modify or
127
+ distribute the Program or its derivative works. These actions are
128
+ prohibited by law if you do not accept this License. Therefore, by
129
+ modifying or distributing the Program (or any work based on the
130
+ Program), you indicate your acceptance of this License to do so, and
131
+ all its terms and conditions for copying, distributing or modifying
132
+ the Program or works based on it.
133
+
134
+ 6. Each time you redistribute the Program (or any work based on the
135
+ Program), the recipient automatically receives a license from the
136
+ original licensor to copy, distribute or modify the Program subject to
137
+ these terms and conditions. You may not impose any further
138
+ restrictions on the recipients' exercise of the rights granted herein.
139
+ You are not responsible for enforcing compliance by third parties to
140
+ this License.
141
+
142
+ 7. If, as a consequence of a court judgment or allegation of patent
143
+ infringement or for any other reason (not limited to patent issues),
144
+ conditions are imposed on you (whether by court order, agreement or
145
+ otherwise) that contradict the conditions of this License, they do not
146
+ excuse you from the conditions of this License. If you cannot
147
+ distribute so as to satisfy simultaneously your obligations under this
148
+ License and any other pertinent obligations, then as a consequence you
149
+ may not distribute the Program at all. For example, if a patent
150
+ license would not permit royalty-free redistribution of the Program by
151
+ all those who receive copies directly or indirectly through you, then
152
+ the only way you could satisfy both it and this License would be to
153
+ refrain entirely from distribution of the Program.
154
+
155
+ If any portion of this section is held invalid or unenforceable under
156
+ any particular circumstance, the balance of the section is intended to
157
+ apply and the section as a whole is intended to apply in other
158
+ circumstances.
159
+
160
+ It is not the purpose of this section to induce you to infringe any
161
+ patents or other property right claims or to contest validity of any
162
+ such claims; this section has the sole purpose of protecting the
163
+ integrity of the free software distribution system, which is
164
+ implemented by public license practices. Many people have made
165
+ generous contributions to the wide range of software distributed
166
+ through that system in reliance on consistent application of that
167
+ system; it is up to the author/donor to decide if he or she is willing
168
+ to distribute software through any other system and a licensee cannot
169
+ impose that choice.
170
+
171
+ This section is intended to make thoroughly clear what is believed to
172
+ be a consequence of the rest of this License.
173
+
174
+ 8. If the distribution and/or use of the Program is restricted in
175
+ certain countries either by patents or by copyrighted interfaces, the
176
+ original copyright holder who places the Program under this License
177
+ may add an explicit geographical distribution limitation excluding
178
+ those countries, so that distribution is permitted only in or among
179
+ countries not thus excluded. In such case, this License incorporates
180
+ the limitation as if written in the body of this License.
181
+
182
+ 9. The Free Software Foundation may publish revised and/or new versions
183
+ of the General Public License from time to time. Such new versions will
184
+ be similar in spirit to the present version, but may differ in detail to
185
+ address new problems or concerns.
186
+
187
+ Each version is given a distinguishing version number. If the Program
188
+ specifies a version number of this License which applies to it and "any
189
+ later version", you have the option of following the terms and conditions
190
+ either of that version or of any later version published by the Free
191
+ Software Foundation. If the Program does not specify a version number of
192
+ this License, you may choose any version ever published by the Free Software
193
+ Foundation.
194
+
195
+ 10. If you wish to incorporate parts of the Program into other free
196
+ programs whose distribution conditions are different, write to the author
197
+ to ask for permission. For software which is copyrighted by the Free
198
+ Software Foundation, write to the Free Software Foundation; we sometimes
199
+ make exceptions for this. Our decision will be guided by the two goals
200
+ of preserving the free status of all derivatives of our free software and
201
+ of promoting the sharing and reuse of software generally.
202
+
203
+ NO WARRANTY
204
+
205
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
206
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
207
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
208
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
209
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
210
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
211
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
212
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
213
+ REPAIR OR CORRECTION.
214
+
215
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
216
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
217
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
218
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
219
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
220
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
221
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
222
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
223
+ POSSIBILITY OF SUCH DAMAGES.
224
+
225
+ END OF TERMS AND CONDITIONS
226
+
UBC-SAP_gold-corpus/19279e6f6707408fd93091d157b7836259bcbd21.txt ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/adobe-fonts/adobe-blank/19279e6f6707408fd93091d157b7836259bcbd21
2
+ https://github.com/adobe-fonts/adobe-blank/blob/19279e6f6707408fd93091d157b7836259bcbd21/LICENSE.txt
3
+
4
+ This Font Software is licensed under the SIL Open Font License,
5
+ Version 1.1.
6
+
7
+ This license is copied below, and is also available with a FAQ at:
8
+ http://scripts.sil.org/OFL
9
+
10
+ -----------------------------------------------------------
11
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
12
+ -----------------------------------------------------------
13
+
14
+ PREAMBLE
15
+ The goals of the Open Font License (OFL) are to stimulate worldwide
16
+ development of collaborative font projects, to support the font
17
+ creation efforts of academic and linguistic communities, and to
18
+ provide a free and open framework in which fonts may be shared and
19
+ improved in partnership with others.
20
+
21
+ The OFL allows the licensed fonts to be used, studied, modified and
22
+ redistributed freely as long as they are not sold by themselves. The
23
+ fonts, including any derivative works, can be bundled, embedded,
24
+ redistributed and/or sold with any software provided that any reserved
25
+ names are not used by derivative works. The fonts and derivatives,
26
+ however, cannot be released under any other type of license. The
27
+ requirement for fonts to remain under this license does not apply to
28
+ any document created using the fonts or their derivatives.
29
+
30
+ DEFINITIONS
31
+ "Font Software" refers to the set of files released by the Copyright
32
+ Holder(s) under this license and clearly marked as such. This may
33
+ include source files, build scripts and documentation.
34
+
35
+ "Reserved Font Name" refers to any names specified as such after the
36
+ copyright statement(s).
37
+
38
+ "Original Version" refers to the collection of Font Software
39
+ components as distributed by the Copyright Holder(s).
40
+
41
+ "Modified Version" refers to any derivative made by adding to,
42
+ deleting, or substituting -- in part or in whole -- any of the
43
+ components of the Original Version, by changing formats or by porting
44
+ the Font Software to a new environment.
45
+
46
+ "Author" refers to any designer, engineer, programmer, technical
47
+ writer or other person who contributed to the Font Software.
48
+
49
+ PERMISSION & CONDITIONS
50
+ Permission is hereby granted, free of charge, to any person obtaining
51
+ a copy of the Font Software, to use, study, copy, merge, embed,
52
+ modify, redistribute, and sell modified and unmodified copies of the
53
+ Font Software, subject to the following conditions:
54
+
55
+ 1) Neither the Font Software nor any of its individual components, in
56
+ Original or Modified Versions, may be sold by itself.
57
+
58
+ 2) Original or Modified Versions of the Font Software may be bundled,
59
+ redistributed and/or sold with any software, provided that each copy
60
+ contains the above copyright notice and this license. These can be
61
+ included either as stand-alone text files, human-readable headers or
62
+ in the appropriate machine-readable metadata fields within text or
63
+ binary files as long as those fields can be easily viewed by the user.
64
+
65
+ 3) No Modified Version of the Font Software may use the Reserved Font
66
+ Name(s) unless explicit written permission is granted by the
67
+ corresponding Copyright Holder. This restriction only applies to the
68
+ primary font name as presented to the users.
69
+
70
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
71
+ Software shall not be used to promote, endorse or advertise any
72
+ Modified Version, except to acknowledge the contribution(s) of the
73
+ Copyright Holder(s) and the Author(s) or with their explicit written
74
+ permission.
75
+
76
+ 5) The Font Software, modified or unmodified, in part or in whole,
77
+ must be distributed entirely under this license, and must not be
78
+ distributed under any other license. The requirement for fonts to
79
+ remain under this license does not apply to any document created using
80
+ the Font Software.
81
+
82
+ TERMINATION
83
+ This license becomes null and void if any of the above conditions are
84
+ not met.
85
+
86
+ DISCLAIMER
87
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
88
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
89
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
90
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
91
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
92
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
93
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
94
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
95
+ OTHER DEALINGS IN THE FONT SOFTWARE.
UBC-SAP_gold-corpus/1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5.txt ADDED
@@ -0,0 +1,376 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/taskcluster/44.15.5
2
+ https://api.clearlydefined.io/attachments/1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5
3
+
4
+ Mozilla Public License Version 2.0
5
+ ==================================
6
+
7
+ 1. Definitions
8
+ --------------
9
+
10
+ 1.1. "Contributor"
11
+ means each individual or legal entity that creates, contributes to
12
+ the creation of, or owns Covered Software.
13
+
14
+ 1.2. "Contributor Version"
15
+ means the combination of the Contributions of others (if any) used
16
+ by a Contributor and that particular Contributor's Contribution.
17
+
18
+ 1.3. "Contribution"
19
+ means Covered Software of a particular Contributor.
20
+
21
+ 1.4. "Covered Software"
22
+ means Source Code Form to which the initial Contributor has attached
23
+ the notice in Exhibit A, the Executable Form of such Source Code
24
+ Form, and Modifications of such Source Code Form, in each case
25
+ including portions thereof.
26
+
27
+ 1.5. "Incompatible With Secondary Licenses"
28
+ means
29
+
30
+ (a) that the initial Contributor has attached the notice described
31
+ in Exhibit B to the Covered Software; or
32
+
33
+ (b) that the Covered Software was made available under the terms of
34
+ version 1.1 or earlier of the License, but not also under the
35
+ terms of a Secondary License.
36
+
37
+ 1.6. "Executable Form"
38
+ means any form of the work other than Source Code Form.
39
+
40
+ 1.7. "Larger Work"
41
+ means a work that combines Covered Software with other material, in
42
+ a separate file or files, that is not Covered Software.
43
+
44
+ 1.8. "License"
45
+ means this document.
46
+
47
+ 1.9. "Licensable"
48
+ means having the right to grant, to the maximum extent possible,
49
+ whether at the time of the initial grant or subsequently, any and
50
+ all of the rights conveyed by this License.
51
+
52
+ 1.10. "Modifications"
53
+ means any of the following:
54
+
55
+ (a) any file in Source Code Form that results from an addition to,
56
+ deletion from, or modification of the contents of Covered
57
+ Software; or
58
+
59
+ (b) any new file in Source Code Form that contains any Covered
60
+ Software.
61
+
62
+ 1.11. "Patent Claims" of a Contributor
63
+ means any patent claim(s), including without limitation, method,
64
+ process, and apparatus claims, in any patent Licensable by such
65
+ Contributor that would be infringed, but for the grant of the
66
+ License, by the making, using, selling, offering for sale, having
67
+ made, import, or transfer of either its Contributions or its
68
+ Contributor Version.
69
+
70
+ 1.12. "Secondary License"
71
+ means either the GNU General Public License, Version 2.0, the GNU
72
+ Lesser General Public License, Version 2.1, the GNU Affero General
73
+ Public License, Version 3.0, or any later versions of those
74
+ licenses.
75
+
76
+ 1.13. "Source Code Form"
77
+ means the form of the work preferred for making modifications.
78
+
79
+ 1.14. "You" (or "Your")
80
+ means an individual or a legal entity exercising rights under this
81
+ License. For legal entities, "You" includes any entity that
82
+ controls, is controlled by, or is under common control with You. For
83
+ purposes of this definition, "control" means (a) the power, direct
84
+ or indirect, to cause the direction or management of such entity,
85
+ whether by contract or otherwise, or (b) ownership of more than
86
+ fifty percent (50%) of the outstanding shares or beneficial
87
+ ownership of such entity.
88
+
89
+ 2. License Grants and Conditions
90
+ --------------------------------
91
+
92
+ 2.1. Grants
93
+
94
+ Each Contributor hereby grants You a world-wide, royalty-free,
95
+ non-exclusive license:
96
+
97
+ (a) under intellectual property rights (other than patent or trademark)
98
+ Licensable by such Contributor to use, reproduce, make available,
99
+ modify, display, perform, distribute, and otherwise exploit its
100
+ Contributions, either on an unmodified basis, with Modifications, or
101
+ as part of a Larger Work; and
102
+
103
+ (b) under Patent Claims of such Contributor to make, use, sell, offer
104
+ for sale, have made, import, and otherwise transfer either its
105
+ Contributions or its Contributor Version.
106
+
107
+ 2.2. Effective Date
108
+
109
+ The licenses granted in Section 2.1 with respect to any Contribution
110
+ become effective for each Contribution on the date the Contributor first
111
+ distributes such Contribution.
112
+
113
+ 2.3. Limitations on Grant Scope
114
+
115
+ The licenses granted in this Section 2 are the only rights granted under
116
+ this License. No additional rights or licenses will be implied from the
117
+ distribution or licensing of Covered Software under this License.
118
+ Notwithstanding Section 2.1(b) above, no patent license is granted by a
119
+ Contributor:
120
+
121
+ (a) for any code that a Contributor has removed from Covered Software;
122
+ or
123
+
124
+ (b) for infringements caused by: (i) Your and any other third party's
125
+ modifications of Covered Software, or (ii) the combination of its
126
+ Contributions with other software (except as part of its Contributor
127
+ Version); or
128
+
129
+ (c) under Patent Claims infringed by Covered Software in the absence of
130
+ its Contributions.
131
+
132
+ This License does not grant any rights in the trademarks, service marks,
133
+ or logos of any Contributor (except as may be necessary to comply with
134
+ the notice requirements in Section 3.4).
135
+
136
+ 2.4. Subsequent Licenses
137
+
138
+ No Contributor makes additional grants as a result of Your choice to
139
+ distribute the Covered Software under a subsequent version of this
140
+ License (see Section 10.2) or under the terms of a Secondary License (if
141
+ permitted under the terms of Section 3.3).
142
+
143
+ 2.5. Representation
144
+
145
+ Each Contributor represents that the Contributor believes its
146
+ Contributions are its original creation(s) or it has sufficient rights
147
+ to grant the rights to its Contributions conveyed by this License.
148
+
149
+ 2.6. Fair Use
150
+
151
+ This License is not intended to limit any rights You have under
152
+ applicable copyright doctrines of fair use, fair dealing, or other
153
+ equivalents.
154
+
155
+ 2.7. Conditions
156
+
157
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
158
+ in Section 2.1.
159
+
160
+ 3. Responsibilities
161
+ -------------------
162
+
163
+ 3.1. Distribution of Source Form
164
+
165
+ All distribution of Covered Software in Source Code Form, including any
166
+ Modifications that You create or to which You contribute, must be under
167
+ the terms of this License. You must inform recipients that the Source
168
+ Code Form of the Covered Software is governed by the terms of this
169
+ License, and how they can obtain a copy of this License. You may not
170
+ attempt to alter or restrict the recipients' rights in the Source Code
171
+ Form.
172
+
173
+ 3.2. Distribution of Executable Form
174
+
175
+ If You distribute Covered Software in Executable Form then:
176
+
177
+ (a) such Covered Software must also be made available in Source Code
178
+ Form, as described in Section 3.1, and You must inform recipients of
179
+ the Executable Form how they can obtain a copy of such Source Code
180
+ Form by reasonable means in a timely manner, at a charge no more
181
+ than the cost of distribution to the recipient; and
182
+
183
+ (b) You may distribute such Executable Form under the terms of this
184
+ License, or sublicense it under different terms, provided that the
185
+ license for the Executable Form does not attempt to limit or alter
186
+ the recipients' rights in the Source Code Form under this License.
187
+
188
+ 3.3. Distribution of a Larger Work
189
+
190
+ You may create and distribute a Larger Work under terms of Your choice,
191
+ provided that You also comply with the requirements of this License for
192
+ the Covered Software. If the Larger Work is a combination of Covered
193
+ Software with a work governed by one or more Secondary Licenses, and the
194
+ Covered Software is not Incompatible With Secondary Licenses, this
195
+ License permits You to additionally distribute such Covered Software
196
+ under the terms of such Secondary License(s), so that the recipient of
197
+ the Larger Work may, at their option, further distribute the Covered
198
+ Software under the terms of either this License or such Secondary
199
+ License(s).
200
+
201
+ 3.4. Notices
202
+
203
+ You may not remove or alter the substance of any license notices
204
+ (including copyright notices, patent notices, disclaimers of warranty,
205
+ or limitations of liability) contained within the Source Code Form of
206
+ the Covered Software, except that You may alter any license notices to
207
+ the extent required to remedy known factual inaccuracies.
208
+
209
+ 3.5. Application of Additional Terms
210
+
211
+ You may choose to offer, and to charge a fee for, warranty, support,
212
+ indemnity or liability obligations to one or more recipients of Covered
213
+ Software. However, You may do so only on Your own behalf, and not on
214
+ behalf of any Contributor. You must make it absolutely clear that any
215
+ such warranty, support, indemnity, or liability obligation is offered by
216
+ You alone, and You hereby agree to indemnify every Contributor for any
217
+ liability incurred by such Contributor as a result of warranty, support,
218
+ indemnity or liability terms You offer. You may include additional
219
+ disclaimers of warranty and limitations of liability specific to any
220
+ jurisdiction.
221
+
222
+ 4. Inability to Comply Due to Statute or Regulation
223
+ ---------------------------------------------------
224
+
225
+ If it is impossible for You to comply with any of the terms of this
226
+ License with respect to some or all of the Covered Software due to
227
+ statute, judicial order, or regulation then You must: (a) comply with
228
+ the terms of this License to the maximum extent possible; and (b)
229
+ describe the limitations and the code they affect. Such description must
230
+ be placed in a text file included with all distributions of the Covered
231
+ Software under this License. Except to the extent prohibited by statute
232
+ or regulation, such description must be sufficiently detailed for a
233
+ recipient of ordinary skill to be able to understand it.
234
+
235
+ 5. Termination
236
+ --------------
237
+
238
+ 5.1. The rights granted under this License will terminate automatically
239
+ if You fail to comply with any of its terms. However, if You become
240
+ compliant, then the rights granted under this License from a particular
241
+ Contributor are reinstated (a) provisionally, unless and until such
242
+ Contributor explicitly and finally terminates Your grants, and (b) on an
243
+ ongoing basis, if such Contributor fails to notify You of the
244
+ non-compliance by some reasonable means prior to 60 days after You have
245
+ come back into compliance. Moreover, Your grants from a particular
246
+ Contributor are reinstated on an ongoing basis if such Contributor
247
+ notifies You of the non-compliance by some reasonable means, this is the
248
+ first time You have received notice of non-compliance with this License
249
+ from such Contributor, and You become compliant prior to 30 days after
250
+ Your receipt of the notice.
251
+
252
+ 5.2. If You initiate litigation against any entity by asserting a patent
253
+ infringement claim (excluding declaratory judgment actions,
254
+ counter-claims, and cross-claims) alleging that a Contributor Version
255
+ directly or indirectly infringes any patent, then the rights granted to
256
+ You by any and all Contributors for the Covered Software under Section
257
+ 2.1 of this License shall terminate.
258
+
259
+ 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
260
+ end user license agreements (excluding distributors and resellers) which
261
+ have been validly granted by You or Your distributors under this License
262
+ prior to termination shall survive termination.
263
+
264
+ ************************************************************************
265
+ * *
266
+ * 6. Disclaimer of Warranty *
267
+ * ------------------------- *
268
+ * *
269
+ * Covered Software is provided under this License on an "as is" *
270
+ * basis, without warranty of any kind, either expressed, implied, or *
271
+ * statutory, including, without limitation, warranties that the *
272
+ * Covered Software is free of defects, merchantable, fit for a *
273
+ * particular purpose or non-infringing. The entire risk as to the *
274
+ * quality and performance of the Covered Software is with You. *
275
+ * Should any Covered Software prove defective in any respect, You *
276
+ * (not any Contributor) assume the cost of any necessary servicing, *
277
+ * repair, or correction. This disclaimer of warranty constitutes an *
278
+ * essential part of this License. No use of any Covered Software is *
279
+ * authorized under this License except under this disclaimer. *
280
+ * *
281
+ ************************************************************************
282
+
283
+ ************************************************************************
284
+ * *
285
+ * 7. Limitation of Liability *
286
+ * -------------------------- *
287
+ * *
288
+ * Under no circumstances and under no legal theory, whether tort *
289
+ * (including negligence), contract, or otherwise, shall any *
290
+ * Contributor, or anyone who distributes Covered Software as *
291
+ * permitted above, be liable to You for any direct, indirect, *
292
+ * special, incidental, or consequential damages of any character *
293
+ * including, without limitation, damages for lost profits, loss of *
294
+ * goodwill, work stoppage, computer failure or malfunction, or any *
295
+ * and all other commercial damages or losses, even if such party *
296
+ * shall have been informed of the possibility of such damages. This *
297
+ * limitation of liability shall not apply to liability for death or *
298
+ * personal injury resulting from such party's negligence to the *
299
+ * extent applicable law prohibits such limitation. Some *
300
+ * jurisdictions do not allow the exclusion or limitation of *
301
+ * incidental or consequential damages, so this exclusion and *
302
+ * limitation may not apply to You. *
303
+ * *
304
+ ************************************************************************
305
+
306
+ 8. Litigation
307
+ -------------
308
+
309
+ Any litigation relating to this License may be brought only in the
310
+ courts of a jurisdiction where the defendant maintains its principal
311
+ place of business and such litigation shall be governed by laws of that
312
+ jurisdiction, without reference to its conflict-of-law provisions.
313
+ Nothing in this Section shall prevent a party's ability to bring
314
+ cross-claims or counter-claims.
315
+
316
+ 9. Miscellaneous
317
+ ----------------
318
+
319
+ This License represents the complete agreement concerning the subject
320
+ matter hereof. If any provision of this License is held to be
321
+ unenforceable, such provision shall be reformed only to the extent
322
+ necessary to make it enforceable. Any law or regulation which provides
323
+ that the language of a contract shall be construed against the drafter
324
+ shall not be used to construe this License against a Contributor.
325
+
326
+ 10. Versions of the License
327
+ ---------------------------
328
+
329
+ 10.1. New Versions
330
+
331
+ Mozilla Foundation is the license steward. Except as provided in Section
332
+ 10.3, no one other than the license steward has the right to modify or
333
+ publish new versions of this License. Each version will be given a
334
+ distinguishing version number.
335
+
336
+ 10.2. Effect of New Versions
337
+
338
+ You may distribute the Covered Software under the terms of the version
339
+ of the License under which You originally received the Covered Software,
340
+ or under the terms of any subsequent version published by the license
341
+ steward.
342
+
343
+ 10.3. Modified Versions
344
+
345
+ If you create software not governed by this License, and you want to
346
+ create a new license for such software, you may create and use a
347
+ modified version of this License if you rename the license and remove
348
+ any references to the name of the license steward (except to note that
349
+ such modified license differs from this License).
350
+
351
+ 10.4. Distributing Source Code Form that is Incompatible With Secondary
352
+ Licenses
353
+
354
+ If You choose to distribute Source Code Form that is Incompatible With
355
+ Secondary Licenses under the terms of this version of the License, the
356
+ notice described in Exhibit B of this License must be attached.
357
+
358
+ Exhibit A - Source Code Form License Notice
359
+ -------------------------------------------
360
+
361
+ This Source Code Form is subject to the terms of the Mozilla Public
362
+ License, v. 2.0. If a copy of the MPL was not distributed with this
363
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
364
+
365
+ If it is not possible or desirable to put the notice in a particular
366
+ file, then You may include the notice in a location (such as a LICENSE
367
+ file in a relevant directory) where a recipient would be likely to look
368
+ for such a notice.
369
+
370
+ You may add additional accurate notices of copyright ownership.
371
+
372
+ Exhibit B - "Incompatible With Secondary Licenses" Notice
373
+ ---------------------------------------------------------
374
+
375
+ This Source Code Form is "Incompatible With Secondary Licenses", as
376
+ defined by the Mozilla Public License, v. 2.0.
UBC-SAP_gold-corpus/2b939324e50f722186ac12f4a59fe3db5eaf94de.txt ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/laminas/laminas-stdlib/2b939324e50f722186ac12f4a59fe3db5eaf94de
2
+ https://github.com/laminas/laminas-stdlib/blob/2b939324e50f722186ac12f4a59fe3db5eaf94de/LICENSE.md
3
+
4
+ Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ - Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ - Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ - Neither the name of Laminas Foundation nor the names of its contributors may
17
+ be used to endorse or promote products derived from this software without
18
+ specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
24
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
27
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
UBC-SAP_gold-corpus/331fb0eb45c26daadf8cf01a3b6f20e909d7684b.txt ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/pmmp/bedrockprotocol/331fb0eb45c26daadf8cf01a3b6f20e909d7684b
2
+ https://github.com/pmmp/bedrockprotocol/blob/331fb0eb45c26daadf8cf01a3b6f20e909d7684b/LICENSE
3
+
4
+ GNU LESSER GENERAL PUBLIC LICENSE
5
+ Version 3, 29 June 2007
6
+
7
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
8
+ Everyone is permitted to copy and distribute verbatim copies
9
+ of this license document, but changing it is not allowed.
10
+
11
+
12
+ This version of the GNU Lesser General Public License incorporates
13
+ the terms and conditions of version 3 of the GNU General Public
14
+ License, supplemented by the additional permissions listed below.
15
+
16
+ 0. Additional Definitions.
17
+
18
+ As used herein, "this License" refers to version 3 of the GNU Lesser
19
+ General Public License, and the "GNU GPL" refers to version 3 of the GNU
20
+ General Public License.
21
+
22
+ "The Library" refers to a covered work governed by this License,
23
+ other than an Application or a Combined Work as defined below.
24
+
25
+ An "Application" is any work that makes use of an interface provided
26
+ by the Library, but which is not otherwise based on the Library.
27
+ Defining a subclass of a class defined by the Library is deemed a mode
28
+ of using an interface provided by the Library.
29
+
30
+ A "Combined Work" is a work produced by combining or linking an
31
+ Application with the Library. The particular version of the Library
32
+ with which the Combined Work was made is also called the "Linked
33
+ Version".
34
+
35
+ The "Minimal Corresponding Source" for a Combined Work means the
36
+ Corresponding Source for the Combined Work, excluding any source code
37
+ for portions of the Combined Work that, considered in isolation, are
38
+ based on the Application, and not on the Linked Version.
39
+
40
+ The "Corresponding Application Code" for a Combined Work means the
41
+ object code and/or source code for the Application, including any data
42
+ and utility programs needed for reproducing the Combined Work from the
43
+ Application, but excluding the System Libraries of the Combined Work.
44
+
45
+ 1. Exception to Section 3 of the GNU GPL.
46
+
47
+ You may convey a covered work under sections 3 and 4 of this License
48
+ without being bound by section 3 of the GNU GPL.
49
+
50
+ 2. Conveying Modified Versions.
51
+
52
+ If you modify a copy of the Library, and, in your modifications, a
53
+ facility refers to a function or data to be supplied by an Application
54
+ that uses the facility (other than as an argument passed when the
55
+ facility is invoked), then you may convey a copy of the modified
56
+ version:
57
+
58
+ a) under this License, provided that you make a good faith effort to
59
+ ensure that, in the event an Application does not supply the
60
+ function or data, the facility still operates, and performs
61
+ whatever part of its purpose remains meaningful, or
62
+
63
+ b) under the GNU GPL, with none of the additional permissions of
64
+ this License applicable to that copy.
65
+
66
+ 3. Object Code Incorporating Material from Library Header Files.
67
+
68
+ The object code form of an Application may incorporate material from
69
+ a header file that is part of the Library. You may convey such object
70
+ code under terms of your choice, provided that, if the incorporated
71
+ material is not limited to numerical parameters, data structure
72
+ layouts and accessors, or small macros, inline functions and templates
73
+ (ten or fewer lines in length), you do both of the following:
74
+
75
+ a) Give prominent notice with each copy of the object code that the
76
+ Library is used in it and that the Library and its use are
77
+ covered by this License.
78
+
79
+ b) Accompany the object code with a copy of the GNU GPL and this license
80
+ document.
81
+
82
+ 4. Combined Works.
83
+
84
+ You may convey a Combined Work under terms of your choice that,
85
+ taken together, effectively do not restrict modification of the
86
+ portions of the Library contained in the Combined Work and reverse
87
+ engineering for debugging such modifications, if you also do each of
88
+ the following:
89
+
90
+ a) Give prominent notice with each copy of the Combined Work that
91
+ the Library is used in it and that the Library and its use are
92
+ covered by this License.
93
+
94
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
95
+ document.
96
+
97
+ c) For a Combined Work that displays copyright notices during
98
+ execution, include the copyright notice for the Library among
99
+ these notices, as well as a reference directing the user to the
100
+ copies of the GNU GPL and this license document.
101
+
102
+ d) Do one of the following:
103
+
104
+ 0) Convey the Minimal Corresponding Source under the terms of this
105
+ License, and the Corresponding Application Code in a form
106
+ suitable for, and under terms that permit, the user to
107
+ recombine or relink the Application with a modified version of
108
+ the Linked Version to produce a modified Combined Work, in the
109
+ manner specified by section 6 of the GNU GPL for conveying
110
+ Corresponding Source.
111
+
112
+ 1) Use a suitable shared library mechanism for linking with the
113
+ Library. A suitable mechanism is one that (a) uses at run time
114
+ a copy of the Library already present on the user's computer
115
+ system, and (b) will operate properly with a modified version
116
+ of the Library that is interface-compatible with the Linked
117
+ Version.
118
+
119
+ e) Provide Installation Information, but only if you would otherwise
120
+ be required to provide such information under section 6 of the
121
+ GNU GPL, and only to the extent that such information is
122
+ necessary to install and execute a modified version of the
123
+ Combined Work produced by recombining or relinking the
124
+ Application with a modified version of the Linked Version. (If
125
+ you use option 4d0, the Installation Information must accompany
126
+ the Minimal Corresponding Source and Corresponding Application
127
+ Code. If you use option 4d1, you must provide the Installation
128
+ Information in the manner specified by section 6 of the GNU GPL
129
+ for conveying Corresponding Source.)
130
+
131
+ 5. Combined Libraries.
132
+
133
+ You may place library facilities that are a work based on the
134
+ Library side by side in a single library together with other library
135
+ facilities that are not Applications and are not covered by this
136
+ License, and convey such a combined library under terms of your
137
+ choice, if you do both of the following:
138
+
139
+ a) Accompany the combined library with a copy of the same work based
140
+ on the Library, uncombined with any other library facilities,
141
+ conveyed under the terms of this License.
142
+
143
+ b) Give prominent notice with the combined library that part of it
144
+ is a work based on the Library, and explaining where to find the
145
+ accompanying uncombined form of the same work.
146
+
147
+ 6. Revised Versions of the GNU Lesser General Public License.
148
+
149
+ The Free Software Foundation may publish revised and/or new versions
150
+ of the GNU Lesser General Public License from time to time. Such new
151
+ versions will be similar in spirit to the present version, but may
152
+ differ in detail to address new problems or concerns.
153
+
154
+ Each version is given a distinguishing version number. If the
155
+ Library as you received it specifies that a certain numbered version
156
+ of the GNU Lesser General Public License "or any later version"
157
+ applies to it, you have the option of following the terms and
158
+ conditions either of that published version or of any later version
159
+ published by the Free Software Foundation. If the Library as you
160
+ received it does not specify a version number of the GNU Lesser
161
+ General Public License, you may choose any version of the GNU Lesser
162
+ General Public License ever published by the Free Software Foundation.
163
+
164
+ If the Library as you received it specifies that a proxy can decide
165
+ whether future versions of the GNU Lesser General Public License shall
166
+ apply, that proxy's public statement of acceptance of any version is
167
+ permanent authorization for you to choose that version for the
168
+ Library.
UBC-SAP_gold-corpus/3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c.txt ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/waitress/2.1.2
2
+ https://api.clearlydefined.io/attachments/3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c
3
+
4
+ Zope Public License (ZPL) Version 2.1
5
+
6
+ A copyright notice accompanies this license document that identifies the
7
+ copyright holders.
8
+
9
+ This license has been certified as open source. It has also been designated as
10
+ GPL compatible by the Free Software Foundation (FSF).
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions are met:
14
+
15
+ 1. Redistributions in source code must retain the accompanying copyright
16
+ notice, this list of conditions, and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the accompanying copyright
19
+ notice, this list of conditions, and the following disclaimer in the
20
+ documentation and/or other materials provided with the distribution.
21
+
22
+ 3. Names of the copyright holders must not be used to endorse or promote
23
+ products derived from this software without prior written permission from the
24
+ copyright holders.
25
+
26
+ 4. The right to distribute this software or to use it for any purpose does not
27
+ give you the right to use Servicemarks (sm) or Trademarks (tm) of the
28
+ copyright
29
+ holders. Use of them is covered by separate agreement with the copyright
30
+ holders.
31
+
32
+ 5. If any files are modified, you must cause the modified files to carry
33
+ prominent notices stating that you changed the files and the date of any
34
+ change.
35
+
36
+ Disclaimer
37
+
38
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
39
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
41
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
42
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
44
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
45
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
46
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
47
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
UBC-SAP_gold-corpus/3ee3fe6d463aaf82c6e0bbdd1b2b4d47d8d2a9205462bb7992027f9c0bd9ca98.txt ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/nuget/nuget/-/ToolGood.Words/3.0.3.1
2
+ https://api.clearlydefined.io/attachments/3ee3fe6d463aaf82c6e0bbdd1b2b4d47d8d2a9205462bb7992027f9c0bd9ca98
3
+
4
+ Apache License
5
+ Version 2.0, January 2004
6
+ http://www.apache.org/licenses/
7
+
8
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
+
10
+ 1. Definitions.
11
+
12
+ "License" shall mean the terms and conditions for use, reproduction,
13
+ and distribution as defined by Sections 1 through 9 of this document.
14
+
15
+ "Licensor" shall mean the copyright owner or entity authorized by
16
+ the copyright owner that is granting the License.
17
+
18
+ "Legal Entity" shall mean the union of the acting entity and all
19
+ other entities that control, are controlled by, or are under common
20
+ control with that entity. For the purposes of this definition,
21
+ "control" means (i) the power, direct or indirect, to cause the
22
+ direction or management of such entity, whether by contract or
23
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
24
+ outstanding shares, or (iii) beneficial ownership of such entity.
25
+
26
+ "You" (or "Your") shall mean an individual or Legal Entity
27
+ exercising permissions granted by this License.
28
+
29
+ "Source" form shall mean the preferred form for making modifications,
30
+ including but not limited to software source code, documentation
31
+ source, and configuration files.
32
+
33
+ "Object" form shall mean any form resulting from mechanical
34
+ transformation or translation of a Source form, including but
35
+ not limited to compiled object code, generated documentation,
36
+ and conversions to other media types.
37
+
38
+ "Work" shall mean the work of authorship, whether in Source or
39
+ Object form, made available under the License, as indicated by a
40
+ copyright notice that is included in or attached to the work
41
+ (an example is provided in the Appendix below).
42
+
43
+ "Derivative Works" shall mean any work, whether in Source or Object
44
+ form, that is based on (or derived from) the Work and for which the
45
+ editorial revisions, annotations, elaborations, or other modifications
46
+ represent, as a whole, an original work of authorship. For the purposes
47
+ of this License, Derivative Works shall not include works that remain
48
+ separable from, or merely link (or bind by name) to the interfaces of,
49
+ the Work and Derivative Works thereof.
50
+
51
+ "Contribution" shall mean any work of authorship, including
52
+ the original version of the Work and any modifications or additions
53
+ to that Work or Derivative Works thereof, that is intentionally
54
+ submitted to Licensor for inclusion in the Work by the copyright owner
55
+ or by an individual or Legal Entity authorized to submit on behalf of
56
+ the copyright owner. For the purposes of this definition, "submitted"
57
+ means any form of electronic, verbal, or written communication sent
58
+ to the Licensor or its representatives, including but not limited to
59
+ communication on electronic mailing lists, source code control systems,
60
+ and issue tracking systems that are managed by, or on behalf of, the
61
+ Licensor for the purpose of discussing and improving the Work, but
62
+ excluding communication that is conspicuously marked or otherwise
63
+ designated in writing by the copyright owner as "Not a Contribution."
64
+
65
+ "Contributor" shall mean Licensor and any individual or Legal Entity
66
+ on behalf of whom a Contribution has been received by Licensor and
67
+ subsequently incorporated within the Work.
68
+
69
+ 2. Grant of Copyright License. Subject to the terms and conditions of
70
+ this License, each Contributor hereby grants to You a perpetual,
71
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72
+ copyright license to reproduce, prepare Derivative Works of,
73
+ publicly display, publicly perform, sublicense, and distribute the
74
+ Work and such Derivative Works in Source or Object form.
75
+
76
+ 3. Grant of Patent License. Subject to the terms and conditions of
77
+ this License, each Contributor hereby grants to You a perpetual,
78
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
+ (except as stated in this section) patent license to make, have made,
80
+ use, offer to sell, sell, import, and otherwise transfer the Work,
81
+ where such license applies only to those patent claims licensable
82
+ by such Contributor that are necessarily infringed by their
83
+ Contribution(s) alone or by combination of their Contribution(s)
84
+ with the Work to which such Contribution(s) was submitted. If You
85
+ institute patent litigation against any entity (including a
86
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
87
+ or a Contribution incorporated within the Work constitutes direct
88
+ or contributory patent infringement, then any patent licenses
89
+ granted to You under this License for that Work shall terminate
90
+ as of the date such litigation is filed.
91
+
92
+ 4. Redistribution. You may reproduce and distribute copies of the
93
+ Work or Derivative Works thereof in any medium, with or without
94
+ modifications, and in Source or Object form, provided that You
95
+ meet the following conditions:
96
+
97
+ (a) You must give any other recipients of the Work or
98
+ Derivative Works a copy of this License; and
99
+
100
+ (b) You must cause any modified files to carry prominent notices
101
+ stating that You changed the files; and
102
+
103
+ (c) You must retain, in the Source form of any Derivative Works
104
+ that You distribute, all copyright, patent, trademark, and
105
+ attribution notices from the Source form of the Work,
106
+ excluding those notices that do not pertain to any part of
107
+ the Derivative Works; and
108
+
109
+ (d) If the Work includes a "NOTICE" text file as part of its
110
+ distribution, then any Derivative Works that You distribute must
111
+ include a readable copy of the attribution notices contained
112
+ within such NOTICE file, excluding those notices that do not
113
+ pertain to any part of the Derivative Works, in at least one
114
+ of the following places: within a NOTICE text file distributed
115
+ as part of the Derivative Works; within the Source form or
116
+ documentation, if provided along with the Derivative Works; or,
117
+ within a display generated by the Derivative Works, if and
118
+ wherever such third-party notices normally appear. The contents
119
+ of the NOTICE file are for informational purposes only and
120
+ do not modify the License. You may add Your own attribution
121
+ notices within Derivative Works that You distribute, alongside
122
+ or as an addendum to the NOTICE text from the Work, provided
123
+ that such additional attribution notices cannot be construed
124
+ as modifying the License.
125
+
126
+ You may add Your own copyright statement to Your modifications and
127
+ may provide additional or different license terms and conditions
128
+ for use, reproduction, or distribution of Your modifications, or
129
+ for any such Derivative Works as a whole, provided Your use,
130
+ reproduction, and distribution of the Work otherwise complies with
131
+ the conditions stated in this License.
132
+
133
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
134
+ any Contribution intentionally submitted for inclusion in the Work
135
+ by You to the Licensor shall be under the terms and conditions of
136
+ this License, without any additional terms or conditions.
137
+ Notwithstanding the above, nothing herein shall supersede or modify
138
+ the terms of any separate license agreement you may have executed
139
+ with Licensor regarding such Contributions.
140
+
141
+ 6. Trademarks. This License does not grant permission to use the trade
142
+ names, trademarks, service marks, or product names of the Licensor,
143
+ except as required for reasonable and customary use in describing the
144
+ origin of the Work and reproducing the content of the NOTICE file.
145
+
146
+ 7. Disclaimer of Warranty. Unless required by applicable law or
147
+ agreed to in writing, Licensor provides the Work (and each
148
+ Contributor provides its Contributions) on an "AS IS" BASIS,
149
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150
+ implied, including, without limitation, any warranties or conditions
151
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152
+ PARTICULAR PURPOSE. You are solely responsible for determining the
153
+ appropriateness of using or redistributing the Work and assume any
154
+ risks associated with Your exercise of permissions under this License.
155
+
156
+ 8. Limitation of Liability. In no event and under no legal theory,
157
+ whether in tort (including negligence), contract, or otherwise,
158
+ unless required by applicable law (such as deliberate and grossly
159
+ negligent acts) or agreed to in writing, shall any Contributor be
160
+ liable to You for damages, including any direct, indirect, special,
161
+ incidental, or consequential damages of any character arising as a
162
+ result of this License or out of the use or inability to use the
163
+ Work (including but not limited to damages for loss of goodwill,
164
+ work stoppage, computer failure or malfunction, or any and all
165
+ other commercial damages or losses), even if such Contributor
166
+ has been advised of the possibility of such damages.
167
+
168
+ 9. Accepting Warranty or Additional Liability. While redistributing
169
+ the Work or Derivative Works thereof, You may choose to offer,
170
+ and charge a fee for, acceptance of support, warranty, indemnity,
171
+ or other liability obligations and/or rights consistent with this
172
+ License. However, in accepting such obligations, You may act only
173
+ on Your own behalf and on Your sole responsibility, not on behalf
174
+ of any other Contributor, and only if You agree to indemnify,
175
+ defend, and hold each Contributor harmless for any liability
176
+ incurred by, or claims asserted against, such Contributor by reason
177
+ of your accepting any such warranty or additional liability.
178
+
179
+ END OF TERMS AND CONDITIONS
180
+
181
+ APPENDIX: How to apply the Apache License to your work.
182
+
183
+ To apply the Apache License to your work, attach the following
184
+ boilerplate notice, with the fields enclosed by brackets "{}"
185
+ replaced with your own identifying information. (Don't include
186
+ the brackets!) The text should be enclosed in the appropriate
187
+ comment syntax for the file format. We also recommend that a
188
+ file or class name and description of purpose be included on the
189
+ same "printed page" as the copyright notice for easier
190
+ identification within third-party archives.
191
+
192
+   Copyright 2016 toolgood.com
193
+
194
+ Licensed under the Apache License, Version 2.0 (the "License");
195
+ you may not use this file except in compliance with the License.
196
+ You may obtain a copy of the License at
197
+
198
+ http://www.apache.org/licenses/LICENSE-2.0
199
+
200
+ Unless required by applicable law or agreed to in writing, software
201
+ distributed under the License is distributed on an "AS IS" BASIS,
202
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203
+ See the License for the specific language governing permissions and
204
+ limitations under the License.
UBC-SAP_gold-corpus/4a0a835458904fb3c034d3dec4997f8c2b3fdfc9.txt ADDED
@@ -0,0 +1,398 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/browserslist/caniuse-lite/4a0a835458904fb3c034d3dec4997f8c2b3fdfc9
2
+ https://github.com/browserslist/caniuse-lite/blob/4a0a835458904fb3c034d3dec4997f8c2b3fdfc9/LICENSE
3
+
4
+ Attribution 4.0 International
5
+
6
+ =======================================================================
7
+
8
+ Creative Commons Corporation ("Creative Commons") is not a law firm and
9
+ does not provide legal services or legal advice. Distribution of
10
+ Creative Commons public licenses does not create a lawyer-client or
11
+ other relationship. Creative Commons makes its licenses and related
12
+ information available on an "as-is" basis. Creative Commons gives no
13
+ warranties regarding its licenses, any material licensed under their
14
+ terms and conditions, or any related information. Creative Commons
15
+ disclaims all liability for damages resulting from their use to the
16
+ fullest extent possible.
17
+
18
+ Using Creative Commons Public Licenses
19
+
20
+ Creative Commons public licenses provide a standard set of terms and
21
+ conditions that creators and other rights holders may use to share
22
+ original works of authorship and other material subject to copyright
23
+ and certain other rights specified in the public license below. The
24
+ following considerations are for informational purposes only, are not
25
+ exhaustive, and do not form part of our licenses.
26
+
27
+ Considerations for licensors: Our public licenses are
28
+ intended for use by those authorized to give the public
29
+ permission to use material in ways otherwise restricted by
30
+ copyright and certain other rights. Our licenses are
31
+ irrevocable. Licensors should read and understand the terms
32
+ and conditions of the license they choose before applying it.
33
+ Licensors should also secure all rights necessary before
34
+ applying our licenses so that the public can reuse the
35
+ material as expected. Licensors should clearly mark any
36
+ material not subject to the license. This includes other CC-
37
+ licensed material, or material used under an exception or
38
+ limitation to copyright. More considerations for licensors:
39
+ wiki.creativecommons.org/Considerations_for_licensors
40
+
41
+ Considerations for the public: By using one of our public
42
+ licenses, a licensor grants the public permission to use the
43
+ licensed material under specified terms and conditions. If
44
+ the licensor's permission is not necessary for any reason--for
45
+ example, because of any applicable exception or limitation to
46
+ copyright--then that use is not regulated by the license. Our
47
+ licenses grant only permissions under copyright and certain
48
+ other rights that a licensor has authority to grant. Use of
49
+ the licensed material may still be restricted for other
50
+ reasons, including because others have copyright or other
51
+ rights in the material. A licensor may make special requests,
52
+ such as asking that all changes be marked or described.
53
+ Although not required by our licenses, you are encouraged to
54
+ respect those requests where reasonable. More_considerations
55
+ for the public:
56
+ wiki.creativecommons.org/Considerations_for_licensees
57
+
58
+ =======================================================================
59
+
60
+ Creative Commons Attribution 4.0 International Public License
61
+
62
+ By exercising the Licensed Rights (defined below), You accept and agree
63
+ to be bound by the terms and conditions of this Creative Commons
64
+ Attribution 4.0 International Public License ("Public License"). To the
65
+ extent this Public License may be interpreted as a contract, You are
66
+ granted the Licensed Rights in consideration of Your acceptance of
67
+ these terms and conditions, and the Licensor grants You such rights in
68
+ consideration of benefits the Licensor receives from making the
69
+ Licensed Material available under these terms and conditions.
70
+
71
+
72
+ Section 1 -- Definitions.
73
+
74
+ a. Adapted Material means material subject to Copyright and Similar
75
+ Rights that is derived from or based upon the Licensed Material
76
+ and in which the Licensed Material is translated, altered,
77
+ arranged, transformed, or otherwise modified in a manner requiring
78
+ permission under the Copyright and Similar Rights held by the
79
+ Licensor. For purposes of this Public License, where the Licensed
80
+ Material is a musical work, performance, or sound recording,
81
+ Adapted Material is always produced where the Licensed Material is
82
+ synched in timed relation with a moving image.
83
+
84
+ b. Adapter's License means the license You apply to Your Copyright
85
+ and Similar Rights in Your contributions to Adapted Material in
86
+ accordance with the terms and conditions of this Public License.
87
+
88
+ c. Copyright and Similar Rights means copyright and/or similar rights
89
+ closely related to copyright including, without limitation,
90
+ performance, broadcast, sound recording, and Sui Generis Database
91
+ Rights, without regard to how the rights are labeled or
92
+ categorized. For purposes of this Public License, the rights
93
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
94
+ Rights.
95
+
96
+ d. Effective Technological Measures means those measures that, in the
97
+ absence of proper authority, may not be circumvented under laws
98
+ fulfilling obligations under Article 11 of the WIPO Copyright
99
+ Treaty adopted on December 20, 1996, and/or similar international
100
+ agreements.
101
+
102
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
103
+ any other exception or limitation to Copyright and Similar Rights
104
+ that applies to Your use of the Licensed Material.
105
+
106
+ f. Licensed Material means the artistic or literary work, database,
107
+ or other material to which the Licensor applied this Public
108
+ License.
109
+
110
+ g. Licensed Rights means the rights granted to You subject to the
111
+ terms and conditions of this Public License, which are limited to
112
+ all Copyright and Similar Rights that apply to Your use of the
113
+ Licensed Material and that the Licensor has authority to license.
114
+
115
+ h. Licensor means the individual(s) or entity(ies) granting rights
116
+ under this Public License.
117
+
118
+ i. Share means to provide material to the public by any means or
119
+ process that requires permission under the Licensed Rights, such
120
+ as reproduction, public display, public performance, distribution,
121
+ dissemination, communication, or importation, and to make material
122
+ available to the public including in ways that members of the
123
+ public may access the material from a place and at a time
124
+ individually chosen by them.
125
+
126
+ j. Sui Generis Database Rights means rights other than copyright
127
+ resulting from Directive 96/9/EC of the European Parliament and of
128
+ the Council of 11 March 1996 on the legal protection of databases,
129
+ as amended and/or succeeded, as well as other essentially
130
+ equivalent rights anywhere in the world.
131
+
132
+ k. You means the individual or entity exercising the Licensed Rights
133
+ under this Public License. Your has a corresponding meaning.
134
+
135
+
136
+ Section 2 -- Scope.
137
+
138
+ a. License grant.
139
+
140
+ 1. Subject to the terms and conditions of this Public License,
141
+ the Licensor hereby grants You a worldwide, royalty-free,
142
+ non-sublicensable, non-exclusive, irrevocable license to
143
+ exercise the Licensed Rights in the Licensed Material to:
144
+
145
+ a. reproduce and Share the Licensed Material, in whole or
146
+ in part; and
147
+
148
+ b. produce, reproduce, and Share Adapted Material.
149
+
150
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
151
+ Exceptions and Limitations apply to Your use, this Public
152
+ License does not apply, and You do not need to comply with
153
+ its terms and conditions.
154
+
155
+ 3. Term. The term of this Public License is specified in Section
156
+ 6(a).
157
+
158
+ 4. Media and formats; technical modifications allowed. The
159
+ Licensor authorizes You to exercise the Licensed Rights in
160
+ all media and formats whether now known or hereafter created,
161
+ and to make technical modifications necessary to do so. The
162
+ Licensor waives and/or agrees not to assert any right or
163
+ authority to forbid You from making technical modifications
164
+ necessary to exercise the Licensed Rights, including
165
+ technical modifications necessary to circumvent Effective
166
+ Technological Measures. For purposes of this Public License,
167
+ simply making modifications authorized by this Section 2(a)
168
+ (4) never produces Adapted Material.
169
+
170
+ 5. Downstream recipients.
171
+
172
+ a. Offer from the Licensor -- Licensed Material. Every
173
+ recipient of the Licensed Material automatically
174
+ receives an offer from the Licensor to exercise the
175
+ Licensed Rights under the terms and conditions of this
176
+ Public License.
177
+
178
+ b. No downstream restrictions. You may not offer or impose
179
+ any additional or different terms or conditions on, or
180
+ apply any Effective Technological Measures to, the
181
+ Licensed Material if doing so restricts exercise of the
182
+ Licensed Rights by any recipient of the Licensed
183
+ Material.
184
+
185
+ 6. No endorsement. Nothing in this Public License constitutes or
186
+ may be construed as permission to assert or imply that You
187
+ are, or that Your use of the Licensed Material is, connected
188
+ with, or sponsored, endorsed, or granted official status by,
189
+ the Licensor or others designated to receive attribution as
190
+ provided in Section 3(a)(1)(A)(i).
191
+
192
+ b. Other rights.
193
+
194
+ 1. Moral rights, such as the right of integrity, are not
195
+ licensed under this Public License, nor are publicity,
196
+ privacy, and/or other similar personality rights; however, to
197
+ the extent possible, the Licensor waives and/or agrees not to
198
+ assert any such rights held by the Licensor to the limited
199
+ extent necessary to allow You to exercise the Licensed
200
+ Rights, but not otherwise.
201
+
202
+ 2. Patent and trademark rights are not licensed under this
203
+ Public License.
204
+
205
+ 3. To the extent possible, the Licensor waives any right to
206
+ collect royalties from You for the exercise of the Licensed
207
+ Rights, whether directly or through a collecting society
208
+ under any voluntary or waivable statutory or compulsory
209
+ licensing scheme. In all other cases the Licensor expressly
210
+ reserves any right to collect such royalties.
211
+
212
+
213
+ Section 3 -- License Conditions.
214
+
215
+ Your exercise of the Licensed Rights is expressly made subject to the
216
+ following conditions.
217
+
218
+ a. Attribution.
219
+
220
+ 1. If You Share the Licensed Material (including in modified
221
+ form), You must:
222
+
223
+ a. retain the following if it is supplied by the Licensor
224
+ with the Licensed Material:
225
+
226
+ i. identification of the creator(s) of the Licensed
227
+ Material and any others designated to receive
228
+ attribution, in any reasonable manner requested by
229
+ the Licensor (including by pseudonym if
230
+ designated);
231
+
232
+ ii. a copyright notice;
233
+
234
+ iii. a notice that refers to this Public License;
235
+
236
+ iv. a notice that refers to the disclaimer of
237
+ warranties;
238
+
239
+ v. a URI or hyperlink to the Licensed Material to the
240
+ extent reasonably practicable;
241
+
242
+ b. indicate if You modified the Licensed Material and
243
+ retain an indication of any previous modifications; and
244
+
245
+ c. indicate the Licensed Material is licensed under this
246
+ Public License, and include the text of, or the URI or
247
+ hyperlink to, this Public License.
248
+
249
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
250
+ reasonable manner based on the medium, means, and context in
251
+ which You Share the Licensed Material. For example, it may be
252
+ reasonable to satisfy the conditions by providing a URI or
253
+ hyperlink to a resource that includes the required
254
+ information.
255
+
256
+ 3. If requested by the Licensor, You must remove any of the
257
+ information required by Section 3(a)(1)(A) to the extent
258
+ reasonably practicable.
259
+
260
+ 4. If You Share Adapted Material You produce, the Adapter's
261
+ License You apply must not prevent recipients of the Adapted
262
+ Material from complying with this Public License.
263
+
264
+
265
+ Section 4 -- Sui Generis Database Rights.
266
+
267
+ Where the Licensed Rights include Sui Generis Database Rights that
268
+ apply to Your use of the Licensed Material:
269
+
270
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
271
+ to extract, reuse, reproduce, and Share all or a substantial
272
+ portion of the contents of the database;
273
+
274
+ b. if You include all or a substantial portion of the database
275
+ contents in a database in which You have Sui Generis Database
276
+ Rights, then the database in which You have Sui Generis Database
277
+ Rights (but not its individual contents) is Adapted Material; and
278
+
279
+ c. You must comply with the conditions in Section 3(a) if You Share
280
+ all or a substantial portion of the contents of the database.
281
+
282
+ For the avoidance of doubt, this Section 4 supplements and does not
283
+ replace Your obligations under this Public License where the Licensed
284
+ Rights include other Copyright and Similar Rights.
285
+
286
+
287
+ Section 5 -- Disclaimer of Warranties and Limitation of Liability.
288
+
289
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
290
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
291
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
292
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
293
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
294
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
295
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
296
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
297
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
298
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
299
+
300
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
301
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
302
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
303
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
304
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
305
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
306
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
307
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
308
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
309
+
310
+ c. The disclaimer of warranties and limitation of liability provided
311
+ above shall be interpreted in a manner that, to the extent
312
+ possible, most closely approximates an absolute disclaimer and
313
+ waiver of all liability.
314
+
315
+
316
+ Section 6 -- Term and Termination.
317
+
318
+ a. This Public License applies for the term of the Copyright and
319
+ Similar Rights licensed here. However, if You fail to comply with
320
+ this Public License, then Your rights under this Public License
321
+ terminate automatically.
322
+
323
+ b. Where Your right to use the Licensed Material has terminated under
324
+ Section 6(a), it reinstates:
325
+
326
+ 1. automatically as of the date the violation is cured, provided
327
+ it is cured within 30 days of Your discovery of the
328
+ violation; or
329
+
330
+ 2. upon express reinstatement by the Licensor.
331
+
332
+ For the avoidance of doubt, this Section 6(b) does not affect any
333
+ right the Licensor may have to seek remedies for Your violations
334
+ of this Public License.
335
+
336
+ c. For the avoidance of doubt, the Licensor may also offer the
337
+ Licensed Material under separate terms or conditions or stop
338
+ distributing the Licensed Material at any time; however, doing so
339
+ will not terminate this Public License.
340
+
341
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
342
+ License.
343
+
344
+
345
+ Section 7 -- Other Terms and Conditions.
346
+
347
+ a. The Licensor shall not be bound by any additional or different
348
+ terms or conditions communicated by You unless expressly agreed.
349
+
350
+ b. Any arrangements, understandings, or agreements regarding the
351
+ Licensed Material not stated herein are separate from and
352
+ independent of the terms and conditions of this Public License.
353
+
354
+
355
+ Section 8 -- Interpretation.
356
+
357
+ a. For the avoidance of doubt, this Public License does not, and
358
+ shall not be interpreted to, reduce, limit, restrict, or impose
359
+ conditions on any use of the Licensed Material that could lawfully
360
+ be made without permission under this Public License.
361
+
362
+ b. To the extent possible, if any provision of this Public License is
363
+ deemed unenforceable, it shall be automatically reformed to the
364
+ minimum extent necessary to make it enforceable. If the provision
365
+ cannot be reformed, it shall be severed from this Public License
366
+ without affecting the enforceability of the remaining terms and
367
+ conditions.
368
+
369
+ c. No term or condition of this Public License will be waived and no
370
+ failure to comply consented to unless expressly agreed to by the
371
+ Licensor.
372
+
373
+ d. Nothing in this Public License constitutes or may be interpreted
374
+ as a limitation upon, or waiver of, any privileges and immunities
375
+ that apply to the Licensor or You, including from the legal
376
+ processes of any jurisdiction or authority.
377
+
378
+
379
+ =======================================================================
380
+
381
+ Creative Commons is not a party to its public
382
+ licenses. Notwithstanding, Creative Commons may elect to apply one of
383
+ its public licenses to material it publishes and in those instances
384
+ will be considered the “Licensor.” The text of the Creative Commons
385
+ public licenses is dedicated to the public domain under the CC0 Public
386
+ Domain Dedication. Except for the limited purpose of indicating that
387
+ material is shared under a Creative Commons public license or as
388
+ otherwise permitted by the Creative Commons policies published at
389
+ creativecommons.org/policies, Creative Commons does not authorize the
390
+ use of the trademark "Creative Commons" or any other trademark or logo
391
+ of Creative Commons without its prior written consent including,
392
+ without limitation, in connection with any unauthorized modifications
393
+ to any of its public licenses or any other arrangements,
394
+ understandings, or agreements concerning use of licensed material. For
395
+ the avoidance of doubt, this paragraph does not form part of the
396
+ public licenses.
397
+
398
+ Creative Commons may be contacted at creativecommons.org.
UBC-SAP_gold-corpus/4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b.txt ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/npm/npmjs/-/fstream-npm/1.2.1
2
+ https://api.clearlydefined.io/attachments/4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b
3
+
4
+ The ISC License
5
+
6
+ Copyright (c) Isaac Z. Schlueter and Contributors
7
+
8
+ Permission to use, copy, modify, and/or distribute this software for any
9
+ purpose with or without fee is hereby granted, provided that the above
10
+ copyright notice and this permission notice appear in all copies.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
18
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
UBC-SAP_gold-corpus/519d98126c6d890b2ede1ed050c7888c62cf7f26cd6764c9c44b53b887e2f4c6.txt ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/nuget/nuget/-/HotChocolate.Types/12.6.0-preview.5
2
+ https://api.clearlydefined.io/attachments/519d98126c6d890b2ede1ed050c7888c62cf7f26cd6764c9c44b53b887e2f4c6
3
+
4
+ MIT License
5
+
6
+ Copyright (c) 2021 ChilliCream Inc. (Michael & Rafael Staib)
7
+
8
+ DISCLAIMER:
9
+ ----------------------------------------------------------------------------------
10
+ Covered by the MIT is only the C# source code that is located in the main branch.
11
+ Minified JavaScript files are excluded from the MIT file since they represent
12
+ external components from other projects that are just used by our project.
13
+
14
+ Further, other branches from our contributors or temporary feature branches
15
+ are not covered by this license and may contain proprietary code.
16
+ ----------------------------------------------------------------------------------
17
+
18
+ Permission is hereby granted, free of charge, to any person obtaining a copy
19
+ of this software and associated documentation files (the "Software"), to deal
20
+ in the Software without restriction, including without limitation the rights
21
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22
+ copies of the Software, and to permit persons to whom the Software is
23
+ furnished to do so, subject to the following conditions:
24
+
25
+ The above copyright notice and this permission notice shall be included in all
26
+ copies or substantial portions of the Software.
27
+
28
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
31
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
34
+ SOFTWARE.
UBC-SAP_gold-corpus/52798f097caf9253f284d1ea9cba52066251ad617b7a47efa736c853b8e7c796.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/nuget/nuget/-/Microsoft.Azure.Devices.Client/1.36.4
2
+ https://api.clearlydefined.io/attachments/52798f097caf9253f284d1ea9cba52066251ad617b7a47efa736c853b8e7c796
3
+
4
+ Microsoft Azure IoT SDKs
5
+ Copyright (c) Microsoft Corporation
6
+ All rights reserved.
7
+ MIT License
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the ""Software""), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in
16
+ all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ THE SOFTWARE.
UBC-SAP_gold-corpus/6444c8f9e5448897681392ab7eb1b3e632da8d8a.txt ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/taz77/sendgrid-php-ng/6444c8f9e5448897681392ab7eb1b3e632da8d8a
2
+ https://github.com/taz77/sendgrid-php-ng/blob/6444c8f9e5448897681392ab7eb1b3e632da8d8a/MIT.LICENSE
3
+
4
+ Copyright (c) 2013 SendGrid
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
7
+ documentation files (the "Software"), to deal in the Software without restriction, including without limitation
8
+ the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
9
+ and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of
12
+ the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
15
+ THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
17
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
18
+ DEALINGS IN THE SOFTWARE.
UBC-SAP_gold-corpus/7200000367e0e8b47822d563a5ddd2dd3a97cc05b32bd7dbcc7b4eeb92b76628.txt ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/sourcearchive/mavencentral/org.springframework.boot/spring-boot-configuration-metadata/2.6.8
2
+ https://api.clearlydefined.io/attachments/7200000367e0e8b47822d563a5ddd2dd3a97cc05b32bd7dbcc7b4eeb92b76628
3
+
4
+ Apache License
5
+ Version 2.0, January 2004
6
+ https://www.apache.org/licenses/
7
+
8
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
+
10
+ 1. Definitions.
11
+
12
+ "License" shall mean the terms and conditions for use, reproduction,
13
+ and distribution as defined by Sections 1 through 9 of this document.
14
+
15
+ "Licensor" shall mean the copyright owner or entity authorized by
16
+ the copyright owner that is granting the License.
17
+
18
+ "Legal Entity" shall mean the union of the acting entity and all
19
+ other entities that control, are controlled by, or are under common
20
+ control with that entity. For the purposes of this definition,
21
+ "control" means (i) the power, direct or indirect, to cause the
22
+ direction or management of such entity, whether by contract or
23
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
24
+ outstanding shares, or (iii) beneficial ownership of such entity.
25
+
26
+ "You" (or "Your") shall mean an individual or Legal Entity
27
+ exercising permissions granted by this License.
28
+
29
+ "Source" form shall mean the preferred form for making modifications,
30
+ including but not limited to software source code, documentation
31
+ source, and configuration files.
32
+
33
+ "Object" form shall mean any form resulting from mechanical
34
+ transformation or translation of a Source form, including but
35
+ not limited to compiled object code, generated documentation,
36
+ and conversions to other media types.
37
+
38
+ "Work" shall mean the work of authorship, whether in Source or
39
+ Object form, made available under the License, as indicated by a
40
+ copyright notice that is included in or attached to the work
41
+ (an example is provided in the Appendix below).
42
+
43
+ "Derivative Works" shall mean any work, whether in Source or Object
44
+ form, that is based on (or derived from) the Work and for which the
45
+ editorial revisions, annotations, elaborations, or other modifications
46
+ represent, as a whole, an original work of authorship. For the purposes
47
+ of this License, Derivative Works shall not include works that remain
48
+ separable from, or merely link (or bind by name) to the interfaces of,
49
+ the Work and Derivative Works thereof.
50
+
51
+ "Contribution" shall mean any work of authorship, including
52
+ the original version of the Work and any modifications or additions
53
+ to that Work or Derivative Works thereof, that is intentionally
54
+ submitted to Licensor for inclusion in the Work by the copyright owner
55
+ or by an individual or Legal Entity authorized to submit on behalf of
56
+ the copyright owner. For the purposes of this definition, "submitted"
57
+ means any form of electronic, verbal, or written communication sent
58
+ to the Licensor or its representatives, including but not limited to
59
+ communication on electronic mailing lists, source code control systems,
60
+ and issue tracking systems that are managed by, or on behalf of, the
61
+ Licensor for the purpose of discussing and improving the Work, but
62
+ excluding communication that is conspicuously marked or otherwise
63
+ designated in writing by the copyright owner as "Not a Contribution."
64
+
65
+ "Contributor" shall mean Licensor and any individual or Legal Entity
66
+ on behalf of whom a Contribution has been received by Licensor and
67
+ subsequently incorporated within the Work.
68
+
69
+ 2. Grant of Copyright License. Subject to the terms and conditions of
70
+ this License, each Contributor hereby grants to You a perpetual,
71
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72
+ copyright license to reproduce, prepare Derivative Works of,
73
+ publicly display, publicly perform, sublicense, and distribute the
74
+ Work and such Derivative Works in Source or Object form.
75
+
76
+ 3. Grant of Patent License. Subject to the terms and conditions of
77
+ this License, each Contributor hereby grants to You a perpetual,
78
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
+ (except as stated in this section) patent license to make, have made,
80
+ use, offer to sell, sell, import, and otherwise transfer the Work,
81
+ where such license applies only to those patent claims licensable
82
+ by such Contributor that are necessarily infringed by their
83
+ Contribution(s) alone or by combination of their Contribution(s)
84
+ with the Work to which such Contribution(s) was submitted. If You
85
+ institute patent litigation against any entity (including a
86
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
87
+ or a Contribution incorporated within the Work constitutes direct
88
+ or contributory patent infringement, then any patent licenses
89
+ granted to You under this License for that Work shall terminate
90
+ as of the date such litigation is filed.
91
+
92
+ 4. Redistribution. You may reproduce and distribute copies of the
93
+ Work or Derivative Works thereof in any medium, with or without
94
+ modifications, and in Source or Object form, provided that You
95
+ meet the following conditions:
96
+
97
+ (a) You must give any other recipients of the Work or
98
+ Derivative Works a copy of this License; and
99
+
100
+ (b) You must cause any modified files to carry prominent notices
101
+ stating that You changed the files; and
102
+
103
+ (c) You must retain, in the Source form of any Derivative Works
104
+ that You distribute, all copyright, patent, trademark, and
105
+ attribution notices from the Source form of the Work,
106
+ excluding those notices that do not pertain to any part of
107
+ the Derivative Works; and
108
+
109
+ (d) If the Work includes a "NOTICE" text file as part of its
110
+ distribution, then any Derivative Works that You distribute must
111
+ include a readable copy of the attribution notices contained
112
+ within such NOTICE file, excluding those notices that do not
113
+ pertain to any part of the Derivative Works, in at least one
114
+ of the following places: within a NOTICE text file distributed
115
+ as part of the Derivative Works; within the Source form or
116
+ documentation, if provided along with the Derivative Works; or,
117
+ within a display generated by the Derivative Works, if and
118
+ wherever such third-party notices normally appear. The contents
119
+ of the NOTICE file are for informational purposes only and
120
+ do not modify the License. You may add Your own attribution
121
+ notices within Derivative Works that You distribute, alongside
122
+ or as an addendum to the NOTICE text from the Work, provided
123
+ that such additional attribution notices cannot be construed
124
+ as modifying the License.
125
+
126
+ You may add Your own copyright statement to Your modifications and
127
+ may provide additional or different license terms and conditions
128
+ for use, reproduction, or distribution of Your modifications, or
129
+ for any such Derivative Works as a whole, provided Your use,
130
+ reproduction, and distribution of the Work otherwise complies with
131
+ the conditions stated in this License.
132
+
133
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
134
+ any Contribution intentionally submitted for inclusion in the Work
135
+ by You to the Licensor shall be under the terms and conditions of
136
+ this License, without any additional terms or conditions.
137
+ Notwithstanding the above, nothing herein shall supersede or modify
138
+ the terms of any separate license agreement you may have executed
139
+ with Licensor regarding such Contributions.
140
+
141
+ 6. Trademarks. This License does not grant permission to use the trade
142
+ names, trademarks, service marks, or product names of the Licensor,
143
+ except as required for reasonable and customary use in describing the
144
+ origin of the Work and reproducing the content of the NOTICE file.
145
+
146
+ 7. Disclaimer of Warranty. Unless required by applicable law or
147
+ agreed to in writing, Licensor provides the Work (and each
148
+ Contributor provides its Contributions) on an "AS IS" BASIS,
149
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150
+ implied, including, without limitation, any warranties or conditions
151
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152
+ PARTICULAR PURPOSE. You are solely responsible for determining the
153
+ appropriateness of using or redistributing the Work and assume any
154
+ risks associated with Your exercise of permissions under this License.
155
+
156
+ 8. Limitation of Liability. In no event and under no legal theory,
157
+ whether in tort (including negligence), contract, or otherwise,
158
+ unless required by applicable law (such as deliberate and grossly
159
+ negligent acts) or agreed to in writing, shall any Contributor be
160
+ liable to You for damages, including any direct, indirect, special,
161
+ incidental, or consequential damages of any character arising as a
162
+ result of this License or out of the use or inability to use the
163
+ Work (including but not limited to damages for loss of goodwill,
164
+ work stoppage, computer failure or malfunction, or any and all
165
+ other commercial damages or losses), even if such Contributor
166
+ has been advised of the possibility of such damages.
167
+
168
+ 9. Accepting Warranty or Additional Liability. While redistributing
169
+ the Work or Derivative Works thereof, You may choose to offer,
170
+ and charge a fee for, acceptance of support, warranty, indemnity,
171
+ or other liability obligations and/or rights consistent with this
172
+ License. However, in accepting such obligations, You may act only
173
+ on Your own behalf and on Your sole responsibility, not on behalf
174
+ of any other Contributor, and only if You agree to indemnify,
175
+ defend, and hold each Contributor harmless for any liability
176
+ incurred by, or claims asserted against, such Contributor by reason
177
+ of your accepting any such warranty or additional liability.
178
+
179
+ END OF TERMS AND CONDITIONS
180
+
181
+ APPENDIX: How to apply the Apache License to your work.
182
+
183
+ To apply the Apache License to your work, attach the following
184
+ boilerplate notice, with the fields enclosed by brackets "{}"
185
+ replaced with your own identifying information. (Don't include
186
+ the brackets!) The text should be enclosed in the appropriate
187
+ comment syntax for the file format. We also recommend that a
188
+ file or class name and description of purpose be included on the
189
+ same "printed page" as the copyright notice for easier
190
+ identification within third-party archives.
191
+
192
+ Copyright {yyyy} {name of copyright owner}
193
+
194
+ Licensed under the Apache License, Version 2.0 (the "License");
195
+ you may not use this file except in compliance with the License.
196
+ You may obtain a copy of the License at
197
+
198
+ https://www.apache.org/licenses/LICENSE-2.0
199
+
200
+ Unless required by applicable law or agreed to in writing, software
201
+ distributed under the License is distributed on an "AS IS" BASIS,
202
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203
+ See the License for the specific language governing permissions and
204
+ limitations under the License.
UBC-SAP_gold-corpus/7e0515dce4950277ed404704e793bbc6d14d9464.txt ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://github.com/RedisJSON/RedisJSON/blob/7e0515dce4950277ed404704e793bbc6d14d9464/LICENSE#:~:text=under%20the%20License.-,Commons%20Clause%20Restriction,notice.,-%C2%A9%202022%20GitHub%2C%20Inc
2
+
3
+ ReJSON Licensing
4
+ Copyright 2018-2019 Redis Labs Ltd. and Contributors.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License") modified with Commons Clause
7
+ Restriction; you may not use this file except in compliance with the License. You may obtain a
8
+ copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under the
13
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ KIND, either express or implied. See the License for the specific language governing permissions
15
+ and limitations under the License.
16
+
17
+ Commons Clause Restriction
18
+
19
+ The Software is provided to you by the Licensor under the License, as defined below, subject to
20
+ the following condition.
21
+ Without limiting other conditions in the License, the grant of rights under the License will not
22
+ include, and the License does not grant to you, the right to Sell the Software.
23
+ For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you
24
+ under the License to provide to third parties, for a fee or other consideration (including without
25
+ limitation fees for hosting or consulting/ support services related to the Software), a product or
26
+ service whose value derives, entirely or substantially, from the functionality of the Software.
27
+ Any license notice or attribution required by the License must also include this Commons Cause
28
+ License Condition notice.
29
+
30
+ For purposes of the clause above, the “Licensor” is Redis Labs Ltd., the “License” is the Apache
31
+ License, Version 2.0, and the Software is the ReJSON software provided with this
32
+ notice.
UBC-SAP_gold-corpus/7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c.txt ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/pdoc/12.0.2
2
+ https://api.clearlydefined.io/attachments/7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c
3
+
4
+ This is free and unencumbered software released into the public domain.
5
+
6
+ Anyone is free to copy, modify, publish, use, compile, sell, or
7
+ distribute this software, either in source code form or as a compiled
8
+ binary, for any purpose, commercial or non-commercial, and by any
9
+ means.
10
+
11
+ In jurisdictions that recognize copyright laws, the author or authors
12
+ of this software dedicate any and all copyright interest in the
13
+ software to the public domain. We make this dedication for the benefit
14
+ of the public at large and to the detriment of our heirs and
15
+ successors. We intend this dedication to be an overt act of
16
+ relinquishment in perpetuity of all present and future rights to this
17
+ software under copyright law.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
+ OTHER DEALINGS IN THE SOFTWARE.
26
+
27
+ For more information, please refer to <http://unlicense.org/>
UBC-SAP_gold-corpus/87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed.txt ADDED
@@ -0,0 +1,341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/composer/packagist/goalgorilla/open_social/11.3.2
2
+ https://api.clearlydefined.io/attachments/87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed
3
+ GNU GENERAL PUBLIC LICENSE
4
+ Version 2, June 1991
5
+
6
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
7
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
8
+ Everyone is permitted to copy and distribute verbatim copies
9
+ of this license document, but changing it is not allowed.
10
+
11
+ Preamble
12
+
13
+ The licenses for most software are designed to take away your
14
+ freedom to share and change it. By contrast, the GNU General Public
15
+ License is intended to guarantee your freedom to share and change free
16
+ software--to make sure the software is free for all its users. This
17
+ General Public License applies to most of the Free Software
18
+ Foundation's software and to any other program whose authors commit to
19
+ using it. (Some other Free Software Foundation software is covered by
20
+ the GNU Lesser General Public License instead.) You can apply it to
21
+ your programs, too.
22
+
23
+ When we speak of free software, we are referring to freedom, not
24
+ price. Our General Public Licenses are designed to make sure that you
25
+ have the freedom to distribute copies of free software (and charge for
26
+ this service if you wish), that you receive source code or can get it
27
+ if you want it, that you can change the software or use pieces of it
28
+ in new free programs; and that you know you can do these things.
29
+
30
+ To protect your rights, we need to make restrictions that forbid
31
+ anyone to deny you these rights or to ask you to surrender the rights.
32
+ These restrictions translate to certain responsibilities for you if you
33
+ distribute copies of the software, or if you modify it.
34
+
35
+ For example, if you distribute copies of such a program, whether
36
+ gratis or for a fee, you must give the recipients all the rights that
37
+ you have. You must make sure that they, too, receive or can get the
38
+ source code. And you must show them these terms so they know their
39
+ rights.
40
+
41
+ We protect your rights with two steps: (1) copyright the software, and
42
+ (2) offer you this license which gives you legal permission to copy,
43
+ distribute and/or modify the software.
44
+
45
+ Also, for each author's protection and ours, we want to make certain
46
+ that everyone understands that there is no warranty for this free
47
+ software. If the software is modified by someone else and passed on, we
48
+ want its recipients to know that what they have is not the original, so
49
+ that any problems introduced by others will not reflect on the original
50
+ authors' reputations.
51
+
52
+ Finally, any free program is threatened constantly by software
53
+ patents. We wish to avoid the danger that redistributors of a free
54
+ program will individually obtain patent licenses, in effect making the
55
+ program proprietary. To prevent this, we have made it clear that any
56
+ patent must be licensed for everyone's free use or not licensed at all.
57
+
58
+ The precise terms and conditions for copying, distribution and
59
+ modification follow.
60
+
61
+ GNU GENERAL PUBLIC LICENSE
62
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
63
+
64
+ 0. This License applies to any program or other work which contains
65
+ a notice placed by the copyright holder saying it may be distributed
66
+ under the terms of this General Public License. The "Program", below,
67
+ refers to any such program or work, and a "work based on the Program"
68
+ means either the Program or any derivative work under copyright law:
69
+ that is to say, a work containing the Program or a portion of it,
70
+ either verbatim or with modifications and/or translated into another
71
+ language. (Hereinafter, translation is included without limitation in
72
+ the term "modification".) Each licensee is addressed as "you".
73
+
74
+ Activities other than copying, distribution and modification are not
75
+ covered by this License; they are outside its scope. The act of
76
+ running the Program is not restricted, and the output from the Program
77
+ is covered only if its contents constitute a work based on the
78
+ Program (independent of having been made by running the Program).
79
+ Whether that is true depends on what the Program does.
80
+
81
+ 1. You may copy and distribute verbatim copies of the Program's
82
+ source code as you receive it, in any medium, provided that you
83
+ conspicuously and appropriately publish on each copy an appropriate
84
+ copyright notice and disclaimer of warranty; keep intact all the
85
+ notices that refer to this License and to the absence of any warranty;
86
+ and give any other recipients of the Program a copy of this License
87
+ along with the Program.
88
+
89
+ You may charge a fee for the physical act of transferring a copy, and
90
+ you may at your option offer warranty protection in exchange for a fee.
91
+
92
+ 2. You may modify your copy or copies of the Program or any portion
93
+ of it, thus forming a work based on the Program, and copy and
94
+ distribute such modifications or work under the terms of Section 1
95
+ above, provided that you also meet all of these conditions:
96
+
97
+ a) You must cause the modified files to carry prominent notices
98
+ stating that you changed the files and the date of any change.
99
+
100
+ b) You must cause any work that you distribute or publish, that in
101
+ whole or in part contains or is derived from the Program or any
102
+ part thereof, to be licensed as a whole at no charge to all third
103
+ parties under the terms of this License.
104
+
105
+ c) If the modified program normally reads commands interactively
106
+ when run, you must cause it, when started running for such
107
+ interactive use in the most ordinary way, to print or display an
108
+ announcement including an appropriate copyright notice and a
109
+ notice that there is no warranty (or else, saying that you provide
110
+ a warranty) and that users may redistribute the program under
111
+ these conditions, and telling the user how to view a copy of this
112
+ License. (Exception: if the Program itself is interactive but
113
+ does not normally print such an announcement, your work based on
114
+ the Program is not required to print an announcement.)
115
+
116
+ These requirements apply to the modified work as a whole. If
117
+ identifiable sections of that work are not derived from the Program,
118
+ and can be reasonably considered independent and separate works in
119
+ themselves, then this License, and its terms, do not apply to those
120
+ sections when you distribute them as separate works. But when you
121
+ distribute the same sections as part of a whole which is a work based
122
+ on the Program, the distribution of the whole must be on the terms of
123
+ this License, whose permissions for other licensees extend to the
124
+ entire whole, and thus to each and every part regardless of who wrote it.
125
+
126
+ Thus, it is not the intent of this section to claim rights or contest
127
+ your rights to work written entirely by you; rather, the intent is to
128
+ exercise the right to control the distribution of derivative or
129
+ collective works based on the Program.
130
+
131
+ In addition, mere aggregation of another work not based on the Program
132
+ with the Program (or with a work based on the Program) on a volume of
133
+ a storage or distribution medium does not bring the other work under
134
+ the scope of this License.
135
+
136
+ 3. You may copy and distribute the Program (or a work based on it,
137
+ under Section 2) in object code or executable form under the terms of
138
+ Sections 1 and 2 above provided that you also do one of the following:
139
+
140
+ a) Accompany it with the complete corresponding machine-readable
141
+ source code, which must be distributed under the terms of Sections
142
+ 1 and 2 above on a medium customarily used for software interchange; or,
143
+
144
+ b) Accompany it with a written offer, valid for at least three
145
+ years, to give any third party, for a charge no more than your
146
+ cost of physically performing source distribution, a complete
147
+ machine-readable copy of the corresponding source code, to be
148
+ distributed under the terms of Sections 1 and 2 above on a medium
149
+ customarily used for software interchange; or,
150
+
151
+ c) Accompany it with the information you received as to the offer
152
+ to distribute corresponding source code. (This alternative is
153
+ allowed only for noncommercial distribution and only if you
154
+ received the program in object code or executable form with such
155
+ an offer, in accord with Subsection b above.)
156
+
157
+ The source code for a work means the preferred form of the work for
158
+ making modifications to it. For an executable work, complete source
159
+ code means all the source code for all modules it contains, plus any
160
+ associated interface definition files, plus the scripts used to
161
+ control compilation and installation of the executable. However, as a
162
+ special exception, the source code distributed need not include
163
+ anything that is normally distributed (in either source or binary
164
+ form) with the major components (compiler, kernel, and so on) of the
165
+ operating system on which the executable runs, unless that component
166
+ itself accompanies the executable.
167
+
168
+ If distribution of executable or object code is made by offering
169
+ access to copy from a designated place, then offering equivalent
170
+ access to copy the source code from the same place counts as
171
+ distribution of the source code, even though third parties are not
172
+ compelled to copy the source along with the object code.
173
+
174
+ 4. You may not copy, modify, sublicense, or distribute the Program
175
+ except as expressly provided under this License. Any attempt
176
+ otherwise to copy, modify, sublicense or distribute the Program is
177
+ void, and will automatically terminate your rights under this License.
178
+ However, parties who have received copies, or rights, from you under
179
+ this License will not have their licenses terminated so long as such
180
+ parties remain in full compliance.
181
+
182
+ 5. You are not required to accept this License, since you have not
183
+ signed it. However, nothing else grants you permission to modify or
184
+ distribute the Program or its derivative works. These actions are
185
+ prohibited by law if you do not accept this License. Therefore, by
186
+ modifying or distributing the Program (or any work based on the
187
+ Program), you indicate your acceptance of this License to do so, and
188
+ all its terms and conditions for copying, distributing or modifying
189
+ the Program or works based on it.
190
+
191
+ 6. Each time you redistribute the Program (or any work based on the
192
+ Program), the recipient automatically receives a license from the
193
+ original licensor to copy, distribute or modify the Program subject to
194
+ these terms and conditions. You may not impose any further
195
+ restrictions on the recipients' exercise of the rights granted herein.
196
+ You are not responsible for enforcing compliance by third parties to
197
+ this License.
198
+
199
+ 7. If, as a consequence of a court judgment or allegation of patent
200
+ infringement or for any other reason (not limited to patent issues),
201
+ conditions are imposed on you (whether by court order, agreement or
202
+ otherwise) that contradict the conditions of this License, they do not
203
+ excuse you from the conditions of this License. If you cannot
204
+ distribute so as to satisfy simultaneously your obligations under this
205
+ License and any other pertinent obligations, then as a consequence you
206
+ may not distribute the Program at all. For example, if a patent
207
+ license would not permit royalty-free redistribution of the Program by
208
+ all those who receive copies directly or indirectly through you, then
209
+ the only way you could satisfy both it and this License would be to
210
+ refrain entirely from distribution of the Program.
211
+
212
+ If any portion of this section is held invalid or unenforceable under
213
+ any particular circumstance, the balance of the section is intended to
214
+ apply and the section as a whole is intended to apply in other
215
+ circumstances.
216
+
217
+ It is not the purpose of this section to induce you to infringe any
218
+ patents or other property right claims or to contest validity of any
219
+ such claims; this section has the sole purpose of protecting the
220
+ integrity of the free software distribution system, which is
221
+ implemented by public license practices. Many people have made
222
+ generous contributions to the wide range of software distributed
223
+ through that system in reliance on consistent application of that
224
+ system; it is up to the author/donor to decide if he or she is willing
225
+ to distribute software through any other system and a licensee cannot
226
+ impose that choice.
227
+
228
+ This section is intended to make thoroughly clear what is believed to
229
+ be a consequence of the rest of this License.
230
+
231
+ 8. If the distribution and/or use of the Program is restricted in
232
+ certain countries either by patents or by copyrighted interfaces, the
233
+ original copyright holder who places the Program under this License
234
+ may add an explicit geographical distribution limitation excluding
235
+ those countries, so that distribution is permitted only in or among
236
+ countries not thus excluded. In such case, this License incorporates
237
+ the limitation as if written in the body of this License.
238
+
239
+ 9. The Free Software Foundation may publish revised and/or new versions
240
+ of the General Public License from time to time. Such new versions will
241
+ be similar in spirit to the present version, but may differ in detail to
242
+ address new problems or concerns.
243
+
244
+ Each version is given a distinguishing version number. If the Program
245
+ specifies a version number of this License which applies to it and "any
246
+ later version", you have the option of following the terms and conditions
247
+ either of that version or of any later version published by the Free
248
+ Software Foundation. If the Program does not specify a version number of
249
+ this License, you may choose any version ever published by the Free Software
250
+ Foundation.
251
+
252
+ 10. If you wish to incorporate parts of the Program into other free
253
+ programs whose distribution conditions are different, write to the author
254
+ to ask for permission. For software which is copyrighted by the Free
255
+ Software Foundation, write to the Free Software Foundation; we sometimes
256
+ make exceptions for this. Our decision will be guided by the two goals
257
+ of preserving the free status of all derivatives of our free software and
258
+ of promoting the sharing and reuse of software generally.
259
+
260
+ NO WARRANTY
261
+
262
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
263
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
264
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
265
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
266
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
267
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
268
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
269
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
270
+ REPAIR OR CORRECTION.
271
+
272
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
273
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
274
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
275
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
276
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
277
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
278
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
279
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
280
+ POSSIBILITY OF SUCH DAMAGES.
281
+
282
+ END OF TERMS AND CONDITIONS
283
+
284
+ How to Apply These Terms to Your New Programs
285
+
286
+ If you develop a new program, and you want it to be of the greatest
287
+ possible use to the public, the best way to achieve this is to make it
288
+ free software which everyone can redistribute and change under these terms.
289
+
290
+ To do so, attach the following notices to the program. It is safest
291
+ to attach them to the start of each source file to most effectively
292
+ convey the exclusion of warranty; and each file should have at least
293
+ the "copyright" line and a pointer to where the full notice is found.
294
+
295
+ <one line to give the program's name and a brief idea of what it does.>
296
+ Copyright (C) <year> <name of author>
297
+
298
+ This program is free software; you can redistribute it and/or modify
299
+ it under the terms of the GNU General Public License as published by
300
+ the Free Software Foundation; either version 2 of the License, or
301
+ (at your option) any later version.
302
+
303
+ This program is distributed in the hope that it will be useful,
304
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
305
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
306
+ GNU General Public License for more details.
307
+
308
+ You should have received a copy of the GNU General Public License along
309
+ with this program; if not, write to the Free Software Foundation, Inc.,
310
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
311
+
312
+ Also add information on how to contact you by electronic and paper mail.
313
+
314
+ If the program is interactive, make it output a short notice like this
315
+ when it starts in an interactive mode:
316
+
317
+ Gnomovision version 69, Copyright (C) year name of author
318
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
319
+ This is free software, and you are welcome to redistribute it
320
+ under certain conditions; type `show c' for details.
321
+
322
+ The hypothetical commands `show w' and `show c' should show the appropriate
323
+ parts of the General Public License. Of course, the commands you use may
324
+ be called something other than `show w' and `show c'; they could even be
325
+ mouse-clicks or menu items--whatever suits your program.
326
+
327
+ You should also get your employer (if you work as a programmer) or your
328
+ school, if any, to sign a "copyright disclaimer" for the program, if
329
+ necessary. Here is a sample; alter the names:
330
+
331
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
332
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
333
+
334
+ <signature of Ty Coon>, 1 April 1989
335
+ Ty Coon, President of Vice
336
+
337
+ This General Public License does not permit incorporating your program into
338
+ proprietary programs. If your program is a subroutine library, you may
339
+ consider it more useful to permit linking proprietary applications with the
340
+ library. If this is what you want to do, use the GNU Lesser General
341
+ Public License instead of this License.
UBC-SAP_gold-corpus/885291b849b09c30262a7fdc5576d6099394d2c491866b8e4cdfe9ce95e8cfc9.txt ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/pykdtree/1.3.5
2
+ https://api.clearlydefined.io/attachments/885291b849b09c30262a7fdc5576d6099394d2c491866b8e4cdfe9ce95e8cfc9
3
+ GNU LESSER GENERAL PUBLIC LICENSE
4
+ Version 3, 29 June 2007
5
+
6
+ Copyright (C) 2007, 2015 Free Software Foundation, Inc. <http://fsf.org/>
7
+ Everyone is permitted to copy and distribute verbatim copies
8
+ of this license document, but changing it is not allowed.
9
+
10
+
11
+ This version of the GNU Lesser General Public License incorporates
12
+ the terms and conditions of version 3 of the GNU General Public
13
+ License, supplemented by the additional permissions listed below.
14
+
15
+ 0. Additional Definitions.
16
+
17
+ As used herein, "this License" refers to version 3 of the GNU Lesser
18
+ General Public License, and the "GNU GPL" refers to version 3 of the GNU
19
+ General Public License.
20
+
21
+ "The Library" refers to a covered work governed by this License,
22
+ other than an Application or a Combined Work as defined below.
23
+
24
+ An "Application" is any work that makes use of an interface provided
25
+ by the Library, but which is not otherwise based on the Library.
26
+ Defining a subclass of a class defined by the Library is deemed a mode
27
+ of using an interface provided by the Library.
28
+
29
+ A "Combined Work" is a work produced by combining or linking an
30
+ Application with the Library. The particular version of the Library
31
+ with which the Combined Work was made is also called the "Linked
32
+ Version".
33
+
34
+ The "Minimal Corresponding Source" for a Combined Work means the
35
+ Corresponding Source for the Combined Work, excluding any source code
36
+ for portions of the Combined Work that, considered in isolation, are
37
+ based on the Application, and not on the Linked Version.
38
+
39
+ The "Corresponding Application Code" for a Combined Work means the
40
+ object code and/or source code for the Application, including any data
41
+ and utility programs needed for reproducing the Combined Work from the
42
+ Application, but excluding the System Libraries of the Combined Work.
43
+
44
+ 1. Exception to Section 3 of the GNU GPL.
45
+
46
+ You may convey a covered work under sections 3 and 4 of this License
47
+ without being bound by section 3 of the GNU GPL.
48
+
49
+ 2. Conveying Modified Versions.
50
+
51
+ If you modify a copy of the Library, and, in your modifications, a
52
+ facility refers to a function or data to be supplied by an Application
53
+ that uses the facility (other than as an argument passed when the
54
+ facility is invoked), then you may convey a copy of the modified
55
+ version:
56
+
57
+ a) under this License, provided that you make a good faith effort to
58
+ ensure that, in the event an Application does not supply the
59
+ function or data, the facility still operates, and performs
60
+ whatever part of its purpose remains meaningful, or
61
+
62
+ b) under the GNU GPL, with none of the additional permissions of
63
+ this License applicable to that copy.
64
+
65
+ 3. Object Code Incorporating Material from Library Header Files.
66
+
67
+ The object code form of an Application may incorporate material from
68
+ a header file that is part of the Library. You may convey such object
69
+ code under terms of your choice, provided that, if the incorporated
70
+ material is not limited to numerical parameters, data structure
71
+ layouts and accessors, or small macros, inline functions and templates
72
+ (ten or fewer lines in length), you do both of the following:
73
+
74
+ a) Give prominent notice with each copy of the object code that the
75
+ Library is used in it and that the Library and its use are
76
+ covered by this License.
77
+
78
+ b) Accompany the object code with a copy of the GNU GPL and this license
79
+ document.
80
+
81
+ 4. Combined Works.
82
+
83
+ You may convey a Combined Work under terms of your choice that,
84
+ taken together, effectively do not restrict modification of the
85
+ portions of the Library contained in the Combined Work and reverse
86
+ engineering for debugging such modifications, if you also do each of
87
+ the following:
88
+
89
+ a) Give prominent notice with each copy of the Combined Work that
90
+ the Library is used in it and that the Library and its use are
91
+ covered by this License.
92
+
93
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
94
+ document.
95
+
96
+ c) For a Combined Work that displays copyright notices during
97
+ execution, include the copyright notice for the Library among
98
+ these notices, as well as a reference directing the user to the
99
+ copies of the GNU GPL and this license document.
100
+
101
+ d) Do one of the following:
102
+
103
+ 0) Convey the Minimal Corresponding Source under the terms of this
104
+ License, and the Corresponding Application Code in a form
105
+ suitable for, and under terms that permit, the user to
106
+ recombine or relink the Application with a modified version of
107
+ the Linked Version to produce a modified Combined Work, in the
108
+ manner specified by section 6 of the GNU GPL for conveying
109
+ Corresponding Source.
110
+
111
+ 1) Use a suitable shared library mechanism for linking with the
112
+ Library. A suitable mechanism is one that (a) uses at run time
113
+ a copy of the Library already present on the user's computer
114
+ system, and (b) will operate properly with a modified version
115
+ of the Library that is interface-compatible with the Linked
116
+ Version.
117
+
118
+ e) Provide Installation Information, but only if you would otherwise
119
+ be required to provide such information under section 6 of the
120
+ GNU GPL, and only to the extent that such information is
121
+ necessary to install and execute a modified version of the
122
+ Combined Work produced by recombining or relinking the
123
+ Application with a modified version of the Linked Version. (If
124
+ you use option 4d0, the Installation Information must accompany
125
+ the Minimal Corresponding Source and Corresponding Application
126
+ Code. If you use option 4d1, you must provide the Installation
127
+ Information in the manner specified by section 6 of the GNU GPL
128
+ for conveying Corresponding Source.)
129
+
130
+ 5. Combined Libraries.
131
+
132
+ You may place library facilities that are a work based on the
133
+ Library side by side in a single library together with other library
134
+ facilities that are not Applications and are not covered by this
135
+ License, and convey such a combined library under terms of your
136
+ choice, if you do both of the following:
137
+
138
+ a) Accompany the combined library with a copy of the same work based
139
+ on the Library, uncombined with any other library facilities,
140
+ conveyed under the terms of this License.
141
+
142
+ b) Give prominent notice with the combined library that part of it
143
+ is a work based on the Library, and explaining where to find the
144
+ accompanying uncombined form of the same work.
145
+
146
+ 6. Revised Versions of the GNU Lesser General Public License.
147
+
148
+ The Free Software Foundation may publish revised and/or new versions
149
+ of the GNU Lesser General Public License from time to time. Such new
150
+ versions will be similar in spirit to the present version, but may
151
+ differ in detail to address new problems or concerns.
152
+
153
+ Each version is given a distinguishing version number. If the
154
+ Library as you received it specifies that a certain numbered version
155
+ of the GNU Lesser General Public License "or any later version"
156
+ applies to it, you have the option of following the terms and
157
+ conditions either of that published version or of any later version
158
+ published by the Free Software Foundation. If the Library as you
159
+ received it does not specify a version number of the GNU Lesser
160
+ General Public License, you may choose any version of the GNU Lesser
161
+ General Public License ever published by the Free Software Foundation.
162
+
163
+ If the Library as you received it specifies that a proxy can decide
164
+ whether future versions of the GNU Lesser General Public License shall
165
+ apply, that proxy's public statement of acceptance of any version is
166
+ permanent authorization for you to choose that version for the
167
+ Library.
UBC-SAP_gold-corpus/9d2abe5ca823898acd5cdae62ddb4dffefd28ffd54d58b4aa796e7924b40cff3.txt ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/vaex-core/4.9.2
2
+ https://api.clearlydefined.io/attachments/9d2abe5ca823898acd5cdae62ddb4dffefd28ffd54d58b4aa796e7924b40cff3
3
+
4
+ The MIT License (MIT)
5
+
6
+ Copyright (c) 2015, Maarten A. Breddels
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in all
16
+ copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
25
+
26
+ =========================================================================
27
+ This project includes code from unilib
28
+
29
+ Home page: https://github.com/ufal/unilib/
30
+ License: https://www.mozilla.org/en-US/MPL/2.0/
UBC-SAP_gold-corpus/9d3878b0a87ad1b2bafb729e8c9085b36b17bd0d30a813030113e13f99cced2c.txt ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/maven/mavencentral/org.jdom/jdom2/2.0.6.1
2
+ https://api.clearlydefined.io/attachments/9d3878b0a87ad1b2bafb729e8c9085b36b17bd0d30a813030113e13f99cced2c
3
+ /*--
4
+
5
+ Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin.
6
+ All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without
9
+ modification, are permitted provided that the following conditions
10
+ are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright
13
+ notice, this list of conditions, and the following disclaimer.
14
+
15
+ 2. Redistributions in binary form must reproduce the above copyright
16
+ notice, this list of conditions, and the disclaimer that follows
17
+ these conditions in the documentation and/or other materials
18
+ provided with the distribution.
19
+
20
+ 3. The name "JDOM" must not be used to endorse or promote products
21
+ derived from this software without prior written permission. For
22
+ written permission, please contact <request_AT_jdom_DOT_org>.
23
+
24
+ 4. Products derived from this software may not be called "JDOM", nor
25
+ may "JDOM" appear in their name, without prior written permission
26
+ from the JDOM Project Management <request_AT_jdom_DOT_org>.
27
+
28
+ In addition, we request (but do not require) that you include in the
29
+ end-user documentation provided with the redistribution and/or in the
30
+ software itself an acknowledgement equivalent to the following:
31
+ "This product includes software developed by the
32
+ JDOM Project (http://www.jdom.org/)."
33
+ Alternatively, the acknowledgment may be graphical using the logos
34
+ available at http://www.jdom.org/images/logos.
35
+
36
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
+ DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
40
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47
+ SUCH DAMAGE.
48
+
49
+ This software consists of voluntary contributions made by many
50
+ individuals on behalf of the JDOM Project and was originally
51
+ created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
52
+ Brett McLaughlin <brett_AT_jdom_DOT_org>. For more information
53
+ on the JDOM Project, please see <http://www.jdom.org/>.
54
+
55
+ */
56
+
UBC-SAP_gold-corpus/UBC-SAP_capstone_corpus_labels_removed.xlsx ADDED
Binary file (82.9 kB). View file
 
UBC-SAP_gold-corpus/be4d67364494daabb2b7954b987c1edfa18f09af84469982e0f6b3b8d9c8d612.txt ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/composer/packagist/accoladelabs/accolade_base/0.1.0
2
+ https://api.clearlydefined.io/attachments/be4d67364494daabb2b7954b987c1edfa18f09af84469982e0f6b3b8d9c8d612
3
+
4
+ Open Software License ("OSL") v. 3.0
5
+
6
+ This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
7
+
8
+ Licensed under the Open Software License version 3.0
9
+
10
+ 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
11
+
12
+ 1. to reproduce the Original Work in copies, either alone or as part of a collective work;
13
+
14
+ 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
15
+
16
+ 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License;
17
+
18
+ 4. to perform the Original Work publicly; and
19
+
20
+ 5. to display the Original Work publicly.
21
+
22
+ 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
23
+
24
+ 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
25
+
26
+ 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
27
+
28
+ 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
29
+
30
+ 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
31
+
32
+ 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
33
+
34
+ 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
35
+
36
+ 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
37
+
38
+ 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
39
+
40
+ 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
41
+
42
+ 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
43
+
44
+ 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
45
+
46
+ 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
47
+
48
+ 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
49
+
50
+ 16. Modification of This License. This License is Copyright � 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
UBC-SAP_gold-corpus/bf30ef45fec6994c6cc47b8ec90b3551f061cb2e32279bf6bc978c35b0126024.txt ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/nuget/nuget/-/Mime-Detective/22.7.19
2
+ https://api.clearlydefined.io/attachments/bf30ef45fec6994c6cc47b8ec90b3551f061cb2e32279bf6bc978c35b0126024
3
+
4
+ MIT-Based License
5
+
6
+ Copyright (c) 2021 The MimeDetective developer
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ --> SUPPORT SOURCE-CODE UNITY:
16
+ --> NO DERIVITIVE PACKAGE MAY BE DISTRIBUTED THROUGH ANY PACKAGE MANAGEMENT SYSTEM.
17
+ --> (IE. YOU MAY NOT PUBLISH A DERIVITIVE PACKAGE THROUGH NUGET.ORG.)
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
UBC-SAP_gold-corpus/cf7c3c6d0ed4bad89359301a220b536c4385ed36a396ca40def83b200df43225.txt ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/composer/packagist/ezsystems/ezplatform-demo-assets/1.0.0
2
+ https://api.clearlydefined.io/attachments/cf7c3c6d0ed4bad89359301a220b536c4385ed36a396ca40def83b200df43225
3
+
4
+ Copyright (C) 1999-2016 eZ Systems AS. All rights reserved.
5
+ This source code is provided under the following license:
6
+
7
+
8
+ eZ Trial and Test License Agreement ("eZ TTL") Version 2.0
9
+
10
+
11
+ IMPORTANT: Please read the following license agreement carefully.
12
+
13
+ This license agreement is between eZ systems AS (Norwegian business
14
+ registration no. 981 601 564), a Norwegian company ("Licensor" or "eZ"),
15
+ and a test or trial user ("Licensee" or "you"). By installing all or any
16
+ portion of the software (or authorizing any other person to do so), you
17
+ accept the terms and conditions of this license. If you acquired the
18
+ software without an opportunity to review this license and do not accept
19
+ the license, you must: (a) not use the software and (b) return or delete
20
+ the software, with your certification of deletion, within thirty (30)
21
+ days of the acquire date.
22
+
23
+ This license agreement is entered into in connection with Licensee's
24
+ participation in testing a new version of Licensor software and is valid
25
+ for 6 months from the date the software was acquired (downloaded).
26
+
27
+ The parties hereby agree to the following software license terms:
28
+
29
+
30
+ 1. Definitions
31
+
32
+ "Licensed Software" means the eZ Publish Enterprise Edition content
33
+ management system or other software product downloaded, ordered or
34
+ otherwise legally acquired (licensed) by Licensee from Licensor (or
35
+ other party authorized by the Licensor) under these terms.
36
+
37
+ "Licensed Copy" means one sample of the Licensed Software.
38
+
39
+ "Website" means up to three defined site access configurations (unique
40
+ URLs) that may for instance consist of one site for public use, one site
41
+ for internal use (such as an intranet) and one site for site
42
+ administrator use, communicated an unlimited number of channels
43
+ (such as traditional web, mobile).
44
+
45
+ 2. License grant
46
+
47
+ 2.1 You may
48
+ Licensor grants you a limited, non-exclusive, time limited and
49
+ non-transferable right to:
50
+ (a) install and run the Licensed Copy on the agreed number of Websites
51
+ for internal testing purposes;
52
+ (b) make enhancements, patches, workarounds, bug fixes or other
53
+ modifications (collectively "Licensee Modifications") to the Licensed
54
+ Copy, solely for your internal testing of the Licensed Software, and
55
+ (c) perform presentations based on the Licensed Software, including
56
+ building and presenting sample solutions to your clients or potential
57
+ clients.
58
+
59
+ Since the license is free of charge, you are obliged to submit Licensee
60
+ Modifications to eZ on a continuous basis to contribution@ez.no as
61
+ contributions, see section 7.1. Such contribution must include a short
62
+ note explaining the Licensee Modification.
63
+
64
+ Licensee may make a reasonable number of copies of the Licensed Copy as
65
+ required for backup and archival purposes only.
66
+
67
+ 2.2 You may not
68
+ Licensee may use the Licensed Software only as expressly granted in
69
+ section 2.1. Without limiting the foregoing, Licensee may not: (a) use
70
+ or operate the Licensed Software for regular business use; (b) give,
71
+ lease, license, sell, make available, or distribute any part of the
72
+ Licensed Software or Licensee Modifications to any third party, except
73
+ as otherwise expressly permitted herein; (c) use the Licensed Software
74
+ to operate in or as a time-sharing, outsourcing, service bureau,
75
+ application service provider, managed service provider environment or
76
+ similar service directed towards and performed on behalf or for the
77
+ benefit of a third party; (d) copy the Licensed Software onto any public
78
+ or distributed network; or (e) change any rights notices which appear in
79
+ the Licensed Software.
80
+
81
+ 3. Your responsibility
82
+ Except as expressly set forth herein or in a separate written agreement,
83
+ Licensee is the sole responsible for the installation of the Licensed
84
+ Software, its operation, supervision, maintenance, management and
85
+ related training and support. You are also the sole responsible for any
86
+ related installation, maintenance and configuration of computer hardware
87
+ used by the Licensed Software.
88
+
89
+ 4. Price
90
+ You may use the Software free of charge.
91
+
92
+ 5. Audit rights
93
+ During the term of this license and for a three (3) year period
94
+ following its termination, Licensor may conduct periodic reviews of
95
+ Licensee's records relating to its Licensed Software for the purpose of
96
+ verifying Licensee's compliance with this license and any related
97
+ agreements. During this three (3) year period, you are obliged to
98
+ maintain complete and accurate books and other records related to
99
+ software licensing and related payments. Licensor must exercise its
100
+ right of audit upon no fewer than 15 days' prior notice. Licensee will
101
+ provide Licensor with reasonable access and assistance for the audit,
102
+ including reasonable use of available office equipment and space.
103
+ Licensor shall upon request deliver to Licensee a copy of the results of
104
+ any such audit.
105
+
106
+ 6. Termination
107
+ Licensor may terminate this license immediately if you are in breach any
108
+ of its provisions and such breach remains uncured 30 days after receipt
109
+ of notice. In the event that you are or becomes liquidated, dissolved,
110
+ bankrupt or insolvent, whether voluntarily or involuntarily, or is to
111
+ take any action to be so declared, Licensor may terminate this license
112
+ immediately. Upon cancellation or other termination of this license, for
113
+ any reason, you must immediately destroy all copies of the Licensed
114
+ Software, and confirm the destruction within 7 (seven) days. Sections 5
115
+ through 11 shall survive the termination of this license for any reason.
116
+
117
+ 7. Intellectual property rights
118
+
119
+ 7.1 General
120
+ Licensee agrees that the copyright and all other intellectual property
121
+ and proprietary rights of whatever nature in the Licensed Software and
122
+ related documentation are not by this license transferred to you. No
123
+ trademarks of eZ may be used by you without Licensor's express written
124
+ permission. If permission is grated, use must always take place in
125
+ accordance with the applicable Licensor guidelines as they may be
126
+ updated from time to time. For Licensee Modifications, you must, in the
127
+ modified files and in a separate text file, clearly indicate that the
128
+ Licensed Software contains modifications and state their dates.
129
+
130
+ 7.2 Contribution of Licensee Modifications
131
+ To the extent that any contributed Licensee Modifications incorporates
132
+ any element which is subject to any intellectual property right owned by
133
+ Licensee, Licensee hereby grants to eZ an unrestricted, non-exclusive,
134
+ perpetual, royalty-free, world-wide, irrevocable and fully transferable
135
+ license to make, use, sell, offer for sale, reproduce, create
136
+ derivatives of, publish, display, sublicense or otherwise practice such
137
+ intellectual property right.
138
+
139
+ Regarding any copyrights in Licensee Modifications:
140
+ - You hereby assign to us joint ownership, and to the extent that such
141
+ assignment is or becomes invalid, ineffective or unenforceable, you
142
+ hereby grant to us a perpetual, irrevocable, non-exclusive, worldwide,
143
+ no-charge unrestricted license to exercise all rights under those
144
+ copyrights. This includes, at our option, the right to sublicense
145
+ these same rights to third parties through multiple levels of
146
+ sub-licensees or other licensing arrangements;
147
+
148
+ - You agree that each of us can do all things in relation to Licensee
149
+ Modifications as if each of us were sole and independent copyright
150
+ holders. If one of us makes a derivative work the Licensee
151
+ Modifications, the one who makes the derivative work (or has it made)
152
+ will be the sole owner of that derivative work, hereunder make, have
153
+ made, use, license, offer to license, import, and otherwise transfer
154
+ your contribution in whole or in part, whether at a charge or at
155
+ no-charge;
156
+
157
+ - You agree that neither of us have any duty to consult with, obtain the
158
+ consent of, pay or render accounts to the other for any use or
159
+ distribution of the material.
160
+
161
+ With respect to the Licensee Modifications, you represent that:
162
+ - it is an original work by you and that you can legally grant the
163
+ rights set out in these terms;
164
+ - it does not to the best of your knowledge violate any third party's
165
+ copyrights, trademarks, patents or other intellectual property rights.
166
+
167
+ 8. Disclaimer of warranties
168
+ The Licensed Software is licensed "as is," without any warranties
169
+ whatsoever. Licensor expressly disclaims, and licensee expressly waives,
170
+ all warranties, whether express or implied, including warranties of
171
+ merchantability, fitness for a particular purpose, non-infringement,
172
+ system integration, non-interference and accuracy of informational
173
+ content. Licensor does not warrant that the licensed software will meet
174
+ licensee's requirements or that the operation of the licensed software
175
+ will be uninterrupted or error-free, or that errors will be corrected.
176
+ The entire risk of the licensed software's quality and performance is
177
+ with licensee.
178
+
179
+ 9. Indemnification
180
+ Licensee agrees to indemnify and hold Licensor harmless against any
181
+ damage or loss (including reasonable attorneys' fees) related to any
182
+ claim based upon: (a) use of the Licensed Software in a manner
183
+ prohibited under this license or in a manner for which the Licensed
184
+ Software was not designed; (b) Licensee Modifications or changes made by
185
+ Licensee to the Licensed Software (where use of unmodified Licensed
186
+ Software would not infringe); or (c) changes made, or actions taken, by
187
+ Licensor upon Licensee's direct instructions.
188
+
189
+ 10. Limitation of liability
190
+ To the extent permitted by applicable law, licensor shall have no
191
+ liability with respect to its obligations under this license or
192
+ otherwise for direct, consequential, exemplary, special, indirect,
193
+ incidental or punitive damages, including any lost profits or lost
194
+ savings (whether resulting from impaired or lost data, software or
195
+ computer failure or any other cause), even if it has been advised of the
196
+ possibility of such damages.
197
+
198
+ This limitation of liability applies to any default, including breach of
199
+ contract, breach of warranty, negligence, misrepresentations and other
200
+ torts. The parties agree that the remedies and limitations herein
201
+ allocate the risks between the parties as authorized by applicable laws.
202
+ The license fee (non) is set in reliance upon this allocation of risk
203
+ and the exclusion of certain damages as set forth in this license.
204
+
205
+ 11. Miscellaneous
206
+
207
+ 11.1 Interpretation
208
+ Failure by Licensor to exercise any right or remedy does not signify
209
+ acceptance of the event giving rise to such right or remedy, or loss of
210
+ such right. No claim arising out of this License may be brought by you
211
+ more than one year after the cause of the claim arose.
212
+
213
+ If any part of this license is held by a court of competent jurisdiction
214
+ to be illegal or unenforceable, the validity or enforceability of the
215
+ remainder of this License shall not be affected and such provision shall
216
+ be deemed modified to the minimum extent necessary to make such
217
+ provision consistent with applicable law. In its modified form, such
218
+ provision shall be enforceable and enforced.
219
+
220
+ 11.2 Termination for patent action
221
+ This license shall terminate automatically and you may no longer
222
+ exercise any of the rights granted to you by this license as of the date
223
+ you commence an action, including a cross-claim or counterclaim, against
224
+ eZ, an eZ partner or other licensee of eZ software alleging that the
225
+ Software infringes a patent.
226
+
227
+ 11.3 Assignment
228
+ Without the prior written consent of Licensor, you may not assign,
229
+ sublicense or otherwise transfer this license or its rights or
230
+ obligations under this license to any person or party, whether by
231
+ operation of law or otherwise. Any attempt by you to assign this license
232
+ without Licensor's prior written consent is void and will terminate the
233
+ license without further notice.
234
+
235
+ 11.4 Governing law
236
+ This License shall be deemed to have been executed in Norway and shall
237
+ be governed by the laws of Norway, without regard to any conflict of law
238
+ provisions.
239
+
240
+ 11.5 Disputes and legal venue
241
+ The parties shall first attempt to resolve any disputes, controversies
242
+ or claims (collectively "Dispute") arising out of or relating to this
243
+ license through amicable discussions and negotiations.
244
+
245
+ If a Dispute cannot be resolved amicably between the parties, such
246
+ Dispute shall be referred to Oslo City Court as mandatory legal venue.
247
+ However, if you are located in a country that does not have a bilateral
248
+ or multilateral ruling enforcement treaty with Norway, the Dispute shall
249
+ be referred to and finally determined by arbitration administered by the
250
+ World Intellectual Property Organization (WIPO) Arbitration and
251
+ Mediation Centre in accordance with the WIPO Arbitration Rules.
252
+
253
+ The place of arbitration shall be in Oslo, Norway. The arbitrator - of
254
+ which there shall be only one - shall be bound by the provisions of this
255
+ license and base the award on Norwegian substantive law and judicial
256
+ precedent. The parties agree that the arbitrator shall have the power to
257
+ decide all matters, including arbitrability, and to award any remedies,
258
+ including attorneys' fees, costs and equitable relief, available under
259
+ applicable law. Either party may enforce any judgment rendered by the
260
+ arbitrator in any court of competent jurisdiction. The parties further
261
+ agree and acknowledge that arbitration shall be the sole and final
262
+ remedy for any dispute between the parties. All proceedings and
263
+ documents shall remain strictly confidential.
264
+
265
+ In no event shall the United Nations Convention on Contracts for the
266
+ International Sale of Goods apply to, or govern, this License.
267
+
268
+ 11.6 Notices
269
+ Any notice under this license shall be delivered and addressed to
270
+ Licensee at the address provided to Licensor (or authorized
271
+ representative) at the time of order, and to Licensor at
272
+
273
+ Attn: Software Licensing Dept/CLA,
274
+ eZ Systems AS,
275
+ Klostergata 30,
276
+ N-3732 Skien,
277
+ Norway
278
+
279
+ Notices are deemed received by any party: (a) on the day given, if
280
+ personally delivered or if sent by confirmed facsimile transmission,
281
+ receipt verified; (b) on the third day after deposit, if mailed by
282
+ certified, first class, postage prepaid, return receipt requested mail,
283
+ or by reputable, expedited overnight courier; or (c) on the fifth day
284
+ after deposit, if sent by reputable, expedited international courier.
285
+
286
+ Either party may change its address for notice purposes upon notice in
287
+ accordance with this section.
288
+
289
+ 11.7 Export law assurances
290
+ Licensee is responsible for complying with any applicable local laws,
291
+ including but not limited to export and import regulations.
292
+
293
+ 11.8 Entire agreement
294
+ This license comprises the entire agreement, and supersedes and merges
295
+ all prior proposals, understandings and agreements, oral and written,
296
+ between the parties relating to the subject matter of this license.
297
+ Licensor's acceptance of any document shall not be construed as an
298
+ acceptance of provisions which are in any way in conflict or
299
+ inconsistent with, or in addition to, this license, unless such terms
300
+ are separately and specifically accepted in writing by an authorized
301
+ officer of Licensor.
302
+
303
+ 11.9 Update of terms
304
+ The Licensor may from time to time issue new versions of this license.
305
+ Unless you within 30 days from when you were first made aware or should
306
+ have become aware of the new license has not made reservations directed
307
+ at Licensor in writing, such new version of the license shall be deemed
308
+ as accepted by you.
309
+
UBC-SAP_gold-corpus/de33fb695880d0b07615d4b86f78cd43796906959ade5fdfef70968827a0db78.txt ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/jquery/jqueryui.com/04df81383c8ff7915b1a3e1e6d6bb30d525a60ac
2
+ https://api.clearlydefined.io/attachments/de33fb695880d0b07615d4b86f78cd43796906959ade5fdfef70968827a0db78
3
+
4
+ Copyright jQuery Foundation and other contributors, https://jquery.org/
5
+
6
+ This software consists of voluntary contributions made by many
7
+ individuals. For exact contribution history, see the revision history
8
+ available at https://github.com/jquery/jquery-ui
9
+
10
+ The following license applies to all parts of this software except as
11
+ documented below:
12
+
13
+ ====
14
+
15
+ Permission is hereby granted, free of charge, to any person obtaining
16
+ a copy of this software and associated documentation files (the
17
+ "Software"), to deal in the Software without restriction, including
18
+ without limitation the rights to use, copy, modify, merge, publish,
19
+ distribute, sublicense, and/or sell copies of the Software, and to
20
+ permit persons to whom the Software is furnished to do so, subject to
21
+ the following conditions:
22
+
23
+ The above copyright notice and this permission notice shall be
24
+ included in all copies or substantial portions of the Software.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
27
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
28
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
30
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
31
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
32
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33
+
34
+ ====
35
+
36
+ Copyright and related rights for sample code are waived via CC0. Sample
37
+ code is defined as all source code contained within the demos directory.
38
+
39
+ CC0: http://creativecommons.org/publicdomain/zero/1.0/
40
+
41
+ ====
42
+
43
+ All files located in the node_modules and external directories are
44
+ externally maintained libraries used by this software which have their
45
+ own licenses; we recommend you read them, as their terms may differ from
46
+ the terms above.
UBC-SAP_gold-corpus/deluge-torrent.txt ADDED
@@ -0,0 +1,636 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://github.com/deluge-torrent/deluge/blob/develop/LICENSE#:~:text=In%20addition%2C%20as,delete%20it%20here.
2
+
3
+ Deluge is licensed under the GNU General Public License version 3 with the
4
+ addition of the following special exception:
5
+
6
+ In addition, as a special exception, the copyright holders give
7
+ permission to link the code of portions of this program with the OpenSSL
8
+ library.
9
+ You must obey the GNU General Public License in all respects for all of
10
+ the code used other than OpenSSL. If you modify file(s) with this
11
+ exception, you may extend this exception to your version of the file(s),
12
+ but you are not obligated to do so. If you do not wish to do so, delete
13
+ this exception statement from your version. If you delete this exception
14
+ statement from all source files in the program, then also delete it here.
15
+
16
+ GNU GENERAL PUBLIC LICENSE
17
+ Version 3, 29 June 2007
18
+
19
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
20
+ Everyone is permitted to copy and distribute verbatim copies
21
+ of this license document, but changing it is not allowed.
22
+
23
+ Preamble
24
+
25
+ The GNU General Public License is a free, copyleft license for
26
+ software and other kinds of works.
27
+
28
+ The licenses for most software and other practical works are designed
29
+ to take away your freedom to share and change the works. By contrast,
30
+ the GNU General Public License is intended to guarantee your freedom to
31
+ share and change all versions of a program--to make sure it remains free
32
+ software for all its users. We, the Free Software Foundation, use the
33
+ GNU General Public License for most of our software; it applies also to
34
+ any other work released this way by its authors. You can apply it to
35
+ your programs, too.
36
+
37
+ When we speak of free software, we are referring to freedom, not
38
+ price. Our General Public Licenses are designed to make sure that you
39
+ have the freedom to distribute copies of free software (and charge for
40
+ them if you wish), that you receive source code or can get it if you
41
+ want it, that you can change the software or use pieces of it in new
42
+ free programs, and that you know you can do these things.
43
+
44
+ To protect your rights, we need to prevent others from denying you
45
+ these rights or asking you to surrender the rights. Therefore, you have
46
+ certain responsibilities if you distribute copies of the software, or if
47
+ you modify it: responsibilities to respect the freedom of others.
48
+
49
+ For example, if you distribute copies of such a program, whether
50
+ gratis or for a fee, you must pass on to the recipients the same
51
+ freedoms that you received. You must make sure that they, too, receive
52
+ or can get the source code. And you must show them these terms so they
53
+ know their rights.
54
+
55
+ Developers that use the GNU GPL protect your rights with two steps:
56
+ (1) assert copyright on the software, and (2) offer you this License
57
+ giving you legal permission to copy, distribute and/or modify it.
58
+
59
+ For the developers' and authors' protection, the GPL clearly explains
60
+ that there is no warranty for this free software. For both users' and
61
+ authors' sake, the GPL requires that modified versions be marked as
62
+ changed, so that their problems will not be attributed erroneously to
63
+ authors of previous versions.
64
+
65
+ Some devices are designed to deny users access to install or run
66
+ modified versions of the software inside them, although the manufacturer
67
+ can do so. This is fundamentally incompatible with the aim of
68
+ protecting users' freedom to change the software. The systematic
69
+ pattern of such abuse occurs in the area of products for individuals to
70
+ use, which is precisely where it is most unacceptable. Therefore, we
71
+ have designed this version of the GPL to prohibit the practice for those
72
+ products. If such problems arise substantially in other domains, we
73
+ stand ready to extend this provision to those domains in future versions
74
+ of the GPL, as needed to protect the freedom of users.
75
+
76
+ Finally, every program is threatened constantly by software patents.
77
+ States should not allow patents to restrict development and use of
78
+ software on general-purpose computers, but in those that do, we wish to
79
+ avoid the special danger that patents applied to a free program could
80
+ make it effectively proprietary. To prevent this, the GPL assures that
81
+ patents cannot be used to render the program non-free.
82
+
83
+ The precise terms and conditions for copying, distribution and
84
+ modification follow.
85
+
86
+ TERMS AND CONDITIONS
87
+
88
+ 0. Definitions.
89
+
90
+ "This License" refers to version 3 of the GNU General Public License.
91
+
92
+ "Copyright" also means copyright-like laws that apply to other kinds of
93
+ works, such as semiconductor masks.
94
+
95
+ "The Program" refers to any copyrightable work licensed under this
96
+ License. Each licensee is addressed as "you". "Licensees" and
97
+ "recipients" may be individuals or organizations.
98
+
99
+ To "modify" a work means to copy from or adapt all or part of the work
100
+ in a fashion requiring copyright permission, other than the making of an
101
+ exact copy. The resulting work is called a "modified version" of the
102
+ earlier work or a work "based on" the earlier work.
103
+
104
+ A "covered work" means either the unmodified Program or a work based
105
+ on the Program.
106
+
107
+ To "propagate" a work means to do anything with it that, without
108
+ permission, would make you directly or secondarily liable for
109
+ infringement under applicable copyright law, except executing it on a
110
+ computer or modifying a private copy. Propagation includes copying,
111
+ distribution (with or without modification), making available to the
112
+ public, and in some countries other activities as well.
113
+
114
+ To "convey" a work means any kind of propagation that enables other
115
+ parties to make or receive copies. Mere interaction with a user through
116
+ a computer network, with no transfer of a copy, is not conveying.
117
+
118
+ An interactive user interface displays "Appropriate Legal Notices"
119
+ to the extent that it includes a convenient and prominently visible
120
+ feature that (1) displays an appropriate copyright notice, and (2)
121
+ tells the user that there is no warranty for the work (except to the
122
+ extent that warranties are provided), that licensees may convey the
123
+ work under this License, and how to view a copy of this License. If
124
+ the interface presents a list of user commands or options, such as a
125
+ menu, a prominent item in the list meets this criterion.
126
+
127
+ 1. Source Code.
128
+
129
+ The "source code" for a work means the preferred form of the work
130
+ for making modifications to it. "Object code" means any non-source
131
+ form of a work.
132
+
133
+ A "Standard Interface" means an interface that either is an official
134
+ standard defined by a recognized standards body, or, in the case of
135
+ interfaces specified for a particular programming language, one that
136
+ is widely used among developers working in that language.
137
+
138
+ The "System Libraries" of an executable work include anything, other
139
+ than the work as a whole, that (a) is included in the normal form of
140
+ packaging a Major Component, but which is not part of that Major
141
+ Component, and (b) serves only to enable use of the work with that
142
+ Major Component, or to implement a Standard Interface for which an
143
+ implementation is available to the public in source code form. A
144
+ "Major Component", in this context, means a major essential component
145
+ (kernel, window system, and so on) of the specific operating system
146
+ (if any) on which the executable work runs, or a compiler used to
147
+ produce the work, or an object code interpreter used to run it.
148
+
149
+ The "Corresponding Source" for a work in object code form means all
150
+ the source code needed to generate, install, and (for an executable
151
+ work) run the object code and to modify the work, including scripts to
152
+ control those activities. However, it does not include the work's
153
+ System Libraries, or general-purpose tools or generally available free
154
+ programs which are used unmodified in performing those activities but
155
+ which are not part of the work. For example, Corresponding Source
156
+ includes interface definition files associated with source files for
157
+ the work, and the source code for shared libraries and dynamically
158
+ linked subprograms that the work is specifically designed to require,
159
+ such as by intimate data communication or control flow between those
160
+ subprograms and other parts of the work.
161
+
162
+ The Corresponding Source need not include anything that users
163
+ can regenerate automatically from other parts of the Corresponding
164
+ Source.
165
+
166
+ The Corresponding Source for a work in source code form is that
167
+ same work.
168
+
169
+ 2. Basic Permissions.
170
+
171
+ All rights granted under this License are granted for the term of
172
+ copyright on the Program, and are irrevocable provided the stated
173
+ conditions are met. This License explicitly affirms your unlimited
174
+ permission to run the unmodified Program. The output from running a
175
+ covered work is covered by this License only if the output, given its
176
+ content, constitutes a covered work. This License acknowledges your
177
+ rights of fair use or other equivalent, as provided by copyright law.
178
+
179
+ You may make, run and propagate covered works that you do not
180
+ convey, without conditions so long as your license otherwise remains
181
+ in force. You may convey covered works to others for the sole purpose
182
+ of having them make modifications exclusively for you, or provide you
183
+ with facilities for running those works, provided that you comply with
184
+ the terms of this License in conveying all material for which you do
185
+ not control copyright. Those thus making or running the covered works
186
+ for you must do so exclusively on your behalf, under your direction
187
+ and control, on terms that prohibit them from making any copies of
188
+ your copyrighted material outside their relationship with you.
189
+
190
+ Conveying under any other circumstances is permitted solely under
191
+ the conditions stated below. Sublicensing is not allowed; section 10
192
+ makes it unnecessary.
193
+
194
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
195
+
196
+ No covered work shall be deemed part of an effective technological
197
+ measure under any applicable law fulfilling obligations under article
198
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
199
+ similar laws prohibiting or restricting circumvention of such
200
+ measures.
201
+
202
+ When you convey a covered work, you waive any legal power to forbid
203
+ circumvention of technological measures to the extent such circumvention
204
+ is effected by exercising rights under this License with respect to
205
+ the covered work, and you disclaim any intention to limit operation or
206
+ modification of the work as a means of enforcing, against the work's
207
+ users, your or third parties' legal rights to forbid circumvention of
208
+ technological measures.
209
+
210
+ 4. Conveying Verbatim Copies.
211
+
212
+ You may convey verbatim copies of the Program's source code as you
213
+ receive it, in any medium, provided that you conspicuously and
214
+ appropriately publish on each copy an appropriate copyright notice;
215
+ keep intact all notices stating that this License and any
216
+ non-permissive terms added in accord with section 7 apply to the code;
217
+ keep intact all notices of the absence of any warranty; and give all
218
+ recipients a copy of this License along with the Program.
219
+
220
+ You may charge any price or no price for each copy that you convey,
221
+ and you may offer support or warranty protection for a fee.
222
+
223
+ 5. Conveying Modified Source Versions.
224
+
225
+ You may convey a work based on the Program, or the modifications to
226
+ produce it from the Program, in the form of source code under the
227
+ terms of section 4, provided that you also meet all of these conditions:
228
+
229
+ a) The work must carry prominent notices stating that you modified
230
+ it, and giving a relevant date.
231
+
232
+ b) The work must carry prominent notices stating that it is
233
+ released under this License and any conditions added under section
234
+ 7. This requirement modifies the requirement in section 4 to
235
+ "keep intact all notices".
236
+
237
+ c) You must license the entire work, as a whole, under this
238
+ License to anyone who comes into possession of a copy. This
239
+ License will therefore apply, along with any applicable section 7
240
+ additional terms, to the whole of the work, and all its parts,
241
+ regardless of how they are packaged. This License gives no
242
+ permission to license the work in any other way, but it does not
243
+ invalidate such permission if you have separately received it.
244
+
245
+ d) If the work has interactive user interfaces, each must display
246
+ Appropriate Legal Notices; however, if the Program has interactive
247
+ interfaces that do not display Appropriate Legal Notices, your
248
+ work need not make them do so.
249
+
250
+ A compilation of a covered work with other separate and independent
251
+ works, which are not by their nature extensions of the covered work,
252
+ and which are not combined with it such as to form a larger program,
253
+ in or on a volume of a storage or distribution medium, is called an
254
+ "aggregate" if the compilation and its resulting copyright are not
255
+ used to limit the access or legal rights of the compilation's users
256
+ beyond what the individual works permit. Inclusion of a covered work
257
+ in an aggregate does not cause this License to apply to the other
258
+ parts of the aggregate.
259
+
260
+ 6. Conveying Non-Source Forms.
261
+
262
+ You may convey a covered work in object code form under the terms
263
+ of sections 4 and 5, provided that you also convey the
264
+ machine-readable Corresponding Source under the terms of this License,
265
+ in one of these ways:
266
+
267
+ a) Convey the object code in, or embodied in, a physical product
268
+ (including a physical distribution medium), accompanied by the
269
+ Corresponding Source fixed on a durable physical medium
270
+ customarily used for software interchange.
271
+
272
+ b) Convey the object code in, or embodied in, a physical product
273
+ (including a physical distribution medium), accompanied by a
274
+ written offer, valid for at least three years and valid for as
275
+ long as you offer spare parts or customer support for that product
276
+ model, to give anyone who possesses the object code either (1) a
277
+ copy of the Corresponding Source for all the software in the
278
+ product that is covered by this License, on a durable physical
279
+ medium customarily used for software interchange, for a price no
280
+ more than your reasonable cost of physically performing this
281
+ conveying of source, or (2) access to copy the
282
+ Corresponding Source from a network server at no charge.
283
+
284
+ c) Convey individual copies of the object code with a copy of the
285
+ written offer to provide the Corresponding Source. This
286
+ alternative is allowed only occasionally and noncommercially, and
287
+ only if you received the object code with such an offer, in accord
288
+ with subsection 6b.
289
+
290
+ d) Convey the object code by offering access from a designated
291
+ place (gratis or for a charge), and offer equivalent access to the
292
+ Corresponding Source in the same way through the same place at no
293
+ further charge. You need not require recipients to copy the
294
+ Corresponding Source along with the object code. If the place to
295
+ copy the object code is a network server, the Corresponding Source
296
+ may be on a different server (operated by you or a third party)
297
+ that supports equivalent copying facilities, provided you maintain
298
+ clear directions next to the object code saying where to find the
299
+ Corresponding Source. Regardless of what server hosts the
300
+ Corresponding Source, you remain obligated to ensure that it is
301
+ available for as long as needed to satisfy these requirements.
302
+
303
+ e) Convey the object code using peer-to-peer transmission, provided
304
+ you inform other peers where the object code and Corresponding
305
+ Source of the work are being offered to the general public at no
306
+ charge under subsection 6d.
307
+
308
+ A separable portion of the object code, whose source code is excluded
309
+ from the Corresponding Source as a System Library, need not be
310
+ included in conveying the object code work.
311
+
312
+ A "User Product" is either (1) a "consumer product", which means any
313
+ tangible personal property which is normally used for personal, family,
314
+ or household purposes, or (2) anything designed or sold for incorporation
315
+ into a dwelling. In determining whether a product is a consumer product,
316
+ doubtful cases shall be resolved in favor of coverage. For a particular
317
+ product received by a particular user, "normally used" refers to a
318
+ typical or common use of that class of product, regardless of the status
319
+ of the particular user or of the way in which the particular user
320
+ actually uses, or expects or is expected to use, the product. A product
321
+ is a consumer product regardless of whether the product has substantial
322
+ commercial, industrial or non-consumer uses, unless such uses represent
323
+ the only significant mode of use of the product.
324
+
325
+ "Installation Information" for a User Product means any methods,
326
+ procedures, authorization keys, or other information required to install
327
+ and execute modified versions of a covered work in that User Product from
328
+ a modified version of its Corresponding Source. The information must
329
+ suffice to ensure that the continued functioning of the modified object
330
+ code is in no case prevented or interfered with solely because
331
+ modification has been made.
332
+
333
+ If you convey an object code work under this section in, or with, or
334
+ specifically for use in, a User Product, and the conveying occurs as
335
+ part of a transaction in which the right of possession and use of the
336
+ User Product is transferred to the recipient in perpetuity or for a
337
+ fixed term (regardless of how the transaction is characterized), the
338
+ Corresponding Source conveyed under this section must be accompanied
339
+ by the Installation Information. But this requirement does not apply
340
+ if neither you nor any third party retains the ability to install
341
+ modified object code on the User Product (for example, the work has
342
+ been installed in ROM).
343
+
344
+ The requirement to provide Installation Information does not include a
345
+ requirement to continue to provide support service, warranty, or updates
346
+ for a work that has been modified or installed by the recipient, or for
347
+ the User Product in which it has been modified or installed. Access to a
348
+ network may be denied when the modification itself materially and
349
+ adversely affects the operation of the network or violates the rules and
350
+ protocols for communication across the network.
351
+
352
+ Corresponding Source conveyed, and Installation Information provided,
353
+ in accord with this section must be in a format that is publicly
354
+ documented (and with an implementation available to the public in
355
+ source code form), and must require no special password or key for
356
+ unpacking, reading or copying.
357
+
358
+ 7. Additional Terms.
359
+
360
+ "Additional permissions" are terms that supplement the terms of this
361
+ License by making exceptions from one or more of its conditions.
362
+ Additional permissions that are applicable to the entire Program shall
363
+ be treated as though they were included in this License, to the extent
364
+ that they are valid under applicable law. If additional permissions
365
+ apply only to part of the Program, that part may be used separately
366
+ under those permissions, but the entire Program remains governed by
367
+ this License without regard to the additional permissions.
368
+
369
+ When you convey a copy of a covered work, you may at your option
370
+ remove any additional permissions from that copy, or from any part of
371
+ it. (Additional permissions may be written to require their own
372
+ removal in certain cases when you modify the work.) You may place
373
+ additional permissions on material, added by you to a covered work,
374
+ for which you have or can give appropriate copyright permission.
375
+
376
+ Notwithstanding any other provision of this License, for material you
377
+ add to a covered work, you may (if authorized by the copyright holders of
378
+ that material) supplement the terms of this License with terms:
379
+
380
+ a) Disclaiming warranty or limiting liability differently from the
381
+ terms of sections 15 and 16 of this License; or
382
+
383
+ b) Requiring preservation of specified reasonable legal notices or
384
+ author attributions in that material or in the Appropriate Legal
385
+ Notices displayed by works containing it; or
386
+
387
+ c) Prohibiting misrepresentation of the origin of that material, or
388
+ requiring that modified versions of such material be marked in
389
+ reasonable ways as different from the original version; or
390
+
391
+ d) Limiting the use for publicity purposes of names of licensors or
392
+ authors of the material; or
393
+
394
+ e) Declining to grant rights under trademark law for use of some
395
+ trade names, trademarks, or service marks; or
396
+
397
+ f) Requiring indemnification of licensors and authors of that
398
+ material by anyone who conveys the material (or modified versions of
399
+ it) with contractual assumptions of liability to the recipient, for
400
+ any liability that these contractual assumptions directly impose on
401
+ those licensors and authors.
402
+
403
+ All other non-permissive additional terms are considered "further
404
+ restrictions" within the meaning of section 10. If the Program as you
405
+ received it, or any part of it, contains a notice stating that it is
406
+ governed by this License along with a term that is a further
407
+ restriction, you may remove that term. If a license document contains
408
+ a further restriction but permits relicensing or conveying under this
409
+ License, you may add to a covered work material governed by the terms
410
+ of that license document, provided that the further restriction does
411
+ not survive such relicensing or conveying.
412
+
413
+ If you add terms to a covered work in accord with this section, you
414
+ must place, in the relevant source files, a statement of the
415
+ additional terms that apply to those files, or a notice indicating
416
+ where to find the applicable terms.
417
+
418
+ Additional terms, permissive or non-permissive, may be stated in the
419
+ form of a separately written license, or stated as exceptions;
420
+ the above requirements apply either way.
421
+
422
+ 8. Termination.
423
+
424
+ You may not propagate or modify a covered work except as expressly
425
+ provided under this License. Any attempt otherwise to propagate or
426
+ modify it is void, and will automatically terminate your rights under
427
+ this License (including any patent licenses granted under the third
428
+ paragraph of section 11).
429
+
430
+ However, if you cease all violation of this License, then your
431
+ license from a particular copyright holder is reinstated (a)
432
+ provisionally, unless and until the copyright holder explicitly and
433
+ finally terminates your license, and (b) permanently, if the copyright
434
+ holder fails to notify you of the violation by some reasonable means
435
+ prior to 60 days after the cessation.
436
+
437
+ Moreover, your license from a particular copyright holder is
438
+ reinstated permanently if the copyright holder notifies you of the
439
+ violation by some reasonable means, this is the first time you have
440
+ received notice of violation of this License (for any work) from that
441
+ copyright holder, and you cure the violation prior to 30 days after
442
+ your receipt of the notice.
443
+
444
+ Termination of your rights under this section does not terminate the
445
+ licenses of parties who have received copies or rights from you under
446
+ this License. If your rights have been terminated and not permanently
447
+ reinstated, you do not qualify to receive new licenses for the same
448
+ material under section 10.
449
+
450
+ 9. Acceptance Not Required for Having Copies.
451
+
452
+ You are not required to accept this License in order to receive or
453
+ run a copy of the Program. Ancillary propagation of a covered work
454
+ occurring solely as a consequence of using peer-to-peer transmission
455
+ to receive a copy likewise does not require acceptance. However,
456
+ nothing other than this License grants you permission to propagate or
457
+ modify any covered work. These actions infringe copyright if you do
458
+ not accept this License. Therefore, by modifying or propagating a
459
+ covered work, you indicate your acceptance of this License to do so.
460
+
461
+ 10. Automatic Licensing of Downstream Recipients.
462
+
463
+ Each time you convey a covered work, the recipient automatically
464
+ receives a license from the original licensors, to run, modify and
465
+ propagate that work, subject to this License. You are not responsible
466
+ for enforcing compliance by third parties with this License.
467
+
468
+ An "entity transaction" is a transaction transferring control of an
469
+ organization, or substantially all assets of one, or subdividing an
470
+ organization, or merging organizations. If propagation of a covered
471
+ work results from an entity transaction, each party to that
472
+ transaction who receives a copy of the work also receives whatever
473
+ licenses to the work the party's predecessor in interest had or could
474
+ give under the previous paragraph, plus a right to possession of the
475
+ Corresponding Source of the work from the predecessor in interest, if
476
+ the predecessor has it or can get it with reasonable efforts.
477
+
478
+ You may not impose any further restrictions on the exercise of the
479
+ rights granted or affirmed under this License. For example, you may
480
+ not impose a license fee, royalty, or other charge for exercise of
481
+ rights granted under this License, and you may not initiate litigation
482
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
483
+ any patent claim is infringed by making, using, selling, offering for
484
+ sale, or importing the Program or any portion of it.
485
+
486
+ 11. Patents.
487
+
488
+ A "contributor" is a copyright holder who authorizes use under this
489
+ License of the Program or a work on which the Program is based. The
490
+ work thus licensed is called the contributor's "contributor version".
491
+
492
+ A contributor's "essential patent claims" are all patent claims
493
+ owned or controlled by the contributor, whether already acquired or
494
+ hereafter acquired, that would be infringed by some manner, permitted
495
+ by this License, of making, using, or selling its contributor version,
496
+ but do not include claims that would be infringed only as a
497
+ consequence of further modification of the contributor version. For
498
+ purposes of this definition, "control" includes the right to grant
499
+ patent sublicenses in a manner consistent with the requirements of
500
+ this License.
501
+
502
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
503
+ patent license under the contributor's essential patent claims, to
504
+ make, use, sell, offer for sale, import and otherwise run, modify and
505
+ propagate the contents of its contributor version.
506
+
507
+ In the following three paragraphs, a "patent license" is any express
508
+ agreement or commitment, however denominated, not to enforce a patent
509
+ (such as an express permission to practice a patent or covenant not to
510
+ sue for patent infringement). To "grant" such a patent license to a
511
+ party means to make such an agreement or commitment not to enforce a
512
+ patent against the party.
513
+
514
+ If you convey a covered work, knowingly relying on a patent license,
515
+ and the Corresponding Source of the work is not available for anyone
516
+ to copy, free of charge and under the terms of this License, through a
517
+ publicly available network server or other readily accessible means,
518
+ then you must either (1) cause the Corresponding Source to be so
519
+ available, or (2) arrange to deprive yourself of the benefit of the
520
+ patent license for this particular work, or (3) arrange, in a manner
521
+ consistent with the requirements of this License, to extend the patent
522
+ license to downstream recipients. "Knowingly relying" means you have
523
+ actual knowledge that, but for the patent license, your conveying the
524
+ covered work in a country, or your recipient's use of the covered work
525
+ in a country, would infringe one or more identifiable patents in that
526
+ country that you have reason to believe are valid.
527
+
528
+ If, pursuant to or in connection with a single transaction or
529
+ arrangement, you convey, or propagate by procuring conveyance of, a
530
+ covered work, and grant a patent license to some of the parties
531
+ receiving the covered work authorizing them to use, propagate, modify
532
+ or convey a specific copy of the covered work, then the patent license
533
+ you grant is automatically extended to all recipients of the covered
534
+ work and works based on it.
535
+
536
+ A patent license is "discriminatory" if it does not include within
537
+ the scope of its coverage, prohibits the exercise of, or is
538
+ conditioned on the non-exercise of one or more of the rights that are
539
+ specifically granted under this License. You may not convey a covered
540
+ work if you are a party to an arrangement with a third party that is
541
+ in the business of distributing software, under which you make payment
542
+ to the third party based on the extent of your activity of conveying
543
+ the work, and under which the third party grants, to any of the
544
+ parties who would receive the covered work from you, a discriminatory
545
+ patent license (a) in connection with copies of the covered work
546
+ conveyed by you (or copies made from those copies), or (b) primarily
547
+ for and in connection with specific products or compilations that
548
+ contain the covered work, unless you entered into that arrangement,
549
+ or that patent license was granted, prior to 28 March 2007.
550
+
551
+ Nothing in this License shall be construed as excluding or limiting
552
+ any implied license or other defenses to infringement that may
553
+ otherwise be available to you under applicable patent law.
554
+
555
+ 12. No Surrender of Others' Freedom.
556
+
557
+ If conditions are imposed on you (whether by court order, agreement or
558
+ otherwise) that contradict the conditions of this License, they do not
559
+ excuse you from the conditions of this License. If you cannot convey a
560
+ covered work so as to satisfy simultaneously your obligations under this
561
+ License and any other pertinent obligations, then as a consequence you may
562
+ not convey it at all. For example, if you agree to terms that obligate you
563
+ to collect a royalty for further conveying from those to whom you convey
564
+ the Program, the only way you could satisfy both those terms and this
565
+ License would be to refrain entirely from conveying the Program.
566
+
567
+ 13. Use with the GNU Affero General Public License.
568
+
569
+ Notwithstanding any other provision of this License, you have
570
+ permission to link or combine any covered work with a work licensed
571
+ under version 3 of the GNU Affero General Public License into a single
572
+ combined work, and to convey the resulting work. The terms of this
573
+ License will continue to apply to the part which is the covered work,
574
+ but the special requirements of the GNU Affero General Public License,
575
+ section 13, concerning interaction through a network will apply to the
576
+ combination as such.
577
+
578
+ 14. Revised Versions of this License.
579
+
580
+ The Free Software Foundation may publish revised and/or new versions of
581
+ the GNU General Public License from time to time. Such new versions will
582
+ be similar in spirit to the present version, but may differ in detail to
583
+ address new problems or concerns.
584
+
585
+ Each version is given a distinguishing version number. If the
586
+ Program specifies that a certain numbered version of the GNU General
587
+ Public License "or any later version" applies to it, you have the
588
+ option of following the terms and conditions either of that numbered
589
+ version or of any later version published by the Free Software
590
+ Foundation. If the Program does not specify a version number of the
591
+ GNU General Public License, you may choose any version ever published
592
+ by the Free Software Foundation.
593
+
594
+ If the Program specifies that a proxy can decide which future
595
+ versions of the GNU General Public License can be used, that proxy's
596
+ public statement of acceptance of a version permanently authorizes you
597
+ to choose that version for the Program.
598
+
599
+ Later license versions may give you additional or different
600
+ permissions. However, no additional obligations are imposed on any
601
+ author or copyright holder as a result of your choosing to follow a
602
+ later version.
603
+
604
+ 15. Disclaimer of Warranty.
605
+
606
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
607
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
608
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
609
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
610
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
611
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
612
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
613
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
614
+
615
+ 16. Limitation of Liability.
616
+
617
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
618
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
619
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
620
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
621
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
622
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
623
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
624
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
625
+ SUCH DAMAGES.
626
+
627
+ 17. Interpretation of Sections 15 and 16.
628
+
629
+ If the disclaimer of warranty and limitation of liability provided
630
+ above cannot be given local legal effect according to their terms,
631
+ reviewing courts shall apply local law that most closely approximates
632
+ an absolute waiver of all civil liability in connection with the
633
+ Program, unless a warranty or assumption of liability accompanies a
634
+ copy of the Program in return for a fee.
635
+
636
+ END OF TERMS AND CONDITIONS
UBC-SAP_gold-corpus/e30fad305c0b6f68cbd2e05085f5a5943dd43ff8111bca7f52e2ad486ab636d0.txt ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/xlwings/0.27.10
2
+ https://api.clearlydefined.io/attachments/e30fad305c0b6f68cbd2e05085f5a5943dd43ff8111bca7f52e2ad486ab636d0
3
+ xlwings (Open Source) includes all files in the xlwings package except
4
+ the pro folder, i.e., the xlwings.pro subpackage and is distributed under
5
+ the following BSD 3-clause license:
6
+
7
+ Copyright (C) 2014 - present, Zoomer Analytics GmbH.
8
+ All rights reserved.
9
+
10
+ Redistribution and use in source and binary forms, with or without modification,
11
+ are permitted provided that the following conditions are met:
12
+
13
+ * Redistributions of source code must retain the above copyright notice, this
14
+ list of conditions and the following disclaimer.
15
+
16
+ * Redistributions in binary form must reproduce the above copyright notice, this
17
+ list of conditions and the following disclaimer in the documentation and/or
18
+ other materials provided with the distribution.
19
+
20
+ * Neither the name of the copyright holder nor the names of its
21
+ contributors may be used to endorse or promote products derived from
22
+ this software without specific prior written permission.
23
+
24
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
25
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
28
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
31
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
UBC-SAP_gold-corpus/f75d092e241e522baaf2dff3dc1f9a85eea8959a.txt ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/git/github/aliyun/openapi-sdk-php/f75d092e241e522baaf2dff3dc1f9a85eea8959a
2
+ https://github.com/aliyun/openapi-sdk-php/blob/f75d092e241e522baaf2dff3dc1f9a85eea8959a/LICENSE.md
3
+
4
+ Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
UBC-SAP_gold-corpus/ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad.txt ADDED
@@ -0,0 +1,257 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://clearlydefined.io/definitions/pypi/pypi/-/typing-extensions/4.0.1
2
+ https://api.clearlydefined.io/attachments/ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad
3
+
4
+ A. HISTORY OF THE SOFTWARE
5
+ ==========================
6
+
7
+ Python was created in the early 1990s by Guido van Rossum at Stichting
8
+ Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
9
+ as a successor of a language called ABC. Guido remains Python's
10
+ principal author, although it includes many contributions from others.
11
+
12
+ In 1995, Guido continued his work on Python at the Corporation for
13
+ National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
14
+ in Reston, Virginia where he released several versions of the
15
+ software.
16
+
17
+ In May 2000, Guido and the Python core development team moved to
18
+ BeOpen.com to form the BeOpen PythonLabs team. In October of the same
19
+ year, the PythonLabs team moved to Digital Creations (now Zope
20
+ Corporation, see http://www.zope.com). In 2001, the Python Software
21
+ Foundation (PSF, see http://www.python.org/psf/) was formed, a
22
+ non-profit organization created specifically to own Python-related
23
+ Intellectual Property. Zope Corporation is a sponsoring member of
24
+ the PSF.
25
+
26
+ All Python releases are Open Source (see http://www.opensource.org for
27
+ the Open Source Definition). Historically, most, but not all, Python
28
+ releases have also been GPL-compatible; the table below summarizes
29
+ the various releases.
30
+
31
+ Release Derived Year Owner GPL-
32
+ from compatible? (1)
33
+
34
+ 0.9.0 thru 1.2 1991-1995 CWI yes
35
+ 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
36
+ 1.6 1.5.2 2000 CNRI no
37
+ 2.0 1.6 2000 BeOpen.com no
38
+ 1.6.1 1.6 2001 CNRI yes (2)
39
+ 2.1 2.0+1.6.1 2001 PSF no
40
+ 2.0.1 2.0+1.6.1 2001 PSF yes
41
+ 2.1.1 2.1+2.0.1 2001 PSF yes
42
+ 2.1.2 2.1.1 2002 PSF yes
43
+ 2.1.3 2.1.2 2002 PSF yes
44
+ 2.2 and above 2.1.1 2001-now PSF yes
45
+
46
+ Footnotes:
47
+
48
+ (1) GPL-compatible doesn't mean that we're distributing Python under
49
+ the GPL. All Python licenses, unlike the GPL, let you distribute
50
+ a modified version without making your changes open source. The
51
+ GPL-compatible licenses make it possible to combine Python with
52
+ other software that is released under the GPL; the others don't.
53
+
54
+ (2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
55
+ because its license has a choice of law clause. According to
56
+ CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
57
+ is "not incompatible" with the GPL.
58
+
59
+ Thanks to the many outside volunteers who have worked under Guido's
60
+ direction to make these releases possible.
61
+
62
+
63
+ B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
64
+ ===============================================================
65
+
66
+ PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
67
+ --------------------------------------------
68
+
69
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation
70
+ ("PSF"), and the Individual or Organization ("Licensee") accessing and
71
+ otherwise using this software ("Python") in source or binary form and
72
+ its associated documentation.
73
+
74
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby
75
+ grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
76
+ analyze, test, perform and/or display publicly, prepare derivative works,
77
+ distribute, and otherwise use Python alone or in any derivative version,
78
+ provided, however, that PSF's License Agreement and PSF's notice of copyright,
79
+ i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
80
+ 2011, 2012, 2013, 2014 Python Software Foundation; All Rights Reserved" are
81
+ retained in Python alone or in any derivative version prepared by Licensee.
82
+
83
+ 3. In the event Licensee prepares a derivative work that is based on
84
+ or incorporates Python or any part thereof, and wants to make
85
+ the derivative work available to others as provided herein, then
86
+ Licensee hereby agrees to include in any such work a brief summary of
87
+ the changes made to Python.
88
+
89
+ 4. PSF is making Python available to Licensee on an "AS IS"
90
+ basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
91
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
92
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
93
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
94
+ INFRINGE ANY THIRD PARTY RIGHTS.
95
+
96
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
97
+ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
98
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
99
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
100
+
101
+ 6. This License Agreement will automatically terminate upon a material
102
+ breach of its terms and conditions.
103
+
104
+ 7. Nothing in this License Agreement shall be deemed to create any
105
+ relationship of agency, partnership, or joint venture between PSF and
106
+ Licensee. This License Agreement does not grant permission to use PSF
107
+ trademarks or trade name in a trademark sense to endorse or promote
108
+ products or services of Licensee, or any third party.
109
+
110
+ 8. By copying, installing or otherwise using Python, Licensee
111
+ agrees to be bound by the terms and conditions of this License
112
+ Agreement.
113
+
114
+
115
+ BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
116
+ -------------------------------------------
117
+
118
+ BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
119
+
120
+ 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
121
+ office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
122
+ Individual or Organization ("Licensee") accessing and otherwise using
123
+ this software in source or binary form and its associated
124
+ documentation ("the Software").
125
+
126
+ 2. Subject to the terms and conditions of this BeOpen Python License
127
+ Agreement, BeOpen hereby grants Licensee a non-exclusive,
128
+ royalty-free, world-wide license to reproduce, analyze, test, perform
129
+ and/or display publicly, prepare derivative works, distribute, and
130
+ otherwise use the Software alone or in any derivative version,
131
+ provided, however, that the BeOpen Python License is retained in the
132
+ Software, alone or in any derivative version prepared by Licensee.
133
+
134
+ 3. BeOpen is making the Software available to Licensee on an "AS IS"
135
+ basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
136
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
137
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
138
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
139
+ INFRINGE ANY THIRD PARTY RIGHTS.
140
+
141
+ 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
142
+ SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
143
+ AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
144
+ DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
145
+
146
+ 5. This License Agreement will automatically terminate upon a material
147
+ breach of its terms and conditions.
148
+
149
+ 6. This License Agreement shall be governed by and interpreted in all
150
+ respects by the law of the State of California, excluding conflict of
151
+ law provisions. Nothing in this License Agreement shall be deemed to
152
+ create any relationship of agency, partnership, or joint venture
153
+ between BeOpen and Licensee. This License Agreement does not grant
154
+ permission to use BeOpen trademarks or trade names in a trademark
155
+ sense to endorse or promote products or services of Licensee, or any
156
+ third party. As an exception, the "BeOpen Python" logos available at
157
+ http://www.pythonlabs.com/logos.html may be used according to the
158
+ permissions granted on that web page.
159
+
160
+ 7. By copying, installing or otherwise using the software, Licensee
161
+ agrees to be bound by the terms and conditions of this License
162
+ Agreement.
163
+
164
+
165
+ CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
166
+ ---------------------------------------
167
+
168
+ 1. This LICENSE AGREEMENT is between the Corporation for National
169
+ Research Initiatives, having an office at 1895 Preston White Drive,
170
+ Reston, VA 20191 ("CNRI"), and the Individual or Organization
171
+ ("Licensee") accessing and otherwise using Python 1.6.1 software in
172
+ source or binary form and its associated documentation.
173
+
174
+ 2. Subject to the terms and conditions of this License Agreement, CNRI
175
+ hereby grants Licensee a nonexclusive, royalty-free, world-wide
176
+ license to reproduce, analyze, test, perform and/or display publicly,
177
+ prepare derivative works, distribute, and otherwise use Python 1.6.1
178
+ alone or in any derivative version, provided, however, that CNRI's
179
+ License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
180
+ 1995-2001 Corporation for National Research Initiatives; All Rights
181
+ Reserved" are retained in Python 1.6.1 alone or in any derivative
182
+ version prepared by Licensee. Alternately, in lieu of CNRI's License
183
+ Agreement, Licensee may substitute the following text (omitting the
184
+ quotes): "Python 1.6.1 is made available subject to the terms and
185
+ conditions in CNRI's License Agreement. This Agreement together with
186
+ Python 1.6.1 may be located on the Internet using the following
187
+ unique, persistent identifier (known as a handle): 1895.22/1013. This
188
+ Agreement may also be obtained from a proxy server on the Internet
189
+ using the following URL: http://hdl.handle.net/1895.22/1013".
190
+
191
+ 3. In the event Licensee prepares a derivative work that is based on
192
+ or incorporates Python 1.6.1 or any part thereof, and wants to make
193
+ the derivative work available to others as provided herein, then
194
+ Licensee hereby agrees to include in any such work a brief summary of
195
+ the changes made to Python 1.6.1.
196
+
197
+ 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
198
+ basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
199
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
200
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
201
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
202
+ INFRINGE ANY THIRD PARTY RIGHTS.
203
+
204
+ 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
205
+ 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
206
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
207
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
208
+
209
+ 6. This License Agreement will automatically terminate upon a material
210
+ breach of its terms and conditions.
211
+
212
+ 7. This License Agreement shall be governed by the federal
213
+ intellectual property law of the United States, including without
214
+ limitation the federal copyright law, and, to the extent such
215
+ U.S. federal law does not apply, by the law of the Commonwealth of
216
+ Virginia, excluding Virginia's conflict of law provisions.
217
+ Notwithstanding the foregoing, with regard to derivative works based
218
+ on Python 1.6.1 that incorporate non-separable material that was
219
+ previously distributed under the GNU General Public License (GPL), the
220
+ law of the Commonwealth of Virginia shall govern this License
221
+ Agreement only as to issues arising under or with respect to
222
+ Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
223
+ License Agreement shall be deemed to create any relationship of
224
+ agency, partnership, or joint venture between CNRI and Licensee. This
225
+ License Agreement does not grant permission to use CNRI trademarks or
226
+ trade name in a trademark sense to endorse or promote products or
227
+ services of Licensee, or any third party.
228
+
229
+ 8. By clicking on the "ACCEPT" button where indicated, or by copying,
230
+ installing or otherwise using Python 1.6.1, Licensee agrees to be
231
+ bound by the terms and conditions of this License Agreement.
232
+
233
+ ACCEPT
234
+
235
+
236
+ CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
237
+ --------------------------------------------------
238
+
239
+ Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
240
+ The Netherlands. All rights reserved.
241
+
242
+ Permission to use, copy, modify, and distribute this software and its
243
+ documentation for any purpose and without fee is hereby granted,
244
+ provided that the above copyright notice appear in all copies and that
245
+ both that copyright notice and this permission notice appear in
246
+ supporting documentation, and that the name of Stichting Mathematisch
247
+ Centrum or CWI not be used in advertising or publicity pertaining to
248
+ distribution of the software without specific, written prior
249
+ permission.
250
+
251
+ STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
252
+ THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
253
+ FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
254
+ FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
255
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
256
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
257
+ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
app.py CHANGED
@@ -6,58 +6,185 @@ import streamlit as st
6
 
7
  from src.doc2vec import inference
8
  from src.abstractive_sum import summarize_text_with_model
9
- from src.textrank import custom_textrank_summarizer
10
  from src.clean import clean_license_text
11
-
12
- CUSTOM_MODEL_NAME = "utkarshsaboo45/ClearlyDefinedLicenseSummarizer"
 
13
 
14
  nltk.download('punkt')
15
- os.environ["TOKENIZERS_PARALLELISM"] = "false"
16
- device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
17
-
18
- with st.spinner('Loading...'):
19
- model = AutoModelForSeq2SeqLM.from_pretrained(CUSTOM_MODEL_NAME).to(device)
20
- tokenizer = AutoTokenizer.from_pretrained(CUSTOM_MODEL_NAME)
21
-
22
- summarization_type = st.sidebar.selectbox(
23
- "Select summarization type.",
24
- ("Abstractive", "Extractive", "Both")
25
- )
26
- if summarization_type == 'Abstractive':
27
- st.sidebar.caption('Summary will be generated by the T5 Transformer Model')
28
- elif summarization_type == 'Extractive':
29
- st.sidebar.caption('Summary will be generated by a custom TextRank Algorithm')
30
- summary_len = st.sidebar.slider('Summary length percentage', 1, 100, 30)
31
- elif summarization_type == 'Both':
32
- st.sidebar.caption('The License text will be first passed through the custom TextRank algorithm and then passed on to the T5 Transformer Model to generate a summary.')
33
-
34
- clean_text = st.sidebar.checkbox('Show cleaned license text')
35
-
36
- st.title('Clearly Defined: License Summarizer')
37
- input = st.text_area('Enter contents of the license')
38
-
39
- if len(input) > 0:
40
- with st.spinner('Loading...'):
41
- if summarization_type == 'Abstractive':
42
- summary, definitions = summarize_text_with_model(input, model, tokenizer)
43
- if summarization_type == 'Extractive':
44
- summary, definitions = custom_textrank_summarizer(input, summary_len = summary_len/100)
45
- if summarization_type == 'Both':
46
- summary, definitions = summarize_text_with_model(input, model, tokenizer)
47
- summary, _ = custom_textrank_summarizer(summary, summary_len = 1)
48
-
49
- st.header('Summary')
50
- st.write(summary)
51
 
52
- prediction_scores = inference(input)
53
- st.header('Similarity Index')
54
- st.dataframe(prediction_scores)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
- if definitions:
57
- st.header('Definitions')
58
- st.write(definitions)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
- if clean_text:
61
- st.header('Cleaned License Text')
62
- st.write(clean_license_text(input)[0])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  from src.doc2vec import inference
8
  from src.abstractive_sum import summarize_text_with_model
9
+ from src.textrank import custom_textrank_summarizer, get_labels_for_license
10
  from src.clean import clean_license_text
11
+ from src.read_data import read_license_text_data
12
+ from src.diff import strikethrough_diff
13
+ from src.parameters import help_messages, captions, options
14
 
15
  nltk.download('punkt')
16
+
17
+ if __name__ == "__main__":
18
+
19
+ CUSTOM_MODEL_NAME = "utkarshsaboo45/ClearlyDefinedLicenseSummarizer"
20
+ SIMILARITY_THRESHOLD = 0.8
21
+
22
+ os.environ["TOKENIZERS_PARALLELISM"] = "false"
23
+ device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
24
+
25
+ with st.spinner(captions.LOADING):
26
+ model = AutoModelForSeq2SeqLM.from_pretrained(CUSTOM_MODEL_NAME).to(device)
27
+ tokenizer = AutoTokenizer.from_pretrained(CUSTOM_MODEL_NAME)
28
+
29
+ summarization_type = st.sidebar.selectbox(
30
+ captions.SELECT_SUMMARIZATION_TYPE,
31
+ (options.EXTRACTIVE, options.ABSTRACTIVE, options.BOTH),
32
+ help=help_messages.SUMMARIZATION_TYPE
33
+ )
34
+
35
+ cleaned_view = None
36
+ exceptions = ""
37
+ definitions = ""
38
+
39
+ if summarization_type == options.ABSTRACTIVE:
40
+ st.sidebar.caption(captions.SUMMARY_BY_T5)
41
+ st.sidebar.caption(captions.WARNING_ABSTRACTIVE)
42
+ elif summarization_type == options.EXTRACTIVE:
43
+ st.sidebar.caption(captions.SUMMARY_BY_TEXTRANK)
44
+ summary_len = st.sidebar.slider(
45
+ captions.SUMMARY_LENGTH_PERCENTAGE,
46
+ 1,
47
+ 100,
48
+ 30,
49
+ help=help_messages.SLIDER
50
+ )
 
51
 
52
+ summary_view = st.sidebar.selectbox(
53
+ captions.SUMMARY_VIEW, (
54
+ options.DISPLAY_SUMMARY_ONLY,
55
+ options.DISPLAY_HIGHLIGHTED_SUMMARY
56
+ ),
57
+ help=help_messages.SUMMARY_VIEW
58
+ )
59
+
60
+ if summary_view == options.DISPLAY_SUMMARY_ONLY:
61
+ st.sidebar.caption(captions.DISPLAY_SUMMARY_ONLY_DESC)
62
+ elif summary_view == options.DISPLAY_HIGHLIGHTED_SUMMARY:
63
+ st.sidebar.caption(captions.DISPLAY_HIGHLIGHTED_SUMMARY_DESC)
64
+
65
+ cleaned_view = st.sidebar.selectbox(
66
+ captions.CLEANED_LICENSE_VIEW, (
67
+ options.HIDE_CLEANED_LICENSE,
68
+ options.DISPLAY_CLEANED_LICENSE,
69
+ options.DISPLAY_CLEANED_DIFF
70
+ ),
71
+ help=help_messages.CLEANED_LICENSE_VIEW
72
+ )
73
+
74
+ if cleaned_view == options.DISPLAY_CLEANED_LICENSE:
75
+ st.sidebar.caption(captions.CLEANED_LICENSE_ONLY)
76
+ elif cleaned_view == options.DISPLAY_CLEANED_DIFF:
77
+ st.sidebar.caption(captions.CLEANED_LICENSE_WITH_DIFF)
78
+ elif cleaned_view == options.HIDE_CLEANED_LICENSE:
79
+ st.sidebar.caption(captions.HIDE_CLEANED_LICENSE)
80
+
81
+ elif summarization_type == options.BOTH:
82
+ st.sidebar.caption(captions.SUMMARY_BY_BOTH)
83
+ st.sidebar.caption(captions.WARNING_BOTH)
84
+
85
+ st.title(captions.APP_TITLE)
86
+ st.caption(captions.APP_DISCLAIMER)
87
+
88
+ license_input = st.text_area(
89
+ captions.LICENSE_TEXT,
90
+ placeholder=captions.ENTER_LICENSE_CONTENT
91
+ )
92
+
93
+ if len(license_input) > 0:
94
+ cleaned_modified_license_text = clean_license_text(license_input)[0]
95
+ with st.spinner(captions.LOADING):
96
+ if summarization_type == options.ABSTRACTIVE:
97
+ summary, definitions = summarize_text_with_model(
98
+ license_input,
99
+ model,
100
+ tokenizer
101
+ )
102
+ if summarization_type == options.EXTRACTIVE:
103
+ if summary_view == options.DISPLAY_SUMMARY_ONLY:
104
+ summary, definitions, exceptions = custom_textrank_summarizer(
105
+ license_input,
106
+ summary_len=summary_len / 100
107
+ )
108
+ elif summary_view == options.DISPLAY_HIGHLIGHTED_SUMMARY:
109
+ summary, definitions, exceptions = custom_textrank_summarizer(
110
+ license_input,
111
+ summary_len=summary_len / 100,
112
+ return_summary_only=False
113
+ )
114
+ if summarization_type == options.BOTH:
115
+ summary, definitions = summarize_text_with_model(
116
+ license_input,
117
+ model,
118
+ tokenizer
119
+ )
120
+ summary, definitions, exceptions = custom_textrank_summarizer(
121
+ summary,
122
+ summary_len=1
123
+ )
124
+
125
+ st.header(captions.SUMMARY)
126
+ st.markdown(summary, unsafe_allow_html=True)
127
+
128
+ prediction_scores = inference(license_input)
129
+ top1_result = prediction_scores.loc[0, :]
130
+
131
+ st.header(captions.SIMILARITY_INDEX)
132
+ st.caption(captions.SIMILARITY_INDEX_DISCLAIMER)
133
+ st.dataframe(prediction_scores)
134
+
135
+ if cleaned_view == options.DISPLAY_CLEANED_DIFF:
136
+ st.header(captions.CLEANED_LICENSE_DIFF)
137
+ if top1_result["Similarity Scores"] > SIMILARITY_THRESHOLD:
138
+ st.caption("Comparing against the official " + " ".join(
139
+ top1_result["License"].split("-")
140
+ ) + " license")
141
 
142
+ top_license_name = top1_result["License"].lower()
143
+ original_license_text = read_license_text_data(
144
+ top_license_name
145
+ )
146
+ cleaned_original_license_text = clean_license_text(
147
+ original_license_text
148
+ )[0]
149
+ st.markdown(
150
+ strikethrough_diff(
151
+ cleaned_original_license_text,
152
+ cleaned_modified_license_text
153
+ ),
154
+ unsafe_allow_html=True
155
+ )
156
+ else:
157
+ st.caption(captions.NO_SIMILAR_LICENSE_FOUND)
158
+ elif cleaned_view == options.DISPLAY_CLEANED_LICENSE:
159
+ st.header(captions.CLEANED_LICENSE_TEXT)
160
+ st.write(cleaned_modified_license_text)
161
 
162
+ if st.sidebar.checkbox(
163
+ options.SHOW_LICENSE_PROPERTIES,
164
+ disabled = False if top1_result["Similarity Scores"] > SIMILARITY_THRESHOLD else True,
165
+ value=False,
166
+ help=help_messages.PROPERTIES_CHECKBOX):
167
+ license_properties = get_labels_for_license(top1_result["License"].lower())
168
+ st.header(captions.PROPERTIES)
169
+ st.caption(captions.PROPERTIES_DISCLAIMER)
170
+ st.dataframe(license_properties)
171
+
172
+ if st.sidebar.checkbox(
173
+ options.SHOW_LICENSE_DEFINITIONS,
174
+ disabled=False if len(definitions.strip()) > 10 else True,
175
+ value=False,
176
+ help=help_messages.DEFINITIONS_CHECKBOX
177
+ ):
178
+ if len(definitions.strip()) > 10:
179
+ st.header(captions.DEFINITIONS)
180
+ st.write(definitions)
181
 
182
+ if st.sidebar.checkbox(
183
+ options.SHOW_LICENSE_EXCEPTIONS,
184
+ disabled=False if len(exceptions.strip()) > 10 else True,
185
+ value=False,
186
+ help=help_messages.EXCEPTIONS_CHECKBOX
187
+ ):
188
+ if len(exceptions.strip()) > 10:
189
+ st.header(captions.EXCEPTIONS)
190
+ st.write(exceptions)
data/README.md CHANGED
@@ -1,3 +1,15 @@
1
- # Licenses Gold Data
2
 
3
- Note: We do not own this data. This data comes from [choosealicense](https://choosealicense.com/appendix/).
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Data Directory
2
 
3
+ > __Disclaimer__: We do not own this data. This data comes from [choosealicense](https://www.choosealicense.com/appendix/).
4
+
5
+ ### [gold_licenses](/data/gold_licenses/)
6
+ - Contains textfiles of all licenses from [choosealicense](https://www.choosealicense.com/appendix/) and their summaries.
7
+
8
+ ### [choosealicense_appendix_labels.csv](/data/choosealicense_appendix_labels.csv)
9
+ - Table replicating licenses and their properties from [choosealicense](https://www.choosealicense.com/appendix/).
10
+
11
+ ### [index_license_map.json](/data/index_license_map.json)
12
+ - JSON file mapping index values to each of the license from [choosealicense](https://www.choosealicense.com/appendix/) for Doc2Vec mapping.
13
+
14
+ ### [LICENSE.md](/data/LICENSE)
15
+ - License for the [data](/data/) directory specifically.
data/index_license_map.json CHANGED
@@ -1 +1,43 @@
1
- {"0": "LGPL-3.0-only", "1": "UPL-1.0", "2": "OFL-1.1", "3": "CC-BY-4.0", "4": "MS-RL", "5": "WTFPL", "6": "OSL-3.0", "7": "BSL-1.0", "8": "MulanPSL-2.0", "9": "Vim", "10": "MPL-2.0", "11": "ISC", "12": "CC0-1.0", "13": "BSD-3-Clause-Clear", "14": "GPL-2.0-only", "15": "MIT-0", "16": "Unlicense", "17": "BSD-2-Clause", "18": "ODbL-1.0", "19": "Artistic-2.0", "20": "Zlib", "21": "CECILL-2.1", "22": "LGPL-2.1-only", "23": "BSD-4-Clause", "24": "LPPL-1.3c", "25": "EPL-2.0", "26": "MIT", "27": "0BSD", "28": "PostgreSQL", "29": "AFL-3.0", "30": "NCSA", "31": "GPL-3.0-only", "32": "CC-BY-SA-4.0", "33": "AGPL-3.0-only", "34": "BSD-3-Clause", "35": "EPL-1.0", "36": "MS-PL", "37": "ECL-2.0", "38": "EUPL-1.2", "39": "Apache-2.0", "40": "EUPL-1.1"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "0": "LGPL-3.0",
3
+ "1": "UPL-1.0",
4
+ "2": "OFL-1.1",
5
+ "3": "CC-BY-4.0",
6
+ "4": "MS-RL",
7
+ "5": "WTFPL",
8
+ "6": "OSL-3.0",
9
+ "7": "BSL-1.0",
10
+ "8": "MulanPSL-2.0",
11
+ "9": "Vim",
12
+ "10": "MPL-2.0",
13
+ "11": "ISC",
14
+ "12": "CC0-1.0",
15
+ "13": "BSD-3-Clause-Clear",
16
+ "14": "GPL-2.0",
17
+ "15": "MIT-0",
18
+ "16": "Unlicense",
19
+ "17": "BSD-2-Clause",
20
+ "18": "ODbL-1.0",
21
+ "19": "Artistic-2.0",
22
+ "20": "Zlib",
23
+ "21": "CECILL-2.1",
24
+ "22": "LGPL-2.1",
25
+ "23": "BSD-4-Clause",
26
+ "24": "LPPL-1.3c",
27
+ "25": "EPL-2.0",
28
+ "26": "MIT",
29
+ "27": "0BSD",
30
+ "28": "PostgreSQL",
31
+ "29": "AFL-3.0",
32
+ "30": "NCSA",
33
+ "31": "GPL-3.0",
34
+ "32": "CC-BY-SA-4.0",
35
+ "33": "AGPL-3.0",
36
+ "34": "BSD-3-Clause",
37
+ "35": "EPL-1.0",
38
+ "36": "MS-PL",
39
+ "37": "ECL-2.0",
40
+ "38": "EUPL-1.2",
41
+ "39": "Apache-2.0",
42
+ "40": "EUPL-1.1"
43
+ }
src/README.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## SRC Directory
2
+
3
+ ### [abstractive_sum.py](/src/abstractive_sum.py)
4
+ - Contains all the neceassary functions for the abstractive summarizer.
5
+ - Functions from this script are called when 'abstractive' or 'both' are selected as methods for summarization from the UI.
6
+
7
+ ### [clean.py](/src/clean.py)
8
+ - Contains all the necessary functions for text cleaning and preprocessing.
9
+ - Cleaning such as removal of HTML, PHP, JSON, RTF and other elements such as URLs and unwanted characters are defined as functions here.
10
+ - Segmentation functions such as sentence and paragraph segmentations are defined here as well.
11
+
12
+ ### [diff.py](/src/diff.py)
13
+ - Responsible for generating the diff when 'Display Cleaned License + Diff' is selected under 'Cleaned License View' option in the UI.
14
+
15
+ ### [doc2vec.py](/src/doc2vec.py)
16
+ - Preprocesses the (cleaned) input text such that it can be converted into a vector. It then compares this vector against 41 other vectors representing a list of known licenses from [choosealicense.com](https://www.choosealicense.com/appendix).
17
+ - The 41 license vectors are pre-trained into a model and stored [here](/models/).
18
+
19
+ ### [evaluate.py](/src/evaluate.py)
20
+ - Contains function used to calculate the performance metrics of the custom textrank algorithm such as precision, recall, F1 score @k.
21
+
22
+ ### [parameters.py](/src/parameters.py)
23
+ - Contains the custom vocabulary and custom scores for the custom TextRank algorithm.
24
+ - Contains the string macros for UI options and colors.
25
+ - Also contains parameters and hyperparameters for the complete application.
26
+
27
+ ### [read_data.py](/src/read_data.py)
28
+ - Contains functions for ingestion of data from files stored in the [data](/data/) folder. This includes information such as license names, properties and labels that are processed into suitable data structures such as dataframes and dictionaries.
29
+
30
+ ### [textrank.py](/src/textrank.py)
31
+ - Contains functions needed to run the custom TextRank algorithm for extractive summarization.
32
+
33
+ ### [tfidf.py](/src/tfidf.py)
34
+ - Used during EDA to calculate the TF-IDF scores to obtain the most important words while developing the custom TextRank algorithm.
src/abstractive_sum.py CHANGED
@@ -219,7 +219,9 @@ def train_and_save_model(train_dataloader, PATH):
219
  train(epoch, model, train_dataloader, optimizer, BATCH_SIZE)
220
 
221
  torch.save(model.state_dict(), PATH)
 
222
  print("Model Saved!")
 
223
  return model
224
 
225
 
@@ -231,17 +233,20 @@ def summarize_text_with_model(text, model, tokenizer):
231
  ----------
232
  text : str
233
  The License text to be summarized.
234
-
235
- model: Summarizer / torch.nn.Module
236
- The trained model which is to be used to summarize text
 
237
 
238
  Returns
239
  -------
240
  str
241
  Summary of the License text from the given model.
 
 
242
 
243
  """
244
- text, definitions = clean_license_text(text)
245
 
246
  text_encoding = tokenizer(
247
  text,
@@ -282,11 +287,16 @@ def summarize(text, load_from_huggingface=True):
282
  ----------
283
  text : str
284
  Preprocessed License text.
 
 
 
285
 
286
  Returns
287
  -------
288
  summary : str
289
  Summary of the License text.
 
 
290
 
291
  """
292
 
@@ -310,7 +320,9 @@ def summarize(text, load_from_huggingface=True):
310
  model = train_and_save_model(train_dataloader, MODEL_PATH + MODEL_FILENAME)
311
  tokenizer = TOKENIZER
312
 
313
- return summarize_text_with_model(text, model, tokenizer)
 
 
314
 
315
 
316
  def summarize_license_files(path):
@@ -324,6 +336,7 @@ def summarize_license_files(path):
324
 
325
  """
326
  paths = glob.glob(path + "*.txt")
 
327
  for license_path in paths:
328
  with open(license_path, "r", encoding="utf-8") as f:
329
  summary, _ = summarize(f.read())
 
219
  train(epoch, model, train_dataloader, optimizer, BATCH_SIZE)
220
 
221
  torch.save(model.state_dict(), PATH)
222
+
223
  print("Model Saved!")
224
+
225
  return model
226
 
227
 
 
233
  ----------
234
  text : str
235
  The License text to be summarized.
236
+ model : Summarizer / torch.nn.Module
237
+ The trained model which is to be used to summarize text.
238
+ tokenizer : Tokenzier
239
+ The tokenizer used to tokenize text for model.
240
 
241
  Returns
242
  -------
243
  str
244
  Summary of the License text from the given model.
245
+ definitions : str
246
+ Definitions extracted from the License text.
247
 
248
  """
249
+ text, definitions, _ = clean_license_text(text)
250
 
251
  text_encoding = tokenizer(
252
  text,
 
287
  ----------
288
  text : str
289
  Preprocessed License text.
290
+ load_from_huggingface : boolean
291
+ Toggles whether or not to load the model from huggingface. If set to
292
+ False, this will load or train the model locally.
293
 
294
  Returns
295
  -------
296
  summary : str
297
  Summary of the License text.
298
+ definitions : str
299
+ Definitions extracted from the License text.
300
 
301
  """
302
 
 
320
  model = train_and_save_model(train_dataloader, MODEL_PATH + MODEL_FILENAME)
321
  tokenizer = TOKENIZER
322
 
323
+ summary, definitions = summarize_text_with_model(text, model, tokenizer)
324
+
325
+ return summary, definitions
326
 
327
 
328
  def summarize_license_files(path):
 
336
 
337
  """
338
  paths = glob.glob(path + "*.txt")
339
+
340
  for license_path in paths:
341
  with open(license_path, "r", encoding="utf-8") as f:
342
  summary, _ = summarize(f.read())
src/clean.py CHANGED
@@ -80,7 +80,7 @@ def html_cleaner(text):
80
  Cleaned License text with HTML script removed.
81
 
82
  """
83
- soup = BeautifulSoup(text)
84
  text = soup.body.text
85
  if not text:
86
  return ""
@@ -93,23 +93,25 @@ def json_cleaner(text_dict):
93
 
94
  Parameters
95
  ----------
96
- text : str
97
- Raw License text.
98
 
99
  Returns
100
  -------
101
- str
102
  Cleaned License text with JSON format normalized to text.
103
 
104
  """
105
- out = ""
 
106
  for key in text_dict.keys():
107
  if key in ("description", "license"):
108
- out += key
109
- out += ": "
110
- out += str(text_dict[key])
111
- out += ", "
112
- return out
 
113
 
114
 
115
  def rtf_cleaner(text):
@@ -163,7 +165,7 @@ def email_cleaner(text):
163
  Cleaned License text with emails removed.
164
 
165
  """
166
- return re.sub(r"\S{3,}@\S{2,}\.\S+", "", text)
167
 
168
 
169
  def var_cleaner(text):
@@ -198,11 +200,14 @@ def character_cleaner(text):
198
 
199
  Returns
200
  -------
201
- str
202
  Cleaned License text with some special characters removed.
203
 
204
  """
 
205
  text = url_cleaner(text)
 
 
206
  text = email_cleaner(text)
207
  text = var_cleaner(text)
208
 
@@ -210,6 +215,49 @@ def character_cleaner(text):
210
  text = re.sub("[\n]{2,}", ". ", text)
211
  text = re.sub("[:%#<>=*\-/·\s{}]+", " ", text)
212
  text = re.sub("[\. ]{2,}", ". ", text)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  return text
214
 
215
 
@@ -244,6 +292,11 @@ def split_definitions_exceptions(text, remove_exceptions, verbosity=0):
244
  ----------
245
  text : str
246
  Raw License text.
 
 
 
 
 
247
 
248
  Returns
249
  -------
@@ -275,6 +328,8 @@ def split_definitions_exceptions(text, remove_exceptions, verbosity=0):
275
  )
276
 
277
  definitions += more_defs.strip()
 
 
278
  paras, exceptions = get_exeptions(paras, remove_exceptions, verbosity=verbosity)
279
 
280
  return paras, definitions, exceptions
@@ -325,7 +380,6 @@ def clear_preamble(text):
325
  try:
326
  after_preamble_end = re.split(dist_and_mod_pattern, preamble_split[1])[1]
327
 
328
- # TODO Why do we need this condition?
329
  if len(preamble_split[0]) > 100:
330
  text = preamble_split[0] + after_preamble_end.strip()
331
  except:
@@ -369,38 +423,11 @@ def preprocess_text(text):
369
  Returns
370
  -------
371
  text : str
372
- Cleaned License text.
 
373
 
374
  """
375
 
376
- # if most_likely_license_type in [
377
- # "GPL-3.0-only",
378
- # "AGPL-3.0-only",
379
- # "GPL-2.0-only",
380
- # "LGPL-3.0-only",
381
- # "LGPL-2.1-only",
382
- # ]:
383
-
384
- # # We need to take care of these cases too:
385
- # # https://choosealicense.com/licenses/ofl-1.1/
386
- # # https://choosealicense.com/licenses/lodbl-1.0/
387
- # # https://choosealicense.com/licenses/odbl-1.0/
388
- # # https://choosealicense.com/licenses/lms-rl/
389
- # # https://choosealicense.com/licenses/lms-pl/
390
- # # https://choosealicense.com/licenses/lmpl-2.0/
391
- # # https://choosealicense.com/licenses/lppl-1.3c/
392
- # # https://choosealicense.com/licenses/eupl-1.2/
393
- # # https://choosealicense.com/licenses/eupl-1.1/
394
- # # https://choosealicense.com/licenses/epl-2.0/
395
- # # https://choosealicense.com/licenses/epl-1.0/
396
- # # https://choosealicense.com/licenses/ecl-2.0/
397
- # # https://choosealicense.com/licenses/cecill-2.1/
398
- # # https://choosealicense.com/licenses/cc-by-sa-4.0/
399
- # # https://choosealicense.com/licenses/cc-by-4.0/
400
- # # https://choosealicense.com/licenses/artistic-2.0/
401
- # # https://choosealicense.com/licenses/apache-2.0/
402
-
403
- # TODO This condition will not work, fix it:
404
  if "GNU" in text or "Apache" in text:
405
  text = gnu_cleaner(text)
406
  return text
@@ -457,18 +484,23 @@ def script_cleaner(text):
457
  Cleaned License text without scripts.
458
 
459
  """
460
- if "<?php" in text:
461
- text = php_cleaner(text)
462
- elif "</html>" in text:
463
- text = html_cleaner(text)
464
- elif text[0] == "{" and text[-1] == "}":
465
- text = json_cleaner(json.loads(text))
466
- elif "\\rtf" in text:
467
- text = rtf_cleaner(text)
 
 
 
468
  if not text:
469
  return ""
 
470
  text = clean_if_else(text)
471
  text = clean_comments(text)
 
472
  return text
473
 
474
 
@@ -500,6 +532,9 @@ def split_paras(text, verbosity=0):
500
  paras = text.split("\n")
501
  else:
502
  paras = [text]
 
 
 
503
  if verbosity != 0:
504
  print(seperator)
505
  print(seperator)
@@ -510,6 +545,7 @@ def split_paras(text, verbosity=0):
510
  print(seperator)
511
  print(para)
512
  print()
 
513
  return paras
514
 
515
 
@@ -536,9 +572,6 @@ def extract_relevant_paras(paras, verbosity=0):
536
  cleaned_paras = list()
537
  definitions = ""
538
 
539
- # TODO This might be interesting to look into:
540
- # https://choosealicense.com/licenses/eupl-1.2/
541
-
542
  clean_definitions_pattern = r"""\".{0,20}\".{0,40}(mean|include|refer)s?"""
543
 
544
  if verbosity != 0:
@@ -603,6 +636,9 @@ def get_exeptions(paras, remove_exceptions, verbosity=0):
603
  ----------
604
  paras : list
605
  A list of paragraphs from the License text.
 
 
 
606
  verbosity : int, optional
607
  The level of print statements on the output console. The default is 0.
608
 
@@ -721,6 +757,9 @@ def clean_license_text(text, remove_exceptions=False, verbosity=0):
721
  ----------
722
  text : str
723
  Raw License text.
 
 
 
724
  verbosity : int, optional
725
  The level of print statements on the output console. The default is 0.
726
 
@@ -730,13 +769,13 @@ def clean_license_text(text, remove_exceptions=False, verbosity=0):
730
  Cleaned License text.
731
  definitions : str
732
  Definitions extracted from the License text.
 
 
733
 
734
  """
735
 
736
  if len(text) == 0:
737
- return text
738
-
739
- most_likely_license_type = get_most_likely_license_type(text)
740
 
741
  text, author_details = extract_author_details(text, verbosity=verbosity)
742
  text = script_cleaner(text)
@@ -749,23 +788,10 @@ def clean_license_text(text, remove_exceptions=False, verbosity=0):
749
  text = re.sub(PARA_BREAK, "\n\n", text)
750
  text = text.strip()
751
 
752
- # TODO Need to update this too:
753
  if not isEnglish(text):
754
  if not isEnglish(" ".join(text.split()[-5:-1])):
755
- return "", ""
756
-
757
- if "MIT" in most_likely_license_type:
758
- mit_content = get_MIT_content(text)
759
- if verbosity != 0:
760
- print("This is likely an MIT License!")
761
- print(mit_content)
762
 
763
- return text, definitions
764
 
765
- """
766
- Notes:
767
-
768
- 1. Try splitting each para by "\n", if len == 1 and len(para) < 100 (or something)
769
- -> Merge with the next para
770
- Ex. "8. Termination."
771
- """
 
80
  Cleaned License text with HTML script removed.
81
 
82
  """
83
+ soup = BeautifulSoup(text, features="html.parser")
84
  text = soup.body.text
85
  if not text:
86
  return ""
 
93
 
94
  Parameters
95
  ----------
96
+ text_dict : dict
97
+ Dictonary as read from Raw License file.
98
 
99
  Returns
100
  -------
101
+ text : str
102
  Cleaned License text with JSON format normalized to text.
103
 
104
  """
105
+ text = ""
106
+
107
  for key in text_dict.keys():
108
  if key in ("description", "license"):
109
+ text += key
110
+ text += ": "
111
+ text += str(text_dict[key])
112
+ text += ", "
113
+
114
+ return text
115
 
116
 
117
  def rtf_cleaner(text):
 
165
  Cleaned License text with emails removed.
166
 
167
  """
168
+ return re.sub(r"[\w\._-]+@\w{2,}\.\w+", "", text)
169
 
170
 
171
  def var_cleaner(text):
 
200
 
201
  Returns
202
  -------
203
+ text : str
204
  Cleaned License text with some special characters removed.
205
 
206
  """
207
+ text = text.replace(PARA_BREAK, f" {PARA_BREAK} ")
208
  text = url_cleaner(text)
209
+ text = text.replace(f" {PARA_BREAK} ", PARA_BREAK)
210
+
211
  text = email_cleaner(text)
212
  text = var_cleaner(text)
213
 
 
215
  text = re.sub("[\n]{2,}", ". ", text)
216
  text = re.sub("[:%#<>=*\-/·\s{}]+", " ", text)
217
  text = re.sub("[\. ]{2,}", ". ", text)
218
+
219
+ html_strs = [
220
+ "&rsquo;",
221
+ "&ldquo;",
222
+ "&middot;",
223
+ "&plusmn;",
224
+ "&hellip;",
225
+ "&sbquo;",
226
+ "&mdash;",
227
+ "&apos;",
228
+ "&trade;",
229
+ "&Dagger;",
230
+ "&bull;",
231
+ "&laquo;",
232
+ "&prime;",
233
+ "&quot;",
234
+ "&lsquo;",
235
+ "&asymp;",
236
+ "&Prime;",
237
+ "&frac12;",
238
+ "&sect;",
239
+ "&pound;",
240
+ "&cent;",
241
+ "&para;",
242
+ "&raquo;",
243
+ "&dagger;",
244
+ "&rdquo;",
245
+ "&euro;",
246
+ "&copy;",
247
+ "&bdquo;",
248
+ "&ndash;",
249
+ "&deg;",
250
+ "&reg;",
251
+ "&lt;",
252
+ "&gt;",
253
+ "&le;",
254
+ "&ge;",
255
+ "&ne;"
256
+ ]
257
+
258
+ for html_str in html_strs:
259
+ text = re.sub(html_str, "", text)
260
+
261
  return text
262
 
263
 
 
292
  ----------
293
  text : str
294
  Raw License text.
295
+ remove_exceptions : bool
296
+ True if we want to remove exceptions from the License text, False
297
+ otherwise
298
+ verbosity : int, optional
299
+ The level of print statements on the output console. The default is 0.
300
 
301
  Returns
302
  -------
 
328
  )
329
 
330
  definitions += more_defs.strip()
331
+ definitions = "\n\n".join(split_paras(definitions, verbosity=verbosity))
332
+
333
  paras, exceptions = get_exeptions(paras, remove_exceptions, verbosity=verbosity)
334
 
335
  return paras, definitions, exceptions
 
380
  try:
381
  after_preamble_end = re.split(dist_and_mod_pattern, preamble_split[1])[1]
382
 
 
383
  if len(preamble_split[0]) > 100:
384
  text = preamble_split[0] + after_preamble_end.strip()
385
  except:
 
423
  Returns
424
  -------
425
  text : str
426
+ License text with irrelavant information in Preamble and text after end
427
+ of terms and conditions removed.
428
 
429
  """
430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  if "GNU" in text or "Apache" in text:
432
  text = gnu_cleaner(text)
433
  return text
 
484
  Cleaned License text without scripts.
485
 
486
  """
487
+ try:
488
+ if "<?php" in text:
489
+ text = php_cleaner(text)
490
+ elif "</html>" in text:
491
+ text = html_cleaner(text)
492
+ elif "\\rtf" in text:
493
+ text = rtf_cleaner(text)
494
+ elif text[0] == "{" and text[-1] == "}":
495
+ text = json_cleaner(json.loads(text))
496
+ except:
497
+ pass
498
  if not text:
499
  return ""
500
+
501
  text = clean_if_else(text)
502
  text = clean_comments(text)
503
+
504
  return text
505
 
506
 
 
532
  paras = text.split("\n")
533
  else:
534
  paras = [text]
535
+
536
+ paras = [para.strip() for para in paras]
537
+
538
  if verbosity != 0:
539
  print(seperator)
540
  print(seperator)
 
545
  print(seperator)
546
  print(para)
547
  print()
548
+
549
  return paras
550
 
551
 
 
572
  cleaned_paras = list()
573
  definitions = ""
574
 
 
 
 
575
  clean_definitions_pattern = r"""\".{0,20}\".{0,40}(mean|include|refer)s?"""
576
 
577
  if verbosity != 0:
 
636
  ----------
637
  paras : list
638
  A list of paragraphs from the License text.
639
+ remove_exceptions : bool
640
+ Toggles whether or not to remove exceptions from the cleaned license
641
+ text before summarization.
642
  verbosity : int, optional
643
  The level of print statements on the output console. The default is 0.
644
 
 
757
  ----------
758
  text : str
759
  Raw License text.
760
+ remove_exceptions : bool, optional
761
+ Toggles whether or not to remove exceptions from the cleaned license.
762
+ The default is False.
763
  verbosity : int, optional
764
  The level of print statements on the output console. The default is 0.
765
 
 
769
  Cleaned License text.
770
  definitions : str
771
  Definitions extracted from the License text.
772
+ exceptions : str
773
+ Exceptions extracted from the License text.
774
 
775
  """
776
 
777
  if len(text) == 0:
778
+ return text, "", ""
 
 
779
 
780
  text, author_details = extract_author_details(text, verbosity=verbosity)
781
  text = script_cleaner(text)
 
788
  text = re.sub(PARA_BREAK, "\n\n", text)
789
  text = text.strip()
790
 
 
791
  if not isEnglish(text):
792
  if not isEnglish(" ".join(text.split()[-5:-1])):
793
+ return "", "", ""
 
 
 
 
 
 
794
 
795
+ exceptions = " ".join(exceptions)
796
 
797
+ return text, definitions, exceptions
 
 
 
 
 
 
src/diff.py ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import difflib as dl
2
+ import re
3
+
4
+ try:
5
+ from src.parameters import color
6
+ except:
7
+ from parameters import color
8
+
9
+
10
+ def strike(text):
11
+ '''
12
+ Adds strikesthrough the given text
13
+
14
+ Parameters
15
+ ----------
16
+ text : str
17
+ String to strikethrough
18
+
19
+ Returns
20
+ -------
21
+ content : str
22
+ Strikethrough text
23
+ '''
24
+ result = ''
25
+ for c in text:
26
+ result = result + c + '\u0336'
27
+ return result
28
+
29
+
30
+ def strikethrough_diff(original_license_text, modified_license_text):
31
+ '''
32
+ Compares the two strings and strikes through all words/characters that exist in the original text
33
+ and not in input text
34
+
35
+ Parameters
36
+ ----------
37
+ original_license_text : str
38
+ The text to compare it to. This is usually the official license text
39
+
40
+ modified_license_text : str
41
+ The text that is being compared with. This is usually the modified license text
42
+
43
+ Returns
44
+ -------
45
+ content : str
46
+ The strings with the uncommon words/characters strikethroughed
47
+ '''
48
+ original_license_text = original_license_text.replace("\n\n", " __para_break__ ")
49
+ modified_license_text = modified_license_text.replace("\n\n", " __para_break__ ")
50
+ original_license_tokens = re.split(" ", original_license_text.strip())
51
+ modified_license_tokens = re.split(" ", modified_license_text.strip())
52
+
53
+ processed_license_word_list = []
54
+
55
+ for diff in dl.ndiff(original_license_tokens, modified_license_tokens):
56
+ if diff.strip().endswith('__para_break__'):
57
+ processed_license_word_list.append("\n\n")
58
+ elif diff == "- ":
59
+ processed_license_word_list.append((diff[2:] + ""))
60
+ elif diff.startswith('- '):
61
+ processed_license_word_list.append(f"""<mark style="color: {color.BLACK}; background-color:{color.RED}">{strike(diff.strip("- "))}</mark>""")
62
+ elif diff == "+ ":
63
+ processed_license_word_list.append((diff[2:] + ""))
64
+ elif diff.startswith("+ "):
65
+ processed_license_word_list.append( f"""<mark style="color: {color.BLACK}; background-color:{color.GREEN}">{diff.strip("+ ")}</mark>""")
66
+ elif diff.startswith("? "):
67
+ continue
68
+ else:
69
+ processed_license_word_list.append((diff[2:] + ""))
70
+ return " ".join(processed_license_word_list).replace(" __para_break__ ", "\n\n")
src/doc2vec.py CHANGED
@@ -3,12 +3,14 @@ import gensim
3
  from gensim.models.doc2vec import Doc2Vec, TaggedDocument
4
  import pandas as pd
5
  import json
 
6
 
7
  try:
8
  from src.clean import preprocess_text, script_cleaner
9
  except:
10
  from clean import preprocess_text, script_cleaner
11
 
 
12
  MODEL_PATH = 'models/d2v.model'
13
  LICENSE_INDEX_PATH = 'data/index_license_map.json'
14
 
@@ -109,10 +111,10 @@ def scores_to_df(scores):
109
  license_names.append(score[0])
110
  license_scores.append(score[1])
111
 
112
- data = {'License': license_names, 'Scores': license_scores}
113
  return pd.DataFrame.from_dict(data)
114
 
115
-
116
  def inference(input):
117
  '''
118
  Given text input, returns list of tuples containing predictions and confidence scores
 
3
  from gensim.models.doc2vec import Doc2Vec, TaggedDocument
4
  import pandas as pd
5
  import json
6
+ import streamlit as st
7
 
8
  try:
9
  from src.clean import preprocess_text, script_cleaner
10
  except:
11
  from clean import preprocess_text, script_cleaner
12
 
13
+
14
  MODEL_PATH = 'models/d2v.model'
15
  LICENSE_INDEX_PATH = 'data/index_license_map.json'
16
 
 
111
  license_names.append(score[0])
112
  license_scores.append(score[1])
113
 
114
+ data = {'License': license_names, 'Similarity Scores': license_scores}
115
  return pd.DataFrame.from_dict(data)
116
 
117
+ @st.cache
118
  def inference(input):
119
  '''
120
  Given text input, returns list of tuples containing predictions and confidence scores
src/evaluate.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def evaluate_pr(system, gold, system_score_cutoff=0, k=5, verbosity=0):
2
+ """
3
+ Returns the precision,recall and f1 score @k.
4
+ Also prints the precision,recall and f1 score @k=1 to 5.
5
+
6
+ Parameters
7
+ ----------
8
+ system : list of tuples
9
+ System output for sentence in form (position, score).
10
+ gold : list of tuple
11
+ Gold standard for sentence in form (position, score).
12
+ system_score_cutoff : float
13
+ Threshold of importance score for system output, deafaul to 0.
14
+ k : int
15
+ Top k recommendations to be evaluate on.
16
+
17
+ Returns
18
+ -------
19
+ tuple
20
+ A tuple contains precision, recall and f1 score for the system.
21
+ """
22
+ # recommended by system and gold
23
+ system = [i for i in system if i[1] > system_score_cutoff] # have the flexibility to change the number of recommendation
24
+ gold = [i for i in gold if i[1] > 0]
25
+
26
+ if len(gold)>k:
27
+ n = len(gold)
28
+ else:
29
+ n = 0
30
+
31
+ # sort
32
+ system.sort(key=lambda x: -x[1])
33
+ gold_sent = [j[0] for j in gold]
34
+
35
+ # print("system:", system)
36
+ # print("gold:", gold)
37
+
38
+ for i in range(1, k + 1): # show how precision and recall change at different k
39
+ num_correct = 0
40
+ if len(system)<i:
41
+ sys = system
42
+ else:
43
+ sys = system[:i]
44
+
45
+ for s in sys:
46
+ if s[0] in gold_sent:
47
+ num_correct+=1
48
+
49
+ precision = num_correct / len(sys)
50
+ recall = num_correct / len(gold)
51
+ if verbosity > 0:
52
+ print("k=", i, "\nprecision=", precision, "\nrecall=", recall)
53
+
54
+ if n:
55
+ num_correct = 0
56
+ sys = system[:n]
57
+ for s in sys:
58
+ if s[0] in gold_sent:
59
+ num_correct += 1
60
+
61
+ precision = num_correct/len(sys)
62
+ recall = num_correct/len(gold)
63
+ if verbosity > 0:
64
+ print("k=", i, "\nprecision=", precision, "\nrecall=", recall)
65
+
66
+ try:
67
+ f_score = 2 * precision * recall / (precision + recall)
68
+ except:
69
+ f_score = 0
70
+
71
+ if verbosity > 0:
72
+ print("f1 score=", f_score)
73
+
74
+ return (precision, recall, f_score) # return precision and recall at k=n, showing how the system performs by recommending the same number of sent as gold
src/parameters.py ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Tue Jun 14 00:29:28 2022
4
+
5
+ @author: UTKARSH
6
+ """
7
+
8
+ import spacy
9
+
10
+
11
+ nlp = spacy.load("en_core_web_sm")
12
+
13
+ class vocab:
14
+ # We will add extra weight to negation words
15
+ NEGATION_WEIGHT = 0.2
16
+
17
+ # Strong modal verbs are given very high weight
18
+ strong_modal_verbs = {
19
+ "must",
20
+ "shall",
21
+ }
22
+
23
+ other_modal_verbs = {
24
+ "may",
25
+ "should",
26
+ "would"
27
+ }
28
+
29
+ other_relevant_stopwords = {
30
+ "without",
31
+ "however"
32
+ }
33
+
34
+ # Stopwords we would not be considering while normalizing
35
+ # We do not need stopwords if we don't normalize, but just in case
36
+ license_stopwords = {
37
+ ",",
38
+ "(",
39
+ ")",
40
+ ".",
41
+ "\"",
42
+ "software",
43
+ "license",
44
+ "work",
45
+ "program",
46
+ "source",
47
+ "code",
48
+ "rights",
49
+ "notice",
50
+ "provided",
51
+ "version",
52
+ "library",
53
+ "covered",
54
+ "public",
55
+ "disclaimer",
56
+ "documentation"
57
+ }.union(
58
+ nlp.Defaults.stop_words
59
+ ) - strong_modal_verbs - other_modal_verbs - other_relevant_stopwords
60
+
61
+ negation_words = {
62
+ "no",
63
+ "not",
64
+ "non"
65
+ }
66
+
67
+ # These words will have a high weightage while ranking sentences
68
+ high_imp_verbs = {
69
+ "permit", "copy", "modify", "change", "sell", "reproduce",
70
+ "transfer", "rent", "lease", "assign", "sublet", "distribute",
71
+ "redistribute", "allow", "require", "use"
72
+ }
73
+
74
+ low_imp_verbs = {
75
+ "merge", "publish", "include", "grant", "run", "affirm", "propagate",
76
+ "acknowledge", "limit", "retain", "associate"
77
+ }
78
+
79
+ high_imp_neg_verbs = {f"not-{verb}" for verb in high_imp_verbs}
80
+ low_imp_neg_verbs = {f"not-{verb}" for verb in low_imp_verbs}
81
+
82
+ properties_dict = {
83
+ "0.1": {
84
+ "investigative",
85
+ "contract",
86
+ "contribution"
87
+ },
88
+ "0.2": {
89
+ "everyone",
90
+ "hereby",
91
+ "claim"
92
+ },
93
+ "0.3": {
94
+ "termination", "terminate",
95
+ "meet",
96
+ "tort",
97
+ "files",
98
+ "author",
99
+ "available",
100
+ "apply",
101
+ "material",
102
+ "user"
103
+ },
104
+ "0.4": {
105
+ "liable",
106
+ "contributors",
107
+ },
108
+ "0.5": low_imp_verbs.union({
109
+ "restriction",
110
+ "however",
111
+ "without"
112
+ }),
113
+ "0.6": {
114
+ "distribution", "redistribution",
115
+ "attribution",
116
+ "permission", "modification",
117
+ "copyright",
118
+ "limitation",
119
+ "free", "charge",
120
+ "warranty",
121
+ "term", "terms", "condition",
122
+ "right",
123
+ "sublicense",
124
+ "commercial", "non-commercial",
125
+ "exception",
126
+ "liability",
127
+ "irrevocable"
128
+ },
129
+ "0.7": low_imp_neg_verbs.union({
130
+ "no-charge"
131
+ }),
132
+ "0.8": high_imp_verbs.union({
133
+ "patent"
134
+ }),
135
+ "0.9": {
136
+ ""
137
+ },
138
+ "1.0": high_imp_neg_verbs.union({
139
+ ""
140
+ }),
141
+ "2.0": other_modal_verbs,
142
+ "3.0": strong_modal_verbs
143
+ }
144
+
145
+ properties_scores = {
146
+ "0.1": 0.1,
147
+ "0.2": 0.2,
148
+ "0.3": 0.3,
149
+ "0.4": 0.4,
150
+ "0.5": 0.5,
151
+ "0.6": 0.6,
152
+ "0.7": 0.7,
153
+ "0.8": 0.8,
154
+ "0.9": 0.9,
155
+ "1.0": 1.0,
156
+ "2.0": 2.0,
157
+ "3.0": 3.0
158
+ }
159
+
160
+
161
+ class color:
162
+ GREEN = "#03AC13"
163
+ RED = "#D22B2B"
164
+ BLACK = "#000000"
165
+ GRAY = "#AAAAAA"
166
+
167
+
168
+ class captions:
169
+
170
+ APP_TITLE = "Clearly Defined: License Summarizer"
171
+
172
+ APP_DISCLAIMER = "DISCLAIMER: This app is the result of a Capstone \
173
+ Project and further development is required before productive use."
174
+
175
+ LICENSE_TEXT = "License text"
176
+
177
+ ENTER_LICENSE_CONTENT = "Enter contents of the license"
178
+
179
+ LOADING = "Loading..."
180
+ SUMMARY = "Summary"
181
+ SIMILARITY_INDEX = "Similarity Index"
182
+ SIMILARITY_INDEX_DISCLAIMER = "The following list of licenses are from \
183
+ choosealicense.com and consist of 41 known open source licenses."
184
+
185
+ PROPERTIES = "Properties"
186
+ PROPERTIES_DISCLAIMER = "The properties defined below are from \
187
+ choosealicense.com. For more information, visit \
188
+ choosealicense.com/appendix."
189
+
190
+ DEFINITIONS = "Definitions"
191
+ EXCEPTIONS = "Exceptions"
192
+
193
+ SUMMARY_BY_T5 = "Summary will be generated by a T5 Transformer Model"
194
+ WARNING_ABSTRACTIVE = "WARNING: The results generated by the abstractive \
195
+ summarizer might not be as expected"
196
+
197
+ SUMMARY_BY_TEXTRANK = "Summary will be generated by a custom TextRank \
198
+ Algorithm"
199
+
200
+ SUMMARY_BY_BOTH = "The License text will be first passed through the \
201
+ custom TextRank algorithm and then passed on to the T5 Transformer \
202
+ Model to generate a summary."
203
+
204
+ WARNING_BOTH = "WARNING: The results generated by the abstractive \
205
+ summarizer might not be as expected"
206
+
207
+ SUMMARY_LENGTH_PERCENTAGE = "Summary length percentage"
208
+
209
+ SELECT_SUMMARIZATION_TYPE = "Select summarization type"
210
+
211
+ SUMMARY_VIEW = "Summary View"
212
+
213
+ DISPLAY_SUMMARY_ONLY_DESC = "Shows the important sentences from the \
214
+ license"
215
+ DISPLAY_HIGHLIGHTED_SUMMARY_DESC = "Highlights the important sentences in \
216
+ the license"
217
+
218
+ CLEANED_LICENSE_ONLY = "Shows the cleaned license text only"
219
+ CLEANED_LICENSE_WITH_DIFF = "Shows the cleaned license text with \
220
+ highlighted diffs"
221
+
222
+ HIDE_CLEANED_LICENSE = "Hides the cleaned license text"
223
+
224
+ NO_SIMILAR_LICENSE_FOUND = "No similar license found"
225
+
226
+ CLEANED_LICENSE_VIEW = "Cleaned License View"
227
+ CLEANED_LICENSE_TEXT = "Cleaned License Text"
228
+ CLEANED_LICENSE_DIFF = "Cleaned License Diff"
229
+
230
+
231
+ class options:
232
+ ABSTRACTIVE = "Abstractive"
233
+ EXTRACTIVE = "Extractive"
234
+ BOTH = "Both"
235
+
236
+ DISPLAY_SUMMARY_ONLY = "Display Summary Only"
237
+ DISPLAY_HIGHLIGHTED_SUMMARY = "Display Highlighted Summary"
238
+
239
+ HIDE_CLEANED_LICENSE = "Hide Cleaned License"
240
+ DISPLAY_CLEANED_LICENSE = "Display Cleaned License"
241
+ DISPLAY_CLEANED_DIFF = "Display Cleaned License + Diff"
242
+
243
+ SHOW_LICENSE_PROPERTIES = "Show license properties"
244
+ SHOW_LICENSE_DEFINITIONS = "Show license definitions"
245
+ SHOW_LICENSE_EXCEPTIONS = "Show license exceptions"
246
+
247
+
248
+ class help_messages:
249
+ SUMMARIZATION_TYPE = f"""Select the type of summarization to perform. \
250
+ "{options.EXTRACTIVE}" would select the most important sentences to \
251
+ generate a summary. "{options.ABSTRACTIVE}" would try and paraphrase \
252
+ the meaning of the license and form a summary. "{options.BOTH}" would \
253
+ first pass the license through "extractive" and then "abstractive" \
254
+ to generate a summary."""
255
+
256
+ SLIDER = "Slide to vary the size of the summary. 1 will result in the \
257
+ smallest summary possible, whereas 100 will display the complete \
258
+ (cleaned) license text."
259
+
260
+ SUMMARY_VIEW = f""""Select the type of summary view desired. \
261
+ {options.DISPLAY_SUMMARY_ONLY}" will show only the \
262
+ summary text. "{options.DISPLAY_HIGHLIGHTED_SUMMARY}" will show the \
263
+ complete (cleaned) license text with the summary highlighted."""
264
+
265
+ CLEANED_LICENSE_VIEW = f""""Select the type of cleaned license view \
266
+ desired. {options.HIDE_CLEANED_LICENSE}" will not show \
267
+ the cleaned license text. "{options.DISPLAY_CLEANED_LICENSE}" will \
268
+ show the cleaned license text. "{options.DISPLAY_CLEANED_DIFF}" will \
269
+ show the cleaned license text and the diff between the input text and \
270
+ the closest matching SPDX license (from the similarity index table)."""
271
+
272
+ PROPERTIES_CHECKBOX = "Select this checkbox to view the properties of the \
273
+ license that shares the highest similarity with the input license \
274
+ text. This checkbox would be disabled if no known license crosses the \
275
+ similarity threshold."
276
+
277
+ DEFINITIONS_CHECKBOX = "Select this checkbox to view definitions within \
278
+ the license. This checkbox would be disabled if no definitions are \
279
+ found within the license."
280
+
281
+ EXCEPTIONS_CHECKBOX = "Select this checkbox to view exceptions within \
282
+ the license. This checkbox would be disabled if no exceptions are \
283
+ found within the license."
284
+
src/read_data.py CHANGED
@@ -33,7 +33,6 @@ LIMITATIONS = "limitations"
33
 
34
  SUMMARY = "summary"
35
 
36
-
37
  summary_terms_dict = {
38
  COMM_USE: "The licensed material and derivatives may be used for commercial purposes.",
39
  DIST: "The licensed material may be distributed.",
@@ -57,16 +56,6 @@ summary_terms_dict = {
57
  }
58
 
59
 
60
-
61
- def clean_data(text):
62
- """
63
- A placeholder method which will be replaced with the original "clean_data"
64
- method.
65
-
66
- """
67
- return text
68
-
69
-
70
  def read_file(file_path):
71
  """
72
  Reads data from the given file path
@@ -88,6 +77,21 @@ def read_file(file_path):
88
 
89
 
90
  def augment_summary(license_data):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  for index, row in license_data.iterrows():
92
  row[SUMMARY] = row[SUMMARY].strip()
93
 
@@ -134,15 +138,21 @@ def read_license_data(labels_file="choosealicense_appendix_labels.csv", drop_sum
134
  Reads data from Text and Summary File and stores it as a dictionary of
135
  dictionaries.
136
 
 
 
 
 
 
 
 
 
 
137
  Returns
138
  -------
139
- data_dict : dict
140
- A dictionary of dictionaries with keys as the License name and values
141
- as dictionaries with keys "summary" and "text" and values as the
142
- corresponding summaries and license texts respectively.
143
 
144
  """
145
-
146
  files = glob.glob(gold_licenses_data + "*")
147
  if not files:
148
  files = glob.glob(f"../{gold_licenses_data}" + "*")
@@ -163,7 +173,7 @@ def read_license_data(labels_file="choosealicense_appendix_labels.csv", drop_sum
163
  data_dict[file_name]["summary"] = read_file(file_path)
164
  elif file_path.endswith(".txt"):
165
  file_name = file_path.split(split_by)[-1][:-4]
166
- data_dict[file_name]["text"] = clean_data(read_file(file_path))
167
 
168
  summary_df = pd.DataFrame(data_dict).T
169
 
@@ -176,7 +186,8 @@ def read_license_data(labels_file="choosealicense_appendix_labels.csv", drop_sum
176
  print("Labels file not found, please check the path again!")
177
  return None
178
 
179
- merged_data = labels_df.join(summary_df).drop(columns=["spdx_id"])
 
180
 
181
  if drop_summary:
182
  merged_data = merged_data.drop(columns=["summary"])
@@ -185,6 +196,22 @@ def read_license_data(labels_file="choosealicense_appendix_labels.csv", drop_sum
185
 
186
 
187
  def read_license_summary_data(aug_summary=False):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
  license_data = read_license_data()
189
  if aug_summary:
190
  license_data = augment_summary(license_data)
@@ -194,10 +221,52 @@ def read_license_summary_data(aug_summary=False):
194
 
195
 
196
  def read_license_labels_data():
 
 
 
 
 
 
 
 
 
197
  return read_license_data().drop(columns=["summary"])
198
 
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  def fix_labels(license_data):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  permissions_map = {
202
  "permissions": 0
203
  }
 
33
 
34
  SUMMARY = "summary"
35
 
 
36
  summary_terms_dict = {
37
  COMM_USE: "The licensed material and derivatives may be used for commercial purposes.",
38
  DIST: "The licensed material may be distributed.",
 
56
  }
57
 
58
 
 
 
 
 
 
 
 
 
 
 
59
  def read_file(file_path):
60
  """
61
  Reads data from the given file path
 
77
 
78
 
79
  def augment_summary(license_data):
80
+ """
81
+ Augments summary with description of labels from choosealicense as stored
82
+ in summary_terms_dict object.
83
+
84
+ Parameters
85
+ ----------
86
+ license_data : pandas.DataFrame
87
+ The license data with original license texts and summaries.
88
+
89
+ Returns
90
+ -------
91
+ license_data : pandas.DataFrame
92
+ The license data with original license texts and augmented summaries.
93
+
94
+ """
95
  for index, row in license_data.iterrows():
96
  row[SUMMARY] = row[SUMMARY].strip()
97
 
 
138
  Reads data from Text and Summary File and stores it as a dictionary of
139
  dictionaries.
140
 
141
+ Parameters
142
+ ----------
143
+ labels_file : str, optional
144
+ The filename containing labels for choosealicense licenses.
145
+ The default is "choosealicense_appendix_labels.csv".
146
+ drop_summary : bool, optional
147
+ A flag to decide whether or not to drop summary before returning the
148
+ data. The default is False.
149
+
150
  Returns
151
  -------
152
+ merged_data : pandas.DataFrame
153
+ Merged data with choosealicense licenses, summaries and labels.
 
 
154
 
155
  """
 
156
  files = glob.glob(gold_licenses_data + "*")
157
  if not files:
158
  files = glob.glob(f"../{gold_licenses_data}" + "*")
 
173
  data_dict[file_name]["summary"] = read_file(file_path)
174
  elif file_path.endswith(".txt"):
175
  file_name = file_path.split(split_by)[-1][:-4]
176
+ data_dict[file_name]["text"] = read_file(file_path)
177
 
178
  summary_df = pd.DataFrame(data_dict).T
179
 
 
186
  print("Labels file not found, please check the path again!")
187
  return None
188
 
189
+ # TODO: Check if this is breaking anything
190
+ merged_data = labels_df.join(summary_df)#.drop(columns=["spdx_id"])
191
 
192
  if drop_summary:
193
  merged_data = merged_data.drop(columns=["summary"])
 
196
 
197
 
198
  def read_license_summary_data(aug_summary=False):
199
+ """
200
+ Reads the licenses and summaries from license files, augments summaries
201
+ if required and return all data as a single object.
202
+
203
+ Parameters
204
+ ----------
205
+ aug_summary : bool, optional
206
+ A flag to decide whether or not to augment summaries with label
207
+ descriptions before returning the data. The default is False.
208
+
209
+ Returns
210
+ -------
211
+ license_data : pandas.DataFrame
212
+ License data with choosealicense licenses and summaries.
213
+
214
+ """
215
  license_data = read_license_data()
216
  if aug_summary:
217
  license_data = augment_summary(license_data)
 
221
 
222
 
223
  def read_license_labels_data():
224
+ """
225
+ Reads licenses along with their labels.
226
+
227
+ Returns
228
+ -------
229
+ pandas.DataFrame
230
+ A dataframe with Licenses and their labels.
231
+
232
+ """
233
  return read_license_data().drop(columns=["summary"])
234
 
235
 
236
+ def read_license_text_data(license_name):
237
+ """
238
+ Reads License data for a given license_name
239
+
240
+ Parameters
241
+ ----------
242
+ license_name : str
243
+ Name of a license from choosealicense list.
244
+
245
+ Returns
246
+ -------
247
+ str
248
+ License text for the given license_name.
249
+
250
+ """
251
+ license_diff = read_license_data(drop_summary=True)
252
+ return license_diff[license_diff["spdx_id"] == license_name]["text"].values[0]
253
+
254
+
255
  def fix_labels(license_data):
256
+ """
257
+ Update labels in the given dataframe license_data with their integer ids.
258
+
259
+ Parameters
260
+ ----------
261
+ license_data : pandas.DataFrame
262
+ Dataframe consisting of license data with labels.
263
+
264
+ Returns
265
+ -------
266
+ license_data : pandas.DataFrame
267
+ Dataframe consisting of license data with updated labels.
268
+
269
+ """
270
  permissions_map = {
271
  "permissions": 0
272
  }
src/textrank.py CHANGED
@@ -1,200 +1,199 @@
1
- import re
2
- import nltk
3
- import numpy as np
4
- import gensim
5
  import spacy
6
  import math
7
  from collections import Counter
8
 
 
9
  try:
10
  from src.clean import clean_license_text
11
- from src.read_data import read_file
12
  except:
13
  from clean import clean_license_text
14
- from read_data import read_file
15
 
16
 
17
- NEGATION_WEIGHT = 0.2
 
 
 
18
 
19
  nlp = spacy.load("en_core_web_sm")
20
 
21
- modal_verbs = {
22
- "can",
23
- "may",
24
- "must",
25
- "shall",
26
- "will",
27
- # "could",
28
- # "might",
29
- "should",
30
- "would"
31
- }
32
-
33
- neg_modal = {
34
- "cannot",
35
- "may not",
36
- "must not",
37
- "shall not",
38
- "will not",
39
- # "could not",
40
- # "might not",
41
- "should not",
42
- "would not"
43
- }
44
-
45
- # TODO Move these structures to another file
46
- license_stopwords = {
47
- ",",
48
- "(",
49
- ")",
50
- "software",
51
- "license",
52
- "work",
53
- # "copyright",
54
- "program",
55
- # "use",
56
- # "copy",
57
- "source",
58
- # "may",
59
- # "terms",
60
- "code",
61
- # "without",
62
- # "free",
63
- # "distribute",
64
- # "rights",
65
- # "notice",
66
- # "shall",
67
- "provided",
68
- # "permission",
69
- # "including",
70
- "version",
71
- "library",
72
- # "condition",
73
- "covered",
74
- # "must",
75
- "public",
76
- # "modify",
77
- # "distribution",
78
- # "warranty",
79
- }.union(nlp.Defaults.stop_words) - modal_verbs
80
-
81
- negation_words = {
82
- "no",
83
- "not",
84
- "non"
85
- }
86
-
87
- # TODO: Consider adding these words to the vocab:
88
- # no-charge
89
- #
90
- #
91
- #
92
- #
93
-
94
- verbs = [
95
- "permit", "copy", "modify", "change", "sell", "reproduce",
96
- "transfer", "rent", "lease", "assign", "sublet", "distribute",
97
- "redistribute", "allow", "require", "merge", "publish", "use",
98
- "include", "grant", "run", "affirm", "propagate", "acknowledge"
99
- ]
100
-
101
- neg_verbs = [f"not-{verb}" for verb in verbs]
102
-
103
- properties_dict = {
104
- "0.1": [
105
- ],
106
- "0.2": ["everyone"],
107
- "0.3": ["irrevocable"],
108
- "0.4": [],
109
- "0.5": [],
110
- "0.6": [
111
- "distribution", "redistribution",
112
- "permission", "modification",
113
- "copyright",
114
- "permission",
115
- "limitation",
116
- "free", "charge",
117
- "warranty",
118
- "term", "terms", "condition",
119
- "right",
120
- "sublicense",
121
- "commercial", "non-commercial",
122
- "exception"
123
- ],
124
- "0.7": verbs + [
125
-
126
- ],
127
- "0.8": [],
128
- "0.9": neg_verbs + [],
129
- "1.0": [],
130
- "3.0": modal_verbs
131
- }
132
-
133
-
134
- properties_scores = {
135
- "0.1": 0.1,
136
- "0.2": 0.2,
137
- "0.3": 0.3,
138
- "0.4": 0.4,
139
- "0.5": 0.5,
140
- "0.6": 0.6,
141
- "0.7": 0.7,
142
- "0.8": 0.8,
143
- "0.9": 0.9,
144
- "1.0": 1.0,
145
- "3.0": 3.0
146
- }
147
 
148
 
149
  def lemmatize_tokens(sent):
150
- # TODO: Docstrings
151
- """Each word in input sentence is converted to lemma"""
 
 
 
 
 
 
 
 
 
 
 
 
152
  lemmas = list()
153
 
154
  nlp_sent = [token.lemma_.lower().strip() for token in nlp(sent)]
155
 
156
  for tok_i, token in enumerate(nlp_sent):
157
  if (token
158
- and token not in license_stopwords
159
- and token not in negation_words):
160
- if tok_i > 0 and nlp_sent[tok_i-1] in negation_words:
161
  lemmas.append(f"{nlp_sent[tok_i-1]}-{token}")
162
- elif tok_i > 1 and nlp_sent[tok_i-1] in " -" and nlp_sent[tok_i-2] in negation_words:
 
 
163
  lemmas.append(f"{nlp_sent[tok_i-2]}-{token}")
164
  else:
165
  lemmas.append(token)
166
 
167
- return lemmas
168
 
169
 
170
- def custom_textrank_summarizer(license_text,
171
- min_sent_len=3,
172
- summary_len=0.3,
173
- debug=False):
 
 
 
174
  """
175
- TODO: Doctrings
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  """
177
- sent_scores = Counter()
178
 
179
- cleaned_license_text, definitions = clean_license_text(license_text)
 
 
 
 
180
 
181
- cleaned_license_sentences = re.split('(\n{2,}|\.)', cleaned_license_text)
182
- cleaned_license_sentences = [
183
- text.strip() for text in cleaned_license_sentences
184
- if text.strip() not in ["", ".", "\n", "\n\n"]
185
- ]
186
 
187
- summary_len = math.ceil(summary_len*len(cleaned_license_sentences))
188
 
189
  if debug:
190
  print(f"summary length:{summary_len}")
191
- print(cleaned_license_sentences)
192
 
193
  for sent_i, sent in enumerate(cleaned_license_sentences):
194
 
195
- if sent_i < 0:
196
- continue
197
-
198
  if len(sent.split()) < min_sent_len:
199
  continue
200
 
@@ -209,14 +208,14 @@ def custom_textrank_summarizer(license_text,
209
 
210
  word_count = Counter([tok for tok in lemmatized_tokens])
211
 
212
- for prop, prop_words in properties_dict.items():
213
  prop_score = 0
214
 
215
  imp_words = list()
216
 
217
- for prop_i, prop_word in enumerate(prop_words):
218
  if prop_word in word_count.keys():
219
- prop_score += properties_scores[prop]
220
  imp_words.append(prop_word)
221
 
222
  if debug:
@@ -224,17 +223,252 @@ def custom_textrank_summarizer(license_text,
224
 
225
  score += prop_score
226
 
227
- sent_scores[sent] = score / len(lemmatized_tokens)
 
 
 
 
228
 
229
  if debug:
230
- print(f"Sentence score: {sent_scores[sent]}")
231
  print()
232
 
 
 
233
  if debug:
234
  print(sent_scores)
235
 
236
- sorted_sent_scores = sent_scores.most_common()
237
 
238
- summary = ".\n".join(sent for sent, score in sorted_sent_scores[:summary_len])
239
 
240
- return summary, definitions
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
 
 
 
2
  import spacy
3
  import math
4
  from collections import Counter
5
 
6
+
7
  try:
8
  from src.clean import clean_license_text
9
+ from src.parameters import color, vocab
10
  except:
11
  from clean import clean_license_text
12
+ from parameters import color, vocab
13
 
14
 
15
+ GOLD_STANDARD_PATH = "../UBC-SAP_gold-corpus/UBC-SAP_capstone_corpus_labels_removed.xlsx"
16
+ LABELS_PATH = "data/choosealicense_appendix_labels.csv"
17
+ MIN_SENT_LEN = 3
18
+ SUMMARY_LEN = 0.3
19
 
20
  nlp = spacy.load("en_core_web_sm")
21
 
22
+
23
+ def normalize_sentence_counter(counter):
24
+ """
25
+ Normalize sentence scores in the counter between 0 and 3
26
+
27
+ Parameters
28
+ ----------
29
+ counter : dict
30
+ A dictionary of scores with keys as sentence and values as raw scores.
31
+
32
+ Returns
33
+ -------
34
+ counter : dict
35
+ A dictionary of scores with keys as sentence and values as normalized
36
+ scores.
37
+
38
+ """
39
+ vals = list(counter.values())
40
+
41
+ if vals:
42
+ min_val = min(vals)
43
+ max_val = max(vals)
44
+ else:
45
+ return counter
46
+
47
+ for sent in counter:
48
+ try:
49
+ counter[sent] = round(3 * (counter[sent] - min_val) / (max_val - min_val), 3)
50
+ except:
51
+ counter[sent] = 0
52
+ return counter
53
+
54
+
55
+ def sent_tokenize_text(text, debug=False):
56
+ """
57
+ Tokenize a license text into sentences
58
+
59
+ Parameters
60
+ ----------
61
+ text : str
62
+ License text to be tokenized into sentences.
63
+ debug : bool, optional
64
+ Toggles debug mode. The default is False.
65
+
66
+ Returns
67
+ -------
68
+ tokenized_sents : list
69
+ A list of tokenized sentences.
70
+
71
+ """
72
+ tokenized_sents = list()
73
+ paras = text.split("\n\n")
74
+ for para in paras:
75
+ for sent in nlp(para).sents:
76
+ sent = sent.text.replace("\n", "").strip()
77
+ if tokenized_sents and len(tokenized_sents[-1]) <= 30:
78
+ tokenized_sents[-1] += f" {sent.strip()}"
79
+ else:
80
+ tokenized_sents.append(sent.strip())
81
+ try:
82
+ tokenized_sents[-1] += "\n\n"
83
+ except:
84
+ pass
85
+ if debug:
86
+ print("Segmented Sentences:")
87
+ print("="*20)
88
+ for i, sent in enumerate(tokenized_sents):
89
+ print(f"Sent {i+1}")
90
+ print("-"*20)
91
+ print(sent)
92
+ print("-"*50)
93
+ print()
94
+ return tokenized_sents
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
 
97
  def lemmatize_tokens(sent):
98
+ """
99
+ Lemmatize tokens into the given sentence
100
+
101
+ Parameters
102
+ ----------
103
+ sent : str
104
+ A sentences whose tokens are to be lemmatized.
105
+
106
+ Returns
107
+ -------
108
+ list
109
+ A list of lemmatized tokens.
110
+
111
+ """
112
  lemmas = list()
113
 
114
  nlp_sent = [token.lemma_.lower().strip() for token in nlp(sent)]
115
 
116
  for tok_i, token in enumerate(nlp_sent):
117
  if (token
118
+ and token not in vocab.license_stopwords
119
+ and token not in vocab.negation_words):
120
+ if tok_i > 0 and nlp_sent[tok_i-1] in vocab.negation_words:
121
  lemmas.append(f"{nlp_sent[tok_i-1]}-{token}")
122
+ elif (tok_i > 1
123
+ and nlp_sent[tok_i-1] in " -"
124
+ and nlp_sent[tok_i-2] in vocab.negation_words):
125
  lemmas.append(f"{nlp_sent[tok_i-2]}-{token}")
126
  else:
127
  lemmas.append(token)
128
 
129
+ return [lemma for lemma in lemmas if len(lemma) > 2]
130
 
131
 
132
+ def get_license_summary_scores(license_text,
133
+ min_sent_len=MIN_SENT_LEN,
134
+ summary_len=SUMMARY_LEN,
135
+ summary_in_text_order=True,
136
+ return_summary_only=True,
137
+ debug=False,
138
+ cleaned_license_sentences=None):
139
  """
140
+ Get sentence scores for all the cleaned sentences in a given license_text
141
+ along with other extracted details such as definitions, exceptions, etc.
142
+ and the cleaned license text itself.
143
+
144
+ Parameters
145
+ ----------
146
+ license_text : str
147
+ License text.
148
+ min_sent_len : int, optional
149
+ The minimum number of tokens in a sentence for it to be considered.
150
+ The default is 3.
151
+ summary_len : float, optional
152
+ The proportion of length of the expected summary to the length of
153
+ license text. The default is 0.3.
154
+ summary_in_text_order : bool, optional
155
+ Toggle to switch between summary in text order or in descending order
156
+ by scores. The default is True.
157
+ return_summary_only : bool, optional
158
+ Toggle to return just the summary or entire license text with
159
+ important sentences highlighted. The default is True.
160
+ debug : bool, optional
161
+ Toggles debug mode. The default is False.
162
+ cleaned_license_sentences : list, optional
163
+ A list of cleaned sentences. The default is None.
164
+
165
+ Returns
166
+ -------
167
+ sent_scores : dict
168
+ A dictionary of sentence scores with keys as tuples of sentence and
169
+ sentence id and values as their normalized scores.
170
+ cleaned_license_sentences : list
171
+ A list of cleaned sentences.
172
+ definitions : str
173
+ Definitions extracted from license text.
174
+ exceptions : str
175
+ Exceptions extracted from license text.
176
+ summary_len : float
177
+ The proportion of length of the expected summary to the length of
178
+ license text.
179
+
180
  """
 
181
 
182
+ if not cleaned_license_sentences:
183
+ cleaned_license_text, definitions, exceptions = clean_license_text(license_text)
184
+ cleaned_license_sentences = sent_tokenize_text(cleaned_license_text, debug)
185
+ else:
186
+ definitions, exceptions = "", ""
187
 
188
+ sent_scores = Counter()
 
 
 
 
189
 
190
+ summary_len = math.ceil(summary_len * len(cleaned_license_sentences))
191
 
192
  if debug:
193
  print(f"summary length:{summary_len}")
 
194
 
195
  for sent_i, sent in enumerate(cleaned_license_sentences):
196
 
 
 
 
197
  if len(sent.split()) < min_sent_len:
198
  continue
199
 
 
208
 
209
  word_count = Counter([tok for tok in lemmatized_tokens])
210
 
211
+ for prop, prop_words in vocab.properties_dict.items():
212
  prop_score = 0
213
 
214
  imp_words = list()
215
 
216
+ for prop_word in prop_words:
217
  if prop_word in word_count.keys():
218
+ prop_score += vocab.properties_scores[prop]
219
  imp_words.append(prop_word)
220
 
221
  if debug:
 
223
 
224
  score += prop_score
225
 
226
+ # With normalization
227
+ # sent_scores[(sent, sent_i)] = score / len(lemmatized_tokens)
228
+
229
+ # Without normalization
230
+ sent_scores[(sent, sent_i)] = score
231
 
232
  if debug:
233
+ print(f"Sentence score: {sent_scores[(sent, sent_i)]}")
234
  print()
235
 
236
+ sent_scores = normalize_sentence_counter(sent_scores)
237
+
238
  if debug:
239
  print(sent_scores)
240
 
241
+ return sent_scores, cleaned_license_sentences, definitions, exceptions, summary_len
242
 
 
243
 
244
+ def get_sent_scores(license_text,
245
+ min_sent_len=MIN_SENT_LEN,
246
+ summary_len=SUMMARY_LEN,
247
+ summary_in_text_order=True,
248
+ return_summary_only=True,
249
+ debug=False,
250
+ cleaned_license_sentences=None):
251
+ """
252
+ Get sentence scores for all the sentences in a given license_text along
253
+ with their sentence ids.
254
+
255
+ Parameters
256
+ ----------
257
+ license_text : str
258
+ License text.
259
+ min_sent_len : int, optional
260
+ The minimum number of tokens in a sentence for it to be considered.
261
+ The default is 3.
262
+ summary_len : float, optional
263
+ The proportion of length of the expected summary to the length of
264
+ license text. The default is 0.3.
265
+ summary_in_text_order : bool, optional
266
+ Toggle to switch between summary in text order or in descending order
267
+ by scores. The default is True.
268
+ return_summary_only : bool, optional
269
+ Toggle to return just the summary or entire license text with
270
+ important sentences highlighted. The default is True.
271
+ debug : bool, optional
272
+ Toggles debug mode. The default is False.
273
+ cleaned_license_sentences : list, optional
274
+ A list of cleaned sentences. The default is None.
275
+
276
+ Returns
277
+ -------
278
+ sent_id_scores : list(tuple)
279
+ A list of tuples of sentence id and sentence score.
280
+
281
+ """
282
+ sent_scores, cleaned_license_sentences, definitions, exceptions, summary_len = get_license_summary_scores(
283
+ license_text,
284
+ min_sent_len=min_sent_len,
285
+ summary_len=summary_len,
286
+ summary_in_text_order=summary_in_text_order,
287
+ return_summary_only=return_summary_only,
288
+ debug=debug,
289
+ cleaned_license_sentences=cleaned_license_sentences
290
+ )
291
+
292
+ sent_id_scores = [
293
+ (sent_i, score) for (sent_id, sent_i), score in sent_scores.items()
294
+ ]
295
+
296
+ return sent_id_scores
297
+
298
+
299
+ def custom_textrank_summarizer(license_text,
300
+ min_sent_len=MIN_SENT_LEN,
301
+ summary_len=SUMMARY_LEN,
302
+ summary_in_text_order=True,
303
+ return_summary_only=True,
304
+ debug=False):
305
+ """
306
+ Returns summary / highlighted summary, definitions and exceptions for a
307
+ given license_text.
308
+
309
+ Parameters
310
+ ----------
311
+ license_text : str
312
+ License text.
313
+ min_sent_len : int, optional
314
+ The minimum number of tokens in a sentence for it to be considered.
315
+ The default is 3.
316
+ summary_len : float, optional
317
+ The proportion of length of the expected summary to the length of
318
+ license text. The default is 0.3.
319
+ summary_in_text_order : bool, optional
320
+ Toggle to switch between summary in text order or in descending order
321
+ by scores. The default is True.
322
+ return_summary_only : bool, optional
323
+ Toggle to return just the summary or entire license text with
324
+ important sentences highlighted. The default is True.
325
+ debug : bool, optional
326
+ Toggles debug mode. The default is False.
327
+
328
+ Returns
329
+ -------
330
+ str
331
+ Summary or the highlighted license text.
332
+ definitions : str
333
+ Definitions extracted from license text.
334
+ exceptions : str
335
+ Exceptions extracted from license text.
336
+
337
+ """
338
+
339
+ sent_scores, cleaned_license_sentences, definitions, exceptions, summary_len = get_license_summary_scores(
340
+ license_text,
341
+ min_sent_len=min_sent_len,
342
+ summary_len=summary_len,
343
+ summary_in_text_order=summary_in_text_order,
344
+ return_summary_only=return_summary_only,
345
+ debug=debug
346
+ )
347
+
348
+ sorted_sent_scores = sent_scores.most_common()[:summary_len]
349
+
350
+ if summary_in_text_order:
351
+ sentences_in_text_order = sorted(sorted_sent_scores, key=lambda x: x[0][1])
352
+ summary = "".join(sent.strip(". ") for (sent, sent_i), score in sentences_in_text_order)
353
+ selected_sent_ids = set(sent_i for (_, sent_i), score in sentences_in_text_order)
354
+ else:
355
+ summary = "".join(sent.strip(". ") for (sent, sent_i), score in sorted_sent_scores)
356
+ selected_sent_ids = set(sent_i for (_, sent_i), score in sorted_sent_scores)
357
+
358
+ highlighted_license_text = " ".join(
359
+ f"""<mark style="color: {color.BLACK}; background-color:{color.GREEN}">{sent}</mark>"""
360
+ if sent_i in selected_sent_ids
361
+ else sent
362
+ for sent_i, sent in enumerate(cleaned_license_sentences)
363
+ )
364
+
365
+ if debug:
366
+ print("="*50)
367
+ print("License Text:")
368
+ print("-"*30)
369
+ print(highlighted_license_text)
370
+ print("="*50)
371
+
372
+ definitions = definitions.strip("\n.") + "."
373
+
374
+ if return_summary_only:
375
+ return summary, definitions, exceptions
376
+ else:
377
+ return highlighted_license_text, definitions, exceptions
378
+
379
+
380
+ def get_system_scores(attachment_id=None):
381
+ """
382
+ Get system sentence scores for all the sentences in all licenses in gold
383
+ standard.
384
+
385
+ Parameters
386
+ ----------
387
+ attachment_id : str, optional
388
+ The attachment id of the document for which the sentence scores are to
389
+ be calculated. If None, the sentence scores for all the documents will
390
+ be returned. The default is None.
391
+
392
+ Returns
393
+ -------
394
+ scores_dict : dict
395
+ A dictionary of all the scores with keys as the attachment id of a
396
+ document and values as a list of tuples of sentence id and scores for
397
+ that attachment id.
398
+
399
+ """
400
+ gold_data = pd.read_excel(GOLD_STANDARD_PATH)
401
+ gold_data = gold_data[["attachment_id", "sentence"]]
402
+ sent_lists = gold_data.groupby("attachment_id")["sentence"].apply(list)
403
+
404
+ scores_dict = dict()
405
+
406
+ if attachment_id:
407
+ scores_dict[attachment_id] = get_sent_scores(
408
+ "",
409
+ summary_len=SUMMARY_LEN,
410
+ cleaned_license_sentences=sent_lists[attachment_id]
411
+ )
412
+ return scores_dict
413
+
414
+ for attachment_id, cleaned_license_sentences in dict(sent_lists).items():
415
+
416
+ scores_dict[attachment_id] = get_sent_scores(
417
+ "",
418
+ summary_len=SUMMARY_LEN,
419
+ cleaned_license_sentences=cleaned_license_sentences
420
+ )
421
+
422
+ return scores_dict
423
+
424
+
425
+ def preprocess_properties(cell):
426
+ """
427
+ Converts licnse properties to title case and removes hyphens and
428
+ underscores.
429
+
430
+ Parameters
431
+ ----------
432
+ cell : str
433
+ A cell string in properties dataframe of a license.
434
+
435
+ Returns
436
+ -------
437
+ cell : TYPE
438
+ DESCRIPTION.
439
+
440
+ """
441
+ try:
442
+ cell = cell.replace("--", "$")
443
+ cell = cell.replace("-", " ")
444
+ cell = cell.replace("_", " ")
445
+ cell = cell.replace("$", " - ").title()
446
+ except:
447
+ pass
448
+ return cell
449
+
450
+ def get_labels_for_license(license_id, by_license_id=True):
451
+ """
452
+ Gets license properties for a given license_id.
453
+
454
+ Parameters
455
+ ----------
456
+ license_id : str
457
+ License id of the license for which properties are to be returned.
458
+ by_license_id : bool, optional
459
+ A flag to decide whether we fetch the license properties by license id
460
+ or license name. The default is True.
461
+
462
+ Returns
463
+ -------
464
+ properties : pandas.DataFrame
465
+ Dataframe with properties of the license with id license_id.
466
+
467
+ """
468
+ index_col = 0 if by_license_id else 1
469
+ columns = ["Property", "Label"]
470
+ labels_data = pd.read_csv(LABELS_PATH, index_col=index_col)
471
+ properties = pd.DataFrame(labels_data.loc[license_id]).reset_index()
472
+ properties.columns = columns
473
+ properties = properties.applymap(preprocess_properties)
474
+ return properties
src/tfidf.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Tue Jun 14 23:53:47 2022
4
+
5
+ @author: UTKARSH
6
+ """
7
+
8
+ import numpy as np
9
+
10
+ import re
11
+ import glob
12
+ import spacy
13
+ from sklearn.feature_extraction.text import TfidfVectorizer
14
+
15
+ try:
16
+ from src.clean import clean_license_text
17
+ except:
18
+ from clean import clean_license_text
19
+
20
+
21
+ nlp = spacy.load("en_core_web_sm")
22
+
23
+ TOP_N_WORDS = 100
24
+
25
+
26
+ def tfidf_preprocess(text):
27
+ """
28
+ Cleans text by lowercasing it and removing all the special characters.
29
+
30
+ Parameters
31
+ ----------
32
+ text : str
33
+ Raw license text.
34
+
35
+ Returns
36
+ -------
37
+ str
38
+ Cleaned and lowercased license text.
39
+
40
+ """
41
+ text = text.lower()
42
+
43
+ # Remove all non-letter words
44
+ text = re.sub("[^a-zA-Z]+", " ", text)
45
+
46
+ ## Lemmatize the words
47
+ # text = " ".join([token.lemma_.lower().strip() for token in nlp(text)])
48
+ return text.strip()
49
+
50
+ corpus = list()
51
+
52
+ filepaths = glob.glob("../notebooks/licenses/NOASSERTION/*.txt")
53
+ # filepaths.extend(glob.glob("../notebooks/licenses/OTHER/*.txt"))
54
+
55
+ for file_path in filepaths:
56
+ with open(file_path, "r", encoding="utf-8") as f:
57
+ # To eliminate the url and blank line from start of the files
58
+ f.readline()
59
+ f.readline()
60
+
61
+ # Reading the remaining content
62
+ content = f.read()
63
+
64
+ cleaned_license_text, _ = clean_license_text(content)
65
+ corpus.append(cleaned_license_text)
66
+
67
+
68
+ vectorizer = TfidfVectorizer(
69
+ lowercase=True,
70
+ preprocessor=tfidf_preprocess,
71
+ stop_words="english"
72
+ )
73
+
74
+ tfidf = vectorizer.fit_transform(corpus)
75
+
76
+ feature_array = np.array(vectorizer.get_feature_names_out())
77
+ tfidf_sorting = np.argsort(tfidf.toarray()).flatten()
78
+
79
+ top_n = feature_array[tfidf_sorting][-TOP_N_WORDS:][::-1]
80
+ bottom_n = feature_array[tfidf_sorting][:TOP_N_WORDS]