• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1The tools-golang source code is provided and may be used, at your option,
2under either:
3* Apache License, version 2.0 (Apache-2.0), OR
4* GNU General Public License, version 2.0 or later (GPL-2.0-or-later).
5
6Copies of both licenses are included below.
7
8                                 Apache License
9                           Version 2.0, January 2004
10                        http://www.apache.org/licenses/
11
12   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
13
14   1. Definitions.
15
16      "License" shall mean the terms and conditions for use, reproduction,
17      and distribution as defined by Sections 1 through 9 of this document.
18
19      "Licensor" shall mean the copyright owner or entity authorized by
20      the copyright owner that is granting the License.
21
22      "Legal Entity" shall mean the union of the acting entity and all
23      other entities that control, are controlled by, or are under common
24      control with that entity. For the purposes of this definition,
25      "control" means (i) the power, direct or indirect, to cause the
26      direction or management of such entity, whether by contract or
27      otherwise, or (ii) ownership of fifty percent (50%) or more of the
28      outstanding shares, or (iii) beneficial ownership of such entity.
29
30      "You" (or "Your") shall mean an individual or Legal Entity
31      exercising permissions granted by this License.
32
33      "Source" form shall mean the preferred form for making modifications,
34      including but not limited to software source code, documentation
35      source, and configuration files.
36
37      "Object" form shall mean any form resulting from mechanical
38      transformation or translation of a Source form, including but
39      not limited to compiled object code, generated documentation,
40      and conversions to other media types.
41
42      "Work" shall mean the work of authorship, whether in Source or
43      Object form, made available under the License, as indicated by a
44      copyright notice that is included in or attached to the work
45      (an example is provided in the Appendix below).
46
47      "Derivative Works" shall mean any work, whether in Source or Object
48      form, that is based on (or derived from) the Work and for which the
49      editorial revisions, annotations, elaborations, or other modifications
50      represent, as a whole, an original work of authorship. For the purposes
51      of this License, Derivative Works shall not include works that remain
52      separable from, or merely link (or bind by name) to the interfaces of,
53      the Work and Derivative Works thereof.
54
55      "Contribution" shall mean any work of authorship, including
56      the original version of the Work and any modifications or additions
57      to that Work or Derivative Works thereof, that is intentionally
58      submitted to Licensor for inclusion in the Work by the copyright owner
59      or by an individual or Legal Entity authorized to submit on behalf of
60      the copyright owner. For the purposes of this definition, "submitted"
61      means any form of electronic, verbal, or written communication sent
62      to the Licensor or its representatives, including but not limited to
63      communication on electronic mailing lists, source code control systems,
64      and issue tracking systems that are managed by, or on behalf of, the
65      Licensor for the purpose of discussing and improving the Work, but
66      excluding communication that is conspicuously marked or otherwise
67      designated in writing by the copyright owner as "Not a Contribution."
68
69      "Contributor" shall mean Licensor and any individual or Legal Entity
70      on behalf of whom a Contribution has been received by Licensor and
71      subsequently incorporated within the Work.
72
73   2. Grant of Copyright License. Subject to the terms and conditions of
74      this License, each Contributor hereby grants to You a perpetual,
75      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76      copyright license to reproduce, prepare Derivative Works of,
77      publicly display, publicly perform, sublicense, and distribute the
78      Work and such Derivative Works in Source or Object form.
79
80   3. Grant of Patent License. Subject to the terms and conditions of
81      this License, each Contributor hereby grants to You a perpetual,
82      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
83      (except as stated in this section) patent license to make, have made,
84      use, offer to sell, sell, import, and otherwise transfer the Work,
85      where such license applies only to those patent claims licensable
86      by such Contributor that are necessarily infringed by their
87      Contribution(s) alone or by combination of their Contribution(s)
88      with the Work to which such Contribution(s) was submitted. If You
89      institute patent litigation against any entity (including a
90      cross-claim or counterclaim in a lawsuit) alleging that the Work
91      or a Contribution incorporated within the Work constitutes direct
92      or contributory patent infringement, then any patent licenses
93      granted to You under this License for that Work shall terminate
94      as of the date such litigation is filed.
95
96   4. Redistribution. You may reproduce and distribute copies of the
97      Work or Derivative Works thereof in any medium, with or without
98      modifications, and in Source or Object form, provided that You
99      meet the following conditions:
100
101      (a) You must give any other recipients of the Work or
102          Derivative Works a copy of this License; and
103
104      (b) You must cause any modified files to carry prominent notices
105          stating that You changed the files; and
106
107      (c) You must retain, in the Source form of any Derivative Works
108          that You distribute, all copyright, patent, trademark, and
109          attribution notices from the Source form of the Work,
110          excluding those notices that do not pertain to any part of
111          the Derivative Works; and
112
113      (d) If the Work includes a "NOTICE" text file as part of its
114          distribution, then any Derivative Works that You distribute must
115          include a readable copy of the attribution notices contained
116          within such NOTICE file, excluding those notices that do not
117          pertain to any part of the Derivative Works, in at least one
118          of the following places: within a NOTICE text file distributed
119          as part of the Derivative Works; within the Source form or
120          documentation, if provided along with the Derivative Works; or,
121          within a display generated by the Derivative Works, if and
122          wherever such third-party notices normally appear. The contents
123          of the NOTICE file are for informational purposes only and
124          do not modify the License. You may add Your own attribution
125          notices within Derivative Works that You distribute, alongside
126          or as an addendum to the NOTICE text from the Work, provided
127          that such additional attribution notices cannot be construed
128          as modifying the License.
129
130      You may add Your own copyright statement to Your modifications and
131      may provide additional or different license terms and conditions
132      for use, reproduction, or distribution of Your modifications, or
133      for any such Derivative Works as a whole, provided Your use,
134      reproduction, and distribution of the Work otherwise complies with
135      the conditions stated in this License.
136
137   5. Submission of Contributions. Unless You explicitly state otherwise,
138      any Contribution intentionally submitted for inclusion in the Work
139      by You to the Licensor shall be under the terms and conditions of
140      this License, without any additional terms or conditions.
141      Notwithstanding the above, nothing herein shall supersede or modify
142      the terms of any separate license agreement you may have executed
143      with Licensor regarding such Contributions.
144
145   6. Trademarks. This License does not grant permission to use the trade
146      names, trademarks, service marks, or product names of the Licensor,
147      except as required for reasonable and customary use in describing the
148      origin of the Work and reproducing the content of the NOTICE file.
149
150   7. Disclaimer of Warranty. Unless required by applicable law or
151      agreed to in writing, Licensor provides the Work (and each
152      Contributor provides its Contributions) on an "AS IS" BASIS,
153      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
154      implied, including, without limitation, any warranties or conditions
155      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
156      PARTICULAR PURPOSE. You are solely responsible for determining the
157      appropriateness of using or redistributing the Work and assume any
158      risks associated with Your exercise of permissions under this License.
159
160   8. Limitation of Liability. In no event and under no legal theory,
161      whether in tort (including negligence), contract, or otherwise,
162      unless required by applicable law (such as deliberate and grossly
163      negligent acts) or agreed to in writing, shall any Contributor be
164      liable to You for damages, including any direct, indirect, special,
165      incidental, or consequential damages of any character arising as a
166      result of this License or out of the use or inability to use the
167      Work (including but not limited to damages for loss of goodwill,
168      work stoppage, computer failure or malfunction, or any and all
169      other commercial damages or losses), even if such Contributor
170      has been advised of the possibility of such damages.
171
172   9. Accepting Warranty or Additional Liability. While redistributing
173      the Work or Derivative Works thereof, You may choose to offer,
174      and charge a fee for, acceptance of support, warranty, indemnity,
175      or other liability obligations and/or rights consistent with this
176      License. However, in accepting such obligations, You may act only
177      on Your own behalf and on Your sole responsibility, not on behalf
178      of any other Contributor, and only if You agree to indemnify,
179      defend, and hold each Contributor harmless for any liability
180      incurred by, or claims asserted against, such Contributor by reason
181      of your accepting any such warranty or additional liability.
182
183   END OF TERMS AND CONDITIONS
184
185   APPENDIX: How to apply the Apache License to your work.
186
187      To apply the Apache License to your work, attach the following
188      boilerplate notice, with the fields enclosed by brackets "[]"
189      replaced with your own identifying information. (Don't include
190      the brackets!)  The text should be enclosed in the appropriate
191      comment syntax for the file format. We also recommend that a
192      file or class name and description of purpose be included on the
193      same "printed page" as the copyright notice for easier
194      identification within third-party archives.
195
196   Copyright [yyyy] [name of copyright owner]
197
198   Licensed under the Apache License, Version 2.0 (the "License");
199   you may not use this file except in compliance with the License.
200   You may obtain a copy of the License at
201
202       http://www.apache.org/licenses/LICENSE-2.0
203
204   Unless required by applicable law or agreed to in writing, software
205   distributed under the License is distributed on an "AS IS" BASIS,
206   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
207   See the License for the specific language governing permissions and
208   limitations under the License.
209
210= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
211
212                    GNU GENERAL PUBLIC LICENSE
213                       Version 2, June 1991
214
215 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
216 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
217 Everyone is permitted to copy and distribute verbatim copies
218 of this license document, but changing it is not allowed.
219
220                            Preamble
221
222  The licenses for most software are designed to take away your
223freedom to share and change it.  By contrast, the GNU General Public
224License is intended to guarantee your freedom to share and change free
225software--to make sure the software is free for all its users.  This
226General Public License applies to most of the Free Software
227Foundation's software and to any other program whose authors commit to
228using it.  (Some other Free Software Foundation software is covered by
229the GNU Lesser General Public License instead.)  You can apply it to
230your programs, too.
231
232  When we speak of free software, we are referring to freedom, not
233price.  Our General Public Licenses are designed to make sure that you
234have the freedom to distribute copies of free software (and charge for
235this service if you wish), that you receive source code or can get it
236if you want it, that you can change the software or use pieces of it
237in new free programs; and that you know you can do these things.
238
239  To protect your rights, we need to make restrictions that forbid
240anyone to deny you these rights or to ask you to surrender the rights.
241These restrictions translate to certain responsibilities for you if you
242distribute copies of the software, or if you modify it.
243
244  For example, if you distribute copies of such a program, whether
245gratis or for a fee, you must give the recipients all the rights that
246you have.  You must make sure that they, too, receive or can get the
247source code.  And you must show them these terms so they know their
248rights.
249
250  We protect your rights with two steps: (1) copyright the software, and
251(2) offer you this license which gives you legal permission to copy,
252distribute and/or modify the software.
253
254  Also, for each author's protection and ours, we want to make certain
255that everyone understands that there is no warranty for this free
256software.  If the software is modified by someone else and passed on, we
257want its recipients to know that what they have is not the original, so
258that any problems introduced by others will not reflect on the original
259authors' reputations.
260
261  Finally, any free program is threatened constantly by software
262patents.  We wish to avoid the danger that redistributors of a free
263program will individually obtain patent licenses, in effect making the
264program proprietary.  To prevent this, we have made it clear that any
265patent must be licensed for everyone's free use or not licensed at all.
266
267  The precise terms and conditions for copying, distribution and
268modification follow.
269
270                    GNU GENERAL PUBLIC LICENSE
271   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
272
273  0. This License applies to any program or other work which contains
274a notice placed by the copyright holder saying it may be distributed
275under the terms of this General Public License.  The "Program", below,
276refers to any such program or work, and a "work based on the Program"
277means either the Program or any derivative work under copyright law:
278that is to say, a work containing the Program or a portion of it,
279either verbatim or with modifications and/or translated into another
280language.  (Hereinafter, translation is included without limitation in
281the term "modification".)  Each licensee is addressed as "you".
282
283Activities other than copying, distribution and modification are not
284covered by this License; they are outside its scope.  The act of
285running the Program is not restricted, and the output from the Program
286is covered only if its contents constitute a work based on the
287Program (independent of having been made by running the Program).
288Whether that is true depends on what the Program does.
289
290  1. You may copy and distribute verbatim copies of the Program's
291source code as you receive it, in any medium, provided that you
292conspicuously and appropriately publish on each copy an appropriate
293copyright notice and disclaimer of warranty; keep intact all the
294notices that refer to this License and to the absence of any warranty;
295and give any other recipients of the Program a copy of this License
296along with the Program.
297
298You may charge a fee for the physical act of transferring a copy, and
299you may at your option offer warranty protection in exchange for a fee.
300
301  2. You may modify your copy or copies of the Program or any portion
302of it, thus forming a work based on the Program, and copy and
303distribute such modifications or work under the terms of Section 1
304above, provided that you also meet all of these conditions:
305
306    a) You must cause the modified files to carry prominent notices
307    stating that you changed the files and the date of any change.
308
309    b) You must cause any work that you distribute or publish, that in
310    whole or in part contains or is derived from the Program or any
311    part thereof, to be licensed as a whole at no charge to all third
312    parties under the terms of this License.
313
314    c) If the modified program normally reads commands interactively
315    when run, you must cause it, when started running for such
316    interactive use in the most ordinary way, to print or display an
317    announcement including an appropriate copyright notice and a
318    notice that there is no warranty (or else, saying that you provide
319    a warranty) and that users may redistribute the program under
320    these conditions, and telling the user how to view a copy of this
321    License.  (Exception: if the Program itself is interactive but
322    does not normally print such an announcement, your work based on
323    the Program is not required to print an announcement.)
324
325These requirements apply to the modified work as a whole.  If
326identifiable sections of that work are not derived from the Program,
327and can be reasonably considered independent and separate works in
328themselves, then this License, and its terms, do not apply to those
329sections when you distribute them as separate works.  But when you
330distribute the same sections as part of a whole which is a work based
331on the Program, the distribution of the whole must be on the terms of
332this License, whose permissions for other licensees extend to the
333entire whole, and thus to each and every part regardless of who wrote it.
334
335Thus, it is not the intent of this section to claim rights or contest
336your rights to work written entirely by you; rather, the intent is to
337exercise the right to control the distribution of derivative or
338collective works based on the Program.
339
340In addition, mere aggregation of another work not based on the Program
341with the Program (or with a work based on the Program) on a volume of
342a storage or distribution medium does not bring the other work under
343the scope of this License.
344
345  3. You may copy and distribute the Program (or a work based on it,
346under Section 2) in object code or executable form under the terms of
347Sections 1 and 2 above provided that you also do one of the following:
348
349    a) Accompany it with the complete corresponding machine-readable
350    source code, which must be distributed under the terms of Sections
351    1 and 2 above on a medium customarily used for software interchange; or,
352
353    b) Accompany it with a written offer, valid for at least three
354    years, to give any third party, for a charge no more than your
355    cost of physically performing source distribution, a complete
356    machine-readable copy of the corresponding source code, to be
357    distributed under the terms of Sections 1 and 2 above on a medium
358    customarily used for software interchange; or,
359
360    c) Accompany it with the information you received as to the offer
361    to distribute corresponding source code.  (This alternative is
362    allowed only for noncommercial distribution and only if you
363    received the program in object code or executable form with such
364    an offer, in accord with Subsection b above.)
365
366The source code for a work means the preferred form of the work for
367making modifications to it.  For an executable work, complete source
368code means all the source code for all modules it contains, plus any
369associated interface definition files, plus the scripts used to
370control compilation and installation of the executable.  However, as a
371special exception, the source code distributed need not include
372anything that is normally distributed (in either source or binary
373form) with the major components (compiler, kernel, and so on) of the
374operating system on which the executable runs, unless that component
375itself accompanies the executable.
376
377If distribution of executable or object code is made by offering
378access to copy from a designated place, then offering equivalent
379access to copy the source code from the same place counts as
380distribution of the source code, even though third parties are not
381compelled to copy the source along with the object code.
382
383  4. You may not copy, modify, sublicense, or distribute the Program
384except as expressly provided under this License.  Any attempt
385otherwise to copy, modify, sublicense or distribute the Program is
386void, and will automatically terminate your rights under this License.
387However, parties who have received copies, or rights, from you under
388this License will not have their licenses terminated so long as such
389parties remain in full compliance.
390
391  5. You are not required to accept this License, since you have not
392signed it.  However, nothing else grants you permission to modify or
393distribute the Program or its derivative works.  These actions are
394prohibited by law if you do not accept this License.  Therefore, by
395modifying or distributing the Program (or any work based on the
396Program), you indicate your acceptance of this License to do so, and
397all its terms and conditions for copying, distributing or modifying
398the Program or works based on it.
399
400  6. Each time you redistribute the Program (or any work based on the
401Program), the recipient automatically receives a license from the
402original licensor to copy, distribute or modify the Program subject to
403these terms and conditions.  You may not impose any further
404restrictions on the recipients' exercise of the rights granted herein.
405You are not responsible for enforcing compliance by third parties to
406this License.
407
408  7. If, as a consequence of a court judgment or allegation of patent
409infringement or for any other reason (not limited to patent issues),
410conditions are imposed on you (whether by court order, agreement or
411otherwise) that contradict the conditions of this License, they do not
412excuse you from the conditions of this License.  If you cannot
413distribute so as to satisfy simultaneously your obligations under this
414License and any other pertinent obligations, then as a consequence you
415may not distribute the Program at all.  For example, if a patent
416license would not permit royalty-free redistribution of the Program by
417all those who receive copies directly or indirectly through you, then
418the only way you could satisfy both it and this License would be to
419refrain entirely from distribution of the Program.
420
421If any portion of this section is held invalid or unenforceable under
422any particular circumstance, the balance of the section is intended to
423apply and the section as a whole is intended to apply in other
424circumstances.
425
426It is not the purpose of this section to induce you to infringe any
427patents or other property right claims or to contest validity of any
428such claims; this section has the sole purpose of protecting the
429integrity of the free software distribution system, which is
430implemented by public license practices.  Many people have made
431generous contributions to the wide range of software distributed
432through that system in reliance on consistent application of that
433system; it is up to the author/donor to decide if he or she is willing
434to distribute software through any other system and a licensee cannot
435impose that choice.
436
437This section is intended to make thoroughly clear what is believed to
438be a consequence of the rest of this License.
439
440  8. If the distribution and/or use of the Program is restricted in
441certain countries either by patents or by copyrighted interfaces, the
442original copyright holder who places the Program under this License
443may add an explicit geographical distribution limitation excluding
444those countries, so that distribution is permitted only in or among
445countries not thus excluded.  In such case, this License incorporates
446the limitation as if written in the body of this License.
447
448  9. The Free Software Foundation may publish revised and/or new versions
449of the General Public License from time to time.  Such new versions will
450be similar in spirit to the present version, but may differ in detail to
451address new problems or concerns.
452
453Each version is given a distinguishing version number.  If the Program
454specifies a version number of this License which applies to it and "any
455later version", you have the option of following the terms and conditions
456either of that version or of any later version published by the Free
457Software Foundation.  If the Program does not specify a version number of
458this License, you may choose any version ever published by the Free Software
459Foundation.
460
461  10. If you wish to incorporate parts of the Program into other free
462programs whose distribution conditions are different, write to the author
463to ask for permission.  For software which is copyrighted by the Free
464Software Foundation, write to the Free Software Foundation; we sometimes
465make exceptions for this.  Our decision will be guided by the two goals
466of preserving the free status of all derivatives of our free software and
467of promoting the sharing and reuse of software generally.
468
469                            NO WARRANTY
470
471  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
472FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
473OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
474PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
475OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
476MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
477TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
478PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
479REPAIR OR CORRECTION.
480
481  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
482WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
483REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
484INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
485OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
486TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
487YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
488PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
489POSSIBILITY OF SUCH DAMAGES.
490
491                     END OF TERMS AND CONDITIONS
492
493            How to Apply These Terms to Your New Programs
494
495  If you develop a new program, and you want it to be of the greatest
496possible use to the public, the best way to achieve this is to make it
497free software which everyone can redistribute and change under these terms.
498
499  To do so, attach the following notices to the program.  It is safest
500to attach them to the start of each source file to most effectively
501convey the exclusion of warranty; and each file should have at least
502the "copyright" line and a pointer to where the full notice is found.
503
504    <one line to give the program's name and a brief idea of what it does.>
505    Copyright (C) <year>  <name of author>
506
507    This program is free software; you can redistribute it and/or modify
508    it under the terms of the GNU General Public License as published by
509    the Free Software Foundation; either version 2 of the License, or
510    (at your option) any later version.
511
512    This program is distributed in the hope that it will be useful,
513    but WITHOUT ANY WARRANTY; without even the implied warranty of
514    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
515    GNU General Public License for more details.
516
517    You should have received a copy of the GNU General Public License along
518    with this program; if not, write to the Free Software Foundation, Inc.,
519    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
520
521Also add information on how to contact you by electronic and paper mail.
522
523If the program is interactive, make it output a short notice like this
524when it starts in an interactive mode:
525
526    Gnomovision version 69, Copyright (C) year name of author
527    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
528    This is free software, and you are welcome to redistribute it
529    under certain conditions; type `show c' for details.
530
531The hypothetical commands `show w' and `show c' should show the appropriate
532parts of the General Public License.  Of course, the commands you use may
533be called something other than `show w' and `show c'; they could even be
534mouse-clicks or menu items--whatever suits your program.
535
536You should also get your employer (if you work as a programmer) or your
537school, if any, to sign a "copyright disclaimer" for the program, if
538necessary.  Here is a sample; alter the names:
539
540  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
541  `Gnomovision' (which makes passes at compilers) written by James Hacker.
542
543  <signature of Ty Coon>, 1 April 1989
544  Ty Coon, President of Vice
545
546This General Public License does not permit incorporating your program into
547proprietary programs.  If your program is a subroutine library, you may
548consider it more useful to permit linking proprietary applications with the
549library.  If this is what you want to do, use the GNU Lesser General
550Public License instead of this License.
551