From 7f1366cc2ec72a5812f5f9051be768ef3e34dc7d Mon Sep 17 00:00:00 2001 From: Anton Beloglazov Date: Thu, 2 Aug 2012 15:55:15 +1000 Subject: [PATCH] Added the Apache 2.0 license, header, and notice file --- LICENSE | 202 ++++++++++++++++++ NOTICE | 35 +++ README.rst | 2 +- doc/blueprint/openstack-neat-blueprint.epub | Bin 272955 -> 272954 bytes doc/blueprint/openstack-neat-blueprint.html | 2 +- doc/blueprint/openstack-neat-blueprint.pdf | Bin 559168 -> 559166 bytes doc/blueprint/src/openstack-neat-blueprint.md | 2 +- neat/__init__.py | 14 ++ neat/collector.py | 15 +- run_tests.sh | 14 ++ setup.py | 14 ++ tests/__init__.py | 13 ++ tests/test_collector.py | 14 ++ 13 files changed, 323 insertions(+), 4 deletions(-) create mode 100644 LICENSE create mode 100644 NOTICE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -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/NOTICE b/NOTICE new file mode 100644 index 0000000..19f763e --- /dev/null +++ b/NOTICE @@ -0,0 +1,35 @@ +OpenStack Neat +Copyright 2012 Anton Beloglazov + +This product includes software developed at the Cloud Computing and +Distributed Systems (CLOUDS) Laboratory, Department of Computing and +Information Systems, The University of Melbourne, Australia +(http://www.cloudbus.org/). + + +This software uses pyqcy, a QuickCheck-like testing framework for +Python developed by Karol Kuczmarski, released under the FreeBSD +License, and available from https://github.com/Xion/pyqcy + +This software uses PyContracts, a Python library for supporting Design +by Contract (DbC), developed by Andrea Censi, released under the GNU +Lesser General Public License, and available from +https://github.com/AndreaCensi/contracts + +This software uses SQLAlchemy, a Python SQL toolkit and Object +Relational Mapper, developed by the SQLAlchemy (trademark of Michael +Bayer) authors and contributors, released under the MIT License, and +available from http://www.sqlalchemy.org/ + +This software uses Bottle, a micro web-framework for Python, developed +by Marcel Hellkamp, released under the MIT License, and available from +http://bottlepy.org/ + +This software uses python-novaclient, a Python Nova API client +implementation, developed by Jacob Kaplan-Moss and Rackspace - +OpenStack extensions, released under the Apache 2.0 License, and +available from https://github.com/openstack/python-novaclient + +This software uses Sphinx, a documentation generator for Python, +developed by Georg Brandl, released under the BSD License, and +available from http://sphinx.pocoo.org/ diff --git a/README.rst b/README.rst index adb266f..5125256 100644 --- a/README.rst +++ b/README.rst @@ -527,7 +527,7 @@ the required components: 1. `pyqcy `_ – a QuickCheck-like testing framework for Python, FreeBSD License. -2. `PyContracts `_ – a Python +2. `PyContracts `_ – a Python library for Design by Contract (DbC), GNU Lesser General Public License. 3. `SQLAlchemy `_ – a Python SQL toolkit and diff --git a/doc/blueprint/openstack-neat-blueprint.epub b/doc/blueprint/openstack-neat-blueprint.epub index 6b5a5e323ac9942fce7eb824e6e68b547a30dc6e..933e903130f10ce87465ddb609a87e63b4085c8c 100644 GIT binary patch delta 3673 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 delta 3653 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 span.er { color: #ff0000; font-weight: bold; }

The following third party libraries are planned to be used to implement the required components:

  1. pyqcy – a QuickCheck-like testing framework for Python, FreeBSD License.
  2. -
  3. PyContracts – a Python library for Design by Contract (DbC), GNU Lesser General Public License.
  4. +
  5. PyContracts – a Python library for Design by Contract (DbC), GNU Lesser General Public License.
  6. SQLAlchemy – a Python SQL toolkit and Object Relational Mapper (used by the core OpenStack service), MIT License.
  7. Bottle – a micro web-framework for Python, authentication using the same credentials used to authenticate in the Nova API, MIT License.
  8. python-novaclient – a Python Nova API client implementation, Apache 2.0 License.
  9. diff --git a/doc/blueprint/openstack-neat-blueprint.pdf b/doc/blueprint/openstack-neat-blueprint.pdf index 5b8415766bf8834b893ebb9aae5a6eceaa4dbecf..d9a5298f930a19d2a9c81ab20ce151a47a2c5667 100644 GIT binary patch delta 2132 zcmajccQhM{0tRp+c5R_ryGHd2T8Y$b?5eF|@4Zqyvq4j()fTCuVugsJC?Q5EwbwOb zD`J+`2vRMsRc_yT@1FDid*^q)bG|>m|GxHAiPlt!#|g9vbP4oz0Ffz-coRStV=x5( z@`bp9VRMXzFH0aXsX%e-9bdRz6()EJ@R?4b2V*!52&V%9G40cUSk%}U?x7z^or}~0 z8BScffW1#T$nugK<39>PM#si#MxD3t8o#Jyy0196Wd&_7-3fC;qm4sZt6E%QBUm#v z@GvzRWzk1XN1^H`tT6|(lqV;LyTdKQpROtlW&16*s6&QN_b^ZK&kA~FzL9TJsXiVw zVnSe<%c1H{^R5SaD7cdEB06Y}eC!)jJH%o%X14k&eI@BINoAriRis@B>(RI(wA88E z)?GO)7~qv6=FF2}8^{=zh%@$n zC9JEecG9n8BXn~-MBn?qWctOSf{~R_0W2>rILqN`A8KSfL;4I12Dx)q$K1zFb0dcd zK`xur=D{A6`=QQ6a_QlNe?hW0)dSToCVdIVh$zUTY14vFn&-#SGflhi=4Ak?mLdWC zZ0F*H2Xa~L2AXTs*iSiKXd5MJ^DW{&&WpFjUXbLFX~k4hTpKzyFtZ$djou5CIljUS zYA%zeV*T$GSk-dq%evM7(1G|ly=Fy6Oc171!ctND4iV6PiRjRApLjX!RnJ~V!|-KX zv){{b*EsJ=#`1Ps!eNT#5yjDgZIVj{+O4t+pDR1Y^$)s;Rs7LQ>!}~P0B>E zF{3oVH%5p#zP&f zsUp{j;e~BULEf13O#!t414Oe)afzB}^jfdUcmK#&2|sm&t(OxV+4Y4sf1wP3Sr#6W z1%GsKFH630?LBj>6ujQ*WKcH2BAw@^VdF2|%k$StSt+&@qgvO@U@;TvQ=&O$P;*{V za#bj4>P9h#9F0I3z++@NmC}xvLD;Z(?7Sq+13fFDb1gj4W5{G|Y)ZsfxDR0g% z+(v*vskPcEN+w!ZZ8omqN2#H5u*#as|)Xeha~$#cI5yKF4)x1V()PA?S9yz?&3So2$@;6QTt>!nbxJj0E9FVur4wK4!*ddrq(Z?8Xft2n zx$v%syQa7+MxPA@-o!BvrDKZ+Xl~kyQQi&!WP`EWm*8~7cAiG)VrUQa|FJMMKL zI`9sH*H_v>GN2eiYxO9_xKjQbO17$g9er0}Twr5je>f-EyKFPSsm|5j5L7emoQq%B zqWy&946|cq;L$y;u(OVLf=%2pg0tL!0Y_s_J7_Kg*4rNj(_V^mQ>2rIeR!I@gd|_T z%yfTQq7fh;U*S5gP0Ezdr>$LP&7z-(dFJ`9#yq!@lG%ZOI{wPPJ}(@GYQFK+MsB;6 zFb2O>d$eA#|7wjQm+jHulNCE_HOSd%u^95X7KEItq@6{t=J&1E@4ed|S6;&ZwffQ2 zTflxF0S84OYxDwwCNqNxYiT{VH-Y?>k^X!Lr@4W8|0K~NUm7zfCHH8d;+DlPi3*VN zAT80Lh9koQBENG28m)su>->Xcv5eqvJE|g^4{-nakG-B*Pb%@~Kx1KyU2*8g>tXSU{mpfrWRbHkK-VM|ajXFF~_0Z_B&WDtFd5T_^pf0UxzEHyC1Zq8o}={^u6` wxO4X2I8ue7B0~v?Vr_y9+2u&M$oqi@v3fo5#9V#OEW`r7%_=3OXQt2kH=ND@cmMzZ delta 2135 zcmajcXE+;*9tLnD_AaGHV^xdN1`#3>o08h&QnPLBA}Fnu;7~12tV7f|Mko!ft%Ft^ zlxSl%QBk3dy;2UX&~e@M`98nr{Xg%A_uKzf#lt0JxNG z0N9kyYn%N@KRN%jvd4CayX|8Po(f98XyHrCRZn1AA^gJ_3BWL z7k-&G=NyyfQa*hkHdcJO|tJn+dQ)m|t1!bT1}4sO%2&GSW)K1Xooa#q8}V|D7`x zJz+dt%3P00qsn02Db)#jew|gTgxwp(k{-2HZxqiD1aHg4KDAJWrv|?yp$DL^GvhFs zbESH;QC_oN74^0c!fQaYxkbJYTU^fR)IDcW_h4HcXop#_s2{V?*h*A?0R+-{v1)MjJgmb8=~Rck&b-Z$^tk*jNU+jJ zB;y-Q@bWzF-r`-7iCGpgxV|I){C8deH{}Kv^di_38fh#GBr}su+QvPV)b;U&fiZiVWrXrX!JcP_=a+8@ zapC>9pnC|c;s#aWYi}8QqPU=*PkV0hU=+=0uQLKYsiHrq+r}V4`UFtI_F@Vf-tClEiC)#Wt4)hX&Gs0L~sWXgS6nBFW2wIm~ z(KNM2Beu{XV&}m-lGkK*miB-(HDWcspDvNJ^Wu00g9Pp@aiu5I2}4KX z5tDk%nFfE8&>u?&uE2kUT(SN+i1E#)T1cxfcq^U{!g3`2`^;~q*)f@@gah^zj_ycF zvU<1kQ*J)OO(u(u&!!e>s&Hf$&^JFN@A&eIG$^hxKZO|kUfsI)Sk*8Zp`a~8k+^DQ zya8+pHyA*P4z&{)j~EOFeaIhcFi<{8J)E8=hQZRK5!V{-fXSc1y~GP0EJtQwj}Id^ zc(^@Vx1@c|J%b|QaOsB7G$FmEvVZvPr!_f==e_0yu!vtkT;zGrNSjszapGL9fwu<> zsNNn|)0ZRDaq{?_$}U3pe7(zbWga|+3Ay{K$L23~jp#+R`BPq19CrUFLGWFpPT_d* zB0sv&4s;XqlqM{-@Raa=9UwW@`sYP`$(s+3zkHY;VQd4N8;;$$NTn?OFW@E28UuV6s`}GUG zm@Np8Y>p?1H8(o6j+gYf_{bOrOy^F1>x)=0Tm!z_#n1%#f<>P=m3Qq3RBy1qbN`g! z!aKj>Ih{qF1Du5CB)re4bA0J|9 z%nYo-=2lh~I$(&QwUr?RYHop0GX8%P{7MEt6iY^yI7?-*5>gJ_^;R{4wTExftg|Xs z+os+(yYbVz))e`}CW&!5q_NucYH2g>0wrw``g_d~*-6civj=b!1F_ZbJFxkrDi%gL zvzn5m&jlE=n5W$p&A?Y+ zYv#FQMyALP(>pvbP_n3okiSh4UIMeWbS|eW9yT;vZ$LJAgKQLnG}Z7@ofV+#IyulR z<16A78`a~p~B*H9I??);CCz&3tpR6J&K~Cz({-l&03ymyRZjcU+GfY zw1f%1BeT5B{0nBCePw~C8v$h)11iEvR5Nu2#=+Y!euh^yKq@ya8pIi7+LGDHN}M}a z${V}L^_>4w+Qk5x`B#76UJmL0z*fKtTbS$=QG-CvJV|pGQe#oWpz^8lSohHu@5UD` zlOnnuhi~)V=PfZ+9^UM3co^}+`K{Pr&Wz}p4z0w=CeB$L^Unch*KXt16lA9M+4M_? zAQ{j7Pz&w&!~(0imiN-JElY(%hU?4H+qXldB7EtiU79(HS|J>czIr#36zY@vhQzAE z-4@ajj2pW_eeE88891B;4r_68{%y>8aa-EtxOvWLRD%3JyF;@mR@>n+e11|0^iJnQ z+n~gM;rpKtu{slQYB*^G4|*V&GyTw*bZYp7jnKdJiF#-;;^AUhKIOeZyJM1pn_89{ z{3QuJS67SEbj8!a;@p)!SR>-8e1Ue;?xBU(8w_{};uz_UtH(aC32O<={ozp@F6$UY z97PU!6Zf=blL