forked from legalese/legalese.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcla.html
151 lines (99 loc) · 16.1 KB
/
cla.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<h1>Legalese Contributor Licence Agreement</h1>
<p>Thank You for Your interest in contributing to Legalese, the online software application platform provided by Us at legalese.com (“Legalese”).</p>
<p>In order to clarify the intellectual property licence granted with Contributions from any person or entity, Legalese Pte. Ltd. (UEN: 201527692R, a private limited company incorporated in Singapore with its registered place of business at 71 Ayer Rajah Crescent #05-16 Singapore 139951) (“We” or “Us”), must have a contributor licence agreement on each file that has been signed by each contributor, indicating agreement to the licence terms below.</p>
<p>The purpose of this contributor licence agreement (“Agreement”) is to clarify and document the rights granted by contributors to Us. This Agreement is for Your protection as a contributor as well as for the protection of Us; it does not change Your rights to use Your own Contributions (as hereinafter defined) for any other purpose.</p>
<p>You accept and agree to the following terms and conditions for Your present and future Contributions submitted to Legalese. Save as expressly set out in the Agreement, You reserve all rights, titles, and interests in and to Your Contributions.</p>
<h2>Definitions & Interpretation</h2>
<p>"You" or "Your" shall mean the Copyright owner or legal entity authorised by the Copyright owner that is making this Agreement with Us. For legal entities, the entity making a Contribution (as hereinafter defined) and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single contributor. 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.</p>
<p>"Contribution" shall mean any original work of authorship (software and/or documentation), including any modifications and/or additions to an existing work, that is Submitted by You to Legalese for inclusion in, or documentation of, any of the products owned or managed by Us (the "Work").</p>
<p>“Submit” or "Submitted" means any form of physical, electronic, verbal, or written communication sent to Legalese 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, Legalese for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."</p>
<p>"Copyright" means all rights protecting works of authorship owned or controlled by You, including copyright and neighbouring rights, as appropriate, for the full term of their existence including any extensions by You.</p>
<p>"Documentation" means any non-software portion of a Contribution.</p>
<p>"Material" means the software or documentation made available by Us to third parties. When this Agreement covers more than one software project, the Material means the software or documentation to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.</p>
<h2>2. Grant of Copyright Licence</h2>
<p>Subject to the terms and conditions of this Agreement, You hereby grant to Us and to recipients of software distributed by Us a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) Copyright licence to transfer an unlimited number of non-exclusive licences or to grant sub-licences to third parties under the Copyright covering the Contribution to use the Contribution by all means, including but not limited to:</p>
<ol>
<li>publishing, modifying, and/or reproducing the Contribution in original or modified form;</li>
<li>preparing derivative works based upon or containing the Contribution and/or to combine the Contribution with other software code; and</li>
<li>publicly display, publicly perform, sublicense, and/or distribute the Contributions and such derivative works.</li>
</ol>
<h2>3. Grant of Patent Licence</h2>
<p>Subject to the terms and conditions of this Agreement, You hereby grant to Us and to recipients of software distributed by Us a perpetual, worldwide, non-exclusive, no-charge, royalty-free, sub-licensable, transferable, irrevocable (except as stated in this section) patent licence to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such licence applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that Your Contribution, or the Work to which You have contributed, constitutes direct or contributory patent infringement, then any patent licences granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.</p>
<h2>4. Outbound Licence</h2>
<p>Based on the grant of rights in this Agreement,, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. As a condition on the exercise of this right,</p>
<ol>
<li>Moral Rights. If moral rights apply to the Contribution, to the maximum extent permitted by law, You waive and agree not to assert such moral rights against Us or our successors in interest, or any of our licensees, either direct or indirect.</li>
<li>Our Rights. You acknowledge that We are not obligated to use Your Contribution as part of the Material and may decide to include any Contribution We consider appropriate.</li>
</ol>
<h2>5. Representations</h2>
<p>You represent that You are legally entitled to grant the above licence. If Your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions to Legalese, or that Your employer has contacted Us at [email protected] to obtain a Corporate CLA, and thereafter execute such Corporate CLA with Us.</p>
<p>You represent that each of Your Contributions is Your original creation. You represent that Your Contribution include complete details of any third-party licence or other restriction (including, but not limited to, related patents and trademarks) of which You are personally aware and which are associated with any part of Your Contributions.</p>
<p>You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all.</p>
<p>You agree to notify Us of any facts or circumstances of which You become aware that would make these representations inaccurate in any respect.</p>
<h2>6. Disclaimer, No Warranty, and Limitation of Liability</h2>
<p>Unless required by applicable law or agreed to in writing by Us, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, whether express or implied, including without limitation, any warranties or conditions of TITLE, NON- INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. To the maximum extent permitted by applicable law, We, our affiliates, agents, directors, officers, employees, suppliers, and/or licensors shall not be liable for any direct, indirect, punitive, incidental, special, consequential, or exemplary damages, including damages for loss of profits, loss of revenues, financial losses, loss of goodwill, loss of use, loss of data, and/or other intangible losses, arising out of and/or relating to the use and/or inability to use Legalese, hacking, tampering and/or other unauthorised access or use of Legalese. This limitation of liability clause applies whether the alleged liability is based on contract, tort, negligence, strict liability, or any other basis, even if We have been advised of the possibility of such damage. IF THIS CLAUSE 6 CANNOT BE GIVEN LEGAL EFFECT UNDER APPLICABLE LOCAL LAW, REVIEWING COURTS, MEDIATORS, AND/OR ARBITRATORS SHALL APPLY LOCAL LAW THAT MOST CLOSELY APPROXIMATES AN ABSOLUTE WAIVER OF ALL CIVIL LIABILITY IN CONNECTION WITH THE CONTRIBUTION.</p>
<h2>7. Term</h2>
<p>This Agreement shall come into effect upon Your acceptance of this Agreement. In the event of a termination of this Agreement, all sections save for sections 2, 3, and 6 shall survive such termination and shall remain in full force thereafter.</p>
<h2>8. Miscellaneous</h2>
<p>Should You wish to submit work that is not Your original creation, You may submit it to Legalese separately from any Contribution, identifying the complete details of its source and of any licence or other restriction (including, but not limited to, related patents, trademarks, and licence agreements) of which You are personally aware, and conspicuously marking the work as having been submitted on behalf of a third-party, with such third-party clearly identified.</p>
<p>This Agreement and all disputes, controversies, claims, actions, suits, or other pgroceedings of whatever nature arising out of and/or in connection with this Agreement or its formation shall be governed by and construed in accordance with the laws of Singapore.</p>
<p>This Agreement sets out the entire agreement between You and Us with regard to Your Contributions to Us and overrides all other agreements or understandings.</p>
<p>This Agreement controls the relationship between You and Us. They do not create any third party beneficiary rights.</p>
<p>We reserve the right, at any time and from time to time, to update, revise, supplement, and/or otherwise modify this Agreement and to impose new or additional rules, policies, terms, or conditions on Your Contributions to Legalese. Such updates, revisions, supplements, modifications, and additional rules, policies, terms, and conditions (hereinafter collectively referred to as "Additional Terms") will be effective immediately and incorporated into this Agreement. Your continued use of Legalese following shall be deemed to constitute Your acceptance of any and all such Additional Terms. All Additional Terms are hereby incorporated into this Agreement by reference.</p>
<p>The failure of either party to require performance by the other party of any provision of this Agreement in one situation shall not affect the right of a party to require such performance at any time in the future. A waiver of performance under a provision in one situation shall not be considered a waiver of the performance of the provision in the future or a waiver of the provision in its entirety.</p>
<p>If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and that is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.</p>
<h1>HOW CLAHUB WORKS IN OUR HEROKU DEPLOYMENT</h1>
<p><a href="www.clahub.com">CLAHub</a> is a tool for easy integration of CLAs into opensource projects on Github. Whenever a contributor submits a pull request for our project, CLAHub performs a check on the user's signatory status. If the user has not signed our CLA, it inserts an alert at the confirmation page of the pull request to remind the user to sign the CLA at the link provided, or else the pull request will not be submitted.</p>
<p>It has recently ran into a bit of trouble as the owner of the project has gotten bored of it. Fortunately for us, he has included very helpful instructions to deploy our own copy of CLAHub independent of his version hosted at the above URL.</p>
<p>The vast majority of CLAHub is written in Ruby and is hosted on Heroku. This is how I created our own copy:</p>
<p>Clone the CLAHub repository <a href="https://github.com/clahub/clahub">here</a>.</p>
<p>Install <a href="https://toolbelt.heroku.com/">Heroku Toolbelt</a> and follow their "Getting started" instructions. Also, note that Ruby projects hosted on Heroku have <a href="https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction">certain requirements</a>.</p>
<p>Now cd to your local clone's directory in Terminal and then choose a name for your copy: it could be my-clahub, for example. If you leave it blank, Heroku will choose a random name for you. In that case, the command would be <code>heroku create</code>.</p>
<pre><code>heroku create my-clahub
heroku config:add SECRET_TOKEN=some-random-key-with-plenty-of-entropy-here
heroku addons:add heroku-postgresql
</code></pre>
<p>Note that the <code>SECRET_TOKEN</code> MUST be at least 30 characters. One way to generate it:</p>
<pre><code>heroku config:add SECRET_TOKEN=$( head /dev/random | base64 | head -n 1 )
</code></pre>
<p>Push the code up:</p>
<pre><code>git push heroku master
</code></pre>
<p>Migrate the database:</p>
<pre><code>heroku run rake db:migrate
heroku run rake db:seed
</code></pre>
<p>Register for two new <a href="https://github.com/settings/applications/new">GitHub applications</a>. One will be used for project owner signups and one for contributors signups.</p>
<p>You will need to configure the authorization callback URL for each:</p>
<p>Note: the "limited" application will be used for the contributor signups. It will only be used for authorization and hence won't require any permissions to the contributor's account.</p>
<pre><code>* Full access: https://my-clahub.herokuapp.com/auth/github/callback
* Limited-access signature-only callback: https://my-clahub.herokuapp.com/auth/github_limited/callback
</code></pre>
<p>From the applications' page, copy the client keys and secrets, and add it to the Heroku environment:</p>
<pre><code>heroku config:add GITHUB_KEY=aaa111bbb GITHUB_SECRET=ccc222ddd
heroku config:add GITHUB_LIMITED_KEY=aaa111bbb GITHUB_LIMITED_SECRET=ccc222ddd
</code></pre>
<p>If you have problems, try running <code>heroku logs</code>.</p>
<h2>Domain name</h2>
<p>If you want to enforce a canonical hostname (e.g. host at <a href="http://www.my-clahub.com">www.my-clahub.com</a> and
redirect my-clahub.herokuapp.com to <a href="http://www.my-clahub.com">www.my-clahub.com</a>):</p>
<pre><code>heroku domains:add www.my-clahub.com
heroku config:add CANONICAL_URL=www.my-clahub.com
</code></pre>
<p>At your DNS provider, add a CNAME from <a href="http://www.my-clahub.com">www.my-clahub.com</a> to my-clahub.herokuapp.com</p>
<h2><a id="user-content-host-name" class="anchor" href="#host-name" aria-hidden="true"><span class="octicon octicon-link"></span></a>Host name</h2>
<p>You also need to set your hostname as a <code>HOST</code> environment variable:</p>
<pre><code>heroku config:set HOST=https://my-cla.herokuapp.com
</code></pre>
<p>or edit <code>config/initializers/host.rb</code> and add your host name (either the domain name supplied by Heroku or your custom domain) to the <code>production</code> key. For example:</p>
<pre><code>'production' => 'http://my-clahub.herokuapp.com'
</code></pre>
<h2>HTTPS</h2>
<p>In the production environment, SSL is enforced. If you really do not want SSL:</p>
<pre><code>heroku config:add DISABLE_SSL_ENFORCEMENT=true
</code></pre>
<h2>Analytics</h2>
<p>Google Universal Analytics is enabled if you set environment variables <code>UA_KEY</code>
and <code>UA_DOMAIN</code>. The JavaScript is added from
<code>app/views/layouts/application.html.erb</code>.</p>
<p><a href="https://developer.github.com/v3/oauth/">GitHub has an OAuth function</a>. This allows external apps to request authorisation to private details in a user account without requesting its password. CLAHub requests authorisation via OAuth to determine whether a certain user has signed a certain CLA associated with the project he is contributing to.</p>