Changeset 774

Show
Ignore:
Timestamp:
04/12/07 00:26:13 (2 years ago)
Author:
sgillies
Message:

Add disk storage option (#320), switch license to LGPL, add test of invalid filename

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Rtree/trunk/LICENSE.txt

    r499 r774  
    1                     GNU GENERAL PUBLIC LICENSE 
    2                        Version 2, June 1991 
    3  
    4  Copyright (C) 1989, 1991 Free Software Foundation, Inc. 
    5                        59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
     1                  GNU LESSER GENERAL PUBLIC LICENSE 
     2                       Version 2.1, February 1999 
     3 
     4 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 
     5 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA 
    66 Everyone is permitted to copy and distribute verbatim copies 
    77 of this license document, but changing it is not allowed. 
    88 
     9[This is the first released version of the Lesser GPL.  It also counts 
     10 as the successor of the GNU Library Public License, version 2, hence 
     11 the version number 2.1.] 
     12 
    913                            Preamble 
    1014 
    1115  The licenses for most software are designed to take away your 
    1216freedom to share and change it.  By contrast, the GNU General Public 
    13 License is intended to guarantee your freedom to share and change free 
    14 software--to make sure the software is free for all its users.  This 
    15 General Public License applies to most of the Free Software 
    16 Foundation's software and to any other program whose authors commit to 
    17 using it.  (Some other Free Software Foundation software is covered by 
    18 the GNU Library General Public License instead.)  You can apply it to 
    19 your programs, too. 
    20  
    21   When we speak of free software, we are referring to freedom, not 
    22 price.  Our General Public Licenses are designed to make sure that you 
    23 have the freedom to distribute copies of free software (and charge for 
    24 this service if you wish), that you receive source code or can get it 
    25 if you want it, that you can change the software or use pieces of it 
    26 in new free programs; and that you know you can do these things. 
     17Licenses are intended to guarantee your freedom to share and change 
     18free software--to make sure the software is free for all its users. 
     19 
     20  This license, the Lesser General Public License, applies to some 
     21specially designated software packages--typically libraries--of the 
     22Free Software Foundation and other authors who decide to use it.  You 
     23can use it too, but we suggest you first think carefully about whether 
     24this license or the ordinary General Public License is the better 
     25strategy to use in any particular case, based on the explanations below. 
     26 
     27  When we speak of free software, we are referring to freedom of use, 
     28not price.  Our General Public Licenses are designed to make sure that 
     29you have the freedom to distribute copies of free software (and charge 
     30for this service if you wish); that you receive source code or can get 
     31it if you want it; that you can change the software and use pieces of 
     32it in new free programs; and that you are informed that you can do 
     33these things. 
    2734 
    2835  To protect your rights, we need to make restrictions that forbid 
    29 anyone to deny you these rights or to ask you to surrender the rights. 
    30 These restrictions translate to certain responsibilities for you if you 
    31 distribute copies of the software, or if you modify it. 
    32  
    33   For example, if you distribute copies of such a program, whether 
    34 gratis or for a fee, you must give the recipients all the rights that 
    35 you have.  You must make sure that they, too, receive or can get the 
    36 source code.  And you must show them these terms so they know their 
    37 rights. 
    38  
    39   We protect your rights with two steps: (1) copyright the software, and 
    40 (2) offer you this license which gives you legal permission to copy, 
    41 distribute and/or modify the software. 
    42  
    43   Also, for each author's protection and ours, we want to make certain 
    44 that everyone understands that there is no warranty for this free 
    45 software.  If the software is modified by someone else and passed on, we 
    46 want its recipients to know that what they have is not the original, so 
    47 that any problems introduced by others will not reflect on the original 
    48 authors' reputations. 
    49  
    50   Finally, any free program is threatened constantly by software 
    51 patents.  We wish to avoid the danger that redistributors of a free 
    52 program will individually obtain patent licenses, in effect making the 
    53 program proprietary.  To prevent this, we have made it clear that any 
    54 patent must be licensed for everyone's free use or not licensed at all. 
     36distributors to deny you these rights or to ask you to surrender these 
     37rights.  These restrictions translate to certain responsibilities for 
     38you if you distribute copies of the library or if you modify it. 
     39 
     40  For example, if you distribute copies of the library, whether gratis 
     41or for a fee, you must give the recipients all the rights that we gave 
     42you.  You must make sure that they, too, receive or can get the source 
     43code.  If you link other code with the library, you must provide 
     44complete object files to the recipients, so that they can relink them 
     45with the library after making changes to the library and recompiling 
     46it.  And you must show them these terms so they know their rights. 
     47 
     48  We protect your rights with a two-step method: (1) we copyright the 
     49library, and (2) we offer you this license, which gives you legal 
     50permission to copy, distribute and/or modify the library. 
     51 
     52  To protect each distributor, we want to make it very clear that 
     53there is no warranty for the free library.  Also, if the library is 
     54modified by someone else and passed on, the recipients should know 
     55that what they have is not the original version, so that the original 
     56author's reputation will not be affected by problems that might be 
     57introduced by others. 
     58  
     59  Finally, software patents pose a constant threat to the existence of 
     60any free program.  We wish to make sure that a company cannot 
     61effectively restrict the users of a free program by obtaining a 
     62restrictive license from a patent holder.  Therefore, we insist that 
     63any patent license obtained for a version of the library must be 
     64consistent with the full freedom of use specified in this license. 
     65 
     66  Most GNU software, including some libraries, is covered by the 
     67ordinary GNU General Public License.  This license, the GNU Lesser 
     68General Public License, applies to certain designated libraries, and 
     69is quite different from the ordinary General Public License.  We use 
     70this license for certain libraries in order to permit linking those 
     71libraries into non-free programs. 
     72 
     73  When a program is linked with a library, whether statically or using 
     74a shared library, the combination of the two is legally speaking a 
     75combined work, a derivative of the original library.  The ordinary 
     76General Public License therefore permits such linking only if the 
     77entire combination fits its criteria of freedom.  The Lesser General 
     78Public License permits more lax criteria for linking other code with 
     79the library. 
     80 
     81  We call this license the "Lesser" General Public License because it 
     82does Less to protect the user's freedom than the ordinary General 
     83Public License.  It also provides other free software developers Less 
     84of an advantage over competing non-free programs.  These disadvantages 
     85are the reason we use the ordinary General Public License for many 
     86libraries.  However, the Lesser license provides advantages in certain 
     87special circumstances. 
     88 
     89  For example, on rare occasions, there may be a special need to 
     90encourage the widest possible use of a certain library, so that it becomes 
     91a de-facto standard.  To achieve this, non-free programs must be 
     92allowed to use the library.  A more frequent case is that a free 
     93library does the same job as widely used non-free libraries.  In this 
     94case, there is little to gain by limiting the free library to free 
     95software only, so we use the Lesser General Public License. 
     96 
     97  In other cases, permission to use a particular library in non-free 
     98programs enables a greater number of people to use a large body of 
     99free software.  For example, permission to use the GNU C Library in 
     100non-free programs enables many more people to use the whole GNU 
     101operating system, as well as its variant, the GNU/Linux operating 
     102system. 
     103 
     104  Although the Lesser General Public License is Less protective of the 
     105users' freedom, it does ensure that the user of a program that is 
     106linked with the Library has the freedom and the wherewithal to run 
     107that program using a modified version of the Library. 
    55108 
    56109  The precise terms and conditions for copying, distribution and 
    57 modification follow. 
    58   
    59                     GNU GENERAL PUBLIC LICENSE 
     110modification follow.  Pay close attention to the difference between a 
     111"work based on the library" and a "work that uses the library".  The 
     112former contains code derived from the library, whereas the latter must 
     113be combined with the library in order to run. 
     114  
     115                  GNU LESSER GENERAL PUBLIC LICENSE 
    60116   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 
    61117 
    62   0. This License applies to any program or other work which contains 
    63 a notice placed by the copyright holder saying it may be distributed 
    64 under the terms of this General Public License.  The "Program", below, 
    65 refers to any such program or work, and a "work based on the Program" 
    66 means either the Program or any derivative work under copyright law: 
    67 that is to say, a work containing the Program or a portion of it, 
    68 either verbatim or with modifications and/or translated into another 
    69 language.  (Hereinafter, translation is included without limitation in 
    70 the term "modification".)  Each licensee is addressed as "you". 
    71  
    72 Activities other than copying, distribution and modification are not 
     118  0. This License Agreement applies to any software library or other 
     119program which contains a notice placed by the copyright holder or 
     120other authorized party saying it may be distributed under the terms of 
     121this Lesser General Public License (also called "this License"). 
     122Each licensee is addressed as "you". 
     123 
     124  A "library" means a collection of software functions and/or data 
     125prepared so as to be conveniently linked with application programs 
     126(which use some of those functions and data) to form executables. 
     127 
     128  The "Library", below, refers to any such software library or work 
     129which has been distributed under these terms.  A "work based on the 
     130Library" means either the Library or any derivative work under 
     131copyright law: that is to say, a work containing the Library or a 
     132portion of it, either verbatim or with modifications and/or translated 
     133straightforwardly into another language.  (Hereinafter, translation is 
     134included without limitation in the term "modification".) 
     135 
     136  "Source code" for a work means the preferred form of the work for 
     137making modifications to it.  For a library, complete source code means 
     138all the source code for all modules it contains, plus any associated 
     139interface definition files, plus the scripts used to control compilation 
     140and installation of the library. 
     141 
     142  Activities other than copying, distribution and modification are not 
    73143covered by this License; they are outside its scope.  The act of 
    74 running the Program is not restricted, and the output from the Program 
    75 is covered only if its contents constitute a work based on the 
    76 Program (independent of having been made by running the Program). 
    77 Whether that is true depends on what the Program does. 
    78  
    79   1. You may copy and distribute verbatim copies of the Program's 
    80 source code as you receive it, in any medium, provided that you 
    81 conspicuously and appropriately publish on each copy an appropriate 
    82 copyright notice and disclaimer of warranty; keep intact all the 
    83 notices that refer to this License and to the absence of any warranty; 
    84 and give any other recipients of the Program a copy of this License 
    85 along with the Program. 
    86  
    87 You may charge a fee for the physical act of transferring a copy, and 
    88 you may at your option offer warranty protection in exchange for a fee. 
    89  
    90   2. You may modify your copy or copies of the Program or any portion 
    91 of it, thus forming a work based on the Program, and copy and 
     144running a program using the Library is not restricted, and output from 
     145such a program is covered only if its contents constitute a work based 
     146on the Library (independent of the use of the Library in a tool for 
     147writing it).  Whether that is true depends on what the Library does 
     148and what the program that uses the Library does. 
     149   
     150  1. You may copy and distribute verbatim copies of the Library's 
     151complete source code as you receive it, in any medium, provided that 
     152you conspicuously and appropriately publish on each copy an 
     153appropriate copyright notice and disclaimer of warranty; keep intact 
     154all the notices that refer to this License and to the absence of any 
     155warranty; and distribute a copy of this License along with the 
     156Library. 
     157 
     158  You may charge a fee for the physical act of transferring a copy, 
     159and you may at your option offer warranty protection in exchange for a 
     160fee. 
     161  
     162  2. You may modify your copy or copies of the Library or any portion 
     163of it, thus forming a work based on the Library, and copy and 
    92164distribute such modifications or work under the terms of Section 1 
    93165above, provided that you also meet all of these conditions: 
    94166 
    95     a) You must cause the modified files to carry prominent notices 
     167    a) The modified work must itself be a software library. 
     168 
     169    b) You must cause the files modified to carry prominent notices 
    96170    stating that you changed the files and the date of any change. 
    97171 
    98     b) You must cause any work that you distribute or publish, that in 
    99     whole or in part contains or is derived from the Program or any 
    100     part thereof, to be licensed as a whole at no charge to all third 
    101     parties under the terms of this License. 
    102  
    103     c) If the modified program normally reads commands interactively 
    104     when run, you must cause it, when started running for such 
    105     interactive use in the most ordinary way, to print or display an 
    106     announcement including an appropriate copyright notice and a 
    107     notice that there is no warranty (or else, saying that you provide 
    108     a warranty) and that users may redistribute the program under 
    109     these conditions, and telling the user how to view a copy of this 
    110     License.  (Exception: if the Program itself is interactive but 
    111     does not normally print such an announcement, your work based on 
    112     the Program is not required to print an announcement.) 
    113   
     172    c) You must cause the whole of the work to be licensed at no 
     173    charge to all third parties under the terms of this License. 
     174 
     175    d) If a facility in the modified Library refers to a function or a 
     176    table of data to be supplied by an application program that uses 
     177    the facility, other than as an argument passed when the facility 
     178    is invoked, then you must make a good faith effort to ensure that, 
     179    in the event an application does not supply such function or 
     180    table, the facility still operates, and performs whatever part of 
     181    its purpose remains meaningful. 
     182 
     183    (For example, a function in a library to compute square roots has 
     184    a purpose that is entirely well-defined independent of the 
     185    application.  Therefore, Subsection 2d requires that any 
     186    application-supplied function or table used by this function must 
     187    be optional: if the application does not supply it, the square 
     188    root function must still compute square roots.) 
     189 
    114190These requirements apply to the modified work as a whole.  If 
    115 identifiable sections of that work are not derived from the Program
     191identifiable sections of that work are not derived from the Library
    116192and can be reasonably considered independent and separate works in 
    117193themselves, then this License, and its terms, do not apply to those 
    118194sections when you distribute them as separate works.  But when you 
    119195distribute the same sections as part of a whole which is a work based 
    120 on the Program, the distribution of the whole must be on the terms of 
     196on the Library, the distribution of the whole must be on the terms of 
    121197this License, whose permissions for other licensees extend to the 
    122 entire whole, and thus to each and every part regardless of who wrote it. 
     198entire whole, and thus to each and every part regardless of who wrote 
     199it. 
    123200 
    124201Thus, it is not the intent of this section to claim rights or contest 
    125202your rights to work written entirely by you; rather, the intent is to 
    126203exercise the right to control the distribution of derivative or 
    127 collective works based on the Program
    128  
    129 In addition, mere aggregation of another work not based on the Program 
    130 with the Program (or with a work based on the Program) on a volume of 
     204collective works based on the Library
     205 
     206In addition, mere aggregation of another work not based on the Library 
     207with the Library (or with a work based on the Library) on a volume of 
    131208a storage or distribution medium does not bring the other work under 
    132209the scope of this License. 
    133210 
    134   3. You may copy and distribute the Program (or a work based on it, 
    135 under Section 2) in object code or executable form under the terms of 
    136 Sections 1 and 2 above provided that you also do one of the following: 
    137  
    138     a) Accompany it with the complete corresponding machine-readable 
    139     source code, which must be distributed under the terms of Sections 
    140     1 and 2 above on a medium customarily used for software interchange; or, 
    141  
    142     b) Accompany it with a written offer, valid for at least three 
    143     years, to give any third party, for a charge no more than your 
    144     cost of physically performing source distribution, a complete 
    145     machine-readable copy of the corresponding source code, to be 
    146     distributed under the terms of Sections 1 and 2 above on a medium 
    147     customarily used for software interchange; or, 
    148  
    149     c) Accompany it with the information you received as to the offer 
    150     to distribute corresponding source code.  (This alternative is 
    151     allowed only for noncommercial distribution and only if you 
    152     received the program in object code or executable form with such 
    153     an offer, in accord with Subsection b above.) 
    154  
    155 The source code for a work means the preferred form of the work for 
    156 making modifications to it.  For an executable work, complete source 
    157 code means all the source code for all modules it contains, plus any 
    158 associated interface definition files, plus the scripts used to 
    159 control compilation and installation of the executable.  However, as a 
    160 special exception, the source code distributed need not include 
    161 anything that is normally distributed (in either source or binary 
    162 form) with the major components (compiler, kernel, and so on) of the 
    163 operating system on which the executable runs, unless that component 
    164 itself accompanies the executable. 
    165  
    166 If distribution of executable or object code is made by offering 
    167 access to copy from a designated place, then offering equivalent 
    168 access to copy the source code from the same place counts as 
    169 distribution of the source code, even though third parties are not 
     211  3. You may opt to apply the terms of the ordinary GNU General Public 
     212License instead of this License to a given copy of the Library.  To do 
     213this, you must alter all the notices that refer to this License, so 
     214that they refer to the ordinary GNU General Public License, version 2, 
     215instead of to this License.  (If a newer version than version 2 of the 
     216ordinary GNU General Public License has appeared, then you can specify 
     217that version instead if you wish.)  Do not make any other change in 
     218these notices. 
     219  
     220  Once this change is made in a given copy, it is irreversible for 
     221that copy, so the ordinary GNU General Public License applies to all 
     222subsequent copies and derivative works made from that copy. 
     223 
     224  This option is useful when you wish to copy part of the code of 
     225the Library into a program that is not a library. 
     226 
     227  4. You may copy and distribute the Library (or a portion or 
     228derivative of it, under Section 2) in object code or executable form 
     229under the terms of Sections 1 and 2 above provided that you accompany 
     230it with the complete corresponding machine-readable source code, which 
     231must be distributed under the terms of Sections 1 and 2 above on a 
     232medium customarily used for software interchange. 
     233 
     234  If distribution of object code is made by offering access to copy 
     235from a designated place, then offering equivalent access to copy the 
     236source code from the same place satisfies the requirement to 
     237distribute the source code, even though third parties are not 
    170238compelled to copy the source along with the object code. 
    171   
    172   4. You may not copy, modify, sublicense, or distribute the Program 
    173 except as expressly provided under this License.  Any attempt 
    174 otherwise to copy, modify, sublicense or distribute the Program is 
    175 void, and will automatically terminate your rights under this License. 
    176 However, parties who have received copies, or rights, from you under 
    177 this License will not have their licenses terminated so long as such 
    178 parties remain in full compliance. 
    179  
    180   5. You are not required to accept this License, since you have not 
     239 
     240  5. A program that contains no derivative of any portion of the 
     241Library, but is designed to work with the Library by being compiled or 
     242linked with it, is called a "work that uses the Library".  Such a 
     243work, in isolation, is not a derivative work of the Library, and 
     244therefore falls outside the scope of this License. 
     245 
     246  However, linking a "work that uses the Library" with the Library 
     247creates an executable that is a derivative of the Library (because it 
     248contains portions of the Library), rather than a "work that uses the 
     249library".  The executable is therefore covered by this License. 
     250Section 6 states terms for distribution of such executables. 
     251 
     252  When a "work that uses the Library" uses material from a header file 
     253that is part of the Library, the object code for the work may be a 
     254derivative work of the Library even though the source code is not. 
     255Whether this is true is especially significant if the work can be 
     256linked without the Library, or if the work is itself a library.  The 
     257threshold for this to be true is not precisely defined by law. 
     258 
     259  If such an object file uses only numerical parameters, data 
     260structure layouts and accessors, and small macros and small inline 
     261functions (ten lines or less in length), then the use of the object 
     262file is unrestricted, regardless of whether it is legally a derivative 
     263work.  (Executables containing this object code plus portions of the 
     264Library will still fall under Section 6.) 
     265 
     266  Otherwise, if the work is a derivative of the Library, you may 
     267distribute the object code for the work under the terms of Section 6. 
     268Any executables containing that work also fall under Section 6, 
     269whether or not they are linked directly with the Library itself. 
     270  
     271  6. As an exception to the Sections above, you may also combine or 
     272link a "work that uses the Library" with the Library to produce a 
     273work containing portions of the Library, and distribute that work 
     274under terms of your choice, provided that the terms permit 
     275modification of the work for the customer's own use and reverse 
     276engineering for debugging such modifications. 
     277 
     278  You must give prominent notice with each copy of the work that the 
     279Library is used in it and that the Library and its use are covered by 
     280this License.  You must supply a copy of this License.  If the work 
     281during execution displays copyright notices, you must include the 
     282copyright notice for the Library among them, as well as a reference 
     283directing the user to the copy of this License.  Also, you must do one 
     284of these things: 
     285 
     286    a) Accompany the work with the complete corresponding 
     287    machine-readable source code for the Library including whatever 
     288    changes were used in the work (which must be distributed under 
     289    Sections 1 and 2 above); and, if the work is an executable linked 
     290    with the Library, with the complete machine-readable "work that 
     291    uses the Library", as object code and/or source code, so that the 
     292    user can modify the Library and then relink to produce a modified 
     293    executable containing the modified Library.  (It is understood 
     294    that the user who changes the contents of definitions files in the 
     295    Library will not necessarily be able to recompile the application 
     296    to use the modified definitions.) 
     297 
     298    b) Use a suitable shared library mechanism for linking with the 
     299    Library.  A suitable mechanism is one that (1) uses at run time a 
     300    copy of the library already present on the user's computer system, 
     301    rather than copying library functions into the executable, and (2) 
     302    will operate properly with a modified version of the library, if 
     303    the user installs one, as long as the modified version is 
     304    interface-compatible with the version that the work was made with. 
     305 
     306    c) Accompany the work with a written offer, valid for at 
     307    least three years, to give the same user the materials 
     308    specified in Subsection 6a, above, for a charge no more 
     309    than the cost of performing this distribution. 
     310 
     311    d) If distribution of the work is made by offering access to copy 
     312    from a designated place, offer equivalent access to copy the above 
     313    specified materials from the same place. 
     314 
     315    e) Verify that the user has already received a copy of these 
     316    materials or that you have already sent this user a copy. 
     317 
     318  For an executable, the required form of the "work that uses the 
     319Library" must include any data and utility programs needed for 
     320reproducing the executable from it.  However, as a special exception, 
     321the materials to be distributed need not include anything that is 
     322normally distributed (in either source or binary form) with the major 
     323components (compiler, kernel, and so on) of the operating system on 
     324which the executable runs, unless that component itself accompanies 
     325the executable. 
     326 
     327  It may happen that this requirement contradicts the license 
     328restrictions of other proprietary libraries that do not normally 
     329accompany the operating system.  Such a contradiction means you cannot 
     330use both them and the Library together in an executable that you 
     331distribute. 
     332  
     333  7. You may place library facilities that are a work based on the 
     334Library side-by-side in a single library together with other library 
     335facilities not covered by this License, and distribute such a combined 
     336library, provided that the separate distribution of the work based on 
     337the Library and of the other library facilities is otherwise 
     338permitted, and provided that you do these two things: 
     339 
     340    a) Accompany the combined library with a copy of the same work 
     341    based on the Library, uncombined with any other library 
     342    facilities.  This must be distributed under the terms of the 
     343    Sections above. 
     344 
     345    b) Give prominent notice with the combined library of the fact 
     346    that part of it is a work based on the Library, and explaining 
     347    where to find the accompanying uncombined form of the same work. 
     348 
     349  8. You may not copy, modify, sublicense, link with, or distribute 
     350the Library except as expressly provided under this License.  Any 
     351attempt otherwise to copy, modify, sublicense, link with, or 
     352distribute the Library is void, and will automatically terminate your 
     353rights under this License.  However, parties who have received copies, 
     354or rights, from you under this License will not have their licenses 
     355terminated so long as such parties remain in full compliance. 
     356 
     357  9. You are not required to accept this License, since you have not 
    181358signed it.  However, nothing else grants you permission to modify or 
    182 distribute the Program or its derivative works.  These actions are 
     359distribute the Library or its derivative works.  These actions are 
    183360prohibited by law if you do not accept this License.  Therefore, by 
    184 modifying or distributing the Program (or any work based on the 
    185 Program), you indicate your acceptance of this License to do so, and 
     361modifying or distributing the Library (or any work based on the 
     362Library), you indicate your acceptance of this License to do so, and 
    186363all its terms and conditions for copying, distributing or modifying 
    187 the Program or works based on it. 
    188  
    189   6. Each time you redistribute the Program (or any work based on the 
    190 Program), the recipient automatically receives a license from the 
    191 original licensor to copy, distribute or modify the Program subject to 
    192 these terms and conditions.  You may not impose any further 
     364the Library or works based on it. 
     365 
     366  10. Each time you redistribute the Library (or any work based on the 
     367Library), the recipient automatically receives a license from the 
     368original licensor to copy, distribute, link with or modify the Library 
     369subject to these terms and conditions.  You may not impose any further 
    193370restrictions on the recipients' exercise of the rights granted herein. 
    194 You are not responsible for enforcing compliance by third parties to 
     371You are not responsible for enforcing compliance by third parties with 
    195372this License. 
    196  
    197   7. If, as a consequence of a court judgment or allegation of patent 
     373  
     374  11. If, as a consequence of a court judgment or allegation of patent 
    198375infringement or for any other reason (not limited to patent issues), 
    199376conditions are imposed on you (whether by court order, agreement or 
     
    202379distribute so as to satisfy simultaneously your obligations under this 
    203380License and any other pertinent obligations, then as a consequence you 
    204 may not distribute the Program at all.  For example, if a patent 
    205 license would not permit royalty-free redistribution of the Program by 
     381may not distribute the Library at all.  For example, if a patent 
     382license would not permit royalty-free redistribution of the Library by 
    206383all those who receive copies directly or indirectly through you, then 
    207384the only way you could satisfy both it and this License would be to 
    208 refrain entirely from distribution of the Program. 
    209  
    210 If any portion of this section is held invalid or unenforceable under 
    211 any particular circumstance, the balance of the section is intended to 
    212 apply and the section as a whole is intended to apply in other 
    213 circumstances. 
     385refrain entirely from distribution of the Library. 
     386 
     387If any portion of this section is held invalid or unenforceable under any 
     388particular circumstance, the balance of the section is intended to apply, 
     389and the section as a whole is intended to apply in other circumstances. 
    214390 
    215391It is not the purpose of this section to induce you to infringe any 
    216392patents or other property right claims or to contest validity of any 
    217393such claims; this section has the sole purpose of protecting the 
    218 integrity of the free software distribution system, which is 
     394integrity of the free software distribution system which is 
    219395implemented by public license practices.  Many people have made 
    220396generous contributions to the wide range of software distributed 
     
    226402This section is intended to make thoroughly clear what is believed to 
    227403be a consequence of the rest of this License. 
    228   
    229   8. If the distribution and/or use of the Program is restricted in 
     404 
     405  12. If the distribution and/or use of the Library is restricted in 
    230406certain countries either by patents or by copyrighted interfaces, the 
    231 original copyright holder who places the Program under this License 
    232 may add an explicit geographical distribution limitation excluding 
    233 those countries, so that distribution is permitted only in or among 
    234 countries not thus excluded.  In such case, this License incorporates 
    235 the limitation as if written in the body of this License. 
    236  
    237   9. The Free Software Foundation may publish revised and/or new versions 
    238 of the General Public License from time to time.  Such new versions will 
    239 be similar in spirit to the present version, but may differ in detail to 
    240 address new problems or concerns. 
    241  
    242 Each version is given a distinguishing version number.  If the Program 
    243 specifies a version number of this License which applies to it and "any 
    244 later version", you have the option of following the terms and conditions 
    245 either of that version or of any later version published by the Free 
    246 Software Foundation.  If the Program does not specify a version number of 
    247 this License, you may choose any version ever published by the Free Software 
    248 Foundation. 
    249  
    250   10. If you wish to incorporate parts of the Program into other free 
    251 programs whose distribution conditions are different, write to the author 
    252 to ask for permission.  For software which is copyrighted by the Free 
    253 Software Foundation, write to the Free Software Foundation; we sometimes 
    254 make exceptions for this.  Our decision will be guided by the two goals 
    255 of preserving the free status of all derivatives of our free software and 
    256 of promoting the sharing and reuse of software generally. 
     407original copyright holder who places the Library under this License may add 
     408an explicit geographical distribution limitation excluding those countries, 
     409so that distribution is permitted only in or among countries not thus 
     410excluded.  In such case, this License incorporates the limitation as if 
     411written in the body of this License. 
     412 
     413  13. The Free Software Foundation may publish revised and/or new 
     414versions of the Lesser General Public License from time to time. 
     415Such new versions will be similar in spirit to the present version, 
     416but may differ in detail to address new problems or concerns. 
     417 
     418Each version is given a distinguishing version number.  If the Library 
     419specifies a version number of this License which applies to it and 
     420"any later version", you have the option of following the terms and 
     421conditions either of that version or of any later version published by 
     422the Free Software Foundation.  If the Library does not specify a 
     423license version number, you may choose any version ever published by 
     424the Free Software Foundation. 
     425  
     426  14. If you wish to incorporate parts of the Library into other free 
     427programs whose distribution conditions are incompatible with these, 
     428write to the author to ask for permission.  For software which is 
     429copyrighted by the Free Software Foundation, write to the Free 
     430Software Foundation; we sometimes make exceptions for this.  Our 
     431decision will be guided by the two goals of preserving the free status 
     432of all derivatives of our free software and of promoting the sharing 
     433and reuse of software generally. 
    257434 
    258435                            NO WARRANTY 
    259436 
    260   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 
    261 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN 
    262 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 
    263 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 
    264 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    265 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS 
    266 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE 
    267 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 
    268 REPAIR OR CORRECTION. 
    269  
    270   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 
    271 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 
    272 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 
    273 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 
    274 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 
    275 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 
    276 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 
    277 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 
    278 POSSIBILITY OF SUCH DAMAGES. 
     437  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 
     438WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 
     439EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 
     440OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 
     441KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 
     442IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
     443PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 
     444LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 
     445THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 
     446 
     447  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 
     448WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 
     449AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 
     450FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 
     451CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 
     452LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 
     453RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 
     454FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 
     455SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
     456DAMAGES. 
    279457 
    280458                     END OF TERMS AND CONDITIONS 
    281459  
    282             How to Apply These Terms to Your New Programs 
    283  
    284   If you develop a new program, and you want it to be of the greatest 
    285 possible use to the public, the best way to achieve this is to make it 
    286 free software which everyone can redistribute and change under these terms. 
    287  
    288   To do so, attach the following notices to the program.  It is safest 
    289 to attach them to the start of each source file to most effectively 
    290 convey the exclusion of warranty; and each file should have at least 
    291 the "copyright" line and a pointer to where the full notice is found. 
    292  
    293     <one line to give the program's name and a brief idea of what it does.> 
     460           How to Apply These Terms to Your New Libraries 
     461 
     462  If you develop a new library, and you want it to be of the greatest 
     463possible use to the public, we recommend making it free software that 
     464everyone can redistribute and change.  You can do so by permitting 
     465redistribution under these terms (or, alternatively, under the terms of the 
     466ordinary General Public License). 
     467 
     468  To apply these terms, attach the following notices to the library.  It is 
     469safest to attach them to the start of each source file to most effectively 
     470convey the exclusion of warranty; and each file should have at least the 
     471"copyright" line and a pointer to where the full notice is found. 
     472 
     473    <one line to give the library's name and a brief idea of what it does.> 
    294474    Copyright (C) <year>  <name of author> 
    295475 
    296     This program is free software; you can redistribute it and/or modify 
    297     it under the terms of the GNU General Public License as published by 
    298     the Free Software Foundation; either version 2 of the License, o
    299     (at your option) any later version. 
    300  
    301     This program is distributed in the hope that it will be useful, 
     476    This library is free software; you can redistribute it and/or 
     477    modify it under the terms of the GNU Lesser General Public 
     478    License as published by the Free Software Foundation; eithe
     479    version 2.1 of the License, or (at your option) any later version. 
     480 
     481    This library is distributed in the hope that it will be useful, 
    302482    but WITHOUT ANY WARRANTY; without even the implied warranty of 
    303     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    304     GNU General Public License for more details. 
    305  
    306     You should have received a copy of the GNU General Public License 
    307     along with this program; if not, write to the Free Software 
    308     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    309  
     483    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
     484    Lesser General Public License for more details. 
     485 
     486    You should have received a copy of the GNU Lesser General Public 
     487    License along with this library; if not, write to the Free Software 
     488    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA 
    310489 
    311490Also add information on how to contact you by electronic and paper mail. 
    312491 
    313 If the program is interactive, make it output a short notice like this 
    314 when it starts in an interactive mode: 
    315  
    316     Gnomovision version 69, Copyright (C) year name of author 
    317     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 
    318     This is free software, and you are welcome to redistribute it 
    319     under certain conditions; type `show c' for details. 
    320  
    321 The hypothetical commands `show w' and `show c' should show the appropriate 
    322 parts of the General Public License.  Of course, the commands you use may 
    323 be called something other than `show w' and `show c'; they could even be 
    324 mouse-clicks or menu items--whatever suits your program. 
    325  
    326492You should also get your employer (if you work as a programmer) or your 
    327 school, if any, to sign a "copyright disclaimer" for the program, if 
     493school, if any, to sign a "copyright disclaimer" for the library, if 
    328494necessary.  Here is a sample; alter the names: 
    329495 
    330   Yoyodyne, Inc., hereby disclaims all copyright interest in the program 
    331   `Gnomovision' (which makes passes at compilers) written by James Hacker. 
    332  
    333   <signature of Ty Coon>, 1 April 1989 
     496  Yoyodyne, Inc., hereby disclaims all copyright interest in the 
     497  library `Frob' (a library for tweaking knobs) written by James Random Hacker. 
     498 
     499  <signature of Ty Coon>, 1 April 1990 
    334500  Ty Coon, President of Vice 
    335501 
    336 This General Public License does not permit incorporating your program into 
    337 proprietary programs.  If your program is a subroutine library, you may 
    338 consider it more useful to permit linking proprietary applications with the 
    339 library.  If this is what you want to do, use the GNU Library General 
    340 Public License instead of this License. 
     502That's all there is to it! 
     503 
     504 
  • Rtree/trunk/VERSION.txt

    r499 r774  
    1 0.1.0 
     10.2.0 
  • Rtree/trunk/rtree/_rtreemodule.cc

    r499 r774  
    33# Rtree spatial index. Copyright (C) 2006 Ancient World Mapping Center 
    44# 
    5 # This program is free software; you can redistribute it and/or modify it 
    6 # under the terms of the GNU General Public License as published by the Free 
    7 # Software Foundation; either version 2 of the License, or (at your option) 
     5# This library is free software; you can redistribute it and/or modify it under 
     6# the terms of the GNU Lesser General Public License as published by the Free 
     7# Software Foundation; either version 2.1 of the License, or (at your option) 
    88# any later version. 
    99# 
    10 # This program is distributed in the hope that it will be useful, but WITHOUT 
     10# This library is distributed in the hope that it will be useful, but WITHOUT 
    1111# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
    12 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
     12# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
    1313# details. 
    1414# 
    15 # You should have received a copy of the GNU General Public License along with 
    16 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple 
    17 # Place, Suite 330, Boston, MA 02111-1307 USA 
     15# You should have received a copy of the GNU Lesser General Public License  
     16# along with this library; if not, write to the Free Software Foundation, Inc., 
     17# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA 
    1818# 
    1919# Contact email: sgillies@frii.com 
     
    2929} Rtree; 
    3030 
    31 //staticforward PyTypeObject RtreeType; 
    32  
    3331/* Alloc/dealloc */ 
    3432 
     
    3735{ 
    3836    RtreeIndex_del(self->index); 
     37 
    3938    self->ob_type->tp_free((PyObject*) self); 
    4039} 
     
    4342Rtree_init(Rtree *self, PyObject *args, PyObject *kwds) 
    4443{ 
    45     self->index = RtreeIndex_new(); 
     44    char* filename = NULL; 
     45    unsigned long nPageLength = 0; 
     46    FILE *file = NULL; 
     47 
     48    if (!PyArg_ParseTuple(args, "|si", &filename, (unsigned long)&nPageLength)) 
     49        return -1; 
     50    
     51    // Check that there is a file beyond the name 
     52    if (filename) 
     53    { 
     54        file = fopen(filename, "wb"); 
     55        if (!file) 
     56        { 
     57            PyErr_Format(PyExc_IOError, 
     58                "Unable to open file '%s' for index storage", filename); 
     59            return -1; 
     60        } 
     61        fclose(file); 
     62    } 
     63 
     64    self->index = RtreeIndex_new(filename, nPageLength); 
     65     
    4666    return 0; 
    4767} 
  • Rtree/trunk/rtree/gispyspatialindex.cc

    r499 r774  
    33# Rtree spatial index. Copyright (C) 2006 Ancient World Mapping Center 
    44# 
    5 # This program is free software; you can redistribute it and/or modify it 
    6 # under the terms of the GNU General Public License as published by the Free 
    7 # Software Foundation; either version 2 of the License, or (at your option) 
     5# This library is free software; you can redistribute it and/or modify it under 
     6# the terms of the GNU Lesser General Public License as published by the Free 
     7# Software Foundation; either version 2.1 of the License, or (at your option) 
    88# any later version. 
    99# 
    10 # This program is distributed in the hope that it will be useful, but WITHOUT 
     10# This library is distributed in the hope that it will be useful, but WITHOUT 
    1111# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
    12 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
     12# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
    1313# details. 
    1414# 
    15 # You should have received a copy of the GNU General Public License along with 
    16 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple 
    17 # Place, Suite 330, Boston, MA 02111-1307 USA 
     15# You should have received a copy of the GNU Lesser General Public License  
     16# along with this library; if not, write to the Free Software Foundation, Inc., 
     17# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA 
    1818# 
    1919# Contact email: sgillies@frii.com 
     
    2626using namespace SpatialIndex; 
    2727 
    28 GISPySpatialIndex::GISPySpatialIndex(
     28GISPySpatialIndex::GISPySpatialIndex(const char* pszFilename, unsigned long nPageSize
    2929{ 
    30   // for now only memory manager 
    31   mStorageManager = StorageManager::createNewMemoryStorageManager(); 
    3230 
    33   // create buffer 
     31  std::string oFilename = std::string(pszFilename); 
     32  mStorageManager = StorageManager::createNewDiskStorageManager(oFilename, nPageSize); 
    3433 
     34  Initialize(); 
     35 
     36} 
     37 
     38void GISPySpatialIndex::Initialize() 
     39{ 
    3540  unsigned int capacity = 10; 
    3641  bool writeThrough = false; 
     
    4752  long indexId; 
    4853  mRTree = RTree::createNewRTree(*mStorage, fillFactor, indexCapacity, 
    49                                  leafCapacity, dimension, variant, indexId); 
     54                                 leafCapacity, dimension, variant, indexId);  
     55    
     56 
     57
     58GISPySpatialIndex::GISPySpatialIndex() 
     59
     60 
     61  mStorageManager = StorageManager::createNewMemoryStorageManager(); 
     62   
     63  Initialize(); 
    5064} 
    5165 
  • Rtree/trunk/rtree/gispyspatialindex.h

    r499 r774  
    33# Rtree spatial index. Copyright (C) 2006 Ancient World Mapping Center 
    44# 
    5 # This program is free software; you can redistribute it and/or modify it 
    6 # under the terms of the GNU General Public License as published by the Free 
    7 # Software Foundation; either version 2 of the License, or (at your option) 
     5# This library is free software; you can redistribute it and/or modify it under 
     6# the terms of the GNU Lesser General Public License as published by the Free 
     7# Software Foundation; either version 2.1 of the License, or (at your option) 
    88# any later version. 
    99# 
    10 # This program is distributed in the hope that it will be useful, but WITHOUT 
     10# This library is distributed in the hope that it will be useful, but WITHOUT 
    1111# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
    12 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
     12# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
    1313# details. 
    1414# 
    15 # You should have received a copy of the GNU General Public License along with 
    16 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple 
    17 # Place, Suite 330, Boston, MA 02111-1307 USA 
     15# You should have received a copy of the GNU Lesser General Public License  
     16# along with this library; if not, write to the Free Software Foundation, Inc., 
     17# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA 
    1818# 
    1919# Contact email: sgillies@frii.com 
     
    2222 
    2323#include <Python.h> 
     24#include <string> 
    2425 
    2526namespace SpatialIndex 
     
    4748public: 
    4849  GISPySpatialIndex(); 
     50  GISPySpatialIndex(const char* pszFilename, unsigned long nPageSize); 
    4951  ~GISPySpatialIndex(); 
     52   
    5053  bool insertFeature(long id, double *min, double *max); 
    51   /*void deleteFeature(QgsFeature& f);*/ 
    5254  PyObject *intersects(double *min, double *max); 
     55  SpatialIndex::ISpatialIndex& index() {return *mRTree;} 
     56 
     57private: 
     58  void Initialize(); 
    5359  SpatialIndex::IStorageManager* mStorageManager; 
    5460  SpatialIndex::StorageManager::IBuffer* mStorage; 
  • Rtree/trunk/rtree/wrapper.cc

    <
    r499 r774  
    33# Rtree spatial index. Copyright (C) 2006 Ancient World Mapping Center 
    44# 
    5 # This program is free software; you can redistribute it and/or modify it 
    6 # under the terms of the GNU General Public License as published by the Free 
    7 # Software Foundation; either version 2 of the License, or (at your option) 
     5# This library is free software; you can redistribute it and/or modify it under 
     6# the terms of the GNU Lesser General Public License as published by the Free 
     7# Software Foundation; either version 2.1 of the License, or (at your option) 
    88# any later version. 
    99# 
    10 # This program is distributed in the hope that it will be useful, but WITHOUT 
     10# This library is distributed in the hope that it will be useful, but WITHOUT 
    1111# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
    12 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
     12# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
    1313# details. 
    1414# 
    15 # You should have received a copy of the GNU General Public License along with 
    16 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple 
    17 # Place, Suite 330, Boston, MA 02111-1307 USA 
     15# You should have received a copy of the GNU Lesser General Public License  
     16# along with this library; if not, write to the Free Software Foundation, Inc.,