flight_config 0.1.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e10b75ae038ec166756d50ffad97ed29d8913548ec39db999b2a60184bedba56
4
+ data.tar.gz: f205e6d0720c0619cd2d7bd41e28f014c0b4af22ed9c180927e0d8c3b8f5c3bd
5
+ SHA512:
6
+ metadata.gz: f6ffcd0573c0cbeec3b9cbe8659e7902056f25eb5a94df3d4c124259c941d4175f40cf6419f23f254e9ea1ff5f6f6c46a6c860490b12b60b336ca1b78d4fd587
7
+ data.tar.gz: a23f1c5507693ab12e75556218499d3527dbb2a0fc8bd9ef56e55513b0d371eee1b08588163e136479c5846678b44a4b1455c5f53f3d6e77ec2c7ec02b947c91
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ Gemfile.lock
11
+
12
+ # rspec failure tracking
13
+ .rspec_status
14
+
15
+ vendor/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.1
5
+ before_install: gem install bundler -v 1.16.1
@@ -0,0 +1,74 @@
1
+ # Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behaviour that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behaviour by participants include:
24
+
25
+ * The use of sexualised language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behaviour and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behaviour.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviours that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behaviour may be
58
+ reported by contacting the project team at [help@openflighthpc.org](help@openflighthpc.org). All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,184 @@
1
+ # Contributing to FlightConfig
2
+
3
+ :+1::tada: Thanks for taking the time to contribute! :tada::+1:
4
+
5
+ You want to contribute to FlightConfig? Welcome! Please read this
6
+ document to understand what you can do:
7
+
8
+ * [Code of Conduct](#code-of-conduct)
9
+ * [Help Others](#help-others)
10
+ * [Analyse Issues](#analyse-issues)
11
+ * [Report an Issue](#report-an-issue)
12
+ * [Contribute Changes](#contribute-changes)
13
+
14
+ When contributing to this repository, please first discuss the change
15
+ you wish to make via a Github issue or a post on the [OpenFlight
16
+ Community site](https://community.openflighthpc.org).
17
+
18
+ Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please
19
+ follow it in all your interactions with the project.
20
+
21
+ ## Code of Conduct
22
+
23
+ This project and everyone participating in it is governed by the
24
+ [OpenFlight Code of Conduct](CODE_OF_CONDUCT.md). By participating,
25
+ you are expected to uphold this code. Please report unacceptable
26
+ behaviour to [help@openflighthpc.org](mailto:help@openflighthpc.org).
27
+
28
+ ## Help Others
29
+
30
+ You can help FlightConfig by helping others who use it and need support.
31
+
32
+ ## Analyse Issues
33
+
34
+ Analysing issue reports can be a lot of effort. Any help is welcome!
35
+ Go to [the GitHub issue tracker](https://github.com/openflighthpc/flight_config/issues?state=open)
36
+ and find an open issue which needs additional work or a bugfix
37
+ (e.g. issues labeled with "help wanted" or "bug").
38
+
39
+ Additional work could include any further information, or a gist, or
40
+ it might be a hint that helps understanding the issue. Maybe you can
41
+ even find and [contribute](#contribute-changes) a bugfix?
42
+
43
+ ## Report an Issue
44
+
45
+ If you find a bug - behaviour of FlightConfig code or documentation
46
+ contradicting your expectation - you are welcome to report it. We can
47
+ only handle well-reported, actual bugs, so please follow the
48
+ guidelines below.
49
+
50
+ Once you have familiarised with the guidelines, you can go to the
51
+ [GitHub issue tracker for FlightConfig](https://github.com/openflighthpc/flight_config/issues/new)
52
+ to report the issue.
53
+
54
+ ### Quick Checklist for Bug Reports
55
+
56
+ Issue report checklist:
57
+
58
+ * Real, current bug
59
+ * No duplicate
60
+ * Reproducible
61
+ * Good summary
62
+ * Well-documented
63
+ * Minimal example
64
+
65
+ ### Issue handling process
66
+
67
+ When an issue is reported, a committer will look at it and either
68
+ confirm it as a real issue, close it if it is not an issue, or ask for
69
+ more details.
70
+
71
+ An issue that is about a real bug is closed as soon as the fix is committed.
72
+
73
+ ### Reporting Security Issues
74
+
75
+ If you find a security issue, please act responsibly and report it not
76
+ in the public issue tracker, but directly to us, so we can fix it
77
+ before it can be exploited. Please send the related information to
78
+ [security@openflighthpc.org](mailto:security@openflighthpc.org).
79
+
80
+ ### Issue Reporting Disclaimer
81
+
82
+ We want to improve the quality of FlightConfig and good bug reports are
83
+ welcome! However, our capacity is limited, thus we reserve the right
84
+ to close or to not process bug reports with insufficient detail in
85
+ favour of those which are very cleanly documented and easy to
86
+ reproduce. Even though we would like to solve each well-documented
87
+ issue, there is always the chance that it will not happen - remember:
88
+ FlightConfig is Open Source and comes without warranty.
89
+
90
+ Bug report analysis support is very welcome! (e.g. pre-analysis or
91
+ proposing solutions)
92
+
93
+ ## Contribute Changes
94
+
95
+ You are welcome to contribute code, content or documentation to
96
+ FlightConfig in order to fix bugs or to implement new features.
97
+
98
+ There are three important things to know:
99
+
100
+ 1. You must be aware of the Eclipse Public License 2.0 (which
101
+ describes contributions) and **agree to the Contributors License
102
+ Agreement**. This is common practice in all major Open Source
103
+ projects.
104
+ 2. **Not all proposed contributions can be accepted**. Some features
105
+ may e.g. just fit a third-party add-on better. The change must fit
106
+ the overall direction of FlightConfig and really improve it. The more
107
+ effort you invest, the better you should clarify in advance whether
108
+ the contribution fits: the best way would be to just open an issue
109
+ to discuss the feature you plan to implement (make it clear you
110
+ intend to contribute).
111
+
112
+ ### Contributor License Agreement
113
+
114
+ When you contribute (code, documentation, or anything else), you have
115
+ to be aware that your contribution is covered by the same [Eclipse
116
+ Public License 2.0](https://opensource.org/licenses/EPL-2.0) that is
117
+ applied to FlightConfig itself.
118
+
119
+ In particular you need to agree to the Contributor License Agreement,
120
+ which can be [found
121
+ here](https://www.clahub.com/agreements/openflighthpc/flight_config). This
122
+ applies to all contributors, including those contributing on behalf of
123
+ a company. If you agree to its content, you simply have to click on
124
+ the link posted by the CLA assistant available on the pull
125
+ request. Click it to check the CLA, then accept it on the following
126
+ screen if you agree to it. CLA assistant will save this decision for
127
+ upcoming contributions and will notify you if there is any change to
128
+ the CLA in the meantime.
129
+
130
+ ## Pull Request Process
131
+
132
+ 1. Make sure the change would be welcome (e.g. a bugfix or a useful
133
+ feature); best do so by proposing it in a GitHub issue.
134
+ 2. Fork, then clone the repo.
135
+ 3. Make your changes ([see below](#making-changes)) and commit.
136
+ 4. In the commit message:
137
+ - Describe the problem you fix with this change.
138
+ - Describe the effect that this change has from a user's point of
139
+ view. App crashes and lockups are pretty convincing for example,
140
+ but not all bugs are that obvious and should be mentioned in the
141
+ text.
142
+ - Describe the technical details of what you changed. It is
143
+ important to describe the change in a most understandable way so
144
+ the reviewer is able to verify that the code is behaving as you
145
+ intend it to.
146
+ 5. If your change fixes an issue reported at GitHub, add the following
147
+ line to the commit message:
148
+ - `Fixes #(issueNumber)`
149
+ - Do NOT add a colon after "Fixes" - this prevents automatic closing.
150
+ 6. Open a pull request!
151
+ 7. Follow the link posted by the CLA assistant to your pull request
152
+ and accept it, as described in detail above.
153
+ 8. Wait for our code review and approval, possibly enhancing your
154
+ change on request.
155
+ - Note that the FlightConfig developers also have their regular
156
+ duties, so depending on the required effort for reviewing,
157
+ testing and clarification this may take a while.
158
+ 9. Once the change has been approved we will inform you in a comment.
159
+ 10. We will close the pull request; feel free to delete the now
160
+ obsolete branch.
161
+
162
+ ## Making Changes
163
+
164
+ 1. Create a topic branch from where you want to base your work.
165
+ * This is usually the `master` branch.
166
+ * Only target release branches if you are certain your fix must be
167
+ on that branch.
168
+ * To quickly create a topic branch based on master, run `git
169
+ checkout -b fix/master/my_contribution master`. Please avoid
170
+ working directly on the `master` branch.
171
+ 2. Make commits of logical and atomic units.
172
+ 3. Check for unnecessary whitespace with `git diff --check` before
173
+ committing.
174
+
175
+ ## Attribution
176
+
177
+ These contribution guidelines are adapted from
178
+ [various](https://github.com/cla-assistant/cla-assistant/blob/master/CONTRIBUTING.md)
179
+ [previous](https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md)
180
+ [contribution](https://gist.github.com/PurpleBooth/b24679402957c63ec426)
181
+ [guideline](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
182
+ documents from other projects hosted on Github. Our thanks to the
183
+ respective authors for making contributing to Open Source projects a
184
+ more streamlined and efficient process!
data/Gemfile ADDED
@@ -0,0 +1,31 @@
1
+ #==============================================================================
2
+ # Copyright (C) 2019-present Alces Flight Ltd.
3
+ #
4
+ # This file is part of FlightConfig.
5
+ #
6
+ # This program and the accompanying materials are made available under
7
+ # the terms of the Eclipse Public License 2.0 which is available at
8
+ # <https://www.eclipse.org/legal/epl-2.0>, or alternative license
9
+ # terms made available by Alces Flight Ltd - please direct inquiries
10
+ # about licensing to licensing@alces-flight.com.
11
+ #
12
+ # FlightConfig is distributed in the hope that it will be useful, but
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
14
+ # IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS
15
+ # OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
16
+ # PARTICULAR PURPOSE. See the Eclipse Public License 2.0 for more
17
+ # details.
18
+ #
19
+ # You should have received a copy of the Eclipse Public License 2.0
20
+ # along with FlightConfig. If not, see:
21
+ #
22
+ # https://opensource.org/licenses/EPL-2.0
23
+ #
24
+ # For more information on FlightConfig, please visit:
25
+ # https://github.com/openflighthpc/flight_config
26
+ #==============================================================================
27
+ source "https://rubygems.org"
28
+
29
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
30
+
31
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,277 @@
1
+ Eclipse Public License - v 2.0
2
+
3
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
4
+ PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
5
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6
+
7
+ 1. DEFINITIONS
8
+
9
+ "Contribution" means:
10
+
11
+ a) in the case of the initial Contributor, the initial content
12
+ Distributed under this Agreement, and
13
+
14
+ b) in the case of each subsequent Contributor:
15
+ i) changes to the Program, and
16
+ ii) additions to the Program;
17
+ where such changes and/or additions to the Program originate from
18
+ and are Distributed by that particular Contributor. A Contribution
19
+ "originates" from a Contributor if it was added to the Program by
20
+ such Contributor itself or anyone acting on such Contributor's behalf.
21
+ Contributions do not include changes or additions to the Program that
22
+ are not Modified Works.
23
+
24
+ "Contributor" means any person or entity that Distributes the Program.
25
+
26
+ "Licensed Patents" mean patent claims licensable by a Contributor which
27
+ are necessarily infringed by the use or sale of its Contribution alone
28
+ or when combined with the Program.
29
+
30
+ "Program" means the Contributions Distributed in accordance with this
31
+ Agreement.
32
+
33
+ "Recipient" means anyone who receives the Program under this Agreement
34
+ or any Secondary License (as applicable), including Contributors.
35
+
36
+ "Derivative Works" shall mean any work, whether in Source Code or other
37
+ form, that is based on (or derived from) the Program and for which the
38
+ editorial revisions, annotations, elaborations, or other modifications
39
+ represent, as a whole, an original work of authorship.
40
+
41
+ "Modified Works" shall mean any work in Source Code or other form that
42
+ results from an addition to, deletion from, or modification of the
43
+ contents of the Program, including, for purposes of clarity any new file
44
+ in Source Code form that contains any contents of the Program. Modified
45
+ Works shall not include works that contain only declarations,
46
+ interfaces, types, classes, structures, or files of the Program solely
47
+ in each case in order to link to, bind by name, or subclass the Program
48
+ or Modified Works thereof.
49
+
50
+ "Distribute" means the acts of a) distributing or b) making available
51
+ in any manner that enables the transfer of a copy.
52
+
53
+ "Source Code" means the form of a Program preferred for making
54
+ modifications, including but not limited to software source code,
55
+ documentation source, and configuration files.
56
+
57
+ "Secondary License" means either the GNU General Public License,
58
+ Version 2.0, or any later versions of that license, including any
59
+ exceptions or additional permissions as identified by the initial
60
+ Contributor.
61
+
62
+ 2. GRANT OF RIGHTS
63
+
64
+ a) Subject to the terms of this Agreement, each Contributor hereby
65
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
66
+ license to reproduce, prepare Derivative Works of, publicly display,
67
+ publicly perform, Distribute and sublicense the Contribution of such
68
+ Contributor, if any, and such Derivative Works.
69
+
70
+ b) Subject to the terms of this Agreement, each Contributor hereby
71
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
72
+ license under Licensed Patents to make, use, sell, offer to sell,
73
+ import and otherwise transfer the Contribution of such Contributor,
74
+ if any, in Source Code or other form. This patent license shall
75
+ apply to the combination of the Contribution and the Program if, at
76
+ the time the Contribution is added by the Contributor, such addition
77
+ of the Contribution causes such combination to be covered by the
78
+ Licensed Patents. The patent license shall not apply to any other
79
+ combinations which include the Contribution. No hardware per se is
80
+ licensed hereunder.
81
+
82
+ c) Recipient understands that although each Contributor grants the
83
+ licenses to its Contributions set forth herein, no assurances are
84
+ provided by any Contributor that the Program does not infringe the
85
+ patent or other intellectual property rights of any other entity.
86
+ Each Contributor disclaims any liability to Recipient for claims
87
+ brought by any other entity based on infringement of intellectual
88
+ property rights or otherwise. As a condition to exercising the
89
+ rights and licenses granted hereunder, each Recipient hereby
90
+ assumes sole responsibility to secure any other intellectual
91
+ property rights needed, if any. For example, if a third party
92
+ patent license is required to allow Recipient to Distribute the
93
+ Program, it is Recipient's responsibility to acquire that license
94
+ before distributing the Program.
95
+
96
+ d) Each Contributor represents that to its knowledge it has
97
+ sufficient copyright rights in its Contribution, if any, to grant
98
+ the copyright license set forth in this Agreement.
99
+
100
+ e) Notwithstanding the terms of any Secondary License, no
101
+ Contributor makes additional grants to any Recipient (other than
102
+ those set forth in this Agreement) as a result of such Recipient's
103
+ receipt of the Program under the terms of a Secondary License
104
+ (if permitted under the terms of Section 3).
105
+
106
+ 3. REQUIREMENTS
107
+
108
+ 3.1 If a Contributor Distributes the Program in any form, then:
109
+
110
+ a) the Program must also be made available as Source Code, in
111
+ accordance with section 3.2, and the Contributor must accompany
112
+ the Program with a statement that the Source Code for the Program
113
+ is available under this Agreement, and informs Recipients how to
114
+ obtain it in a reasonable manner on or through a medium customarily
115
+ used for software exchange; and
116
+
117
+ b) the Contributor may Distribute the Program under a license
118
+ different than this Agreement, provided that such license:
119
+ i) effectively disclaims on behalf of all other Contributors all
120
+ warranties and conditions, express and implied, including
121
+ warranties or conditions of title and non-infringement, and
122
+ implied warranties or conditions of merchantability and fitness
123
+ for a particular purpose;
124
+
125
+ ii) effectively excludes on behalf of all other Contributors all
126
+ liability for damages, including direct, indirect, special,
127
+ incidental and consequential damages, such as lost profits;
128
+
129
+ iii) does not attempt to limit or alter the recipients' rights
130
+ in the Source Code under section 3.2; and
131
+
132
+ iv) requires any subsequent distribution of the Program by any
133
+ party to be under a license that satisfies the requirements
134
+ of this section 3.
135
+
136
+ 3.2 When the Program is Distributed as Source Code:
137
+
138
+ a) it must be made available under this Agreement, or if the
139
+ Program (i) is combined with other material in a separate file or
140
+ files made available under a Secondary License, and (ii) the initial
141
+ Contributor attached to the Source Code the notice described in
142
+ Exhibit A of this Agreement, then the Program may be made available
143
+ under the terms of such Secondary Licenses, and
144
+
145
+ b) a copy of this Agreement must be included with each copy of
146
+ the Program.
147
+
148
+ 3.3 Contributors may not remove or alter any copyright, patent,
149
+ trademark, attribution notices, disclaimers of warranty, or limitations
150
+ of liability ("notices") contained within the Program from any copy of
151
+ the Program which they Distribute, provided that Contributors may add
152
+ their own appropriate notices.
153
+
154
+ 4. COMMERCIAL DISTRIBUTION
155
+
156
+ Commercial distributors of software may accept certain responsibilities
157
+ with respect to end users, business partners and the like. While this
158
+ license is intended to facilitate the commercial use of the Program,
159
+ the Contributor who includes the Program in a commercial product
160
+ offering should do so in a manner which does not create potential
161
+ liability for other Contributors. Therefore, if a Contributor includes
162
+ the Program in a commercial product offering, such Contributor
163
+ ("Commercial Contributor") hereby agrees to defend and indemnify every
164
+ other Contributor ("Indemnified Contributor") against any losses,
165
+ damages and costs (collectively "Losses") arising from claims, lawsuits
166
+ and other legal actions brought by a third party against the Indemnified
167
+ Contributor to the extent caused by the acts or omissions of such
168
+ Commercial Contributor in connection with its distribution of the Program
169
+ in a commercial product offering. The obligations in this section do not
170
+ apply to any claims or Losses relating to any actual or alleged
171
+ intellectual property infringement. In order to qualify, an Indemnified
172
+ Contributor must: a) promptly notify the Commercial Contributor in
173
+ writing of such claim, and b) allow the Commercial Contributor to control,
174
+ and cooperate with the Commercial Contributor in, the defense and any
175
+ related settlement negotiations. The Indemnified Contributor may
176
+ participate in any such claim at its own expense.
177
+
178
+ For example, a Contributor might include the Program in a commercial
179
+ product offering, Product X. That Contributor is then a Commercial
180
+ Contributor. If that Commercial Contributor then makes performance
181
+ claims, or offers warranties related to Product X, those performance
182
+ claims and warranties are such Commercial Contributor's responsibility
183
+ alone. Under this section, the Commercial Contributor would have to
184
+ defend claims against the other Contributors related to those performance
185
+ claims and warranties, and if a court requires any other Contributor to
186
+ pay any damages as a result, the Commercial Contributor must pay
187
+ those damages.
188
+
189
+ 5. NO WARRANTY
190
+
191
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
192
+ PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
193
+ BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
194
+ IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
195
+ TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
196
+ PURPOSE. Each Recipient is solely responsible for determining the
197
+ appropriateness of using and distributing the Program and assumes all
198
+ risks associated with its exercise of rights under this Agreement,
199
+ including but not limited to the risks and costs of program errors,
200
+ compliance with applicable laws, damage to or loss of data, programs
201
+ or equipment, and unavailability or interruption of operations.
202
+
203
+ 6. DISCLAIMER OF LIABILITY
204
+
205
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
206
+ PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
207
+ SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
208
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
209
+ PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
210
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
211
+ ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
212
+ EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
213
+ POSSIBILITY OF SUCH DAMAGES.
214
+
215
+ 7. GENERAL
216
+
217
+ If any provision of this Agreement is invalid or unenforceable under
218
+ applicable law, it shall not affect the validity or enforceability of
219
+ the remainder of the terms of this Agreement, and without further
220
+ action by the parties hereto, such provision shall be reformed to the
221
+ minimum extent necessary to make such provision valid and enforceable.
222
+
223
+ If Recipient institutes patent litigation against any entity
224
+ (including a cross-claim or counterclaim in a lawsuit) alleging that the
225
+ Program itself (excluding combinations of the Program with other software
226
+ or hardware) infringes such Recipient's patent(s), then such Recipient's
227
+ rights granted under Section 2(b) shall terminate as of the date such
228
+ litigation is filed.
229
+
230
+ All Recipient's rights under this Agreement shall terminate if it
231
+ fails to comply with any of the material terms or conditions of this
232
+ Agreement and does not cure such failure in a reasonable period of
233
+ time after becoming aware of such noncompliance. If all Recipient's
234
+ rights under this Agreement terminate, Recipient agrees to cease use
235
+ and distribution of the Program as soon as reasonably practicable.
236
+ However, Recipient's obligations under this Agreement and any licenses
237
+ granted by Recipient relating to the Program shall continue and survive.
238
+
239
+ Everyone is permitted to copy and distribute copies of this Agreement,
240
+ but in order to avoid inconsistency the Agreement is copyrighted and
241
+ may only be modified in the following manner. The Agreement Steward
242
+ reserves the right to publish new versions (including revisions) of
243
+ this Agreement from time to time. No one other than the Agreement
244
+ Steward has the right to modify this Agreement. The Eclipse Foundation
245
+ is the initial Agreement Steward. The Eclipse Foundation may assign the
246
+ responsibility to serve as the Agreement Steward to a suitable separate
247
+ entity. Each new version of the Agreement will be given a distinguishing
248
+ version number. The Program (including Contributions) may always be
249
+ Distributed subject to the version of the Agreement under which it was
250
+ received. In addition, after a new version of the Agreement is published,
251
+ Contributor may elect to Distribute the Program (including its
252
+ Contributions) under the new version.
253
+
254
+ Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
255
+ receives no rights or licenses to the intellectual property of any
256
+ Contributor under this Agreement, whether expressly, by implication,
257
+ estoppel or otherwise. All rights in the Program not expressly granted
258
+ under this Agreement are reserved. Nothing in this Agreement is intended
259
+ to be enforceable by any entity that is not a Contributor or Recipient.
260
+ No third-party beneficiary rights are created under this Agreement.
261
+
262
+ Exhibit A - Form of Secondary Licenses Notice
263
+
264
+ "This Source Code may also be made available under the following
265
+ Secondary Licenses when the conditions for such availability set forth
266
+ in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
267
+ version(s), and exceptions or additional permissions here}."
268
+
269
+ Simply including a copy of this Agreement, including this Exhibit A
270
+ is not sufficient to license the Source Code under Secondary Licenses.
271
+
272
+ If it is not possible or desirable to put the notice in a particular
273
+ file, then You may include the notice in a location (such as a LICENSE
274
+ file in a relevant directory) where a recipient would be likely to
275
+ look for such a notice.
276
+
277
+ You may add additional accurate notices of copyright ownership.