Open yanokwa opened 7 years ago
I think you need a intellectual property lawyer.
Historically, each file has been considered an individual document, which led to the need for a copyright (claim of ownership) at the top of it -- and also the need for the license at the top (granting free use without assumption of liability). I don't think anything can change that, so I think you still need both, otherwise how can you know upon whose authority the license has been granted? Lawyer would know.
I agree that attribution is best left to git blame and a contributors notice.
I think this is why Apache and other projects require contributors to submit legal release documents. Then the files can have Copyright The Apache Software Foundation and not get cluttered with subordinate copyrights for each change.
Disclaimer: I also am not a lawyer, however I have worked with open source focused lawyers on similar questions via multiple FOSS projects. Don't take legal advice from me.
I agree with Yaw's list of 3 problems, and also support the ideas behind his proposed solution. Many if not most files in open source projects are collective works made and evolved by several authors (i.e., several copyright holders). There is an agreement (implicit or otherwise) between those copyright owners who contribute to Project X and the Project's maintainers, that they have the legal authority to submit their contributions in an unencumbered way. Traditionally, this may be done in one of multiple ways:
The "default path" that I typically see these days is what's known in the field as "license in = license out", where the creator of the original or modified work is licensing that work under a Free or Open Source license compatible with the license that the project (e.g. ODK & APL) wants to use to combine all of the smaller works to create their "software product".
There may be exceptions requiring additional agreements, such as work made for hire, or where one's employer is sponsoring one's work on an open source project under a condition that they sign some type of agreement (either between the contributor and their employer, or between the contributor and the project).
And to clarify the comment from @mitchellsundt, Apache projects do not generally require contributors to sign a CLA -- only committers which is a higher level of responsibility/accountability within the project. Details here: http://permalink.gmane.org/gmane.comp.apache.legal.discuss/6064
Thanks for thinking about this often-tricky topic!
I do not think you can get rid of the copyright headers without some sort of agreement from previous parties (though again like everyone else not a lawyer) as the license says (http://www.apache.org/licenses/LICENSE-2.0)
4.c You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
Interesting find @wbrunette on 4.c. (I have limited experience with the specific requirements of the APL.) We can certainly ask some authorities to learn more about it!
@downeym Can you please find someone in your network (preferably from Apache) to provide a definitive answer? No point in IANALs arguing when we know lawyers.
@batkinson Do you know someone at Apache who knows if we can remove the copyright headers?
Sure @yanokwa, I will ask around to see if anyone has specific input on removal of copyright notices from headers in APL-licensed files. But anyone else with contacts should feel encouraged to do the same!
@yanokwa I will see if someone is willing to field it on legal-discuss. In the mean time you can see that the ICLA sections 2&3 say the signer is granting
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
From the src-headers document document, you can see that:
If the source file is submitted with a copyright notice included in it, the copyright owner (or owner's agent) must either:
- remove such notices, or
- move them to the NOTICE file associated with each applicable project release, or
- provide written permission for the ASF to make such removal or relocation of the notices.
You can also see that they say:
- Each source file should include the [APL] license header -- note that there should be no copyright notice in the header
So, specifically, what should I be asking? Something like this?
> To what extent can copyright notices on project files be modified/moved/removed?
> Who is able to do this?
I think the ask is...
Our goal is to give credit to contributors, but we also wish to avoid putting contributor names and long copyright notices in each file. We do not have a CLA or CAA. We do have a LICENSE file in the repo. We are glad to add a NOTICE file with a list of contributors who wish to have their names listed as contributors. Our former contributors are also likely willing to assign or license copyright to the project (or the public domain).
Assuming a LICENSE file exists in the repo, what, if any, is the minimum source header that is required by the Apache license? And what is best practice given our goals of minimizing copyright notices in individual files.
If individual files that have already been contributed have a copyright header, what is the best way to remove these headers while still giving credit to contributors?
Extensive copyright notices can be annoying when you're reading the code. But they can be valuable for those using and modifying the code to determine who wrote it and who might claim intellectual property rights in it. But other than one comprehensive copyright notice identifying the creator of the module-as-a-whole, other individual copyright notices are not legally required; they are just helpful.
All those copyright notices don't have to be at the beginning of the source code, although it is very helpful to have a short copyright notice in that known place. But you can move extensive attribution and other notices to the bottom of the source code or to the NOTICE file for the application. Just point to where these notices can be found. Will that avoid the "annoyance" to subsequent programmers?
Please don't think only about the few expert engineers who are reading the source code. There are others who may need that information. Asking engineers to page down through copyright notices is a small price to pay for complete authorship attribution that users and distributors might be interested in.
There is a group of lawyers and others working on an improved standard way to identify intellectual property interests in open source software. It is called SPDX. I mention this not because you have to follow that standard yet, but because it demonstrates that this is not just a problem with annoying copyright notices. There is legal importance to these issues involving many experts and some good solutions.
/Larry Rosen
"If this had been legal advice it would have been accompanied by a bill."
Lawrence Rosen Rosenlaw (www.rosenlaw.com) 3001 King Ranch Rd., Ukiah, CA 95482 Cell: 707-478-8932
Thanks, @LawrenceRosen! And in your opinion, do you see moving pre-existing copyright headers to the NOTICE file as a violation of 4c in the Apache License?
Hi @Yanokwa, no problem doing that. Until there is SPDX, the NOTICE file is a good place to aggregate such notices and they remain useful.
There are a few problems with the copyright headers on each file
None of this is necessary. Apache says.
I propose we get rid of the copyright headers on each file and instead have a NOTICE.md file that has an alphabetical list of names of contributors. The contribution guide will encourage contributors to add their names. And regardless of whether or not they choose to add their names, they still keep copyright (at least in US copyright law). And if we ever want to know who wrote what class, that's what
git blame
is for.