From: Tim Pierce Date: Thu, 13 Mar 2014 21:58:57 +0000 (-0400) Subject: Merge branch 'master' into 2221-complete-docker X-Git-Tag: 1.1.0~2690^2~64^2~17 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/76f9268395068d47fda7f34426bc83d603c834c7?hp=ced5e21f292fd8afa2cf2dc3345eb8a1c714d9cf Merge branch 'master' into 2221-complete-docker --- diff --git a/COPYING b/COPYING new file mode 100644 index 0000000000..4006e686da --- /dev/null +++ b/COPYING @@ -0,0 +1,11 @@ +Server-side components of Arvados contained in the apps/ and services/ +directories, including the API Server, Workbench, and Crunch, are licenced +under the GNU Affero General Public License version 3 (see agpl-3.0.txt) + +The Arvados client Software Development Kits contained in the sdk/ directory, +example scripts in the crunch_scripts/ directory, and code samples in the +Aravados documentation are licensed under the Apache License, Version 2.0 (see +LICENSE-2.0.txt) + +The Arvados Documentation located in the doc/ directory is licensed under the +Creative Commons Attribution-Share Alike 3.0 United States (see by-sa-3.0.txt) \ No newline at end of file diff --git a/LICENSE-2.0.txt b/LICENSE-2.0.txt new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/LICENSE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README b/README new file mode 100644 index 0000000000..c7a36c355b --- /dev/null +++ b/README @@ -0,0 +1,21 @@ +Welcome to Arvados! + +The main Arvados web site is + https://arvados.org + +The Arvados public wiki is located at + https://arvados.org/projects/arvados/wiki + +The Arvados public bug tracker is located at + https://arvados.org/projects/arvados/issues + +For support see + http://doc.arvados.org/user/getting_started/community.html + +Installation documentation is located at + http://doc.arvados.org/install + +If you wish to build the documentation yourself, follow the instructions in +doc/README to build the documentation, then consult the "Install Guide". + +See COPYING for information about Arvados Free Software licenses. diff --git a/agpl-3.0.txt b/agpl-3.0.txt new file mode 100644 index 0000000000..dba13ed2dd --- /dev/null +++ b/agpl-3.0.txt @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. + + 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 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 work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero 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 Affero 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 Affero 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. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + 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 AGPL, see +. diff --git a/by-sa-3.0.txt b/by-sa-3.0.txt new file mode 100644 index 0000000000..281c9b621b --- /dev/null +++ b/by-sa-3.0.txt @@ -0,0 +1,297 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 United States + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE +BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE +CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE +IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + a. "Collective Work" means a work, such as a periodical issue, anthology or + encyclopedia, in which the Work in its entirety in unmodified form, along + with one or more other contributions, constituting separate and independent + works in themselves, are assembled into a collective whole. A work that + constitutes a Collective Work will not be considered a Derivative Work (as + defined below) for the purposes of this License. + + b. "Creative Commons Compatible License" means a license that is listed at + http://creativecommons.org/compatiblelicenses that has been approved by + Creative Commons as being essentially equivalent to this License, + including, at a minimum, because that license: (i) contains terms that have + the same purpose, meaning and effect as the License Elements of this + License; and, (ii) explicitly permits the relicensing of derivatives of + works made available under that license under this License or either a + Creative Commons unported license or a Creative Commons jurisdiction + license with the same License Elements as this License. + + c. "Derivative Work" means a work based upon the Work or upon the Work and + other pre-existing works, such as a translation, musical arrangement, + dramatization, fictionalization, motion picture version, sound recording, + art reproduction, abridgment, condensation, or any other form in which the + Work may be recast, transformed, or adapted, except that a work that + constitutes a Collective Work will not be considered a Derivative Work for + the purpose of this License. For the avoidance of doubt, where the Work is + a musical composition or sound recording, the synchronization of the Work + in timed-relation with a moving image ("synching") will be considered a + Derivative Work for the purpose of this License. + + d. "License Elements" means the following high-level license attributes as + selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + + e. "Licensor" means the individual, individuals, entity or entities that + offers the Work under the terms of this License. + + f. "Original Author" means the individual, individuals, entity or entities who + created the Work. + + g. "Work" means the copyrightable work of authorship offered under the terms + of this License. + + h. "You" means an individual or entity exercising rights under this License + who has not previously violated the terms of this License with respect to + the Work, or who has received express permission from the Licensor to + exercise rights under this License despite a previous violation. + +2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or +restrict any rights arising from fair use, first sale or other limitations on +the exclusive rights of the copyright owner under copyright law or other +applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor +hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the +duration of the applicable copyright) license to exercise the rights in the +Work as stated below: + + a. to reproduce the Work, to incorporate the Work into one or more Collective + Works, and to reproduce the Work as incorporated in the Collective Works; + + b. to create and reproduce Derivative Works provided that any such + Derivative Work, including any translation in any medium, takes reasonable + steps to clearly label, demarcate or otherwise identify that changes were + made to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a modification + could indicate "The original work has been modified."; + + c. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio transmission the + Work including as incorporated in Collective Works; + + d. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio transmission + Derivative Works. + + e. For the avoidance of doubt, where the Work is a musical composition: + + i. Performance Royalties Under Blanket Licenses. Licensor waives the + exclusive right to collect, whether individually or, in the event that + Licensor is a member of a performance rights society (e.g. ASCAP, BMI, + SESAC), via that society, royalties for the public performance or + public digital performance (e.g. webcast) of the Work. + + ii. Mechanical Rights and Statutory Royalties. Licensor waives the + exclusive right to collect, whether individually or via a music rights + agency or designated agent (e.g. Harry Fox Agency), royalties for any + phonorecord You create from the Work ("cover version") and distribute, + subject to the compulsory license created by 17 USC Section 115 of the + US Copyright Act (or the equivalent in other jurisdictions). + + f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, + where the Work is a sound recording, Licensor waives the exclusive right to + collect, whether individually or via a performance-rights society + (e.g. SoundExchange), royalties for the public digital performance + (e.g. webcast) of the Work, subject to the compulsory license created by 17 + USC Section 114 of the US Copyright Act (or the equivalent in other + jurisdictions). + +The above rights may be exercised in all media and formats whether now known or +hereafter devised. The above rights include the right to make such +modifications as are technically necessary to exercise the rights in other +media and formats. All rights not expressly granted by Licensor are hereby +reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + a. You may distribute, publicly display, publicly perform, or publicly + digitally perform the Work only under the terms of this License, and You + must include a copy of, or the Uniform Resource Identifier for, this + License with every copy or phonorecord of the Work You distribute, publicly + display, publicly perform, or publicly digitally perform. You may not offer + or impose any terms on the Work that restrict the terms of this License or + the ability of a recipient of the Work to exercise of the rights granted to + that recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and to + the disclaimer of warranties. When You distribute, publicly display, + publicly perform, or publicly digitally perform the Work, You may not + impose any technological measures on the Work that restrict the ability of + a recipient of the Work from You to exercise of the rights granted to that + recipient under the terms of the License. This Section 4(a) applies to the + Work as incorporated in a Collective Work, but this does not require the + Collective Work apart from the Work itself to be made subject to the terms + of this License. If You create a Collective Work, upon notice from any + Licensor You must, to the extent practicable, remove from the Collective + Work any credit as required by Section 4(c), as requested. If You create a + Derivative Work, upon notice from any Licensor You must, to the extent + practicable, remove from the Derivative Work any credit as required by + Section 4(c), as requested. + + b. You may distribute, publicly display, publicly perform, or publicly + digitally perform a Derivative Work only under: (i) the terms of this + License; (ii) a later version of this License with the same License + Elements as this License; (iii) either the Creative Commons (Unported) + license or a Creative Commons jurisdiction license (either this or a later + license version) that contains the same License Elements as this License + (e.g. Attribution-ShareAlike 3.0 (Unported)); (iv) a Creative Commons + Compatible License. If you license the Derivative Work under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Derivative Work under the terms of any of the + licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you + must comply with the terms of the Applicable License generally and with the + following provisions: (I) You must include a copy of, or the Uniform + Resource Identifier for, the Applicable License with every copy or + phonorecord of each Derivative Work You distribute, publicly display, + publicly perform, or publicly digitally perform; (II) You may not offer or + impose any terms on the Derivative Works that restrict the terms of the + Applicable License or the ability of a recipient of the Work to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties; and, (IV) when You + distribute, publicly display, publicly perform, or publicly digitally + perform the Work, You may not impose any technological measures on the + Derivative Work that restrict the ability of a recipient of the Derivative + Work from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Derivative Work as incorporated in a Collective Work, but this does not + require the Collective Work apart from the Derivative Work itself to be + made subject to the terms of the Applicable License. + + c. If You distribute, publicly display, publicly perform, or publicly + digitally perform the Work (as defined in Section 1 above) or any + Derivative Works (as defined in Section 1 above) or Collective Works (as + defined in Section 1 above), You must, unless a request has been made + pursuant to Section 4(a), keep intact all copyright notices for the Work + and provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or (ii) if the Original Author and/or Licensor designate another party + or parties (e.g. a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, terms + of service or by other reasonable means, the name of such party or parties; + the title of the Work if supplied; to the extent reasonably practicable, + the Uniform Resource Identifier, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the copyright + notice or licensing information for the Work; and, consistent with Section + 3(b) in the case of a Derivative Work, a credit identifying the use of the + Work in the Derivative Work (e.g., "French translation of the Work by + Original Author," or "Screenplay based on original Work by Original + Author"). The credit required by this Section 4(c) may be implemented in + any reasonable manner; provided, however, that in the case of a Derivative + Work or Collective Work, at a minimum such credit will appear, if a credit + for all contributing authors of the Derivative Work or Collective Work + appears, then as part of these credits and in a manner at least as + prominent as the credits for the other contributing authors. For the + avoidance of doubt, You may only use the credit required by this Section + for the purpose of attribution in the manner set out above and, by + exercising Your rights under this License, You may not implicitly or + explicitly assert or imply any connection with, sponsorship or endorsement + by the Original Author, Licensor and/or Attribution Parties, as + appropriate, of You or Your use of the Work, without the separate, express + prior written permission of the Original Author, Licensor and/or + Attribution Parties. + + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS +THE WORK AS-IS AND ONLY TO THE EXTENT OF ANY RIGHTS HELD IN THE LICENSED WORK +BY THE LICENSOR. THE LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, +WITHOUT LIMITATION, WARRANTIES OF TITLE, MARKETABILITY, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR +OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT +DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED +WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN +NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, +INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS +LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate automatically + upon any breach by You of the terms of this License. Individuals or + entities who have received Derivative Works or Collective Works from You + under this License, however, will not have their licenses terminated + provided such individuals or entities remain in full compliance with those + licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of + this License. + + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to release + the Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is required + to be, granted under the terms of this License), and this License will + continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + a. Each time You distribute or publicly digitally perform the Work (as defined + in Section 1 above) or a Collective Work (as defined in Section 1 above), + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + + b. Each time You distribute or publicly digitally perform a Derivative Work, + Licensor offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of the + remainder of the terms of this License, and without further action by the + parties to this agreement, such provision shall be reformed to the minimum + extent necessary to make such provision valid and enforceable. + + d. No term or provision of this License shall be deemed waived and no breach + consented to unless such waiver or consent shall be in writing and signed + by the party to be charged with such waiver or consent. + + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, agreements + or representations with respect to the Work not specified here. Licensor + shall not be bound by any additional provisions that may appear in any + communication from You. This License may not be modified without the mutual + written agreement of the Licensor and You. + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be liable + to You or any party on any legal theory for any damages whatsoever, + including without limitation any general, special, incidental or + consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it shall + have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the Work is + licensed under the CCPL, Creative Commons does not authorize the use by + either party of the trademark "Creative Commons" or any related trademark + or logo of Creative Commons without the prior written consent of Creative + Commons. Any permitted use will be in compliance with Creative Commons' + then-current trademark usage guidelines, as may be published on its website + or otherwise made available upon request from time to time. For the + avoidance of doubt, this trademark restriction does not form part of this + License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/doc/_config.yml b/doc/_config.yml index 3e04430b34..8d4fd5e115 100644 --- a/doc/_config.yml +++ b/doc/_config.yml @@ -40,6 +40,11 @@ navbar: - Reference: - user/reference/api-tokens.html.textile.liquid - user/reference/sdk-cli.html.textile.liquid + - Arvados License: + - user/copying/copying.html.textile.liquid + - user/copying/agpl-3.0.html + - user/copying/LICENSE-2.0.html + - user/copying/by-sa-3.0.html sdk: - Overview: - sdk/index.html.textile.liquid @@ -104,8 +109,9 @@ navbar: installguide: - Install: - install/index.html.md.liquid - - install/install-api-server.html.md.liquid - - install/install-workbench-app.html.md.liquid + - install/install-sso.html.textile.liquid + - install/install-api-server.html.textile.liquid + - install/install-workbench-app.html.textile.liquid - install/client.html.textile.liquid - install/create-standard-objects.html.textile.liquid - install/install-crunch-dispatch.html.textile.liquid diff --git a/doc/_layouts/default.html.liquid b/doc/_layouts/default.html.liquid index 987f525e23..4585b7032a 100644 --- a/doc/_layouts/default.html.liquid +++ b/doc/_layouts/default.html.liquid @@ -98,10 +98,12 @@ -

-The content of this documentation is licensed under a -Creative - Commons Attribution-Share Alike 3.0 United States licence. +

+The content of this documentation is licensed under the +Creative + Commons Attribution-Share Alike 3.0 United States licence.
+Code samples in this documentation are licensed under the +Apache License, Version 2.0.

diff --git a/doc/install/index.html.md.liquid b/doc/install/index.html.md.liquid index f11cac9cea..aaac7a7290 100644 --- a/doc/install/index.html.md.liquid +++ b/doc/install/index.html.md.liquid @@ -10,6 +10,7 @@ title: Overview 1. Set up a cluster, or use Amazon 1. Create and mount Keep volumes +1. [Install the Single Sign On (SSO) server](install-sso.html) 1. [Install the Arvados REST API server](install-api-server.html) 1. [Install the Arvados workbench application](install-workbench-app.html) 1. [Install the Crunch dispatcher](install-crunch-dispatch.html) diff --git a/doc/install/install-api-server.html.md.liquid b/doc/install/install-api-server.html.md.liquid deleted file mode 100644 index 6eaef1823c..0000000000 --- a/doc/install/install-api-server.html.md.liquid +++ /dev/null @@ -1,110 +0,0 @@ ---- -layout: default -navsection: installguide -title: Install the API server -navorder: 1 -... - -# API server setup - -## Prerequisites: - -1. A GNU/Linux (virtual) machine -2. A domain name for your api server -3. Ruby >= 2.0.0 -4. Bundler: `gem install bundler` -5. Curl libraries: `sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev` - -## Download the source tree - - git clone https://github.com/curoverse/arvados.git - cd arvados - -See also: [Downloading the source code](https://arvados.org/projects/arvados/wiki/Download) on the Arvados wiki. - -## Install gem dependencies - - cd services/api && bundle install - -## Configure the API server - -Configure the database: - - cp -i config/database.yml.sample config/database.yml - -Edit `config/database.yml` to your liking and make sure the database -and db user exist. Then set up the database: - - RAILS_ENV=production bundle exec rake db:setup - -Then set up omniauth: - - cp -i config/initializers/omniauth.rb.example config/initializers/omniauth.rb - -Edit `config/initializers/omniauth.rb`. Choose an *APP_SECRET* and -*APP_ID*. Also set *CUSTOM_PROVIDER_URL*. - -Make sure your Omniauth provider knows about your *APP_ID* and *APP_SECRET* -combination. - -Edit the main configuration. - - cp -i config/application.yml.example config/application.yml - -First, choose a unique 5-character alphanumeric string to use as your -`uuid_prefix`. An example is given that generates a 5-character string -based on a hash of your hostname. The `uuid_prefix` is a unique -identifier for your API server. It also serves as the first part of -the hostname for your API server: - - {{ site.arvados_api_host }} - -For a development site, use your own domain instead of arvadosapi.com. - -You also need to install a secret_token for signing cookies. Generate -a new secret: - - rake secret - -Put it in `config/application.yml` in the production or common section: - - secret_token: your-new-secret-here - -You will also want to change `compute_node_nameservers` to suit your -environment. - -Consult `application.default.yml` for a full list of configuration -options. Always put your local configuration in `application.yml` -instead of editing `application.default.yml`. - -## Apache/Passenger - -Set up Apache and Passenger. Point them to the services/api directory in the source tree. - -To enable streaming so users can monitor crunch jobs in real time, add -to your Apache configuration: - - PassengerBufferResponse off - -## Add an admin user - -Point browser to the API endpoint. Log in with a google account. - -In the rails console: - - Thread.current[:user] = User.find(1) - Thread.current[:user].is_admin = true - User.find(1).update_attributes is_admin: true, is_active: true - User.find(1).is_admin - -This should be - - => true - -## Create a token - -In rails console - - a = ApiClient.new(owner_uuid:'0'); a.save! - x = ApiClientAuthorization.new(api_client_id:a.id, user_id:1); x.save; x.api_token - diff --git a/doc/install/install-api-server.html.textile.liquid b/doc/install/install-api-server.html.textile.liquid new file mode 100644 index 0000000000..ccfc58ecf4 --- /dev/null +++ b/doc/install/install-api-server.html.textile.liquid @@ -0,0 +1,128 @@ +--- +layout: default +navsection: installguide +title: Install the API server +... + +h2. Prerequisites: + +# A GNU/Linux (virtual) machine +# A domain name for your api server +# Ruby >= 2.0.0 +# Bundler: @gem install bundler@ +# Curl libraries: @sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev@ + +h2. Download the source tree + + +
~$ git clone https://github.com/curoverse/arvados.git
+
+ +See also: "Downloading the source code:https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki. + +h2. Install gem dependencies + + +
~$ cd arvados/services/api
+~/arvados/services/api$ bundle install
+
+ +h2. Configure the API server + +Edit the main configuration: + + +
~/arvados/services/api$ cp -i config/application.yml.example config/application.yml
+
+ +Choose a unique 5-character alphanumeric string to use as your @uuid_prefix@. An example is given that generates a 5-character string based on a hash of your hostname. The @uuid_prefix@ is a unique identifier for your API server. It also serves as the first part of the hostname for your API server. + +For a development site, use your own domain instead of arvadosapi.com. + +Make sure a clone of the arvados repository exists in @git_repositories_dir@: + + +
~/arvados/services/api$ sudo mkdir -p /var/cache/git
+~/arvados/services/api$ sudo git clone --bare ../../.git /var/cache/git/arvados.git
+
+ +Generate a new secret token for signing cookies: + + +
~/arvados/services/api$ rake secret
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+
+ +Put it in @config/application.yml@ in the production or common section: + + +
    secret_token: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+
+
+ +Consult @application.default.yml@ for a full list of configuration options. Always put your local configuration in @application.yml@ instead of editing @application.default.yml@. + +Configure the database: + + +
~/arvados/services/api$ cp -i config/database.yml.sample config/database.yml
+
+ +By default, the development database will use the sqlite3 driver, so no configuration is necessary. If you wish to use mysql or postgres, edit @config/database.yml@ to your liking and make sure the database and db user exist. Then initialize the database: + + +
~/arvados/services/api$ RAILS_ENV=development bundle exec rake db:setup
+
+ +Set up omniauth: + + +
~/arvados/services/api$ cp -i config/initializers/omniauth.rb.example config/initializers/omniauth.rb
+
+ +Edit @config/initializers/omniauth.rb@. Set @APP_SECRET@ to the value of @app_secret@ from "installing the single sign on server":install-sso.html . + +You can now run the development server: + + +
~/arvados/services/api$ rails server
+
+ +h3. Apache/Passenger (optional) + +You can use "Passenger":https://www.phusionpassenger.com/ for deployment. Point it to the services/api directory in the source tree. + +To enable streaming so users can monitor crunch jobs in real time, add to your Passenger configuration in Apache: + + +
PassengerBufferResponse off
+
+
+ +h2. Add an admin user + +Point browser to the API endpoint. Log in with a google account. + +In the rails console: + + +
~/arvados/services/api$ rails console
+irb(main):001:0> Thread.current[:user] = User.find(1)
+irb(main):002:0> Thread.current[:user].is_admin = true
+irb(main):003:0> User.find(1).update_attributes is_admin: true, is_active: true
+irb(main):004:0> User.find(1).is_admin
+=> true
+
+ +h2. Create an API token + +In rails console: + + +
~/arvados/services/api$ rails console
+irb(main):001:0> a = ApiClient.new(owner_uuid:'0')
+irb(main):002:0> a.save!
+irb(main):003:0> x = ApiClientAuthorization.new(api_client_id:a.id, user_id:1)
+irb(main):004:0> x.save
+irb(main):005:0> x.api_token
+
diff --git a/doc/install/install-sso.html.textile.liquid b/doc/install/install-sso.html.textile.liquid new file mode 100644 index 0000000000..f220ef6d36 --- /dev/null +++ b/doc/install/install-sso.html.textile.liquid @@ -0,0 +1,24 @@ +--- +layout: default +navsection: installguide +title: Install Single Sign On (SSO) server +... + + +
~$ git clone https://github.com/curoverse/sso-devise-omniauth-provider.git
+~$ cd sso-devise-omniauth-provider
+~/sso-devise-omniauth-provider$ bundle install
+~/sso-devise-omniauth-provider$ rake db:create
+~/sso-devise-omniauth-provider$ rake db:migrate
+~/sso-devise-omniauth-provider$ rake secret
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+~/sso-devise-omniauth-provider$ rails console
+irb(main):001:0> c = Client.new
+irb(main):002:0> c.name = "joshid"
+irb(main):003:0> c.app_id = "arvados-server"
+irb(main):004:0> c.app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+irb(main):005:0> c.save!
+irb(main):006:0> quit
+~/sso-devise-omniauth-provider$ rails server --port=3002
+
+
diff --git a/doc/install/install-workbench-app.html.md.liquid b/doc/install/install-workbench-app.html.md.liquid deleted file mode 100644 index d34d54f114..0000000000 --- a/doc/install/install-workbench-app.html.md.liquid +++ /dev/null @@ -1,63 +0,0 @@ ---- -layout: default -navsection: installguide -title: Install the Arvados workbench application -navorder: 2 -... - -{% include 'alert_stub' %} - -# Workbench setup - -## Prerequisites - -1. A GNU/linux (virtual) machine (can be shared with the API server) -2. A hostname for your workbench application - -## Download the source tree - -Please follow the instructions on the [Download page](https://arvados.org/projects/arvados/wiki/Download) in the wiki. - -The workbench application is in `apps/workbench`. - -## Configure the Workbench application - -You need to update config/initializers/secret_token.rb. Generate a new secret with - - rake secret - -and put it in `config/initializers/secret_token.rb` - - Server::Application.config.secret_token = 'your-new-secret-here' - -Adjust the following fields in your `environments/production.rb` file. - -* `config.site_name` can be the URL of your workbench install. -* `config.arvados_login_base` and `config.arvados_v1_base` should point to -your API server. Use the example values as a guide. -* If you choose not to use https, make sure to also set -`config.force_ssl = false` in the API server's `production.rb` file. - -Copy `config/piwik.yml.example` to `config/piwik.yml` and edit to suit. - -## Apache/Passenger - -Set up Apache and Passenger. Point them to the apps/workbench directory in the source tree. - -## "Trusted client" setting - -Log in to Workbench once (this ensures that the Arvados API server has -a record of the Workbench client). - -In the API server project root, start the rails console. - - RAILS_ENV=production bundle exec rails c - -Locate the ApiClient record for your Workbench installation. - - ApiClient.where('url_prefix like ?', '%workbench%') - -Set the `is_trusted` flag for the appropriate client record. - - ApiClient.find(1234).update_attributes is_trusted: true - diff --git a/doc/install/install-workbench-app.html.textile.liquid b/doc/install/install-workbench-app.html.textile.liquid new file mode 100644 index 0000000000..73fbd15c94 --- /dev/null +++ b/doc/install/install-workbench-app.html.textile.liquid @@ -0,0 +1,54 @@ +--- +layout: default +navsection: installguide +title: Install the Arvados Workbench application +... + +h2. Prerequisites + +# A GNU/linux (virtual) machine (can be shared with the API server) +# A hostname for your Workbench application + +h2. Download the source tree + +Please follow the instructions on the "Download page":https://arvados.org/projects/arvados/wiki/Download in the wiki. + +The Workbench application is in @arvados/apps/workbench@. + +h2. Configure the Workbench application + +This application needs a secret token. Generate a new secret: + + +
~/arvados/apps/workbench$ rake secret
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+
+ +Copy @config/application.yml.example@ to @config/application.yml@ and edit it appropriately for your environment. + +* Set @secret_token@ to the string you generated with @rake secret@. +* Point @arvados_login_base@ and @arvados_v1_base@ at your "API server":install-api-server.html +* @site_name@ can be any string to identify this Workbench. +* Assuming that the SSL certificate you use for development isn't signed by a CA, make sure @arvados_insecure_https@ is @true@. + +Copy @config/piwik.yml.example@ to @config/piwik.yml@ and edit to suit. + +h3. Apache/Passenger (optional) + +Set up Apache and Passenger. Point them to the apps/workbench directory in the source tree. + +h2. Trusted client setting + +Log in to Workbench once (this ensures that the Arvados API server has a record of the Workbench client). + +In the API server project root, start the rails console. Locate the ApiClient record for your Workbench installation, then set the `is_trusted` flag for the appropriate client record: + +
~/arvados/services/api$ RAILS_ENV=development bundle exec rails console
+irb(main):001:0> ApiClient.where('url_prefix like ?', '%workbench%')
+=> {:id => 1234}
+irb(main):002:0> ApiClient.find(1234).update_attributes is_trusted: true
+
+
+ + diff --git a/doc/user/copying/LICENSE-2.0.html b/doc/user/copying/LICENSE-2.0.html new file mode 100644 index 0000000000..129916fb06 --- /dev/null +++ b/doc/user/copying/LICENSE-2.0.html @@ -0,0 +1,182 @@ +--- +layout: default +navsection: userguide +title: "Apache License" +... + +

Version 2.0, January 2004

+http://www.apache.org/licenses/

+

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+

1. Definitions.

+

"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document.

+

"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License.

+

"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control with +that entity. For the purposes of this definition, "control" means (i) the +power, direct or indirect, to cause the direction or management of such +entity, whether by contract or otherwise, or (ii) ownership of fifty +percent (50%) or more of the outstanding shares, or (iii) beneficial +ownership of such entity.

+

"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License.

+

"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files.

+

"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled +object code, generated documentation, and conversions to other media types.

+

"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice that +is included in or attached to the work (an example is provided in the +Appendix below).

+

"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, as +a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, or +merely link (or bind by name) to the interfaces of, the Work and Derivative +Works thereof.

+

"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor for +inclusion in the Work by the copyright owner or by an individual or Legal +Entity authorized to submit on behalf of the copyright owner. For the +purposes of this definition, "submitted" means any form of electronic, +verbal, or written communication sent to the Licensor or its +representatives, including but not limited to communication on electronic +mailing lists, source code control systems, and issue tracking systems that +are managed by, or on behalf of, the Licensor for the purpose of discussing +and improving the Work, but excluding communication that is conspicuously +marked or otherwise designated in writing by the copyright owner as "Not a +Contribution."

+

"Contributor" shall mean Licensor and any individual or Legal Entity on +behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work.

+

2. Grant of Copyright License. Subject to the +terms and conditions of this License, each Contributor hereby grants to You +a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form.

+

3. Grant of Patent License. Subject to the terms +and conditions of this License, each Contributor hereby grants to You a +perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where such +license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by +combination of their Contribution(s) with the Work to which such +Contribution(s) was submitted. If You institute patent litigation against +any entity (including a cross-claim or counterclaim in a lawsuit) alleging +that the Work or a Contribution incorporated within the Work constitutes +direct or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate as of the +date such litigation is filed.

+

4. Redistribution. You may reproduce and +distribute copies of the Work or Derivative Works thereof in any medium, +with or without modifications, and in Source or Object form, provided that +You meet the following conditions:

+
    +
  1. You must give any other recipients of the Work or Derivative Works a +copy of this License; and
  2. + +
  3. You must cause any modified files to carry prominent notices stating +that You changed the files; and
  4. + +
  5. You must retain, in the Source form of any Derivative Works that You +distribute, all copyright, patent, trademark, and attribution notices from +the Source form of the Work, excluding those notices that do not pertain to +any part of the Derivative Works; and
  6. + +
  7. If the Work includes a "NOTICE" text file as part of its distribution, +then any Derivative Works that You distribute must include a readable copy +of the attribution notices contained within such NOTICE file, excluding +those notices that do not pertain to any part of the Derivative Works, in +at least one of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or documentation, +if provided along with the Derivative Works; or, within a display generated +by the Derivative Works, if and wherever such third-party notices normally +appear. The contents of the NOTICE file are for informational purposes only +and do not modify the License. You may add Your own attribution notices +within Derivative Works that You distribute, alongside or as an addendum to +the NOTICE text from the Work, provided that such additional attribution +notices cannot be construed as modifying the License. +
    +
    +You may add Your own copyright statement to Your modifications and may +provide additional or different license terms and conditions for use, +reproduction, or distribution of Your modifications, or for any such +Derivative Works as a whole, provided Your use, reproduction, and +distribution of the Work otherwise complies with the conditions stated in +this License. +
  8. + +
+ +

5. Submission of Contributions. Unless You +explicitly state otherwise, any Contribution intentionally submitted for +inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the +terms of any separate license agreement you may have executed with Licensor +regarding such Contributions.

+

6. Trademarks. This License does not grant +permission to use the trade names, trademarks, service marks, or product +names of the Licensor, except as required for reasonable and customary use +in describing the origin of the Work and reproducing the content of the +NOTICE file.

+

7. Disclaimer of Warranty. Unless required by +applicable law or agreed to in writing, Licensor provides the Work (and +each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, +without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You +are solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise +of permissions under this License.

+

8. Limitation of Liability. In no event and +under no legal theory, whether in tort (including negligence), contract, or +otherwise, unless required by applicable law (such as deliberate and +grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a result +of this License or out of the use or inability to use the Work (including +but not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or losses), +even if such Contributor has been advised of the possibility of such +damages.

+

9. Accepting Warranty or Additional Liability. +While redistributing the Work or Derivative Works thereof, You may choose +to offer, and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this License. +However, in accepting such obligations, You may act only on Your own behalf +and on Your sole responsibility, not on behalf of any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor +harmless for any liability incurred by, or claims asserted against, such +Contributor by reason of your accepting any such warranty or additional +liability.

+

END OF TERMS AND CONDITIONS

+

APPENDIX: How to apply the Apache License to your work

+

To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included +on the same "printed page" as the copyright notice for easier +identification within third-party archives.

+
Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
diff --git a/doc/user/copying/agpl-3.0.html b/doc/user/copying/agpl-3.0.html new file mode 100644 index 0000000000..8b04e0a2e9 --- /dev/null +++ b/doc/user/copying/agpl-3.0.html @@ -0,0 +1,684 @@ +--- +layout: default +navsection: userguide +title: "GNU Affero General Public License" +... + +

Version 3, 19 November 2007

+ +

Copyright © 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 Affero General Public License is a free, copyleft license +for software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software.

+ +

The licenses for most software and other practical works are +designed to take away your freedom to share and change the works. By +contrast, our General Public Licenses are 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.

+ +

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.

+ +

Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software.

+ +

A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public.

+ +

The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version.

+ +

An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license.

+ +

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 Affero 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. Remote Network Interaction; Use with the GNU General Public License.

+ +

Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph.

+ +

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 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 work with which it is +combined will remain governed by version 3 of the GNU General Public +License.

+ +

14. Revised Versions of this License.

+ +

The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero +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 Affero 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 Affero 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 Affero 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 Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero 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 your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements.

+ +

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 AGPL, see +<http://www.gnu.org/licenses/>.

+ + diff --git a/doc/user/copying/by-sa-3.0.html b/doc/user/copying/by-sa-3.0.html new file mode 100644 index 0000000000..f88374ae7a --- /dev/null +++ b/doc/user/copying/by-sa-3.0.html @@ -0,0 +1,418 @@ +--- +layout: default +navsection: userguide +title: "Creative Commons" +... + +
+
+ +
+

Attribution-ShareAlike 3.0 United States

+
+
+ +

License

+ +

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS + OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR + "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER + APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED.

+ +

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU + ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. + TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A + CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE + IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS.

+ +

1. Definitions

+ +
    +
  1. "Collective Work" means a work, such + as a periodical issue, anthology or encyclopedia, in + which the Work in its entirety in unmodified form, along + with one or more other contributions, constituting + separate and independent works in themselves, are + assembled into a collective whole. A work that + constitutes a Collective Work will not be considered a + Derivative Work (as defined below) for the purposes of + this License.
  2. + +
  3. "Creative Commons Compatible + License" means a license that is listed at + http://creativecommons.org/compatiblelicenses that has + been approved by Creative Commons as being essentially + equivalent to this License, including, at a minimum, + because that license: (i) contains terms that have the + same purpose, meaning and effect as the License Elements + of this License; and, (ii) explicitly permits the + relicensing of derivatives of works made available under + that license under this License or either a Creative + Commons unported license or a Creative Commons + jurisdiction license with the same License Elements as + this License.
  4. + +
  5. "Derivative Work" means a work based + upon the Work or upon the Work and other pre-existing + works, such as a translation, musical arrangement, + dramatization, fictionalization, motion picture version, + sound recording, art reproduction, abridgment, + condensation, or any other form in which the Work may be + recast, transformed, or adapted, except that a work that + constitutes a Collective Work will not be considered a + Derivative Work for the purpose of this License. For the + avoidance of doubt, where the Work is a musical + composition or sound recording, the synchronization of + the Work in timed-relation with a moving image + ("synching") will be considered a Derivative Work for the + purpose of this License.
  6. + +
  7. "License Elements" means the + following high-level license attributes as selected by + Licensor and indicated in the title of this License: + Attribution, ShareAlike.
  8. + +
  9. "Licensor" means the individual, + individuals, entity or entities that offers the Work + under the terms of this License.
  10. + +
  11. "Original Author" means the + individual, individuals, entity or entities who created + the Work.
  12. + +
  13. "Work" means the copyrightable work + of authorship offered under the terms of this + License.
  14. + +
  15. "You" means an individual or entity + exercising rights under this License who has not + previously violated the terms of this License with + respect to the Work, or who has received express + permission from the Licensor to exercise rights under + this License despite a previous violation.
  16. +
+ +

2. Fair Use Rights. Nothing in this + license is intended to reduce, limit, or restrict any + rights arising from fair use, first sale or other + limitations on the exclusive rights of the copyright owner + under copyright law or other applicable laws.

+ +

3. License Grant. Subject to the terms + and conditions of this License, Licensor hereby grants You + a worldwide, royalty-free, non-exclusive, perpetual (for + the duration of the applicable copyright) license to + exercise the rights in the Work as stated below:

+ +
    +
  1. to reproduce the Work, to incorporate the Work into + one or more Collective Works, and to reproduce the Work + as incorporated in the Collective Works;
  2. + +
  3. to create and reproduce Derivative Works provided + that any such Derivative Work, including any translation + in any medium, takes reasonable steps to clearly label, + demarcate or otherwise identify that changes were made to + the original Work. For example, a translation could be + marked "The original work was translated from English to + Spanish," or a modification could indicate "The original + work has been modified.";
  4. + +
  5. to distribute copies or phonorecords of, display + publicly, perform publicly, and perform publicly by means + of a digital audio transmission the Work including as + incorporated in Collective Works;
  6. + +
  7. to distribute copies or phonorecords of, display + publicly, perform publicly, and perform publicly by means + of a digital audio transmission Derivative Works.
  8. + +
  9. +

    For the avoidance of doubt, where the Work is a + musical composition:

    + +
      +
    1. Performance Royalties Under Blanket + Licenses. Licensor waives the exclusive + right to collect, whether individually or, in the + event that Licensor is a member of a performance + rights society (e.g. ASCAP, BMI, SESAC), via that + society, royalties for the public performance or + public digital performance (e.g. webcast) of the + Work.
    2. + +
    3. Mechanical Rights and Statutory + Royalties. Licensor waives the exclusive + right to collect, whether individually or via a music + rights agency or designated agent (e.g. Harry Fox + Agency), royalties for any phonorecord You create + from the Work ("cover version") and distribute, + subject to the compulsory license created by 17 USC + Section 115 of the US Copyright Act (or the + equivalent in other jurisdictions).
    4. +
    +
  10. + +
  11. Webcasting Rights and Statutory + Royalties. For the avoidance of doubt, where the + Work is a sound recording, Licensor waives the exclusive + right to collect, whether individually or via a + performance-rights society (e.g. SoundExchange), + royalties for the public digital performance (e.g. + webcast) of the Work, subject to the compulsory license + created by 17 USC Section 114 of the US Copyright Act (or + the equivalent in other jurisdictions).
  12. +
+ +

The above rights may be exercised in all media and + formats whether now known or hereafter devised. The above + rights include the right to make such modifications as are + technically necessary to exercise the rights in other media + and formats. All rights not expressly granted by Licensor + are hereby reserved.

+ +

4. Restrictions. The license granted in + Section 3 above is expressly made subject to and limited by + the following restrictions:

+ +
    +
  1. You may distribute, publicly display, publicly + perform, or publicly digitally perform the Work only + under the terms of this License, and You must include a + copy of, or the Uniform Resource Identifier for, this + License with every copy or phonorecord of the Work You + distribute, publicly display, publicly perform, or + publicly digitally perform. You may not offer or impose + any terms on the Work that restrict the terms of this + License or the ability of a recipient of the Work to + exercise of the rights granted to that recipient under + the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this + License and to the disclaimer of warranties. When You + distribute, publicly display, publicly perform, or + publicly digitally perform the Work, You may not impose + any technological measures on the Work that restrict the + ability of a recipient of the Work from You to exercise + of the rights granted to that recipient under the terms + of the License. This Section 4(a) applies to the Work as + incorporated in a Collective Work, but this does not + require the Collective Work apart from the Work itself to + be made subject to the terms of this License. If You + create a Collective Work, upon notice from any Licensor + You must, to the extent practicable, remove from the + Collective Work any credit as required by Section 4(c), + as requested. If You create a Derivative Work, upon + notice from any Licensor You must, to the extent + practicable, remove from the Derivative Work any credit + as required by Section 4(c), as requested.
  2. + +
  3. You may distribute, publicly display, publicly + perform, or publicly digitally perform a Derivative Work + only under: (i) the terms of this License; (ii) a later + version of this License with the same License Elements as + this License; (iii) either the Creative Commons + (Unported) license or a Creative Commons jurisdiction + license (either this or a later license version) that + contains the same License Elements as this License (e.g. + Attribution-ShareAlike 3.0 (Unported)); (iv) a Creative + Commons Compatible License. If you license the Derivative + Work under one of the licenses mentioned in (iv), you + must comply with the terms of that license. If you + license the Derivative Work under the terms of any of the + licenses mentioned in (i), (ii) or (iii) (the "Applicable + License"), you must comply with the terms of the + Applicable License generally and with the following + provisions: (I) You must include a copy of, or the + Uniform Resource Identifier for, the Applicable License + with every copy or phonorecord of each Derivative Work + You distribute, publicly display, publicly perform, or + publicly digitally perform; (II) You may not offer or + impose any terms on the Derivative Works that restrict + the terms of the Applicable License or the ability of a + recipient of the Work to exercise the rights granted to + that recipient under the terms of the Applicable License; + (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties; + and, (IV) when You distribute, publicly display, publicly + perform, or publicly digitally perform the Work, You may + not impose any technological measures on the Derivative + Work that restrict the ability of a recipient of the + Derivative Work from You to exercise the rights granted + to that recipient under the terms of the Applicable + License. This Section 4(b) applies to the Derivative Work + as incorporated in a Collective Work, but this does not + require the Collective Work apart from the Derivative + Work itself to be made subject to the terms of the + Applicable License.
  4. + +
  5. If You distribute, publicly display, publicly + perform, or publicly digitally perform the Work (as + defined in Section 1 above) or any Derivative Works (as + defined in Section 1 above) or Collective Works (as + defined in Section 1 above), You must, unless a request + has been made pursuant to Section 4(a), keep intact all + copyright notices for the Work and provide, reasonable to + the medium or means You are utilizing: (i) the name of + the Original Author (or pseudonym, if applicable) if + supplied, and/or (ii) if the Original Author and/or + Licensor designate another party or parties (e.g. a + sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's + copyright notice, terms of service or by other reasonable + means, the name of such party or parties; the title of + the Work if supplied; to the extent reasonably + practicable, the Uniform Resource Identifier, if any, + that Licensor specifies to be associated with the Work, + unless such URI does not refer to the copyright notice or + licensing information for the Work; and, consistent with + Section 3(b) in the case of a Derivative Work, a credit + identifying the use of the Work in the Derivative Work + (e.g., "French translation of the Work by Original + Author," or "Screenplay based on original Work by + Original Author"). The credit required by this Section + 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Derivative Work + or Collective Work, at a minimum such credit will appear, + if a credit for all contributing authors of the + Derivative Work or Collective Work appears, then as part + of these credits and in a manner at least as prominent as + the credits for the other contributing authors. For the + avoidance of doubt, You may only use the credit required + by this Section for the purpose of attribution in the + manner set out above and, by exercising Your rights under + this License, You may not implicitly or explicitly assert + or imply any connection with, sponsorship or endorsement + by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, + without the separate, express prior written permission of + the Original Author, Licensor and/or Attribution + Parties.
  6. +
+ +

5. Representations, Warranties and + Disclaimer

+ +

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN + WRITING, LICENSOR OFFERS THE WORK AS-IS AND ONLY TO THE + EXTENT OF ANY RIGHTS HELD IN THE LICENSED WORK BY THE + LICENSOR. THE LICENSOR MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, + IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT + LIMITATION, WARRANTIES OF TITLE, MARKETABILITY, + MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR + NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT + APPLY TO YOU.

+ +

6. Limitation on Liability. EXCEPT TO + THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL + LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY + SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY + DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, + EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES.

+ +

7. Termination

+ +
    +
  1. This License and the rights granted hereunder will + terminate automatically upon any breach by You of the + terms of this License. Individuals or entities who have + received Derivative Works or Collective Works from You + under this License, however, will not have their licenses + terminated provided such individuals or entities remain + in full compliance with those licenses. Sections 1, 2, 5, + 6, 7, and 8 will survive any termination of this + License.
  2. + +
  3. Subject to the above terms and conditions, the + license granted here is perpetual (for the duration of + the applicable copyright in the Work). Notwithstanding + the above, Licensor reserves the right to release the + Work under different license terms or to stop + distributing the Work at any time; provided, however that + any such election will not serve to withdraw this License + (or any other license that has been, or is required to + be, granted under the terms of this License), and this + License will continue in full force and effect unless + terminated as stated above.
  4. +
+ +

8. Miscellaneous

+ +
    +
  1. Each time You distribute or publicly digitally + perform the Work (as defined in Section 1 above) or a + Collective Work (as defined in Section 1 above), the + Licensor offers to the recipient a license to the Work on + the same terms and conditions as the license granted to + You under this License.
  2. + +
  3. Each time You distribute or publicly digitally + perform a Derivative Work, Licensor offers to the + recipient a license to the original Work on the same + terms and conditions as the license granted to You under + this License.
  4. + +
  5. If any provision of this License is invalid or + unenforceable under applicable law, it shall not affect + the validity or enforceability of the remainder of the + terms of this License, and without further action by the + parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such + provision valid and enforceable.
  6. + +
  7. No term or provision of this License shall be deemed + waived and no breach consented to unless such waiver or + consent shall be in writing and signed by the party to be + charged with such waiver or consent.
  8. + +
  9. This License constitutes the entire agreement between + the parties with respect to the Work licensed here. There + are no understandings, agreements or representations with + respect to the Work not specified here. Licensor shall + not be bound by any additional provisions that may appear + in any communication from You. This License may not be + modified without the mutual written agreement of the + Licensor and You.
  10. +
+ + +
+

Creative Commons Notice

+ +

Creative Commons is not a party to this License, and + makes no warranty whatsoever in connection with the Work. + Creative Commons will not be liable to You or any party + on any legal theory for any damages whatsoever, including + without limitation any general, special, incidental or + consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, + if Creative Commons has expressly identified itself as + the Licensor hereunder, it shall have all rights and + obligations of Licensor.

+ +

Except for the limited purpose of indicating to the + public that the Work is licensed under the CCPL, Creative + Commons does not authorize the use by either party of the + trademark "Creative Commons" or any related trademark or + logo of Creative Commons without the prior written + consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark + usage guidelines, as may be published on its website or + otherwise made available upon request from time to time. + For the avoidance of doubt, this trademark restriction + does not form part of this License.

+ +

Creative Commons may be contacted at http://creativecommons.org/.

+
+
+ + + diff --git a/doc/user/copying/copying.html.textile.liquid b/doc/user/copying/copying.html.textile.liquid new file mode 100644 index 0000000000..2ab868102c --- /dev/null +++ b/doc/user/copying/copying.html.textile.liquid @@ -0,0 +1,11 @@ +--- +layout: default +navsection: userguide +title: "Arvados Free Software Licenses" +... + +Server-side components of Arvados contained in the apps/ and services/ directories, including the API Server, Workbench, and Crunch, are licenced under the "GNU Affero General Public License version 3":agpl-3.0.html. + +The Arvados client Software Development Kits contained in the sdk/ directory, example scripts in the crunch_scripts/ directory, and code samples in the Aravados documentation are licensed under the "Apache License, Version 2.0":LICENSE-2.0.html + +The Arvados Documentation located in the doc/ directory is licensed under the "Creative Commons Attribution-Share Alike 3.0 United States":by-sa-3.0.html diff --git a/services/api/Gemfile b/services/api/Gemfile index 2d3a07fb54..ded0358394 100644 --- a/services/api/Gemfile +++ b/services/api/Gemfile @@ -5,7 +5,13 @@ gem 'rails', '~> 3.2.0' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' -#gem 'sqlite3' +group :test, :development do + gem 'sqlite3' +end + +# This might not be needed in :test and :development, but we load it +# anyway to make sure it always gets in Gemfile.lock and to help +# reveal install problems sooner rather than later. gem 'pg' # Start using multi_json once we are on Rails 3.2; diff --git a/services/api/Gemfile.lock b/services/api/Gemfile.lock index d5f4e3383a..c734ab560b 100644 --- a/services/api/Gemfile.lock +++ b/services/api/Gemfile.lock @@ -169,6 +169,7 @@ GEM multi_json (~> 1.0) rack (~> 1.0) tilt (~> 1.1, != 1.3.0) + sqlite3 (1.3.8) test_after_commit (0.2.2) therubyracer (0.12.0) libv8 (~> 3.16.14.0) @@ -205,6 +206,7 @@ DEPENDENCIES redis rvm-capistrano sass-rails (>= 3.2.0) + sqlite3 test_after_commit therubyracer trollop diff --git a/services/api/app/controllers/application_controller.rb b/services/api/app/controllers/application_controller.rb index 34a22aa809..7c10c8425d 100644 --- a/services/api/app/controllers/application_controller.rb +++ b/services/api/app/controllers/application_controller.rb @@ -38,7 +38,7 @@ class ApplicationController < ActionController::Base if @object.save show else - render_error "Save failed" + raise "Save failed" end end @@ -49,7 +49,7 @@ class ApplicationController < ActionController::Base if @object.update_attributes attrs_to_update show else - render_error "Update failed" + raise "Update failed" end end @@ -87,7 +87,9 @@ class ApplicationController < ActionController::Base def render_error(e) logger.error e.inspect - logger.error e.backtrace.collect { |x| x + "\n" }.join('') if e.backtrace + if e.respond_to? :backtrace and e.backtrace + logger.error e.backtrace.collect { |x| x + "\n" }.join('') + end if @object and @object.errors and @object.errors.full_messages and not @object.errors.full_messages.empty? errors = @object.errors.full_messages else @@ -265,7 +267,7 @@ class ApplicationController < ActionController::Base if supplied_token api_client_auth = ApiClientAuthorization. includes(:api_client, :user). - where('api_token=? and (expires_at is null or expires_at > now())', supplied_token). + where('api_token=? and (expires_at is null or expires_at > CURRENT_TIMESTAMP)', supplied_token). first if api_client_auth.andand.user session[:user_id] = api_client_auth.user.id @@ -395,13 +397,15 @@ class ApplicationController < ActionController::Base end def render *opts - response = opts.first[:json] - if response.is_a?(Hash) && - params[:_profile] && - Thread.current[:request_starttime] - response[:_profile] = { - request_time: Time.now - Thread.current[:request_starttime] - } + if opts.first + response = opts.first[:json] + if response.is_a?(Hash) && + params[:_profile] && + Thread.current[:request_starttime] + response[:_profile] = { + request_time: Time.now - Thread.current[:request_starttime] + } + end end super *opts end diff --git a/services/api/app/controllers/user_sessions_controller.rb b/services/api/app/controllers/user_sessions_controller.rb index 71c2823dc1..3674c010cb 100644 --- a/services/api/app/controllers/user_sessions_controller.rb +++ b/services/api/app/controllers/user_sessions_controller.rb @@ -121,7 +121,8 @@ class UserSessionsController < ApplicationController api_client_auth = ApiClientAuthorization. new(user: user, api_client: @api_client, - created_by_ip_address: remote_ip) + created_by_ip_address: remote_ip, + scopes: ["all"]) api_client_auth.save! if callback_url.index('?') diff --git a/services/api/app/models/user.rb b/services/api/app/models/user.rb index a85a63df7d..0896571939 100644 --- a/services/api/app/models/user.rb +++ b/services/api/app/models/user.rb @@ -124,7 +124,7 @@ class User < ArvadosModel end def check_auto_admin - if User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 and not Rails.configuration.auto_admin_user.nil? + if User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 and Rails.configuration.auto_admin_user if current_user.email == Rails.configuration.auto_admin_user self.is_admin = true self.is_active = true diff --git a/services/api/config/application.default.yml b/services/api/config/application.default.yml index 36eedb4fce..ad95f0426a 100644 --- a/services/api/config/application.default.yml +++ b/services/api/config/application.default.yml @@ -39,6 +39,7 @@ test: action_mailer.delivery_method: :test active_support.deprecation: :stderr active_record.mass_assignment_sanitizer: :strict + uuid_prefix: zzzzz common: secret_token: ~ @@ -83,4 +84,18 @@ common: # In the default configuration, authentication happens through the Arvados SSO # server, which uses openid against Google's servers, so in that case this # should be an address associated with a Google account. - auto_admin_user: ~ + auto_admin_user: false + + ## Set Time.zone default to the specified zone and make Active + ## Record auto-convert to this zone. Run "rake -D time" for a list + ## of tasks for finding time zone names. Default is UTC. + #time_zone: Central Time (US & Canada) + + ## Default encoding used in templates for Ruby 1.9. + encoding: utf-8 + + # Enable the asset pipeline + assets.enabled: true + + # Version of your assets, change this if you want to expire all your assets + assets.version: "1.0" diff --git a/services/api/config/application.rb b/services/api/config/application.rb index 2f331eeffa..24648a9a58 100644 --- a/services/api/config/application.rb +++ b/services/api/config/application.rb @@ -26,37 +26,11 @@ module Server # Activate observers that should always be running. # config.active_record.observers = :cacher, :garbage_collector, :forum_observer - # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. - # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. - # config.time_zone = 'Central Time (US & Canada)' - # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de - # Configure the default encoding used in templates for Ruby 1.9. - config.encoding = "utf-8" - # Configure sensitive parameters which will be filtered from the log file. config.filter_parameters += [:password] - - # Enable the asset pipeline - config.assets.enabled = true - - # Version of your assets, change this if you want to expire all your assets - config.assets.version = '1.0' - - config.force_ssl = true - - def config.uuid_prefix(x=nil) - if x and @uuid_prefix - raise "uuid_prefix was already set to #{@uuid_prefix}" - end - @uuid_prefix ||= Digest::MD5.hexdigest(x || `hostname`.strip).to_i(16).to_s(36)[-5..-1] - end - def config.uuid_prefix=(x) - @uuid_prefix = x - end end - end diff --git a/services/api/config/application.yml.example b/services/api/config/application.yml.example index c48308d093..a9c33a4bae 100644 --- a/services/api/config/application.yml.example +++ b/services/api/config/application.yml.example @@ -19,23 +19,23 @@ production: uuid_prefix: bogus # This is suitable for AWS; see common section below for a static example. - compute_node_nameservers: <%= + # + #compute_node_nameservers: <%# require 'net/http' ['local', 'public'].collect do |iface| Net::HTTP.get(URI("http://169.254.169.254/latest/meta-data/#{iface}-ipv4")).match(/^[\d\.]+$/)[0] end << '172.16.0.23' %> - # You must customize these. See application.default.yml for information. - compute_node_ami: ~ - compute_node_ec2_tag_enable: ~ - compute_node_domain: ~ - compute_node_spot_bid: ~ test: uuid_prefix: zzzzz + secret_token: <%= rand(2**512).to_s(36) %> common: - secret_token: ~ - compute_node_nameservers: - - 192.168.0.1 - - 172.16.0.1 + + # Git repositories must be readable by api server, or you won't be + # able to submit crunch jobs. To pass the test suites, put a clone + # of the arvados tree in {git_repositories_dir}/arvados.git or + # {git_repositories_dir}/arvados/.git + # + #git_repositories_dir: /var/cache/git diff --git a/services/api/config/database.yml.sample b/services/api/config/database.yml.sample index 8f54e66309..25fcc7ada7 100644 --- a/services/api/config/database.yml.sample +++ b/services/api/config/database.yml.sample @@ -1,10 +1,6 @@ development: - adapter: postgresql - encoding: utf8 - database: arvados_development - username: arvados - password: ******** - host: localhost + adapter: sqlite3 + database: db/arvados_development.sqlite3 test: adapter: postgresql diff --git a/services/api/config/initializers/omniauth.rb.example b/services/api/config/initializers/omniauth.rb.example index 05d1ee625b..aefcf56625 100644 --- a/services/api/config/initializers/omniauth.rb.example +++ b/services/api/config/initializers/omniauth.rb.example @@ -4,7 +4,7 @@ APP_ID = 'arvados-server' APP_SECRET = rand(2**512).to_s(36) # CHANGE ME! # Update your custom Omniauth provider URL here -CUSTOM_PROVIDER_URL = 'http://auth.curoverse.com' +CUSTOM_PROVIDER_URL = 'http://localhost:3002' Rails.application.config.middleware.use OmniAuth::Builder do provider :josh_id, APP_ID, APP_SECRET, CUSTOM_PROVIDER_URL