[Geoserver-devel] Moving code from GeoServer to GeoTools

[Repurposing and renaming a thread from geotools-users:]

On 13/05/12 16:49, Andrea Aime wrote:

On Sun, May 13, 2012 at 4:03 AM, Michael Bedward
<michael.bedward@anonymised.com> wrote:

Thanks for the pointer to the GeoServer legend creation code David. If
acceptable, and feasible, it would be really useful to move this into
GeoTools at some stage - perhaps to sit in gt-main or gt-render.

Sure. GeoServer has a history of contributing back to GeoTools everything that
is not network service specific, so I believe you backporting the legend code
and making it useful for other apps too would be something welcomed indeed

The only formality is that, because GeoServer is a GPL project and GeoTools is an LGPL project, moving code from GeoServer to GeoTools requires the agreement of TOPP (or the original contributor). The code must be a new contribution to avoid contaminating GeoTools with the requirements of the GPL. Using TOPP means not having to track down the original authors.

This kind of cross-project refactoring is a good thing, but in my view we need to preserve the separation of licences. For example, I can't just grab a chunk of GeoServer and commit it into the GeoTools repo and say "whatever, it is all open source".

I am tempted to treat OpenGeo staff as being able to approve this, but I am not a lawyer and I don't know if TOPP and OpenGeo are as indistinguishable as I would like to pretend. Could this be as easy as making sure an OpenGeo employee approves the transfer by making a comment on the Jira issue for the GeoTools patch based on GeoServer? Would this be sufficient to make the GeoTools patch a new contribution assigned to OSGeo?

Chris, would you care to comment?

Kind regards,

--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

On Mon, May 14, 2012 at 3:55 AM, Ben Caradoc-Davies
<Ben.Caradoc-Davies@anonymised.com> wrote:

This kind of cross-project refactoring is a good thing, but in my view we
need to preserve the separation of licences. For example, I can't just grab
a chunk of GeoServer and commit it into the GeoTools repo and say "whatever,
it is all open source".

It is my understanding that if you're the sole author of a particular
piece of code
you retain the right to re-license it without having to get approval from
The Open Planning Project (that is, you give TOPP the copyright without losing
yours, might be wrong here).

Generally speaking we never had an automatic mechanism like you describe
though, to put it in place I believe we'd need quite a bit of red tape.

Cheers
Andrea

--
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

On 14/05/12 14:34, Andrea Aime wrote:

It is my understanding that if you're the sole author of a particular
piece of code
you retain the right to re-license it without having to get approval from
The Open Planning Project (that is, you give TOPP the copyright without losing
yours, might be wrong here).

Yes.

GeoServer contributors assign their copyrights to TOPP:

"For good and valuable consideration, receipt of which I acknowledge, I, ___________________,
hereby transfer to The Open Planning Project ("TOPP") my entire right, title, and interest (including all
rights under copyright) in the program GeoServer (“Program”), including original code, accompanying
documentation and supporting files, changes and enhancements to the Program code and accompanying
files, and all future modifications of the Program code and accompanying files, subject to the conditions
below."

Then TOPP licences it back to you for any purpose:

"TOPP hereby grants me a royalty-free non-exclusive license to use or sub-license the Work
assigned hereunder (i.e., if I am assigning changes and enhancements to the Program to TOPP, the license
granted by TOPP to me is only for those changes and enhancements to the Program I assigned, it is not for
the Program which I changed or enhanced itself) for any purpose. TOPP's rights shall otherwise continue
unchanged."

And so you should be able to sublicence it to OSGeo. I think this is what the second quote means. I'm not sure if you can assign your copyright again, as you no longer have it. But I am not a lawyer.

My point is that the original author should be able to copy code from GeoServer to GeoTools, and TOPP should be able to authorise such copying, but in general, other developers cannot. To do so would allow rogue developers to sneak out from the clutches of the GPL (imagine some committing all of GeoServer into the GeoTools repo so they could claim it as LGPL).

Generally speaking we never had an automatic mechanism like you describe
though, to put it in place I believe we'd need quite a bit of red tape.

I think it is an issue that should be addressed. If we go to the effort of getting contributor agreements, then this issue should be addressed.

--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

Hey, apologies for a bit of a delay on response to this.

So for me TOPP is just the entity that holds copyright, and it’s up to the PSC to decide any changes to that copyright. So I don’t think I’d feel comfortable with any OpenGeo employee saying it’s ok, unless it’s the express wish of the PSC.

Now OpenGeo policy has always been to push the code to the lowest level of libraries as possible, and that any code written for GeoServer is available for GeoTools if people want to port it. And I feel comfortable giving that approval to OpenGeo employees, and to anyone else who wants to take OpenGeo code.

I think the thing to do is have the PSC set a policy on migrating code from GeoServer to GeoTools. I think it could set some threshold under which moving code over is pre-approved, and that larger commits should ask the PSC? I don’t think it has to be a ton of red tape, just a GSIP that we adopt. And then TOPP can reiterate that somehow officially, and not have to ask every time.

For this case in particular, if we want to move faster, I feel comfortable approving the porting of all code done by OpenGeo employees on OpenGeo time to GeoTools. It looks like Simone also did some of the work, so I’d say if he is also comfortable with porting it over then we have approval. Or we can ask the PSC.

Chris

On Mon, May 14, 2012 at 3:16 AM, Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com> wrote:

On 14/05/12 14:34, Andrea Aime wrote:

It is my understanding that if you’re the sole author of a particular
piece of code
you retain the right to re-license it without having to get approval from
The Open Planning Project (that is, you give TOPP the copyright without losing
yours, might be wrong here).

Yes.

GeoServer contributors assign their copyrights to TOPP:

“For good and valuable consideration, receipt of which I acknowledge, I, ___________________,
hereby transfer to The Open Planning Project (“TOPP”) my entire right, title, and interest (including all
rights under copyright) in the program GeoServer (“Program”), including original code, accompanying
documentation and supporting files, changes and enhancements to the Program code and accompanying
files, and all future modifications of the Program code and accompanying files, subject to the conditions
below.”

Then TOPP licences it back to you for any purpose:

“TOPP hereby grants me a royalty-free non-exclusive license to use or sub-license the Work
assigned hereunder (i.e., if I am assigning changes and enhancements to the Program to TOPP, the license
granted by TOPP to me is only for those changes and enhancements to the Program I assigned, it is not for
the Program which I changed or enhanced itself) for any purpose. TOPP’s rights shall otherwise continue
unchanged.”

And so you should be able to sublicence it to OSGeo. I think this is what the second quote means. I’m not sure if you can assign your copyright again, as you no longer have it. But I am not a lawyer.

My point is that the original author should be able to copy code from GeoServer to GeoTools, and TOPP should be able to authorise such copying, but in general, other developers cannot. To do so would allow rogue developers to sneak out from the clutches of the GPL (imagine some committing all of GeoServer into the GeoTools repo so they could claim it as LGPL).

Generally speaking we never had an automatic mechanism like you describe
though, to put it in place I believe we’d need quite a bit of red tape.

I think it is an issue that should be addressed. If we go to the effort of getting contributor agreements, then this issue should be addressed.


Ben Caradoc-Davies Ben.Caradoc-Davies@anonymised.com
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

Hey, apologies for a bit of a delay on response to this.

So for me TOPP is just the entity that holds copyright, and it’s up to the PSC to decide any changes to that copyright. So I don’t think I’d feel comfortable with any OpenGeo employee saying it’s ok, unless it’s the express wish of the PSC.

Now OpenGeo policy has always been to push the code to the lowest level of libraries as possible, and that any code written for GeoServer is available for GeoTools if people want to port it. And I feel comfortable giving that approval to OpenGeo employees, and to anyone else who wants to take OpenGeo code.

I think the thing to do is have the PSC set a policy on migrating code from GeoServer to GeoTools. I think it could set some threshold under which moving code over is pre-approved, and that larger commits should ask the PSC? I don’t think it has to be a ton of red tape, just a GSIP that we adopt. And then TOPP can reiterate that somehow officially, and not have to ask every time.

For this case in particular, if we want to move faster, I feel comfortable approving the porting of all code done by OpenGeo employees on OpenGeo time to GeoTools. It looks like Simone also did some of the work, so I’d say if he is also comfortable with porting it over then we have approval. Or we can ask the PSC.

Chris

On Mon, May 14, 2012 at 3:16 AM, Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com> wrote:

On 14/05/12 14:34, Andrea Aime wrote:

It is my understanding that if you’re the sole author of a particular
piece of code
you retain the right to re-license it without having to get approval from
The Open Planning Project (that is, you give TOPP the copyright without losing
yours, might be wrong here).

Yes.

GeoServer contributors assign their copyrights to TOPP:

“For good and valuable consideration, receipt of which I acknowledge, I, ___________________,
hereby transfer to The Open Planning Project (“TOPP”) my entire right, title, and interest (including all
rights under copyright) in the program GeoServer (“Program”), including original code, accompanying
documentation and supporting files, changes and enhancements to the Program code and accompanying
files, and all future modifications of the Program code and accompanying files, subject to the conditions
below.”

Then TOPP licences it back to you for any purpose:

“TOPP hereby grants me a royalty-free non-exclusive license to use or sub-license the Work
assigned hereunder (i.e., if I am assigning changes and enhancements to the Program to TOPP, the license
granted by TOPP to me is only for those changes and enhancements to the Program I assigned, it is not for
the Program which I changed or enhanced itself) for any purpose. TOPP’s rights shall otherwise continue
unchanged.”

And so you should be able to sublicence it to OSGeo. I think this is what the second quote means. I’m not sure if you can assign your copyright again, as you no longer have it. But I am not a lawyer.

My point is that the original author should be able to copy code from GeoServer to GeoTools, and TOPP should be able to authorise such copying, but in general, other developers cannot. To do so would allow rogue developers to sneak out from the clutches of the GPL (imagine some committing all of GeoServer into the GeoTools repo so they could claim it as LGPL).

Generally speaking we never had an automatic mechanism like you describe
though, to put it in place I believe we’d need quite a bit of red tape.

I think it is an issue that should be addressed. If we go to the effort of getting contributor agreements, then this issue should be addressed.


Ben Caradoc-Davies Ben.Caradoc-Davies@anonymised.com
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

On Tue, May 15, 2012 at 11:51 PM, Chris Holmes <cholmes@anonymised.com> wrote:

For this case in particular, if we want to move faster, I feel comfortable
approving the porting of all code done by OpenGeo employees on OpenGeo time
to GeoTools. It looks like Simone also did some of the work, so I'd say if
he is also comfortable with porting it over then we have approval. Or we can
ask the PSC.

Which I already did a few days ago collecting, so far, 6 positive votes:
http://osgeo-org.1560.n6.nabble.com/PSC-Motion-allow-porting-portions-of-GetLegendGraphics-back-to-GeoTools-td4974361.html

I guess we can consider it approved?

Cheers
Andrea

--
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

Thanks, Chris, that sounds like an ideal solution.

On 16/05/12 05:26, Chris Holmes wrote:

I think the thing to do is have the PSC set a policy on migrating code from GeoServer to GeoTools. I think it could set some threshold under which moving code over is pre-approved, and that larger commits should ask the PSC? I don't think it has to be a ton of red tape, just a GSIP that we adopt. And then TOPP can reiterate that somehow officially, and not have to ask every time.

--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

Yup. Sorry for missing that email, sounds great.

On Wed, May 16, 2012 at 2:02 AM, Andrea Aime <andrea.aime@anonymised.com1268…> wrote:

On Tue, May 15, 2012 at 11:51 PM, Chris Holmes <cholmes@anonymised.com501…> wrote:

For this case in particular, if we want to move faster, I feel comfortable
approving the porting of all code done by OpenGeo employees on OpenGeo time
to GeoTools. It looks like Simone also did some of the work, so I’d say if
he is also comfortable with porting it over then we have approval. Or we can
ask the PSC.

Which I already did a few days ago collecting, so far, 6 positive votes:
http://osgeo-org.1560.n6.nabble.com/PSC-Motion-allow-porting-portions-of-GetLegendGraphics-back-to-GeoTools-td4974361.html

I guess we can consider it approved?

Cheers
Andrea


Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf