Skip to content

Commit

Permalink
Create CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
melloware authored Jul 26, 2023
1 parent 130cffd commit 5e25c27
Showing 1 changed file with 228 additions and 0 deletions.
228 changes: 228 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
Contributing to React LogViewer: Terms and Conditions
================================================

------------------------------------------------------------------------------

Do you want to contribute your work to React LogViewer? Well, then first and most important: **THANK YOU!**


Now, in order to accept your contribution, there are some terms you must expressly agree with, so please
read them carefully. They might look a bit cumbersome, but they are here just in order to protect
you, your contribution, and especially the project's future.

**Important**: submitting any contributions to the React LogViewer project implies your **full acceptance of these terms**,
including the *"React LogViewer Individual Contributor License Agreement"* detailed at the end.

Who can contribute?
-------------------

Anyone, with the unique condition that he/she must be a **private individual**, acting in
his/her own name, and not being endorsed in their contributed work by any company or government.

Note that this condition will not only refer to the ownership of the effort invested in contributing
to the project, but also to the fact that *no private or public company will be mentioned as a a part
of your contribution on the project's website or code*, including but not limited to web/email addresses
or package names.


What is the first step to be taken?
-----------------------------------

First of all, open a new issue about
your ideas: new features, fixes, documentation... whatever you would like to contribute to the project. Let we
discuss the possibilities with you so that we make sure your contribution goes in the right direction and aligns
with the project's standards, intentions and roadmap.



How will your relation with the React LogViewer project be?
-----------------------------------------------------

Your contributions will have the form of GitHub *pull requests*. Note that contributors do not
have read+write (or *pull+push*) access to the project repositories, only project *members* do.

Also, please understand that *not all pull requests will be accepted and merged into the project's
repositories*. Talking about your planned contributions with the project members before creating pull requests
will maximize the possibilities of your contributions being accepted.

About the code you contribute
-----------------------------

### General guidelines:

- Obviously, **your code must both compile and work correctly**. Also, the addition of any new patches to the
codebase should not render it unstable in any way.
- All your code should be easy to read and understand by a human.
- There should be no compilation warnings at all.
- Checkstyle must pass without errors or warnings. Currently this is embedded into the maven build.

### Detailed code quality standards:

- All your code should compile and run in **Node 16.x or higher**.
- All comments, names of classes and variables, log messages, etc. must be **in English**.



About the documentation/articles you contribute
-----------------------------------------------

Note the following only applies to documentation/articles meant to be published at the React LogViewer website.

- All documentation artifacts, including articles, must be written **in correct English**.
- Your name and email will be displayed as *"author"* of any documentation artifacts you create.
- Topic and text structure must be first discussed and agreed upon with the project members.
- Project members may edit and make small changes to your texts --of which you will be informed-- before
publishing them.
- Format and visual styles must adhere to the React LogViewer website standards, of which you will be informed
by the project members.



Pay special attention to this
-----------------------------

All React LogViewer software is distributed under the **MIT** open source license, and your contributions
will be licensed in the same way.

If you work for a company which, by the way or place in which your code was written, by your contract terms
or by the laws in your country, could claim any rights (including but not limited to intellectual or industrial
property) over your contributed code, you will have to send the project members (either by email from your
authorised superiors or by signed fax), a statement indicating that your company agrees with the terms
explained in this page, and that it both authorises your contribution to React LogViewer and states that will
never claim any kind of rights over it.



React LogViewer Individual Contributor License Agreement
--------------------------------------------------

This contributor agreement ("Agreement") documents the rights granted by contributors to the React LogViewer Project.

This is a legally binding document, so please read it carefully before agreeing to it. The Agreement
may cover more than one software project managed by React LogViewer.

### 1. Definitions

* _"React LogViewer"_ means the "React LogViewer Project organization and members".
* _"You"_ means the individual who submits a Contribution to React LogViewer.
* _"Contribution"_ means any work of authorship that is submitted by you to React LogViewer in which you own
or assert ownership of the Copyright.
* _"Copyright"_ means all rights protecting works of authorship owned or controlled by you,
including copyright, moral and neighboring rights, as appropriate, for the full term of their
existence including any extensions by you.
* _"Material"_ means the work of authorship which is made available by React LogViewer to third parties. When
this Agreement covers more than one software project, the Material means the work of authorship
to which the Contribution was submitted. After you submit the Contribution, it may be included
in the Material.
* _"Submit"_ means any form of electronic, verbal, or written communication sent to React LogViewer or its
representatives, including but not limited to electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, React LogViewer for the purpose of discussing
and improving the Material, but excluding communication that is conspicuously marked or
otherwise designated in writing by you as _"Not a Contribution."
* _"Submission Date"_ means the date on which you submit a Contribution to React LogViewer.
* _"Effective Date"_ means the date you execute this agreement or the date You first submit a
Contribution to React LogViewer, whichever is earlier.

### 2. Grant of Rights

#### 2.1. Copyright License

(a) You retain ownership of the copyright in your Contribution and have the same rights to use or
license the Contribution which you would have had without entering into the agreement.
(b) To the maximum extent permitted by the relevant law, you grant to React LogViewer a perpetual, worldwide,
non-exclusive, transferable, royalty-free, irrevocable license under the copyright covering the
Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to
reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided
that this license is conditioned upon compliance with Section 2.3.

#### 2.2 Patent License

For patent claims including, without limitation, method, process, and apparatus claims which you
own, control or have the right to grant, now or in the future, you grant to React LogViewer a perpetual, worldwide,
non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these
rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and
otherwise transfer the Contribution and the Contribution in combination with the Material (and
portions of such combination). This license is granted only to the extent that the exercise of the
licensed rights infringes such patent claims; and provided that this license is conditioned upon
compliance with Section 2.3.


#### 2.3 Outbound License

As a condition on the grant of rights in Sections 2.1 and 2.2, React LogViewer agrees to license the Contribution only
under the terms of the MIT License (including any right to adopt any future version of this license if
permitted).


#### 2.4 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 React LogViewer or its successors in interest, or any of our licensees, either
direct or indirect.


#### 2.5 React LogViewer Rights

You acknowledge that React LogViewer is not obligated to use your Contribution as part of the
Material and may decide to include any Contributions React LogViewer considers appropriate.

#### 2.6 Reservation of Rights

Any rights not expressly assigned or licensed under this section are expressly reserved by you.



### 3. Agreement

You confirm that:

(a) You have the legal authority to enter into this Agreement.
(b) You own the Copyright and patent claims covering the Contribution which are required to grant
the rights under Section 2.
(c) The grant of rights under Section 2 does not violate any grant of rights which you have made to
third parties, including your employer. If you are an employee, you have had your employer approve
this Agreement. If you are less than eighteen years old, please have your parents or guardian
sign the Agreement.



### 4. Disclaimer

EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED "AS IS". MORE PARTICULARLY,
ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO React LogViewer AND BY
React LogViewer TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN
DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.



### 5. Consequential Damage Waiver

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR React LogViewer BE LIABLE FOR ANY LOSS OF
PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY
DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE)
UPON WHICH THE CLAIM IS BASED.



### 6. Miscellaneous

6.1 This Agreement will be governed by and construed in accordance with the laws of Spain excluding its
conflicts of law provisions. Under certain circumstances, the governing law in this section might be
superseded by the United Nations Convention on Contracts for the International Sale of Goods ("UN
Convention") and the parties intend to avoid the application of the UN Convention to this Agreement
and, thus, exclude the application of the UN Convention in its entirety to this Agreement.
6.2 This Agreement sets out the entire agreement between you and React LogViewer for your Contributions to
React LogViewer and overrides all other agreements or understandings.
6.3 If You or React LogViewer assign the rights or obligations received through this Agreement to a third party,
as a condition of the assignment, that third party must agree in writing to abide by all the rights and
obligations in the Agreement.
6.4 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.
6.5 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 which 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.

0 comments on commit 5e25c27

Please sign in to comment.