jetty / jetty.project

Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
https://eclipse.dev/jetty
Other
3.87k stars 1.91k forks source link

Eclipse Handbook recommends "and others" in license header block. #1311

Closed joakime closed 4 years ago

joakime commented 7 years ago

See https://www.eclipse.org/projects/handbook/#ip-copyright-headers

This was brought up by @waynebeaton in PR #1303

sbordet commented 7 years ago

Are we and contributors not giving copyrights to Mortbay ? There are no others ?

joakime commented 7 years ago

The com.mycila:license-maven-plugin:check seems unable to validate this variety of license header. We'll either need to upgrade that build plugin or look for something else.

jmcc0nn3ll commented 7 years ago

I am kinda with Simone on this one, Jetty has a long history of being very careful about this...not sure we want to make a change like this willy nilly.

-- jesse mcconnell jesse.mcconnell@gmail.com

On Wed, Feb 8, 2017 at 9:57 AM, Joakim Erdfelt notifications@github.com wrote:

The com.mycila:license-maven-plugin:check seems unable to validate this variety of license header. We'll either need to upgrade that build plugin or look for something else.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/eclipse/jetty.project/issues/1311#issuecomment-278368919, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQrr-v7VdInJIkvpAlslTjzn3bf0dMyks5raeXMgaJpZM4L54hx .

joakime commented 7 years ago

I'm not proposing changing existing licenses (that is almost always a bad idea).

Just allowing the "and others" variation of the license with our build time / pr test time license check plugins.

gregw commented 7 years ago

In the past we have accepted contributions that have not had copyright assigned to Mort Bay, which then gave us incentive to eventually replace that code.

So I don't think it is our place to pro actively create a space or doubt on the existing copyright. If somebody wishes to contribute code for which they maintain copyright, then it is up to them to make the appropriate declaration of copyright in the files they are contributing and then it is up to us to decide if we will accept it into the code base or not.

If we ever do decide to accept "and others" in a contribution, then at that time we should update the build time /pr tests. Let's leave them as they are for now, so we can notice if any "and others" contributions are made. Ideally it would be good to detect any change in copyright declaration and trigger some kind of additional process/review/approval on the PRs

joakime commented 6 years ago

Closing, nothing to do with this task.

waynebeaton commented 5 years ago

Are we and contributors not giving copyrights to Mortbay ? There are no others ?

All contributions from contributors remain the property of the contributors (or, in many cases, their employers). Per the ECA (which must be signed by all contributors):

This ECA, and the license(s) associated with the particular Eclipse Foundation projects You are contributing to, provides a license to Your Contributions to the Eclipse Foundation and downstream consumers, but You still own Your Contributions, and except for the licenses provided for in this ECA, You reserve all right, title and interest in Your Contributions.

joakime commented 5 years ago

@waynebeaton I hear you, but I don't know what this means as far as impact to the codebase and its supporting files (like LICENSE / NOTICE).

Are you wanting us to relicense the source or change the text in the existing license in some way?

We still use EPL 1.0 for Jetty 9.x And we have discussed moving to EPL 2.0 for Jetty 10.x.

Is there something else we missed? or must be doing?

waynebeaton commented 5 years ago

@waynebeaton I hear you, but I don't know what this means as far as impact to the codebase and its supporting files (like LICENSE / NOTICE).

AFAICT the license file is fine. The NOTICE file should indicate that the copyright is also held by others.

Are you wanting us to relicense the source or change the text in the existing license in some way?

No. The license is fine. It's the suggestion that contributions that come to this Eclipse open source project somehow become the property of Mortbay that is the problem.

We still use EPL 1.0 for Jetty 9.x And we have discussed moving to EPL 2.0 for Jetty 10.x.

The EPL includes a provision that lets you just update to a later version of the license. The project team can do this without consulting all of the copyright holders. Updating the license requires changing the LICENSE file and all references to the EPL-1.0 in the file copyright headers.

Is there something else we missed? or must be doing?

Perhaps I'm misreading the tone of this discussion. My take away is that the project team will only accept contributions for which the copyright has been assigned to Mortbay (or, I guess, WebTide). To me, that suggests that either contributions must be assigned to the company, or that the project team will only accept contributions that come from company employees. Both of these scenarios are unacceptable barriers for entry in an Eclipse open source context.

So... is copyright assignment to WebTide a requirement for contributions to this project?

joakime commented 5 years ago

@waynebeaton I hear you, but I don't know what this means as far as impact to the codebase and its supporting files (like LICENSE / NOTICE).

AFAICT the license file is fine. The NOTICE file should indicate that the copyright is also held by others.

Check. I'll submit a PR for this.

Are you wanting us to relicense the source or change the text in the existing license in some way?

No. The license is fine. It's the suggestion that contributions that come to this Eclipse open source project somehow become the property of Mortbay that is the problem.

That's not what was intended. I believe the intent with Mortbay predates the move to the Eclipse Foundation. It was the rallying point for "acceptable" code in the initial contribution to the Eclipse Foundation. Prior to the move, anything that didn't fit into Mortbay was not allowed to move to the Eclipse Foundation.

The scope of this issue seems to have increased from merely a conversation about "and others", to a more general question about what today and the future of the Mortbay assignment is.

If (hypothetically) the license changes away from mentioning Mortbay, and uses language that's exclusively Eclipse Foundation, what does this mean? Is that a desired end goal in the eyes of the Eclipse Foundation? Would such a change be difficult to roll out? Keep in mind that Eclipse Jetty is dual licensed. EPL 1.0 and Apache 2.0

We still use EPL 1.0 for Jetty 9.x And we have discussed moving to EPL 2.0 for Jetty 10.x.

The EPL includes a provision that lets you just update to a later version of the license. The project team can do this without consulting all of the copyright holders. Updating the license requires changing the LICENSE file and all references to the EPL-1.0 in the file copyright headers.

Nice, I wasn't aware of that provision in the EPL. I wonder if Apache 2.0 has the same provision? (us being dual licensed)

Is there something else we missed? or must be doing?

Perhaps I'm misreading the tone of this discussion. My take away is that the project team will only accept contributions for which the copyright has been assigned to Mortbay (or, I guess, WebTide). To me, that suggests that either contributions must be assigned to the company, or that the project team will only accept contributions that come from company employees. Both of these scenarios are unacceptable barriers for entry in an Eclipse open source context.

So... is copyright assignment to WebTide a requirement for contributions to this project?

No, don't read too much into the questions. It's just that when changes to the license or behaviors on how we treat the license are concerned, we just want to eliminate all of the vague language and vague tasks that we've had to muddle through in the past. Just crossing the t's and dotting the i's so to speak.

Mortbay has been in our license file for as long as I can remember, through multiple companies (webtide and intalio being the 2 latest ones) and open source foundations (eclipse, codehaus, sourceforge, etc).

Webtide is a non-factor here.

The relationship of the current company Webtide to the codebase is just that Webtide contributes time and people to the project, only a handful of the employees of Webtide contribute as an employee (greg, jan, and lachlan), the rest contribute on their original individual ECA and original email address before becoming involved in a employment relationship with Webtide.

I, for example, worked on Eclipse and Eclipse Jetty well before being involved in Webtide and contribute under my gmail email address.

For issues with licenses and text of licenses it's good to raise issues (or reopen) like you have today. But it's even better if we have a way to resolve the issue as well.

The takeaway I'm getting from this issue is the following ...

  1. The NOTICE file needs the "and others" language.
  2. The License header text needs the "and others" language as well.

But I don't think you are asking us to change anything in regards to the language around "Mortbay", right?

gregw commented 5 years ago

I'm guessing the text of concern here in the NOTICE.txt file which says:

The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
unless otherwise noted.

It has not been the case that other copyrights contributions have not been accepted, merely that we have previously requested that any contributions that wish to maintain copyright are identified with suitable notices. It has also been our practise that if a minor contribution has explicit copyright allocation to somebody other than Mort Bay, then we have accepted it, but ultimately are likely to replace it with an alternate implementation that is Copyright Mort Bay. We did that not to discourage contributions, but to make our task or wrangling copyright holders easier on the occasions when we have needed to update/change the license (eg coming to eclipse). We are in no way trying to subvert the practise of contributors maintaining copyright and granting a license as per the terms in the licenses, the intention is to merely also leave open the possibility of contributing with an assignment of copyright to Mort Bay as an option to reduce the number of copyright holders over time.

So without explicit copyright notice otherwise, it was our assumption that copyright was assigned to Mort Bay. This is a practise that long predates source control, open source licenses, eclipse etc. But it may well be that this assumption is no longer valid and that under common application of copyright and the open source licenses that individual contributions are tracked by source control and legally remain under the copyright of the contributor, if so then I would argue that has been covered by the "unless otherwise noted" clause as such arrangements are noted by the license files....

I think that regardless of what is said in the NOTICEs file, any claim of copyright on any significant portions of the code is going to require a forensic examination of commit logs, work contracts and associated notices, plus a consideration of what is a derivative work etc. I think the best the NOTICE.txt file can do is call out all the possibilities, so how about we change the text in NOTICE.txt to :

The Jetty Project is Copyright Mort Bay Consulting Pty Ltd and others.
Copyright should be indicated by copyright notice that are included in or 
attached to contributions under the terms of the LICENCE's.  
A Contributor may assign copyright to Mort Bay Consulting Pty. Ltd. or others.

Thoughts?

waynebeaton commented 4 years ago

The Eclipse Jetty Project is not "Copyright Mort Bay ...". The "Jetty" name is a registered Trademark of the Eclipse Foundation and Eclipse Jetty is an Eclipse Foundation open source project. Mort Bay retains copyright of the contributions that they have made to the project (i.e., code and other intellectual property, not the project itself).

There should be no mention of Mort Bay in any NOTICE file other than, perhaps, in a list as one of many contributors to the project in the case that you choose to use the "Contributors to the Eclipse Foundation" form of file header suggested by the documentation generator; i.e., the "alternate" suggested in the handbook.

As I mentioned earlier, the ECA explicitly indicates that contributors retain ownership of their copyrights. This has always been true, even in the days before the CLA/ECA.

More fundamentally, I'm concerned that you think that Mort Bay should own the copyright of all project content or that you believe that you need to reduce the number of copyright holders by effectively erasing the contributions of others. To what end?

gregw commented 4 years ago

@waynebeaton I think you have misrepresented my words by saying that we think that "Mort Bay should own the copyright of all project content". We have not and do not insist or demand or require in any way that Copyright is assigned to Mort Bay. It is just a practise that we adopted long ago to reduce the number of copyright holders because having many copyright holders can make a project cumbersome to effect significant change. I would say that Jetty would never have been contributed to Eclipse if we had not taken efforts to minimise the copyright holders to a few known people/entities. Systems and tracking are better now, so perhaps that is no longer an issue.

Also please dial back the tone a bit and give some understanding to a project that has a long history and it used to be entirely a Mort Bay project, so some verbage may be old and my choice of "Jetty Project" in the proposed text was obviously not the best. I do not believe we are doing anything contrary to the licences and we are obviously willing to update the NOTICE file to something more appropriate. If you worked with us rather than scolded us, we may get to acceptable text sooner rather than later.

waynebeaton commented 4 years ago

The top of the NOTICE file should look something like this:

Notices for Eclipse Jetty

This content is produced and maintained by the Eclipse Jetty project.

Trademarks

Eclipse Jetty, and Jetty are trademarks of the Eclipse Foundation.

Copyright

All content is the property of the respective authors or their employers. For more information regarding authorship of content, please consult the listed source code repository logs.

Declared Project Licenses

This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 1.0 which is available at http://www.eclipse.org/legal/epl-v10.html, or the Apache License, Version 2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0.

SPDX-License-Identifier: EPL-1.0 OR Apache-2.0

and should include a cryptography statement.

Cryptography

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

When others add their IP to a file, append "and others" to indicate the shared copyright.

gregw commented 4 years ago

See #4395

joakime commented 4 years ago

I think we should reopen this as the license header blocks still haven't been talked about or addressed. Should they include the "and others" language that is mentioned everywhere?

gregw commented 4 years ago

Let's add the "and others" during our happy new year commit to update the dates.

joakime commented 4 years ago

Opened PR #4456 for this "and others" on the source headers.

sbordet commented 4 years ago

Done in de890bb1b711cb000e72aae75ce9a7437e8529ae.