1This software is available to you under a choice of one of two 2licenses. You may choose to be licensed under the terms of the the 3OpenIB.org BSD license or the GNU General Public License (GPL) Version 42, both included below. 5 6Copyright (c) 2005 Intel Corporation. All rights reserved. 7 8================================================================== 9 10 OpenIB.org BSD license 11 12Redistribution and use in source and binary forms, with or without 13modification, are permitted provided that the following conditions 14are met: 15 16 * Redistributions of source code must retain the above copyright 17 notice, this list of conditions and the following disclaimer. 18 19 * Redistributions in binary form must reproduce the above 20 copyright notice, this list of conditions and the following 21 disclaimer in the documentation and/or other materials provided 22 with the distribution. 23 24THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 26LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 27FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 28COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 29INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 30BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 31LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 32CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 34ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35POSSIBILITY OF SUCH DAMAGE. 36 37================================================================== 38 39 GNU GENERAL PUBLIC LICENSE 40 Version 2, June 1991 41 42 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 43 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 44 Everyone is permitted to copy and distribute verbatim copies 45 of this license document, but changing it is not allowed. 46 47 Preamble 48 49 The licenses for most software are designed to take away your 50freedom to share and change it. By contrast, the GNU General Public 51License is intended to guarantee your freedom to share and change free 52software--to make sure the software is free for all its users. This 53General Public License applies to most of the Free Software 54Foundation's software and to any other program whose authors commit to 55using it. (Some other Free Software Foundation software is covered by 56the GNU Library General Public License instead.) You can apply it to 57your programs, too. 58 59 When we speak of free software, we are referring to freedom, not 60price. Our General Public Licenses are designed to make sure that you 61have the freedom to distribute copies of free software (and charge for 62this service if you wish), that you receive source code or can get it 63if you want it, that you can change the software or use pieces of it 64in new free programs; and that you know you can do these things. 65 66 To protect your rights, we need to make restrictions that forbid 67anyone to deny you these rights or to ask you to surrender the rights. 68These restrictions translate to certain responsibilities for you if you 69distribute copies of the software, or if you modify it. 70 71 For example, if you distribute copies of such a program, whether 72gratis or for a fee, you must give the recipients all the rights that 73you have. You must make sure that they, too, receive or can get the 74source code. And you must show them these terms so they know their 75rights. 76 77 We protect your rights with two steps: (1) copyright the software, and 78(2) offer you this license which gives you legal permission to copy, 79distribute and/or modify the software. 80 81 Also, for each author's protection and ours, we want to make certain 82that everyone understands that there is no warranty for this free 83software. If the software is modified by someone else and passed on, we 84want its recipients to know that what they have is not the original, so 85that any problems introduced by others will not reflect on the original 86authors' reputations. 87 88 Finally, any free program is threatened constantly by software 89patents. We wish to avoid the danger that redistributors of a free 90program will individually obtain patent licenses, in effect making the 91program proprietary. To prevent this, we have made it clear that any 92patent must be licensed for everyone's free use or not licensed at all. 93 94 The precise terms and conditions for copying, distribution and 95modification follow. 96 97 GNU GENERAL PUBLIC LICENSE 98 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 99 100 0. This License applies to any program or other work which contains 101a notice placed by the copyright holder saying it may be distributed 102under the terms of this General Public License. The "Program", below, 103refers to any such program or work, and a "work based on the Program" 104means either the Program or any derivative work under copyright law: 105that is to say, a work containing the Program or a portion of it, 106either verbatim or with modifications and/or translated into another 107language. (Hereinafter, translation is included without limitation in 108the term "modification".) Each licensee is addressed as "you". 109 110Activities other than copying, distribution and modification are not 111covered by this License; they are outside its scope. The act of 112running the Program is not restricted, and the output from the Program 113is covered only if its contents constitute a work based on the 114Program (independent of having been made by running the Program). 115Whether that is true depends on what the Program does. 116 117 1. You may copy and distribute verbatim copies of the Program's 118source code as you receive it, in any medium, provided that you 119conspicuously and appropriately publish on each copy an appropriate 120copyright notice and disclaimer of warranty; keep intact all the 121notices that refer to this License and to the absence of any warranty; 122and give any other recipients of the Program a copy of this License 123along with the Program. 124 125You may charge a fee for the physical act of transferring a copy, and 126you may at your option offer warranty protection in exchange for a fee. 127 128 2. You may modify your copy or copies of the Program or any portion 129of it, thus forming a work based on the Program, and copy and 130distribute such modifications or work under the terms of Section 1 131above, provided that you also meet all of these conditions: 132 133 a) You must cause the modified files to carry prominent notices 134 stating that you changed the files and the date of any change. 135 136 b) You must cause any work that you distribute or publish, that in 137 whole or in part contains or is derived from the Program or any 138 part thereof, to be licensed as a whole at no charge to all third 139 parties under the terms of this License. 140 141 c) If the modified program normally reads commands interactively 142 when run, you must cause it, when started running for such 143 interactive use in the most ordinary way, to print or display an 144 announcement including an appropriate copyright notice and a 145 notice that there is no warranty (or else, saying that you provide 146 a warranty) and that users may redistribute the program under 147 these conditions, and telling the user how to view a copy of this 148 License. (Exception: if the Program itself is interactive but 149 does not normally print such an announcement, your work based on 150 the Program is not required to print an announcement.) 151 152These requirements apply to the modified work as a whole. If 153identifiable sections of that work are not derived from the Program, 154and can be reasonably considered independent and separate works in 155themselves, then this License, and its terms, do not apply to those 156sections when you distribute them as separate works. But when you 157distribute the same sections as part of a whole which is a work based 158on the Program, the distribution of the whole must be on the terms of 159this License, whose permissions for other licensees extend to the 160entire whole, and thus to each and every part regardless of who wrote it. 161 162Thus, it is not the intent of this section to claim rights or contest 163your rights to work written entirely by you; rather, the intent is to 164exercise the right to control the distribution of derivative or 165collective works based on the Program. 166 167In addition, mere aggregation of another work not based on the Program 168with the Program (or with a work based on the Program) on a volume of 169a storage or distribution medium does not bring the other work under 170the scope of this License. 171 172 3. You may copy and distribute the Program (or a work based on it, 173under Section 2) in object code or executable form under the terms of 174Sections 1 and 2 above provided that you also do one of the following: 175 176 a) Accompany it with the complete corresponding machine-readable 177 source code, which must be distributed under the terms of Sections 178 1 and 2 above on a medium customarily used for software interchange; or, 179 180 b) Accompany it with a written offer, valid for at least three 181 years, to give any third party, for a charge no more than your 182 cost of physically performing source distribution, a complete 183 machine-readable copy of the corresponding source code, to be 184 distributed under the terms of Sections 1 and 2 above on a medium 185 customarily used for software interchange; or, 186 187 c) Accompany it with the information you received as to the offer 188 to distribute corresponding source code. (This alternative is 189 allowed only for noncommercial distribution and only if you 190 received the program in object code or executable form with such 191 an offer, in accord with Subsection b above.) 192 193The source code for a work means the preferred form of the work for 194making modifications to it. For an executable work, complete source 195code means all the source code for all modules it contains, plus any 196associated interface definition files, plus the scripts used to 197control compilation and installation of the executable. However, as a 198special exception, the source code distributed need not include 199anything that is normally distributed (in either source or binary 200form) with the major components (compiler, kernel, and so on) of the 201operating system on which the executable runs, unless that component 202itself accompanies the executable. 203 204If distribution of executable or object code is made by offering 205access to copy from a designated place, then offering equivalent 206access to copy the source code from the same place counts as 207distribution of the source code, even though third parties are not 208compelled to copy the source along with the object code. 209 210 4. You may not copy, modify, sublicense, or distribute the Program 211except as expressly provided under this License. Any attempt 212otherwise to copy, modify, sublicense or distribute the Program is 213void, and will automatically terminate your rights under this License. 214However, parties who have received copies, or rights, from you under 215this License will not have their licenses terminated so long as such 216parties remain in full compliance. 217 218 5. You are not required to accept this License, since you have not 219signed it. However, nothing else grants you permission to modify or 220distribute the Program or its derivative works. These actions are 221prohibited by law if you do not accept this License. Therefore, by 222modifying or distributing the Program (or any work based on the 223Program), you indicate your acceptance of this License to do so, and 224all its terms and conditions for copying, distributing or modifying 225the Program or works based on it. 226 227 6. Each time you redistribute the Program (or any work based on the 228Program), the recipient automatically receives a license from the 229original licensor to copy, distribute or modify the Program subject to 230these terms and conditions. You may not impose any further 231restrictions on the recipients' exercise of the rights granted herein. 232You are not responsible for enforcing compliance by third parties to 233this License. 234 235 7. If, as a consequence of a court judgment or allegation of patent 236infringement or for any other reason (not limited to patent issues), 237conditions are imposed on you (whether by court order, agreement or 238otherwise) that contradict the conditions of this License, they do not 239excuse you from the conditions of this License. If you cannot 240distribute so as to satisfy simultaneously your obligations under this 241License and any other pertinent obligations, then as a consequence you 242may not distribute the Program at all. For example, if a patent 243license would not permit royalty-free redistribution of the Program by 244all those who receive copies directly or indirectly through you, then 245the only way you could satisfy both it and this License would be to 246refrain entirely from distribution of the Program. 247 248If any portion of this section is held invalid or unenforceable under 249any particular circumstance, the balance of the section is intended to 250apply and the section as a whole is intended to apply in other 251circumstances. 252 253It is not the purpose of this section to induce you to infringe any 254patents or other property right claims or to contest validity of any 255such claims; this section has the sole purpose of protecting the 256integrity of the free software distribution system, which is 257implemented by public license practices. Many people have made 258generous contributions to the wide range of software distributed 259through that system in reliance on consistent application of that 260system; it is up to the author/donor to decide if he or she is willing 261to distribute software through any other system and a licensee cannot 262impose that choice. 263 264This section is intended to make thoroughly clear what is believed to 265be a consequence of the rest of this License. 266 267 8. If the distribution and/or use of the Program is restricted in 268certain countries either by patents or by copyrighted interfaces, the 269original copyright holder who places the Program under this License 270may add an explicit geographical distribution limitation excluding 271those countries, so that distribution is permitted only in or among 272countries not thus excluded. In such case, this License incorporates 273the limitation as if written in the body of this License. 274 275 9. The Free Software Foundation may publish revised and/or new versions 276of the General Public License from time to time. Such new versions will 277be similar in spirit to the present version, but may differ in detail to 278address new problems or concerns. 279 280Each version is given a distinguishing version number. If the Program 281specifies a version number of this License which applies to it and "any 282later version", you have the option of following the terms and conditions 283either of that version or of any later version published by the Free 284Software Foundation. If the Program does not specify a version number of 285this License, you may choose any version ever published by the Free Software 286Foundation. 287 288 10. If you wish to incorporate parts of the Program into other free 289programs whose distribution conditions are different, write to the author 290to ask for permission. For software which is copyrighted by the Free 291Software Foundation, write to the Free Software Foundation; we sometimes 292make exceptions for this. Our decision will be guided by the two goals 293of preserving the free status of all derivatives of our free software and 294of promoting the sharing and reuse of software generally. 295 296 NO WARRANTY 297 298 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 299FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 300OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 301PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 302OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 303MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 304TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 305PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 306REPAIR OR CORRECTION. 307 308 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 309WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 310REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 311INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 312OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 313TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 314YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 315PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 316POSSIBILITY OF SUCH DAMAGES. 317 318 END OF TERMS AND CONDITIONS 319 320 How to Apply These Terms to Your New Programs 321 322 If you develop a new program, and you want it to be of the greatest 323possible use to the public, the best way to achieve this is to make it 324free software which everyone can redistribute and change under these terms. 325 326 To do so, attach the following notices to the program. It is safest 327to attach them to the start of each source file to most effectively 328convey the exclusion of warranty; and each file should have at least 329the "copyright" line and a pointer to where the full notice is found. 330 331 <one line to give the program's name and a brief idea of what it does.> 332 Copyright (C) <year> <name of author> 333 334 This program is free software; you can redistribute it and/or modify 335 it under the terms of the GNU General Public License as published by 336 the Free Software Foundation; either version 2 of the License, or 337 (at your option) any later version. 338 339 This program is distributed in the hope that it will be useful, 340 but WITHOUT ANY WARRANTY; without even the implied warranty of 341 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 342 GNU General Public License for more details. 343 344 You should have received a copy of the GNU General Public License 345 along with this program; if not, write to the Free Software 346 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 347 348 349Also add information on how to contact you by electronic and paper mail. 350 351If the program is interactive, make it output a short notice like this 352when it starts in an interactive mode: 353 354 Gnomovision version 69, Copyright (C) year name of author 355 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 356 This is free software, and you are welcome to redistribute it 357 under certain conditions; type `show c' for details. 358 359The hypothetical commands `show w' and `show c' should show the appropriate 360parts of the General Public License. Of course, the commands you use may 361be called something other than `show w' and `show c'; they could even be 362mouse-clicks or menu items--whatever suits your program. 363 364You should also get your employer (if you work as a programmer) or your 365school, if any, to sign a "copyright disclaimer" for the program, if 366necessary. Here is a sample; alter the names: 367 368 Yoyodyne, Inc., hereby disclaims all copyright interest in the program 369 `Gnomovision' (which makes passes at compilers) written by James Hacker. 370 371 <signature of Ty Coon>, 1 April 1989 372 Ty Coon, President of Vice 373 374This General Public License does not permit incorporating your program into 375proprietary programs. If your program is a subroutine library, you may 376consider it more useful to permit linking proprietary applications with the 377library. If this is what you want to do, use the GNU Library General 378Public License instead of this License. 379