LAS Contributor License Agreement (CLA)

LAS requires the acceptance of the LAS contributor license agreement (CLA) across all Lucee projects.

The CLA serves two critical functions:

  • grants an unfettered license of contributions for use by LAS as the custodian of the code base
  • checks and ensures the contributor is allowed to contribute the code in the first place

The LAS CLA is enforced through the GitHub Pull Request API; only PRs where all committers have digitally signed the CLA can be accepted.

Note, given the history of the code base it may be impossible to get the relevant intellectual copyrights on the entire code base. Nevertheless, we will put in place controls for the code base moving forward, and will reach out to early contributors to consolidate what rights we can.

CLA Updated 9 March 2017

The following clause has been removed:

We, as authoritative representatives of “The Association” (Lucee Association Switzerland) do solemnly swear and commit back to You that the “The Project” remains freely accessible under these terms. As “The Project” continues to remain under the control of Lucee Association Switzerland, “The Work” (Lucee Server) will always and forever remain publicly free and available in its entirety under the same terms as are described in the Limited GNU General Public License (GPL) v2.1. If, at which time, Lucee Association Switzerland no longer retains control, and the licensing model for “The Project” (Lucee Server) changes to another scheme other than the Limited GNU General Public License (GPL) v2.1, then an effort will be made, if possible, to hand “The Project” off to a third-party under the guidance of the Free Software Foundation.

All existing contributors will be requested to acknowledge and accept the change.

While the original clause was noble in its sentiment, it is impractical in practice. LAS now manages 50+ repos across a range of different open source licenses beyond LGPL v2.1, including MIT and Apache. The modified CLA can be applied universally and will allow LAS to redistribute any Lucee code base under a new open source license if such a change ever becomes relevant.

Note, Lucee Association Switzerland (LAS) is the not for profit custodian of the Lucee Server community. Our charter is the maintenance and development of a free and open Lucee Server platform. This CLA modification is intended to simplify the overall administration of Lucee projects, and nothing more.

1 Like

For ease of reference, I have included the CLA here:

Lucee Association Switzerland CLA

Contributor License Agreement

The document below clarifies the terms under which You (the copyright owner or legal entity authorized by the copyright owner), may make “The Contributions” (software, bug fixes, configuration changes, documentation, or any other materials) to “The Work” (Lucee Server). This license protects You, “The Association” (Lucee Association Switzerland) and licensees; it does not change your rights to use your own contributions for any other purpose.

You and “The Association” (Lucee Association Switzerland) agree:

  • You grant to “The Association” (Lucee Association Switzerland) a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, relicenseable, transferable license under all of Your relevant intellectual property rights, to use, copy, prepare derivative works of, distribute and publicly perform and display “The Contributions” on any licensing terms, including without limitation: (a) open source licenses like the GNU General Public (v2.0) license; and (b) binary, proprietary, or commercial licenses. Except for the licenses granted herein, You reserve all right, title, and interest in and to “The Contributions”.
  • You grant to “The Association” (Lucee Association Switzerland) a non-exclusive, irrevocable (except as stated in this section), worldwide, royalty-free, sublicenseable, transferable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer “The Work” (Lucee Server), where such license 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” (Lucee Server) 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” (Lucee Server) to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
  • You are able to grant us these rights. You represent that You are legally entitled to grant the above license(s). If Your employer has rights to intellectual property that You create, You represent that You have received permission to make “The Contributions” on behalf of that employer, or that Your employer has waived such rights for “The Contributions”.
  • “The Contributions" are your original work. You represent that “The Contributions” are Your original works of authorship, and to Your knowledge, no other person claims, or has the right to claim, any right in any invention or patent related to “The Contributions”. You also represent that You are not legally obligated, whether by entering into an agreement or otherwise, in any way that conflicts with the terms of this license. For example, if you have signed an agreement requiring you to assign the intellectual property rights in “The Contributions” to an employer or customer, that would conflict with the terms of this license.
  • We, as authoritative representatives of “The Association” (Lucee Association Switzerland) determine the code that is in “The Work” (Lucee Server). You understand that the decision to include “The Contribution(s)” in any project or source repository is entirely that of “The Association” (Lucee Association Switzerland), and this agreement does not guarantee that “The Contributions” will be included in any product.
  • Removed: 9 March 2017 We, as authoritative representatives of “The Association” (Lucee Association Switzerland) do solemnly swear and commit back to You that the “The Project” remains freely accessible under these terms. As “The Project” continues to remain under the control of Lucee Association Switzerland, “The Work” (Lucee Server) will always and forever remain publicly free and available in its entirety under the same terms as are described in the Limited GNU General Public License (GPL) v2.1. If, at which time, Lucee Association Switzerland no longer retains control, and the licensing model for “The Project” (Lucee Server) changes to another scheme other than the Limited GNU General Public License (GPL) v2.1, then an effort will be made, if possible, to hand “The Project” off to a third-party under the guidance of the Free Software Foundation.
  • No Implied Warranties. “The Association” (Lucee Association Switzerland) acknowledges that, except as explicitly described in this Agreement, the Contribution is provided 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.

Please complete the following information about You and The Contributions, and press Submit to indicate your agreement to these terms. If you have questions about these terms, contact us at feedback@lucee.org.

1 Like

How does it work?

The CLA bot works by forcing contributors to acknowledge (ie. digitally sign) the CLA before any commit can be accepted as part of a GitHub pull request (PR). The digital signature is as simple as logging in with your GitHub credentials and agreeing to the CLA.

Submitting a PR for the first time; ie. CLA not signed

A PR where all committers have signed the CLA

PS. for those interested in such things we are using the https://cla-assistant.io/ service provided by SAP

Is this for just the main lucee project or also the docs project?

It’s required for docs pull requests

1 Like

Cool. You might have seen my pull request. I am guessing I already signed the contributiors agreement :wink:

Just an FYI,

I didn’t get prompted to agree to anything when submitting my first PR.

Gavin

according to this, you already had?

It was weird…
When I first used the “link” in your update - as opposed to doing it via a PR, I had problems - which I also posted about it.
Where the page was blank - no text - an empty box.
“Waiting” for it to render something - didn’t provide any benefit, either.

I got a Github “permissions” prompt asking to give CLA permissions to my profile / account - which I agreed to. But still didn’t see / review the agreement.

Then I did the PR and didn’t get prompted.
Then I reused the direct “link” - saw the agreement - and clicked on the “agree / approve” *(however it was labelled) button.

I suppose the short answer is - I am happy. - My PR shows me as accepting the agreement - nothing to see here - for me.

Perhaps it was just a ghost in the machine at the time I was originally trying to do it?
Perhaps it is because I used the direct link - and didn’t (initially) use the PR process to sign it?

Gavin.