GeoTools / GeoServer PMC meeting - 2025-04-22Attending


* - Torben Barsballe- Andrea Aime- Kevin Smith- Jody Garnett- Gabriel
Roldan*Actions from prior meetings:


* - [image: non selezionata]gabe: some small update for dev guide, updating
conf.py by hand no longer needed- [image: non selezionata]Discuss var and
lombok next time- [image: non selezionata]Volunteer needed: postgis testing
github workflow action- [image: selezionata]aaime: geoserver-release-docker
add docker prune - check in next week to see if it’s working-
https://build.geoserver.org/view/release/job/geoserver-release-docker/1823/console
<https://build.geoserver.org/view/release/job/geoserver-release-docker/1823/console>
reclaimed 1.2 GB, looks like its working- [image: selezionata]Torben: Ask
on Dev list if others use components*Agenda



* - GeoServer 3- CITE and funding- GeoServer LTS- var and lombok*Actions




* - [image: non selezionata] *GeoServer 3











*Crowdfunding Phase 1 complete (pledge), time to move phase 2 (collection
and actual working on GeoServer 3).Thanks everyone so much for your
support! We have met our funding target to start GeoServer 3 development in
May! More funds are still very much appreciated and will be used to achieve
more.Stay tuned, we are very excited!So where to start. Milestone 1 goals
are ready to be worked: 1. ImageN is the top priority and we are looking at
an online sprint the last week of May. The project will need to be
restarted ahead of the sprint to ensure everyone available has access to
the codebase. Jody will be taking point on restarting the project, as
Andrea pulls together the plan of what is needed where. We intend to use
github project board. May 26-May 30th online ImageN sprint2. We are really
looking forward to catching up OAuth2 work at the start of May. Very
thankful to Andreas Watermeyer to create the new modules and we plan to
integrate them in the code base. See also
https://github.com/geoserver/geoserver/pull/7968
<https://github.com/geoserver/geoserver/pull/7968>We’ll also need to look
at the new developments in the old OAuth2 modules.3. Gabe is ready to start
on project and build support, including setting up a geotools
bill-of-materials to help make upgrading dependencies easier across the
project status.  While we were very successful writing refactoring scripts
with ant for the OpenGIS Harmonization … it was labour intensive. This time
Gabe will be looking at open rewrite scripts for GeoTools update..
Potential recipe here
<https://docs.openrewrite.org/running-recipes/popular-recipe-guides/migrate-to-java-17>.
General approach: We are going to do as much milestone 1 work in GeoServer
2.28 as we can.We will make a dev branch for GeoServer 3 during milestone 2
(when we freeze the codebase).*CITE and funding
















*CITE certifications cost based on size of organization
<https://www.ogc.org/how-our-compliance-program-works/> ($25k to $600) …
OSGeo agreement  has negotiated the lower “member” cost of $150. This is
for an “annual license fee” of the CITE sticker and words.Standards we’d
have to pay for ($150 for each): - GeoPackage 1.2- WMS 1.1.1- WMS 1.3.0-
OGC API - Features 1.0- WFS 1.1.0- WFS 2.0We have several options for CITE
certification now that we pass tests! - Option: $450 to be certified on the
important standards WMS 1.3.0, WFS 2.0, and OGC API - Features - Option:
$900 for GeoServer 2.27.0 certification of everything we have passing added
GeoPackage, WMS 1.1.1, WFS 1.1.0Q: CITE is an annual certification, but we
plan two major releases a year? Not sure what that means for costs…Annual
cost? OSGeo wiki talks about it
<https://wiki.osgeo.org/wiki/OGC_Certification_Services>.Q: How to reduce
costs?Be a reference implementation; so can try to prioritize.Q: Do we have
money?Yes, from prior sponsors. But we should be upfront with our community
that if this has value we need funding for this activity as it is not
free.action: - [image: non selezionata]jody: Invite Angelous to next
GeoServer meeting to ask questions, and ask the questions above.*GeoServer
LTS








*Idea: - Have an LTS that lives 2 years- Make this in line with Java
release model…- Java 17 release in 2021- Java 21 release in 2023- And and
EU Cyber Resilience acts and so on ..- Have a short lived release every 6
months, that will live only those six months- Alternate release:- One month
LTS- The next month the short lived release- RepeatFeedback: - This would
reduce backports of “new functionality” and may slow down the entire pace
of the project- new extension kind of thing is easy to backported this
would need to be emphasis for development going forward- but changes to
core are harder to backported without affecting stability- If we only had
security updates backported, would not expect people to use the LTS- But
security updates like a wicket upgrade would not be possible to backport
without touch stability*var and lombok

var is fun to write, but harder to read, why did they do this to us!

   -

   Can we get rid of var?
   Yes there is a PMD rule
   <https://pmd.github.io/pmd/pmd_rules_java_codestyle.html#useexplicittypes>,
   but we should talk before enforcing this
   (the rule just reduces use, but allows for literals and collections
   where it is very clear)
   -

   Java style guideline for java
   <https://openjdk.org/projects/amber/guides/lvti-style-guide> has a good
   discussion,
   accept that this relaxes the code to interface idea, since this is a
   local variable.
   warning: if you start adopting type of variable in the variable name you
   have gone too far!
   -

   So what is the problem, when using var to define a local variable from a
   method call .. can be very difficult to understand what object you ended up
   with.


Q: Have we tested the PMD rule?

Use ExplicitTypes rule would pass just fine, we only have a dozen case in
GeoSever.

OpenRewrite transforms would introduce var in lots of places:

   -

   introduce var for referenced typed variables
   -

   introduce var for local primitive is more problematic
   -

   it’s a case by case situation that would have different developers
   decide in different ways. Problematic for PR review


GeoServer Cloud uses it?

   -

   Gabe was surprised to see 90 uses… agrees not suited for a project with
   many committers


Action:

   - [image: non selezionata]

   aaime: Make a PR for the PMD rule above forbidding usage of var, and
   update the style guide


lombok project <https://projectlombok.org>:

   -

   quick way to make beans using annotations
   -

      getters and setters
      -

      equals and hashcode (actually of benefit as it notes new fields)
      -

   others are trouble: var and val
   -

   vastly reduces use of boilerplate code
   -

   geonetwork 5 codebase is much better because of use of lombok reducing
   lots of boilerplate code
   -

      careful: did have some poor interaction between generated getters and
      setters and PMD rules checking generated bytecode (requires PMD 7 recent
      releases)
      -

   idea: whitelist annotations that we want to use, forbid others


Approach: just allow it, or start doing as a migration.
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to