FREE EDUCATION INITIATIVE LICENSE PREAMBLE The philosophy of the Free Education Initiative License is simple: Education should be free, and every individual has a basic right to improve themselves through education. However, with the advent of the technology age, many individuals around the globe are denied access to educational software tools due to their inability to purchase high-priced commercial software. For many fields of study, only commercial educational tools are available, tools which can neither be modified by members of the general public to furnish improvements, or be adapted to other fields of study and operating systems. Often, such commercial tools are highly censored, violating the concepts of 'free speech' and 'free education'. In other cases, commercial programs do not conform to societal standards, governmental laws, or parental standards for 'appropriate' education for children, making the tools illegal to use in a particular region or jurisdiction, or undesirable for parents and teachers. To remain useful, educational software must be kept free and open source, to allow for modifications and improvements, adaptations to existing and emerging fields of study, and accomodations to a wide variety of forever-changing needs, laws, social standards, and family values around the globe. The goals of this license are: 1. To keep educational software free-of-charge, open source, and publicly accessible to all members of the general public 2. To keep software distributed under this license from being absorbed under 'closed-source', commercial, or proprietary software licenses and patents, which grant the right to an education to a select few, and inhibit education for many 3. To encourage, but not require, the development of educational software that is flexible, adaptable, and mindful of widely varied laws, family values, social norms, and computing systems around the world. 4. To protect, as much as possible, the privacy of of end-users 5. To protect authors of free educational software from frivolous law suits and legal penalties BASIC CONCEPTS OF THIS LICENSE The Free Education Initiative License is designed to make sure that you have the freedom to distribute copies of this software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, certain restrictions are in place to forbid anyone to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of this program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get 'publicly accessible' complete source code from a 'publicly accessible' location. You must show them these terms and provide them with a copy of this license, the Free Education Initiative License, so they know their rights. Your rights are protected with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection, there is no warranty for this free software. If the software is modified by someone else and passed on, the recipients must be informed that what they have is not the original, so that any problems introduced by others will not reflect on the reputation of the original author(s). Finally, any free program is threatened constantly by software patents. This license seeks to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, as a term of this license, any patent must be licensed under the Free Education Initiative License, or not licensed at all. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Free Education Initiative License. The "Program", below, refers to any such program or work. A "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution, and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing, or modifying the Program or works based on it. DEFINITIONS, AS USED IN THIS LICENSE "Source code": The source code for a work means the preferred form of the work for making modifications to it, generally a text-based, machine-readable form. "Complete source": Complete source code means all the source code for all modules, libraries, components, and executables a work contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the work. However, as a special exception, the complete source code need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. "Publicly accessible": To be publicly accessible means to be available to members of the general public, without discrimination of any kind, through resources and tools which are both free-of-charge and commonly-used. Members of the general public should be granted uninhibited access to the resource. In addition, in order to be publicly accessible, a resource MUST NOT REQUIRE, as a prerequisite to unfettered access, any of the following: a. The payment of a fee or royalty of any kind, whether for the resource itself or for the software tools needed to access said resource b. A relationship or affiliation, with any particular person, group, organization, or corporate entity (For example, 'customers only' and 'employees only' policies) c. The procurement or existence of a password, access code, membership, or other credentials (For example, 'members only' policies) d. The procurement or presence of decryption mechanisms, software, or tools e. The presence of any one particular operating system, major operating system component, or web browser (For example, a resource only accessible to users of Windows, or a resource only available to Netscape users) f. The procurement of additional resources, including but not limited to, software, if such resources are obscure, difficult or cumbersome to obtain, or require the payment a fee or royalty of any kind (For example, file formats which may ONLY be opened through the aid of a purchased software tool.) g. The release of an individual's personal information (For example, requiring a user to provide an email address, real name, postal adddress, or phone number) h. A request for access, whether written, electronic, or oral (For example, if an individual has to get their access 'approved' ahead of time, or can only receive software by making a request by email, phone, or postal mail.) i. Access to an intranet, internal network, computer, or terminal which is private, has 'restricted access', or is otherwise not accessible to all members of the general public, or is only accessible to individuals in a particular geographical or physical location j. Knowledge of relatively obscure or obsolete internet protocols or software tools if more customary alternatives are available (For example, distributing software via the Gopher or UUCP protocols, when HTTP and FTP are more popular among members of the general public.) "Open source": Software for which the 'complete source code' is available to the general public in a 'publicly accessible' manner, and in a 'publicly accessible' location "Closed source": Software for which the 'complete source code' is NOT available to the general public in both a 'publicly accessible' manner and a 'publicly accessible' location; this includes, but is not limited to, software such as freeware, shareware, or commercial software, or any other software for which only binary or machine-compiled copies are available to the general public, regardless of whether said software requires the end-users to pay royalties or fees. "Proprietary software": In the context of this license, proprietary software includes all 'closed source' software, as well as any software for which the payment of a fee or royalty, of any kind, is a prerequisite to obtaining the 'complete source code' for the software, or software whose 'complete source code' is made available on a 'read-only' basis, either by prohibiting any and all modifications to the 'complete source code' by the general public, or by deeming completely illegal, without exception, the distribution of copies modified by members of the general public. "Package": A single, compressed file archive containing all the components and documentation for a software work TERMS OF USE Permission is hereby granted, free of charge, to use this Program and its documentation without restriction. Usage does NOT include modification, distribution, or redistribution, which are covered in subsequent sections of this License. TERMS OF MODIFICATION Permission is hereby granted to freely modify this Program. Any modification of this Program constitutes a "work based on the Program", as previously defined in this License. Modification does NOT include distribution, which is covered in the section to follow. ANY work based on this Program automatically inherits this License; that is to say, no work based on this Program can be licensed under any license except the Free Education Initiative License. Any work based on this Program is licensed exclusively under the Free Education Initiative License, and may not be sub-licensed or re-licensed, in any way. TERMS OF DISTRIBUTION AND REDISTRIBUTION A. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a Free Education Initiative License from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. B. Mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. For instance, including this Program on a CD-ROM collection of software, does not bring the other software under the scope of this license. C. You may incorporate parts of this Program into another program whose license or distribution terms are different; however, you are forbidden from distributing, without exception, the new work. If you wish to distribute the work, you must either license the new work, as a whole and in its entirety, exclusively under the Free Education Initiative License, or refrain from using any parts of this Program in the new work. D. You are strictly forbidden from charging anyone a royalty or fee of any kind for this Program or any work based on this Program, or for full, unfettered access to this Program or any work based on this Program, with the following exceptions: 1. You may charge the recipient(s) if this Program (or a work based on it) is being issued to the recipient(s) as part of a distributed collection of software comprised EXCLUSIVELY of software licensed under one of the following: 1) This license, the Free Education Initiative License 2) An OSI-approved license, as defined at the Open Source Initiative web site: http://www.opensource.org The cost to the recipient(s) may not exceed your cost of physically performing the distribution of the collection of software. This Program may not be sold or resold to the recipient(s) for a profit of any kind. 2. You may charge the recipient(s) if this Program is part of a distributed collection of software which provides the recipient(s) with a means of installing exactly one fully-functioning operating system, provided that the operating system being provided to the recipient(s) is licensed EXCLUSIVELY under an OSI-approved license, as defined at the Open Source Initiative web site: http://www.opensource.org Proprietary and 'Closed-Source' operating systems do not qualify under this provision. E. At your choosing, you may offfer to the recipient(s), either free-of-charge or for a fee, a warranty or technical support for this Program (or a work based on this Program). However, the purchase of such warranty or technical support may NOT be a prerequisite to the recipient(s) having complete, unfettered access to at least one 'Publicly Accessible' copy of the 'Complete Source Code' for this Program (or a work based on this Program). Distribution of verbatim, unmodified copies of this Program: Permission is hereby granted to freely copy, publish, and distribute verbatim, unmodified copies of this Program, provided you do so in a manner that complies with sections A, B, C, D, and E, above. If you distribute binary or machine-compiled copies of this Program, you MUST make 'Complete Source Code' for this Program available to the recipient(s) by doing at least one of the following: 1. Distribute a copy of the 'Complete Source Code' for this Program, either in the same 'package' as the binary copy, or in a seperate 'package' distributed along with the binary copy on the same storage medium. (The term 'storage medium' includes fixed or removable storage disks of any kind, as well as any network-based or internet-based servers or storage systems.) 2. Provide, in the end-user documentation for the Program, accurate, clear information on how to obtain at least one 'Publicly Accessible' copy of the 'Complete Source Code' for this Program. The 'Publicly Accessible' copy must comply with the terms set forth in this license, under the section 'Publicly Accessible Complete Source Code'. Distribution of works based on this Program: Permission is hereby granted to freely distribute works based on this Program, provided you do so in a manner which completely complies with sections A, B, C, D, and E, above. In addition, the following stipulations apply to the distribution of works based on this Program. Herein, the term 'derived work' is identical in meaning to a 'work based on this Program': 1. You may not distribute any derived work which utilizes, includes, or in any way relies upon 'Closed Source' or 'Proprietary' software or components. 2. You may not distribute any derived work which utilizes, includes, or in any way relies upon software or other components which are not distributed under one of the following licenses: 1) This license, the Free Education Initiative License 2) An OSI-approved license, as defined at the Open Source Initiative web site: http://www.opensource.org 3) Public Domain 4) Another license which grants unrestricted rights to use, copy, modify, and distribute the 'Complete Source Code' for the software or component(s) for, at a bare minimum, educational use, research use, and home/personal use. In addition, said license must not require the payment of a royalty or fee for these rights. 3. You must include a clearly written description and date of all the modifications, additions, and subtractions you made to this Program, either in each modified source file, or in a seperate plain text file included with the end-user documentation for your derived work. Having satisfied this requirement, you may also, at your choosing, freely list such modifications in additional locations, and in the formats of your choice. 4. You must share your derived work with everybody, or nobody at all. You may not, under any circumstances, distribute your derived work to a select few, as doing so constitutes the usage of this Program to create a Proprietary work, the distribution of which is strictly prohibited under the terms of this License agreement. Specifically, you MUST make available to the general public at least one 'Publicly Accessible' copy of the 'Complete Source Code' for your derived work. The 'Publicly Accessible' copy must comply with the terms set forth in this license, under the section 'Publicly Accessible Complete Source Code'. 5. Herein, the terms 'extension' and 'plug-in' refer to software or components which are not required for the proper functioning of a derived work, but may be used by the derived work to enhance the features or functionality of the derived work. If your derived work makes use of any 'extension' or 'plug-in', you must ensure that this same enhanced functionality is available to the general public. You may not distribute 'enhanced' copies of your derived work to some individuals, while distributing only 'bare-bones' copies to the general public. Specifically, for each 'extension' or 'plug-in' your derived work utilizes, you MUST make available to the general public at least one 'Publicly Accessible' copy of the 'Complete Source Code' for said 'extension' or 'plug-in'. Each 'Publicly Accessible' copy must comply with the terms set forth in this license, under the section 'Publicly Accessible Complete Source Code'. You must satisfy this requirement by doing at least one of the following: i. Distribute, along with the derived work, a copy of the 'Complete Source Code' for each 'extension' or 'plug-in', either in the same 'package' as the derived work, or in one or more 'packages'. The derived work and any relevant 'extensions' or 'plug-ins', must be stored at the same location on an HTTP, FTP, or CVS server, in accordance with the terms set forth in the section 'Publicly Accessible Complete Source Code'. ii. Provide, in the end-user documentation for the derived work, accurate, clear information on how to obtain at least one 'Publicly Accessible' copy of the 'Complete Source Code' for each 'extension' or 'plug-in'. Each 'Publicly Accessible' copy must comply with the terms set forth in this license, under the section 'Publicly Accessible Complete Source Code'. If, for whatever reason, the 'Complete Source Code' for an 'extension' or 'plug-in' cannot be made available to the general public in accordance with this requirement, you must either eliminate your derived work's use of the 'extension' or 'plug-in', or refrain from distributing your derived work altogether. The distribution of derived works which utilize 'closed source' or proprietary enhancements, 'plug-ins', or 'extensions' is prohibited. 6. If you distribute binary (machine-compiled) copies of the derived work, you MUST make available to the recipients(s) an identical copy of the exact same 'Complete Source Code' used to generate the binary you distribute, by doing at least one of the following: i. Distribute a copy of the 'Complete Source Code' for the derived work, either in the same 'package' as the binary copy, or in a seperate 'package' distributed along with the binary copy on the same storage medium. (The term 'storage medium' includes fixed or removable storage disks of any kind, as well as any network-based or internet-based servers or storage systems.) ii. Provide, in the end-user documentation for the derived work, accurate, clear information on how to obtain at least one 'Publicly Accessible' copy of the 'Complete Source Code' for the derived work. The 'Publicly Accessible' copy must comply with the terms set forth in this license, under the section 'Publicly Accessible Complete Source Code'. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. PUBLICLY ACCESSIBLE COMPLETE SOURCE CODE Some basic rules are in place to ensure that the greatest number of people have unfettered access to 'Complete Source Code' for this Program (or any work based on this Program), as well as any 'extensions' or 'plug-ins' utilized by this Program (or any work based on this Program). 1. The location of the 'Complete Source Code' must be a customary, widely-adopted storage medium, and must completely satisfy the definition of 'Publicly Accessible', as previously defined in this License. Currently, the following storage methods satisfy this requirement, though this is not an exhaustive list: a. HTTP: Otherwise known as the world-wide web. You may provide a valid HTTP Uniform Resource Locator (or URL) pointing to an HTML web page that contains a direct link to the 'package' of 'Complete Source Code'. Uniform Resource Locators or links which use the Secure HTTP protocol (i.e. links that begin with "https://"), are NOT acceptable. The encryption software required by web browsers to access the Secure HTTP protocol is illegal to export to certain countries, thus making such links inaccessible for many individuals. Links to 'packages' of 'Complete Source Code' should be clearly marked as such and should appear on HTML-based web pages which are, as mush as possible, accessible to all web browsers and meet the definition of 'Publicly Accessible'. 'Packages' of 'Complete Source Code' which are stored on HTTP servers, but not linked to from at least one HTML-based web page, are NOT acceptable. The 'Complete Source Code' must be stored as a single 'package', as defined previously in this License. b. FTP: Otherwise known as the File Transfer Protocol. You may provide a valid FTP Uniform Resource Locator (or URL) that links directly to the 'package' of 'Complete Source Code' itself, or a URL that links to the immediate parent directory of the 'package'. Links to 'warez' servers, or FTP servers which store pirated or illegally-obtained materials, are NOT acceptable. The 'Complete Source Code' must be stored as a single 'package', as defined previously in this License. c. CVS: Otherwise known as the Concurrent Version System. You may provide a copy of the 'Complete Source Code' as a source 'tree' on a publicly accessible CVS server, provided that all members of the general public are granted unrestricted, anonymous access to the portion(s) of the CVS server which house the 'Complete Source Code'. Clearly written information detailing how to access the CVS server and obtain the 'Complete 'Source Code' should be displayed in a public, highly visible location, such as a web page. A source 'tree', when stored on a CVS server, qualifies as a 'package'. 'Packages' of 'Complete Source Code' should be stored on a server whose Internet Protocol (IP) address is static. 'Packages' stored on servers connected to the internet by means of a dial-up connection are NOT acceptable, as their availability is highly unpredictable. 2. The 'Complete Source Code' must be stored in a widely-adopted file format that complies with the definition of 'Publicly Accessible', as defined previously in this License: a. If the 'Complete Source Code' is stored on a CVS server, the most suitable file format for public distribution is a source 'tree', housed under a single CVS 'module' or directory. b. If the 'Complete Source Code' is stored on an HTTP or FTP server, the 'Complete Source Code' should be compressed, but not encrypted or password- protected, into a single 'package'. The file format of the 'package' must meet the definiton of 'Publicly Accessible'. Currently, the following file formats most fit this definition, though this is not intended to be an exhaustive list: - .zip (Zip format) - .tar.gz (Tar-GZipped format) . .tar (Tar format) - .gz (GZip format) - .jar (Java Archive format) - .tar.bz2 (Tar-BZipped format) - .rar (RAR format) You must avoid, at all costs, storing a 'publicly accessible' 'package' of 'Complete Source Code' in a file format which cannot be read or extracted, through normal means, on all modern operating systems. For instance, 'Complete Source Code' stored in RPM or Debian format is NOT 'publicly accessible' to most users of BeOs or MacIntosh. Under NO circumstances is it permissible to store a a 'package' of 'publicly accessible' 'Complete Source Code' in a file format which can only be read, opened, or extracted, through customary means, by EXACTLY ONE operating system. For instance, a 'package' of 'Complete Source Code' stored inside a Windows Cabinet (.cab) file is NOT publicly accessible to everyone. You must choose a popular, customary, and widely-adopted file format that is readable on all modern operating systems. 3. You may, of course, at your choosing, make additional 'packages' of 'Complete Source Code' available in any location(s) and any file format(s) of your choice. However, you are obligated to make available to the general public at least ONE 'package' of 'Complete Source Code' that complies with both sections 1 and 2, above, to ensure that this Program (or any work based on it) remains 'Open Source' for everyone. ENDORSEMENTS AND ADVERTISEMENTS The name(s) of the author(s) of this Program may not be used to endorse or promote works or products derived from this Program without specific prior written permission from the author(s). TRANSLATION OF THIS LICENSE You may freely translate this license to other languages, provided that you translate verbatim, as much as is possible, the exact meaning of this license in its entirety, without additions or supplements, and without modifications to the meanings or implied meanings of this license. In the event of any conflict between a translated copy of the license, and the original English-language version of the license, the original English-language version of the license overrules, without exception, the translated copy. You may freely distribute translated copies of this license, provided that you distribute the original English-language version of the license along with it. Copies of the original English-language version of the Free Education Initiative License may be obtained from: http://pythonol.sourceforge.net DISCLAIMER THIS SOFTWARE CARRIES NO WARRANTY, EXPRESSED OR IMPLIED. YOU, THE LICENSEE, ASSUME ALL RISKS, KNOWN OR UNKNOWN, DIRECT OR INDIRECT, WHICH INVOLVE THIS SOFTWARE IN ANY WAY. IN PARTICULAR, THE AUTHOR(S) OF THE SOFTWARE DOES NOT TAKE ANY COMMITMENT IN VIEW OF ANY POSSIBLE THIRD PARTY RIGHTS. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. REQUESTS It is requested, but not required, that you make every effort to be mindful of diverse social norms and family values around the globe should you decide to distribute a work based on this Program. As this License was written with educational and research software in mind, the following is requested, though not required: If your derived work contains content which may be considered 'inappropriate' for children or offensive to some cultures, please leave any existing methods in place which give end-users the ability to disable or remove such content, replace such methods with comparable or better methods that accomplish the same task, or give end-users an option to obtain copies of your work which exclude such content. Again, this is not a requirement or obligation, but merely a request that you respect diverse cultures and values. FOOTNOTES This License is modelled, in part, after the GNU General Public License and includes several excerpts from the GNU General Public License.