graduate from osgeo - STEMLab/geotools GitHub Wiki

  • Motivation: OSGeo graduation

  • Contact: Jody Garnett Adrian Custer

  • Tagline: The last step for OSGeo graduation

Resources:

Content:

Description

2008

The board has met and approved a letter for us to sign:

GeoTools IRC Meeting of January 21, 2008 accepted this document and made the decision to go ahead. After email discussion, Jody Garnett made the decision to require new contributors to sign this document prior to handing out svn access.

2007

Adrian Custer's work leading up to this proposal is found here: Geotools Legal Review

We have received conflicting advice from different board members (along the following lines):

  • Leave (c) with individual developers (50% of the OSGeo projects are doing this). OSGeo then licenses Geotools like any other user. Geotools might choose to formalize this by adding the explicit list of (c) holders in each file.
  • Assign (c) to an organization (the other 50% are doing this). This is our current plan ... assigning (c) to OSGeo. An alternative version of this plan could be to assign (c) to the FSF Europe using their 'Fiduciary Licensing Agreement'.
  • Mark the (c) down to a fictional group (ie status quo where (c) GeoTools PMC is used); this is what PostgreSQL has gone on and it has not prevented investment from the likes of Sun. The end result of this option is similar to the first option: you can never change the license without contacting all the developers; and the record of the developers is to be found in version control.

2006

The providence review of all the files has previously been done to identify the origin and license terms of the files and find any problem areas. These issues have all been marked.

A key remaining step is to resolve the copyright situation of the code base. When this is resolved, Geotools can undertake the final sweep of the code and update the headers in all the files. The working assumption was that the new headers would all assign copyright, at least in part, to the Open Source Geospatial Foundation. As part of this change, it was assumed that many developers would sign a document formally assigning the contributor's copyright over to OSGeo.

Status

This proposal has been slapped together based on a number of recent irc meetings. Apparently much of the initial communication we had with the OSGeo board was complicated by talking with their legal representative at the time. Completing our graduation requirements may be as simple as:

  1. Signing a Code Contribution Agreement
  2. Updating our headers to have an OSGeo copyright and updating the providence review.txt files

During the IRC meeting of 21 January 2008, a show of hands indicating who would be willing to assign their copyright to OSGeo was taken. The request was: "+1 is "I'm willing to assign my copyright to OSGeo" 0 is "I don't care" -1 is "no way josé" " as can be seen in the IRC logs. That show of hands resulted in the following:

Community support:

Also, Chris Holmes had indicated that The Open Planning Project would be willing to sign such an agreement and Paul Ramsey had indicated that Refractions Research, Inc. would as well. So the decision has been to go forward with the OSGeo agreement.

Left unresolved during this meeting was the question of whether to force future contributors to sign the agreement or not, with several people suggesting that would be a good idea.

After email discussion, Jody Garnett went ahead with the assumption; we are no longer accepting new contributors until the sign and send in the contributors agreement. Adrian Custer was kind enough to update the developers guide

Tasks

Get a Contributors Agreement and Sign it

  1. :white_check_mark: acuster: Attend November 2nd OSGeo Board Meeting, ask board for a direction they are comfortable with.

  2. :white_check_mark: osgeo: Review and Approve the contributors agreement http://wiki.osgeo.org/index.php/Thirty_Second_Board_Meeting

  3. :white_check_mark: acuster: Confirm direction with geotools community Proposal to assign our copyright to OSGeo, with attach sample contributor agreement.

  4. :white_check_mark: jgarnett: write up a letter to send to code contributors

  5. :white_check_mark: Obtain contact information by:

  6. :white_check_mark: Code contributors: signs documents and sends them as a FAX to OSGeo central

  7. :white_check_mark: Shut off svn access for members who have not signed by end of March

    • Access list available here: GeoTools Contributor Status
    • Some members have asked for more time, we will check with osgeo central just before graduation and do a final cut

Update Headers

  1. module maintainers: update header as shown

    • cql providence review
    • ....
  2. Update plugins headers

    • geometry module providence review (important!)
    • ...
  3. Update extensions headers

    • ...
  4. Update unsupported headers

    • ...

It would make sense to refresh the providence review at this time; basically a manual sanity check of header information. Particularly important for new modules listed above.

Out of Scope - Update License

We are only worried about OSGeo Graduation (signing the contributors agreement and updating our headers by hand as part of a providence review). Changing license to LGPL3 is out of scope. If we update our license in the future chances are we can do it with a search and replace (something that is not an option here).

API Changes

Updating a Normal Header

Normal Headers are a mix of boiler plate, initial (c) holders and some license information.

  1. The only thing we do to the file is to replace every (C) holders that signed the copyright assignment by a single a line:
    (C) 2008, Open Source Geospatial Foundation (OSGeo)
  2. Add a line to the review.txt file saying the package name and that you updated headers
  3. Update the review.txt file with your name and the date (so we don't duplicate work)

BEFORE

/*
 *    GeoTools - OpenSource mapping toolkit
 *    http://geotools.org
 *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
 *    (C) 2004, Refractions Research Inc (RRI)
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.catalog;

AFTER

/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 *
 *    (C) 2004-2008, Open Source Geospatial Foundation (OSGeo)
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.catalog;

Updating an Empty Header

Empty Headers are something that was probably just added to the library

  1. We need to add the full header here; you can use svn history to check on the initial date and author
  2. Make a note of this file in the review.txt; if there are many files just list the package name as containing new files
  3. Update the review.txt file with your name and the date (so we don't duplicate work)

BEFORE

package org.geotools.demo.example;

AFTER

/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 *
 *    (C) 2008, Open Source Geospatial Foundation (OSGeo)
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.

 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.demo.example;

Updating Something Odd

Something Odd is usuall one of three things:

  • A non LGPL license (happy fun ball license comes to mind)
  • A developer without a signed code contribution agreement

Once again:

  1. Confirm that the License.TXT file matching this header exists (and it is bundled with our distribution)
  2. Add the usual line:
    (C) 2008, Open Source Geospatial Foundation (OSGeo)
  3. Make a note of this file in the review.txt; along with the issue
  4. Send an email to the developer author (some have given us permission to fix the license; others wont)
  5. Update the review.txt file with your name and the date (so we don't duplicate work)

If the license really does not work (ie is non open source), down check the entire module and strip it from the pom.xml build.

BEFORE

/*
 *    Geotools2 - OpenSource mapping toolkit
 *    http://geotools.org
 *    (C) 2004-2006, Geotools Project Managment Committee (PMC)
 *    (C) 2002-2004, Dennis M. Sosnoski.
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 */
/*
   Copyright (c) 2002-2004, Dennis M. Sosnoski.
   All rights reserved.
   Redistribution and use in source and binary forms, with or without modification,
   are permitted provided that the following conditions are met:
 * Redistributions of source code must retain the above copyright notice, this
      list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
 * Neither the name of JiBX nor the names of its contributors may be used
      to endorse or promote products derived from this software without specific
      prior written permission.
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

AFTER

/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 *
 *    (C) 2008, Open Source Geospatial Foundation (OSGeo)
 *    (C) 2002-2004, Dennis M. Sosnoski.
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
/*
   Copyright (c) 2002-2004, Dennis M. Sosnoski.
   All rights reserved.
   Redistribution and use in source and binary forms, with or without modification,
   are permitted provided that the following conditions are met:
 * Redistributions of source code must retain the above copyright notice, this
      list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
 * Neither the name of JiBX nor the names of its contributors may be used
      to endorse or promote products derived from this software without specific
      prior written permission.
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package org.geotools.feature;

Documentation Changes

Please list the pages effected by this proposal.

Developers Guide:

OSGeo Wiki: