[Geoserver-devel] Request for feedback/guidance: moving TimeParser from GeoServer to GeoTools

Hi lists (sorry for cross-posting).

In GeoTools code I need some time parsing capabilities which are already available in GeoServer’s TimeParser (module: gs-ows).
https://github.com/geoserver/geoserver/blob/master/src/ows/src/main/java/org/geoserver/ows/kvp/TimeParser.java

ImageMosaic also have its own TimeParser which does something slightly different and lacks a couple of methods available on GeoServer’s one.

I’m evaluating the possibility to move the TimeParser from gs-ows to a GeoTools module, so that both GeoServer and ImageMosaic will depend on the same class. With this approach we can avoid duplicated code, duplicated tests and duplicated bugs (so things to be fixed in 2 different places).

Is it possible to do that? (any licensing issue here?)
If affirmative, what would be the right procedure to do that?

Would be JIRAs + PRs (including a deprecation of current TimeParser) enough for that?

Please, let me know what do you think about this.
Regards,

···

Daniele Romagnoli

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

On Tue, 22 Oct 2019 at 13:57, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Hi lists (sorry for cross-posting).

In GeoTools code I need some time parsing capabilities which are already available in GeoServer’s TimeParser (module: gs-ows).
https://github.com/geoserver/geoserver/blob/master/src/ows/src/main/java/org/geoserver/ows/kvp/TimeParser.java

ImageMosaic also have its own TimeParser which does something slightly different and lacks a couple of methods available on GeoServer’s one.

I’m evaluating the possibility to move the TimeParser from gs-ows to a GeoTools module, so that both GeoServer and ImageMosaic will depend on the same class. With this approach we can avoid duplicated code, duplicated tests and duplicated bugs (so things to be fixed in 2 different places).

This certainly seems like a good plan,

Is it possible to do that? (any licensing issue here?)

It is possible (i.e. we’ve done similar before) - there is a licencing issue as the code needs to go from GPL to LGPL but as OSgeo “owns” both code bases I don’t think it is an issue, I can’t recall how we dealt with the issue last time though.

If affirmative, what would be the right procedure to do that?

Would be JIRAs + PRs (including a deprecation of current TimeParser) enough for that?

Probably a GISP or at least a pair of Jiras. Andrea will know best! Not sure if GeoServer would need to deprecate the TimeParser, though GeoTools would certainly want to.

Ian

It is possible (i.e. we’ve done similar before) - there is a licencing issue as the code needs to go from GPL to LGPL but as OSgeo “owns” both code bases I don’t think it is an issue, I can’t recall how we dealt with the issue last time though.

Agreed, believe a PSC vote is required (unless one is the author of the code in question, which is not the case).

If affirmative, what would be the right procedure to do that?

Would be JIRAs + PRs (including a deprecation of current TimeParser) enough for that?

Probably a GISP or at least a pair of Jiras. Andrea will know best! Not sure if GeoServer would need to deprecate the TimeParser, though GeoTools would certainly want to.

Tickets only, deprecate class in GeoServer, make it extend the Geotools one, replace all calling places in GeoServer with the GeoTools one (aka search&replace imports) to
avoid QA deprecated calls build failing

Cheers
Andrea

···

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

It is possible (i.e. we’ve done similar before) - there is a licencing issue as the code needs to go from GPL to LGPL but as OSgeo “owns” both code bases I don’t think it is an issue, I can’t recall how we dealt with the issue last time though.

Agreed, believe a PSC vote is required (unless one is the author of the code in question, which is not the case).

Cool. Will that voting occur on the related JIRA (once created)?

Cheers,
Daniele

···

Regards,
Daniele Romagnoli

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

In the meantime I have created a couple of JIRA with some details:
GeoServer one, containing details

https://osgeo-org.atlassian.net/browse/GEOS-9379

GeoTools one
https://osgeo-org.atlassian.net/browse/GEOT-6409

Regards,
Daniele

···

Regards,
Daniele Romagnoli

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

Probably the email list here, make a motion and ask PSC members to respond?

We should be able to see a geotools example of donating code to JTS (here it is under formal correspondence).

···


Jody Garnett

Hi Jody,
thanks for the feedback.
I’m preparing the “motion” email.

Not 100% sure about the “donating code” formal correspondence to be used/prepared for that class with several contributors.
https://github.com/geoserver/geoserver/blob/master/src/ows/src/main/java/org/geoserver/ows/kvp/TimeParser.java

Are you going to setup a letter of support to grant permission to redistribute that GS code in GT, once the voting motion get a “good to go”?
Please, let me know if I need to do anything else.

Cheers,
Daniele

···

Regards,
Daniele Romagnoli

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

Hi Jody,
I sent the “motion” email and I have already get some votes on that.

Any additional feedback on my question above, about the “donating code” letter?
Kind regards,
Daniele

···

Regards,
Daniele Romagnoli

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

I think we only got that formal because JTS was concerned and subject to legal review.

As long as the PSC is happy with the email exchange and votes I say you are good to go.

···


Jody Garnett