favor DCHECK_CURRENTLY_ON for better logs in components/ (part 2)
[chromium-blink-merge.git] / third_party / drmemory / LICENSE
blob2f4e8c1d4e93ac6d5cf3f7a7da99463d62388325
1 Dr. Memory: the memory debugger
3 This library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation;
6 version 2.1 of the License, and no later version.
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
13 You should have received a copy of the GNU Lesser General Public
14 License along with this library; if not, write to the Free Software
15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18                   GNU LESSER GENERAL PUBLIC LICENSE
19                        Version 2.1, February 1999
21  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
22  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
23  Everyone is permitted to copy and distribute verbatim copies
24  of this license document, but changing it is not allowed.
26 [This is the first released version of the Lesser GPL.  It also counts
27  as the successor of the GNU Library Public License, version 2, hence
28  the version number 2.1.]
30                             Preamble
32   The licenses for most software are designed to take away your
33 freedom to share and change it.  By contrast, the GNU General Public
34 Licenses are intended to guarantee your freedom to share and change
35 free software--to make sure the software is free for all its users.
37   This license, the Lesser General Public License, applies to some
38 specially designated software packages--typically libraries--of the
39 Free Software Foundation and other authors who decide to use it.  You
40 can use it too, but we suggest you first think carefully about whether
41 this license or the ordinary General Public License is the better
42 strategy to use in any particular case, based on the explanations below.
44   When we speak of free software, we are referring to freedom of use,
45 not price.  Our General Public Licenses are designed to make sure that
46 you have the freedom to distribute copies of free software (and charge
47 for this service if you wish); that you receive source code or can get
48 it if you want it; that you can change the software and use pieces of
49 it in new free programs; and that you are informed that you can do
50 these things.
52   To protect your rights, we need to make restrictions that forbid
53 distributors to deny you these rights or to ask you to surrender these
54 rights.  These restrictions translate to certain responsibilities for
55 you if you distribute copies of the library or if you modify it.
57   For example, if you distribute copies of the library, whether gratis
58 or for a fee, you must give the recipients all the rights that we gave
59 you.  You must make sure that they, too, receive or can get the source
60 code.  If you link other code with the library, you must provide
61 complete object files to the recipients, so that they can relink them
62 with the library after making changes to the library and recompiling
63 it.  And you must show them these terms so they know their rights.
65   We protect your rights with a two-step method: (1) we copyright the
66 library, and (2) we offer you this license, which gives you legal
67 permission to copy, distribute and/or modify the library.
69   To protect each distributor, we want to make it very clear that
70 there is no warranty for the free library.  Also, if the library is
71 modified by someone else and passed on, the recipients should know
72 that what they have is not the original version, so that the original
73 author's reputation will not be affected by problems that might be
74 introduced by others.
76   Finally, software patents pose a constant threat to the existence of
77 any free program.  We wish to make sure that a company cannot
78 effectively restrict the users of a free program by obtaining a
79 restrictive license from a patent holder.  Therefore, we insist that
80 any patent license obtained for a version of the library must be
81 consistent with the full freedom of use specified in this license.
83   Most GNU software, including some libraries, is covered by the
84 ordinary GNU General Public License.  This license, the GNU Lesser
85 General Public License, applies to certain designated libraries, and
86 is quite different from the ordinary General Public License.  We use
87 this license for certain libraries in order to permit linking those
88 libraries into non-free programs.
90   When a program is linked with a library, whether statically or using
91 a shared library, the combination of the two is legally speaking a
92 combined work, a derivative of the original library.  The ordinary
93 General Public License therefore permits such linking only if the
94 entire combination fits its criteria of freedom.  The Lesser General
95 Public License permits more lax criteria for linking other code with
96 the library.
98   We call this license the "Lesser" General Public License because it
99 does Less to protect the user's freedom than the ordinary General
100 Public License.  It also provides other free software developers Less
101 of an advantage over competing non-free programs.  These disadvantages
102 are the reason we use the ordinary General Public License for many
103 libraries.  However, the Lesser license provides advantages in certain
104 special circumstances.
106   For example, on rare occasions, there may be a special need to
107 encourage the widest possible use of a certain library, so that it becomes
108 a de-facto standard.  To achieve this, non-free programs must be
109 allowed to use the library.  A more frequent case is that a free
110 library does the same job as widely used non-free libraries.  In this
111 case, there is little to gain by limiting the free library to free
112 software only, so we use the Lesser General Public License.
114   In other cases, permission to use a particular library in non-free
115 programs enables a greater number of people to use a large body of
116 free software.  For example, permission to use the GNU C Library in
117 non-free programs enables many more people to use the whole GNU
118 operating system, as well as its variant, the GNU/Linux operating
119 system.
121   Although the Lesser General Public License is Less protective of the
122 users' freedom, it does ensure that the user of a program that is
123 linked with the Library has the freedom and the wherewithal to run
124 that program using a modified version of the Library.
126   The precise terms and conditions for copying, distribution and
127 modification follow.  Pay close attention to the difference between a
128 "work based on the library" and a "work that uses the library".  The
129 former contains code derived from the library, whereas the latter must
130 be combined with the library in order to run.
132                   GNU LESSER GENERAL PUBLIC LICENSE
133    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
135   0. This License Agreement applies to any software library or other
136 program which contains a notice placed by the copyright holder or
137 other authorized party saying it may be distributed under the terms of
138 this Lesser General Public License (also called "this License").
139 Each licensee is addressed as "you".
141   A "library" means a collection of software functions and/or data
142 prepared so as to be conveniently linked with application programs
143 (which use some of those functions and data) to form executables.
145   The "Library", below, refers to any such software library or work
146 which has been distributed under these terms.  A "work based on the
147 Library" means either the Library or any derivative work under
148 copyright law: that is to say, a work containing the Library or a
149 portion of it, either verbatim or with modifications and/or translated
150 straightforwardly into another language.  (Hereinafter, translation is
151 included without limitation in the term "modification".)
153   "Source code" for a work means the preferred form of the work for
154 making modifications to it.  For a library, complete source code means
155 all the source code for all modules it contains, plus any associated
156 interface definition files, plus the scripts used to control compilation
157 and installation of the library.
159   Activities other than copying, distribution and modification are not
160 covered by this License; they are outside its scope.  The act of
161 running a program using the Library is not restricted, and output from
162 such a program is covered only if its contents constitute a work based
163 on the Library (independent of the use of the Library in a tool for
164 writing it).  Whether that is true depends on what the Library does
165 and what the program that uses the Library does.
167   1. You may copy and distribute verbatim copies of the Library's
168 complete source code as you receive it, in any medium, provided that
169 you conspicuously and appropriately publish on each copy an
170 appropriate copyright notice and disclaimer of warranty; keep intact
171 all the notices that refer to this License and to the absence of any
172 warranty; and distribute a copy of this License along with the
173 Library.
175   You may charge a fee for the physical act of transferring a copy,
176 and you may at your option offer warranty protection in exchange for a
177 fee.
179   2. You may modify your copy or copies of the Library or any portion
180 of it, thus forming a work based on the Library, and copy and
181 distribute such modifications or work under the terms of Section 1
182 above, provided that you also meet all of these conditions:
184     a) The modified work must itself be a software library.
186     b) You must cause the files modified to carry prominent notices
187     stating that you changed the files and the date of any change.
189     c) You must cause the whole of the work to be licensed at no
190     charge to all third parties under the terms of this License.
192     d) If a facility in the modified Library refers to a function or a
193     table of data to be supplied by an application program that uses
194     the facility, other than as an argument passed when the facility
195     is invoked, then you must make a good faith effort to ensure that,
196     in the event an application does not supply such function or
197     table, the facility still operates, and performs whatever part of
198     its purpose remains meaningful.
200     (For example, a function in a library to compute square roots has
201     a purpose that is entirely well-defined independent of the
202     application.  Therefore, Subsection 2d requires that any
203     application-supplied function or table used by this function must
204     be optional: if the application does not supply it, the square
205     root function must still compute square roots.)
207 These requirements apply to the modified work as a whole.  If
208 identifiable sections of that work are not derived from the Library,
209 and can be reasonably considered independent and separate works in
210 themselves, then this License, and its terms, do not apply to those
211 sections when you distribute them as separate works.  But when you
212 distribute the same sections as part of a whole which is a work based
213 on the Library, the distribution of the whole must be on the terms of
214 this License, whose permissions for other licensees extend to the
215 entire whole, and thus to each and every part regardless of who wrote
218 Thus, it is not the intent of this section to claim rights or contest
219 your rights to work written entirely by you; rather, the intent is to
220 exercise the right to control the distribution of derivative or
221 collective works based on the Library.
223 In addition, mere aggregation of another work not based on the Library
224 with the Library (or with a work based on the Library) on a volume of
225 a storage or distribution medium does not bring the other work under
226 the scope of this License.
228   3. You may opt to apply the terms of the ordinary GNU General Public
229 License instead of this License to a given copy of the Library.  To do
230 this, you must alter all the notices that refer to this License, so
231 that they refer to the ordinary GNU General Public License, version 2,
232 instead of to this License.  (If a newer version than version 2 of the
233 ordinary GNU General Public License has appeared, then you can specify
234 that version instead if you wish.)  Do not make any other change in
235 these notices.
237   Once this change is made in a given copy, it is irreversible for
238 that copy, so the ordinary GNU General Public License applies to all
239 subsequent copies and derivative works made from that copy.
241   This option is useful when you wish to copy part of the code of
242 the Library into a program that is not a library.
244   4. You may copy and distribute the Library (or a portion or
245 derivative of it, under Section 2) in object code or executable form
246 under the terms of Sections 1 and 2 above provided that you accompany
247 it with the complete corresponding machine-readable source code, which
248 must be distributed under the terms of Sections 1 and 2 above on a
249 medium customarily used for software interchange.
251   If distribution of object code is made by offering access to copy
252 from a designated place, then offering equivalent access to copy the
253 source code from the same place satisfies the requirement to
254 distribute the source code, even though third parties are not
255 compelled to copy the source along with the object code.
257   5. A program that contains no derivative of any portion of the
258 Library, but is designed to work with the Library by being compiled or
259 linked with it, is called a "work that uses the Library".  Such a
260 work, in isolation, is not a derivative work of the Library, and
261 therefore falls outside the scope of this License.
263   However, linking a "work that uses the Library" with the Library
264 creates an executable that is a derivative of the Library (because it
265 contains portions of the Library), rather than a "work that uses the
266 library".  The executable is therefore covered by this License.
267 Section 6 states terms for distribution of such executables.
269   When a "work that uses the Library" uses material from a header file
270 that is part of the Library, the object code for the work may be a
271 derivative work of the Library even though the source code is not.
272 Whether this is true is especially significant if the work can be
273 linked without the Library, or if the work is itself a library.  The
274 threshold for this to be true is not precisely defined by law.
276   If such an object file uses only numerical parameters, data
277 structure layouts and accessors, and small macros and small inline
278 functions (ten lines or less in length), then the use of the object
279 file is unrestricted, regardless of whether it is legally a derivative
280 work.  (Executables containing this object code plus portions of the
281 Library will still fall under Section 6.)
283   Otherwise, if the work is a derivative of the Library, you may
284 distribute the object code for the work under the terms of Section 6.
285 Any executables containing that work also fall under Section 6,
286 whether or not they are linked directly with the Library itself.
288   6. As an exception to the Sections above, you may also combine or
289 link a "work that uses the Library" with the Library to produce a
290 work containing portions of the Library, and distribute that work
291 under terms of your choice, provided that the terms permit
292 modification of the work for the customer's own use and reverse
293 engineering for debugging such modifications.
295   You must give prominent notice with each copy of the work that the
296 Library is used in it and that the Library and its use are covered by
297 this License.  You must supply a copy of this License.  If the work
298 during execution displays copyright notices, you must include the
299 copyright notice for the Library among them, as well as a reference
300 directing the user to the copy of this License.  Also, you must do one
301 of these things:
303     a) Accompany the work with the complete corresponding
304     machine-readable source code for the Library including whatever
305     changes were used in the work (which must be distributed under
306     Sections 1 and 2 above); and, if the work is an executable linked
307     with the Library, with the complete machine-readable "work that
308     uses the Library", as object code and/or source code, so that the
309     user can modify the Library and then relink to produce a modified
310     executable containing the modified Library.  (It is understood
311     that the user who changes the contents of definitions files in the
312     Library will not necessarily be able to recompile the application
313     to use the modified definitions.)
315     b) Use a suitable shared library mechanism for linking with the
316     Library.  A suitable mechanism is one that (1) uses at run time a
317     copy of the library already present on the user's computer system,
318     rather than copying library functions into the executable, and (2)
319     will operate properly with a modified version of the library, if
320     the user installs one, as long as the modified version is
321     interface-compatible with the version that the work was made with.
323     c) Accompany the work with a written offer, valid for at
324     least three years, to give the same user the materials
325     specified in Subsection 6a, above, for a charge no more
326     than the cost of performing this distribution.
328     d) If distribution of the work is made by offering access to copy
329     from a designated place, offer equivalent access to copy the above
330     specified materials from the same place.
332     e) Verify that the user has already received a copy of these
333     materials or that you have already sent this user a copy.
335   For an executable, the required form of the "work that uses the
336 Library" must include any data and utility programs needed for
337 reproducing the executable from it.  However, as a special exception,
338 the materials to be distributed need not include anything that is
339 normally distributed (in either source or binary form) with the major
340 components (compiler, kernel, and so on) of the operating system on
341 which the executable runs, unless that component itself accompanies
342 the executable.
344   It may happen that this requirement contradicts the license
345 restrictions of other proprietary libraries that do not normally
346 accompany the operating system.  Such a contradiction means you cannot
347 use both them and the Library together in an executable that you
348 distribute.
350   7. You may place library facilities that are a work based on the
351 Library side-by-side in a single library together with other library
352 facilities not covered by this License, and distribute such a combined
353 library, provided that the separate distribution of the work based on
354 the Library and of the other library facilities is otherwise
355 permitted, and provided that you do these two things:
357     a) Accompany the combined library with a copy of the same work
358     based on the Library, uncombined with any other library
359     facilities.  This must be distributed under the terms of the
360     Sections above.
362     b) Give prominent notice with the combined library of the fact
363     that part of it is a work based on the Library, and explaining
364     where to find the accompanying uncombined form of the same work.
366   8. You may not copy, modify, sublicense, link with, or distribute
367 the Library except as expressly provided under this License.  Any
368 attempt otherwise to copy, modify, sublicense, link with, or
369 distribute the Library is void, and will automatically terminate your
370 rights under this License.  However, parties who have received copies,
371 or rights, from you under this License will not have their licenses
372 terminated so long as such parties remain in full compliance.
374   9. You are not required to accept this License, since you have not
375 signed it.  However, nothing else grants you permission to modify or
376 distribute the Library or its derivative works.  These actions are
377 prohibited by law if you do not accept this License.  Therefore, by
378 modifying or distributing the Library (or any work based on the
379 Library), you indicate your acceptance of this License to do so, and
380 all its terms and conditions for copying, distributing or modifying
381 the Library or works based on it.
383   10. Each time you redistribute the Library (or any work based on the
384 Library), the recipient automatically receives a license from the
385 original licensor to copy, distribute, link with or modify the Library
386 subject to these terms and conditions.  You may not impose any further
387 restrictions on the recipients' exercise of the rights granted herein.
388 You are not responsible for enforcing compliance by third parties with
389 this License.
391   11. If, as a consequence of a court judgment or allegation of patent
392 infringement or for any other reason (not limited to patent issues),
393 conditions are imposed on you (whether by court order, agreement or
394 otherwise) that contradict the conditions of this License, they do not
395 excuse you from the conditions of this License.  If you cannot
396 distribute so as to satisfy simultaneously your obligations under this
397 License and any other pertinent obligations, then as a consequence you
398 may not distribute the Library at all.  For example, if a patent
399 license would not permit royalty-free redistribution of the Library by
400 all those who receive copies directly or indirectly through you, then
401 the only way you could satisfy both it and this License would be to
402 refrain entirely from distribution of the Library.
404 If any portion of this section is held invalid or unenforceable under any
405 particular circumstance, the balance of the section is intended to apply,
406 and the section as a whole is intended to apply in other circumstances.
408 It is not the purpose of this section to induce you to infringe any
409 patents or other property right claims or to contest validity of any
410 such claims; this section has the sole purpose of protecting the
411 integrity of the free software distribution system which is
412 implemented by public license practices.  Many people have made
413 generous contributions to the wide range of software distributed
414 through that system in reliance on consistent application of that
415 system; it is up to the author/donor to decide if he or she is willing
416 to distribute software through any other system and a licensee cannot
417 impose that choice.
419 This section is intended to make thoroughly clear what is believed to
420 be a consequence of the rest of this License.
422   12. If the distribution and/or use of the Library is restricted in
423 certain countries either by patents or by copyrighted interfaces, the
424 original copyright holder who places the Library under this License may add
425 an explicit geographical distribution limitation excluding those countries,
426 so that distribution is permitted only in or among countries not thus
427 excluded.  In such case, this License incorporates the limitation as if
428 written in the body of this License.
430   13. The Free Software Foundation may publish revised and/or new
431 versions of the Lesser General Public License from time to time.
432 Such new versions will be similar in spirit to the present version,
433 but may differ in detail to address new problems or concerns.
435 Each version is given a distinguishing version number.  If the Library
436 specifies a version number of this License which applies to it and
437 "any later version", you have the option of following the terms and
438 conditions either of that version or of any later version published by
439 the Free Software Foundation.  If the Library does not specify a
440 license version number, you may choose any version ever published by
441 the Free Software Foundation.
443   14. If you wish to incorporate parts of the Library into other free
444 programs whose distribution conditions are incompatible with these,
445 write to the author to ask for permission.  For software which is
446 copyrighted by the Free Software Foundation, write to the Free
447 Software Foundation; we sometimes make exceptions for this.  Our
448 decision will be guided by the two goals of preserving the free status
449 of all derivatives of our free software and of promoting the sharing
450 and reuse of software generally.
452                             NO WARRANTY
454   15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
455 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
456 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
457 OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
458 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
459 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
460 PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
461 LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
462 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
464   16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
465 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
466 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
467 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
468 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
469 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
470 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
471 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
472 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
473 DAMAGES.
475                      END OF TERMS AND CONDITIONS