Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change copyright notice of donated copyright code #355

Closed
wants to merge 1 commit into from

Conversation

andrew-dwyer
Copy link

OpenGeo/Boundless donated copyright of GWC code to OSGeo in 2014.
Update all headers where it can be determined that the code was contributed by OpenGeo or Boundless.

I ran Kevin's ruby script to update the copyright of the matching files. Original discussion here. I'm not sure how Arne's comments on editing the copyright date affect these changes?

@jodygarnett @smithkm @arneke

OpenGeo/Boundless donated copyright of GWC code to OSGeo in 2014.
Update all headers where it can be determined that the code
was contributed by OpenGeo or Boundless.
@arneke
Copy link

arneke commented Oct 23, 2015

(On the whole, this isn't a big deal, but when a script changes 159 files it does warrant a bit of extra nitpicking.)

I don't think the ruby script does the right thing. IANAL, but my suggestion would be to replace

@author X, The Open Planning Project, Copyright 2008

with

Copyright OSGeo 2008

@author X, The Open Planning Project

Jody, can you think of anyone at OSGeo that actually knows copyright stuff ?

From the readme of GCC, https://github.com/gcc-mirror/gcc

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.

Random example of a file that demonstrates this:
https://github.com/gcc-mirror/gcc/blob/master/libffi/src/arm/ffitarget.h

@smithkm
Copy link
Member

smithkm commented Oct 26, 2015

Sorry about the delay in commenting on this. It's been a bit hectic. When I wrote the script I based it on the way the headers were updated in GeoServer when it was donated.

https://github.com/geoserver/geoserver/blob/master/src/platform/src/main/java/org/geoserver/platform/ExtensionFilter.java#L2

@smithkm
Copy link
Member

smithkm commented Oct 26, 2015

Also I don't think @jodygarnett will be notified that you asked him a question unless you tag his name.

* Copyright OpenPlans 2008-2014
* Copyright OSGeo 2014
*
* @author Arne Kepp, The Open Planning Project
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This look fine, you covered everything that needed to be said.

I usually put the date near the copyright, and spell out the organization name:

 Copyright 2008-2014 Open Plans
 Copyright 2014 Open Source Geospatial Foundation

Or shorter

 (c) 2008-2014 Open Plans
 (c) 2014 Open Source Geospatial Foundation

But since you are doing the pull request you can make your own tradition.

@jodygarnett
Copy link
Contributor

I should be able to answer any questions you got for OSGeo.

@arneke
Copy link

arneke commented Oct 27, 2015

@smithkm thanks for the heads up on the notification

@jodygarnett I agree it looks nice, it is a mixed changelog of contribution and ownership which tells a story.

But you haven't justified or provided any references to suggest your usage of copyright year is technically correct ?

It is hard to find good sources that nail this issue, but here is a concise explanation of copyright year, even if it is from a source of unknown quality:
http://smallbusiness.chron.com/year-copyright-statement-mean-62027.html

Based on the source above, and the GCC document I linked to earlier, your suggestion would be interpreted as:

Copyright 2008-2014 Open Plans : Open Plans contributed to this file EVERY year from 2008 to 2014
Copyright 2014 Open Source Geospatial Foundation : OSGEO contributed to this file in 2014

These statements aren't true, and the copyright for whatever was done in 2008 hasn't really been transferred anywhere.

I think any of the following would be correct:
Copyright 2008 Open Source Geospatial Foundation

or if you put the same header in all files (those pertaining to TOPP anyway):
Copyright 2007-2015 Open Source Geospatial Foundation

The only reason to keep Open Plans in there is for sentimental reasons, and then it should probably be prefixed with "Donated by ..." or something like that.

@jodygarnett
Copy link
Contributor

Original comment:

I did not mean to delay this review. Almost anything with copyright a date
range and an organization name will work ;)

Updating this comment for @arneke (sorry for the short reply earlier I was mobile). My initial short reply was based on the patch accounting for everything needed in a header (a copyright, a date, and an party responsible).

The link provided was interesting, and agrees with my experience of file headers. I ask projects to be very careful with copyright as it is the tool we use to enforce our open source licenses.

Looking for four things:

  • copyright - an indication that the work is copyrighted (can be "copyright" or "(c)" )
  • a date, or date range indicating with the work was modified,
  • the name of the party asserting copyright (individual or organization). This is especially tricky when doing working on behalf of another party (such as an employee/employer, contractor/customer, volunteer/open source foundation). In each of these cases there will be an agreement in place (employment contract, work contract, contribution agreement).
  • an indication the work is being distributed under an open source license (either the complete license for something small like BSD, or a note of where the license terms can be obtained for GPL)

Optional:

  • author name and organization (tend to put this in the class javadocs for Java projects)
  • change log information (not especially interested "feels like working for IBM in the 90s). That said the initial author and date has proven very helpful to the GeoTools project IP reviews.

If the work has been changed from one organization to another (either by the code being donated or by copying code under an compatible open source license) then I expect to see a copyright statement (copyright+date+party) for each organization.

I see that this is the point you are concerned about.

  • I have worked on some projects where they update the headers of all files at the start of each year. This is probably the right thing to do (since you could consider the source code "published" on GitHub).
  • Other projects just update the headers as each file is changed (since unmodified files have already been published so in a sense they are not being published a second time). This "missed out" on an opportunity to extend copyright, but since source code changes so much more frequently copyright term.
Copyright 2008-2014 Open Plans : Open Plans contributed to this file EVERY year from 2008 to 2014

I treat this as the file being created in 2008 and last modified in 2014 (by the organization OpenPlans). The work was published each year in that range (as part of a release) so your interpretation is valid.

Copyright 2014 Open Source Geospatial Foundation : OSGEO contributed to this file in 2014

This is when the file was first published by the Open Source Geospatial Foundation. This should become a date range as the file is modified.

We have this same situation when including code form other projects. Specifically when reusing code from another project the original file header information should all be there (even you have to add a copyright for your additions into the mix). In this case a "new" GeoWebCache project is being started up ( copyright 2014 OSGeo) based on the "old" GeoWebCache project ( copyright 2008-2014 ). We are updating the header with the new organization name, leaving the original header intact.

In the case of GeoWebCache copyright has been transferred (a formal letter was sent between the organizations). For your comment that "Open Plans in there is for sentimental reasons", I think it is more a case of habit based on the far more common case of reusing code between projects.

@arneke
Copy link

arneke commented Oct 29, 2015

@jodygarnett It is a shame you're not willing to provide any justification for your statements. It makes it really hard to decide whether you understand how copyright law works, or whether you just want to sweep that GSIP under the rug as quickly as possible.

@jodygarnett
Copy link
Contributor

@arneke what is GSIP? I can think of "GeoServer Improvement Process" but that is probably not what you meant?

This issue describes OpenGeo/Boudless donating to OSGeo. The organization was actually OpenPlans (formally known as The Open Planning Project ).

@smithkm
Copy link
Member

smithkm commented Oct 29, 2015

@andrew-dwyer Sorry that what was supposed to be an easy first PR ended up as a discussion of correct copyright notice format. If you'd prefer to work on something a bit more interesting and less contentious, I can deal with making any changes Arne and Jody end deciding are necessary once thy come to an agreement while you grab something from the bug tickets. If you want to see this through I certainly won't complain.

@arneke
Copy link

arneke commented Oct 30, 2015

@jodygarnett The example you proposed in GSIP-118 is the basis for the script smithkm wrote.

Either way, it doesn't matter where it came from, since you've already reiterated it here. So please stop going on tangents (I worked for TOPP when it became OpenGeo) and focus on the issue: What does the copyright year mean , and why do you think so ?

I second the apology to @andrew-dwyer ;)

@arneke
Copy link

arneke commented Oct 30, 2015

@jodygarnett Ok, I'm not sure when you updated your comment or when I last loaded the page, but thanks for doing it.

So our disagreement is that you emphasise "the work was published each year in that range", and I don't think that publishing matters at all (apart from the very first publication, usually equals copyright year). Only significant contributions / modification warrant a new copyright year. Publishing (i.e. rolling a release) by itself does not extend any rights.

Example:
Hemingway wrote A Farewell to Arms in 1928-1929. It has been republished with new forewords just about every year in the last decades, but the copyright is still based on the first publication 1929 and I believe (but I'm actually not sure) it is now in the public domain. If they wrote 1929-2015 in the copyright then noone would know a) when the copyright expired, or b) which copyright law actually applied, since the US law was revised in 1967 and 1998 which applies different rules for works copyrighted after those years.

With respect to headers you are saying this is the same situation as copying code from other projects, but it is not. Copying text into a file is about two different pieces of code in the same file. You insert the copyright from the source, and you don't change the year unless you go back and copy a newer version.

That is a completely different situation from transferring copyright. When you transfer the code is the same as before (no reason to update the year), but the code is now owned by a new entity. The old entity, TOPP, has rescinded all ownership. Therefore it shouldn't be in the header either, because it is of concern to noone.

I agree that "Copyright 2007-2015 SOME.ORG" in every file is a valid way of writing copyright headers for a project if you do it from the start of the project and ensure SOME.ORG somehow retains all copyright.

Your suggestion to do it at this point doesn't work, in my opinion, because even if you can argue for "2007-2015" there's no single "SOME.ORG" you can put at the end of that line. E.g. there are significant contributions from Boundless that I understand are not covered by the donation.

So that forces us to go back to updating just the TOPP / OpenGeo lines on a per-file basis, and as I've argued initially I don't think the copyright year should be changed. This boils down to whether publishing justifies a new copyright year (, and if that were the case then it is unclear whether OSGeo or smithkm / Boundless is the publisher).

@jodygarnett
Copy link
Contributor

Thanks for the discussion @arneke (and sorry if I gave any offence with my initial short reply). I agree that initial file creation is the most significant data point, and we can hold off updating the headers for publishing.

The situation of copying code from other files is completely - it is just one we are comfortable with (and happens more often). I agree that with the letter in place we can change TOPP to OSGeo and call this job done (no need to keep TOPP in the copyright). The initial file creation (author and organization) should not be changed.

@andrew-dwyer
Copy link
Author

@smithkm No problems. I'll leave this PR to you. I'll take a look at the list of issues and grab something to work on.

@jodygarnett
Copy link
Contributor

Based on clarification from OSGeo legal you are right @arneke - closing this pull request.

@jodygarnett jodygarnett closed this Oct 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants