fiat team mailing list archive
-
fiat team
-
Mailing list archive
-
Message #00376
Patch for changing license to LGPL 3 or later
Hi,
The attached patch changes license for FIAT to LGPL 3 or later.
There are some files that still does not have a copyright/license
header. This includes especially the following files:
FIAT/asci2vtk2d.py
FIAT/asci2vtk3d.py
FIAT/brezzi_douglas_marini.py
FIAT/dual_set.py
FIAT/makelags.py
FIAT/polynomial_set.py
FIAT/quadrature.py
FIAT/raviart_thomas.py
FIAT/tabarg.py
FIAT/tablag.py
FIAT/transform_hermite.py
FIAT/transform_morley.py
Please add a proper copyright/license header to these files.
Johannes
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: johannr@xxxxxxxxx-20110504133946-57f0od20pyqo56xq
# target_branch: bzr+ssh://bazaar.launchpad.net/~fiat-core/fiat/main/
# testament_sha1: 8873cceb112bc2be386d1a761768059be3901b62
# timestamp: 2011-05-04 15:39:54 +0200
# base_revision_id: logg@xxxxxxxxx-20110223202433-83x1cf89f3petsyn
#
# Begin patch
=== added file 'COPYING'
--- COPYING 1970-01-01 00:00:00 +0000
+++ COPYING 2011-05-04 13:39:46 +0000
@@ -0,0 +1,676 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), 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, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ 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.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+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.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
=== renamed file 'COPYING' => 'COPYING.LESSER'
=== modified file 'FIAT/P0.py'
--- FIAT/P0.py 2009-12-15 16:38:09 +0000
+++ FIAT/P0.py 2011-05-04 13:39:46 +0000
@@ -1,10 +1,27 @@
+# Copyright (C) 2005 The University of Chicago
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+#
# Written by Robert C. Kirby
-# Copyright 2005 by The University of Chicago
-# Distributed under the LGPL license
+#
# This work is partially supported by the US Department of Energy
# under award number DE-FG02-04ER25650
+#
+# Last changed: 2005-05-16
-# last edited 16 May 2005
import reference_element, dual_set, numpy, functional, polynomial_set, finite_element
class P0Dual( dual_set.DualSet ):
=== modified file 'FIAT/argyris.py'
--- FIAT/argyris.py 2009-06-22 22:53:39 +0000
+++ FIAT/argyris.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import finite_element, polynomial_set, dual_set , functional, numpy
=== modified file 'FIAT/crouzeix_raviart.py'
--- FIAT/crouzeix_raviart.py 2010-01-28 21:49:03 +0000
+++ FIAT/crouzeix_raviart.py 2011-05-04 13:39:46 +0000
@@ -1,6 +1,23 @@
-# Written by Marie E. Rognes (meg@xxxxxxxxx) based on original
+# Copyright (C) 2010 Marie E. Rognes
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+#
+# Written by Marie E. Rognes <meg@xxxxxxxxx> based on original
# implementation by Robert C. Kirby.
-
+#
# Last changed: 2010-01-28
import finite_element, polynomial_set, dual_set , functional
=== modified file 'FIAT/discontinuous_lagrange.py'
--- FIAT/discontinuous_lagrange.py 2010-01-14 10:54:52 +0000
+++ FIAT/discontinuous_lagrange.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import finite_element, polynomial_set, dual_set , functional, P0
=== modified file 'FIAT/expansions.py'
--- FIAT/expansions.py 2010-01-20 22:07:43 +0000
+++ FIAT/expansions.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,20 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+
"""Principal orthgonal expansion functions as defined by Karniadakis
and Sherwin. These are parametrized over a reference element so as
to allow users to get coordinates that they want."""
=== modified file 'FIAT/factorial.py'
--- FIAT/factorial.py 2009-06-22 22:53:39 +0000
+++ FIAT/factorial.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,20 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+
def factorial( n ):
"""Computes n! for n an integer >= 0.
Raises an ArithmeticError otherwise."""
=== modified file 'FIAT/finite_element.py'
--- FIAT/finite_element.py 2010-01-30 14:22:47 +0000
+++ FIAT/finite_element.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import numpy
from polynomial_set import PolynomialSet
=== modified file 'FIAT/functional.py'
--- FIAT/functional.py 2010-01-11 12:23:04 +0000
+++ FIAT/functional.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
# functionals require:
# - a degree of accuracy (-1 indicates that it works for all functions
=== modified file 'FIAT/hermite.py'
--- FIAT/hermite.py 2009-06-22 22:53:39 +0000
+++ FIAT/hermite.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import finite_element, polynomial_set, dual_set , functional
=== modified file 'FIAT/jacobi.py'
--- FIAT/jacobi.py 2010-01-11 16:40:37 +0000
+++ FIAT/jacobi.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,20 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+
"""Several functions related to the one-dimensional jacobi polynomials:
Evaluation, evaluation of derivatives, plus computation of the roots
via Newton's method. These mainly are used in defining the expansion
=== modified file 'FIAT/lagrange.py'
--- FIAT/lagrange.py 2010-01-08 17:16:20 +0000
+++ FIAT/lagrange.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import finite_element, polynomial_set, dual_set , functional
=== modified file 'FIAT/morley.py'
--- FIAT/morley.py 2009-06-22 22:53:39 +0000
+++ FIAT/morley.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import finite_element, polynomial_set, dual_set , functional
=== modified file 'FIAT/nedelec.py'
--- FIAT/nedelec.py 2010-01-21 17:37:17 +0000
+++ FIAT/nedelec.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,19 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
import polynomial_set, expansions, quadrature, numpy, dual_set, \
finite_element, functional
=== modified file 'FIAT/nedelec_second_kind.py'
--- FIAT/nedelec_second_kind.py 2010-10-18 19:34:28 +0000
+++ FIAT/nedelec_second_kind.py 2011-05-04 13:39:46 +0000
@@ -1,6 +1,19 @@
-__author__ = "Marie E. Rognes (meg@xxxxxxxxx)"
-__copyright__ = "Copyright (C) 2010 - Marie E. Rognes"
-__license__ = "GNU LGPL version 3 or any later version"
+# Copyright (C) 2010 Marie E. Rognes
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
from finite_element import FiniteElement
from dual_set import DualSet
=== modified file 'FIAT/newdubiner.py'
--- FIAT/newdubiner.py 2009-06-22 22:53:39 +0000
+++ FIAT/newdubiner.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,20 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+
import numpy
def jrc( a , b , n, num_type ):
=== modified file 'FIAT/reference_element.py'
--- FIAT/reference_element.py 2010-01-31 12:19:52 +0000
+++ FIAT/reference_element.py 2011-05-04 13:39:46 +0000
@@ -1,5 +1,20 @@
-# Copyright 2008 by Robert C. Kirby (Texas Tech University)
-# License: LGPL
+# Copyright (C) 2008 Robert C. Kirby (Texas Tech University)
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+
"""
Abstract class and particular implementations of finite element
reference simplex geometry/topology.
=== modified file 'README'
--- README 2010-02-03 15:21:58 +0000
+++ README 2011-05-04 13:39:46 +0000
@@ -10,4 +10,20 @@
Nedelec are supported on triangles and tetrahedra. Upcoming versions
will also support Hermite and nonconforming elements.
-For more information, visit http://www.fenics.org/fiat/
+For more information, visit http://www.fenicsproject.org
+
+License:
+--------
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
=== modified file 'setup.py'
--- setup.py 2011-02-23 19:58:25 +0000
+++ setup.py 2011-05-04 13:39:46 +0000
@@ -8,5 +8,5 @@
author="Robert C. Kirby", \
author_email="robert.c.kirby@xxxxxxxxx", \
url="http://www.math.ttu.edu/~kirby", \
- license="LGPL", \
+ license="LGPL v3 or later", \
packages=['FIAT'])
=== modified file 'test/test.py'
--- test/test.py 2010-12-08 18:58:29 +0000
+++ test/test.py 2011-05-04 13:39:46 +0000
@@ -1,7 +1,22 @@
-__author__ = "Anders Logg (logg@xxxxxxxxx)"
-__date__ = "2010-01-31"
-__copyright__ = "Copyright (C) 2010 Anders Logg"
-__license__ = "GNU LGPL version 3 or any later version"
+# Copyright (C) 2010 Anders Logg
+#
+# This file is part of FIAT.
+#
+# FIAT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# FIAT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with FIAT. If not, see <http://www.gnu.org/licenses/>.
+#
+# First added: 2010-01-31
+# Last changed: 2010-01-31
import sys, pickle
from FIAT import supported_elements, make_quadrature, ufc_simplex
# Begin bundle
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
Follow ups