Skip to content

Commit 9594700

Browse files
authored
geoserver-3 progress updates (#269)
* geoserver-3 updates * Revise timeframes around GeoServer release schedule * Apply suggestions from code review
1 parent fe840df commit 9594700

File tree

2 files changed

+70
-48
lines changed

2 files changed

+70
-48
lines changed

_posts/2025-05-13-developer-update.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,24 +54,24 @@ Many thanks to prior sponsors of [this activity]({% post_url 2019-11-14-cite-tes
5454

5555
The big news is that GeoServer 3 crowdfunding campaign phase one has been successful, allowing the [project plan milestones](https://docs.google.com/document/d/1EmI1kDsqeoxB9GANiiaZy56RY0pWbl6GqD4fq8EJ4oo/edit?tab=t.0#heading=h.u9va0zovek8y) to be scheduled.
5656

57-
We are working around the GeoServer 2.28.0 release in September to avoid disruption to the project:
57+
We are working around the GeoServer release schedule to avoid disruption to the project:
5858

59-
* **Milestone 1 : Preparation** (May-July)
59+
* **Milestone 1 : Preparation** (May-September)
6060
Doing everything possible ahead of time before the migration to spring-framework-6.
6161

6262
Milestone 1 is already in progress, see the headings below for specific activities.
6363

6464
Milestone 1 activities will be taking place on the ``main`` branch ahead of the GeoServer 2.28 release.
6565
As tasks are completed, your feedback and continuous testing of nightly builds will be highly appreciated. **Please [chat to us](https://geoserver.org/comm/#discourse) about how you can automate the testing in your non-production environments.**
6666

67-
* **Milestone 2 : Migration** (August-October)
67+
* **Milestone 2 : Migration** (October-December)
6868
Requires a coordinated "code-freeze" across nine codebases migrating to spring-framework-6.
6969

7070
This activity is going to take careful planning, and we anticipate scheduling an in-person sprint for the migration.
7171

7272
While initial work may occur on a ``dev`` branch, GeoServer 3 will take over the ``main`` branch after the September release of GeoServer 2.28.0.
7373

74-
* **Milestone 3: Delivery** (November - December)
74+
* **Milestone 3: Delivery** (January-March)
7575
The moment we have the code-base working again, Milestone 3 activities include continuing the testing of nightly builds, checking integration with downstream applications, and feedback from anyone wishing to work on restoring a community module to GeoServer 3.
7676

7777
This pace allows GeoServer 3.0 to be ready in 2026 Q1, respecting our normal time-boxed [release cycle](https://geoserver.org/roadmap/).

sponsor/gs3-crowdfunding.md

Lines changed: 66 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -118,35 +118,44 @@ The [project plan](https://docs.google.com/document/d/1EmI1kDsqeoxB9GANiiaZy56RY
118118

119119
Yes, we have the flexibility to write your invoice against a specific deliverable outlined in the project plan.
120120

121-
The items in *Milestone 1 Preparation* are suitable to be funded by an individual contract:
121+
The items in *Milestone 1 Preparation* are independent deliverables suitable to be funded by an individual contract:
122122

123-
* These deliverables are required to start the migration to spring-framework 6.
123+
* The **Milestone 1** deliverables are required to start the migration to spring-framework 6.
124+
* Spring Framework Preparation / Java 17 build
125+
* Wicket 9 Content Security Policy / Wicket 9 Dialog
126+
* OAuth 2 Security modules
127+
* ImageN / JAI-Ext
124128
* Each item accomplishes a specific goal with a clear deliverable that can be pursued immediately.
125129

126-
Alternative: For organizations operating with an annual budget you may wish to fund an activity, such as ImageN, from Milestone 1 before year end.
130+
For organizations operating with an annual budget you may wish to fund a specific GeoServer 3 **Milestone 1** or **Milestone 2** activity.
127131

128-
* Spring Framework Preparation / Java 17 build
129-
* Wicket 9 Content Security Policy / Wicket 9 Dialog
130-
* OAuth 2 Security modules
131-
* ImageN / JAI-Ext
132+
* These deliverables will be accomplished within the context of the entire GeoServer 3 project.
133+
* We understand that funding a specific activity may be easier for your procurement process
132134

133-
Progress made on Milestone 1 activities reduce the target goal for Phase 2 **Funding Activation** and can be started immediately.
134-
135-
#### Q: Can my developers work in-kind on this activity?
135+
#### Q: Can my developers work in-kind on GeoServer 3?
136136

137137
Yes of course, the project steering committee shared [roadmap challenges]({% post_url 2024-01-03-roadmap%}) with an invitation for in-kind contributions at the start 2024.
138138

139-
At the time of writing:
139+
We are recommending in-kind contributions help out with Milestone 1 activities:
140140

141-
* Only one activity, spring-security update, has been started successfully. Visit the developer forum to discuss the next step on this activity.
142-
* The Wicket update was started but almost lost due to lack of review and testing. There are a number of tasks for Wicket 9 that are in need of assistance.
143-
* OAuth2 rewrite has started, and should be tested and adapted for use in different operational environments.
141+
* Andreas Watermeyer (ICT Digital Solutions) completed the spring-security 5.8 update for GeoServer 2.26.0, and outlined the replacement OAuth2 OIDC module.
144142

145-
The key ingredient here is the ability to focus for an extended period of time with access to individuals to test and review the results.
143+
The OAuth2 rewrite continues, and a new community module will be available for GeoServer 2.28.0.
144+
This work will need public testing in different operational environments.
145+
146+
* Brad Hards started the Wicket 8 update, which progressed into a Wicket 9 update for GeoServer 2.26.0.
147+
Thanks to David Blasby (GeoCat) helping write Wicket 9 Dialog replacement.
148+
The Wicket CSP Header restrictions were enabled for GeoServer 2.27.0.
149+
150+
This activity looks ready for Wicket 10 update in Milestone 2.
151+
152+
* The key ingredient here is the ability to focus for an extended period of time with access to individuals to test and review the results.
146153

147-
With this experience in mind we are recommending in-kind contributions help out with the activities above. These activities are from Milestone 1 and any progress made reduces the target goal for Phase 2 **Funding Activation**.
154+
Your team may also look at helping out in **Milestone 3**, picking up additional community modules not covered in the GeoServer 3 project plan.
148155

149-
Your team may also look at helping out in Milestone 3, picking up additional community modules not covered in the project plan.
156+
If you are in a position to devote in-kind resources to the project, and be scheduled for work alongside the GeoServer 3
157+
team, please contact [[email protected]](mailto:[email protected]) to offer your assistance and be
158+
listed as a supporting organization.
150159

151160
#### Q: What technologies need to be updated?
152161

@@ -156,41 +165,54 @@ The following updates are required for spring-framework-6, each update requiring
156165

157166
#### Q: Is there a deadline for GeoServer 3?
158167

159-
This activity is subject to pledges being acquired in Phase 1 and has no deadline.
160-
161-
From a team availability and risk standpoint we would love to start development in January in time for the GeoServer March release cadence.
162-
163168
Initial guidance was that Spring Framework 5.3 would be supported until December 2024. However that timeline was revised and support ended in August 2024.
164169

165170
As a result GeoServer team is running with some risk, and any security vulnerabilities reported for Spring Framework 5.3 will need to be mitigated rather than addressed.
166171

167-
#### Q: What happens if the funding goal is not reached?
168-
169-
The crowdfunding campaign will not collect any funds. The roadmap challenge for the GeoServer Project Steering committee remains.
170-
171-
Some ideas, and why the consortium have recommended crowdfunding:
172-
173-
1. The project can continue to make GeoServer 2 releases on Spring Framework 5.3, however we anticipate organizations losing operational authority as security vulnerabilities are announced.
174-
175-
As with the Log4J vulnerability a lot of funding/interest may be available very quickly if a serious issue arises, however the *Milestone 2 migration* still requires a sustained effort to accomplish.
176-
177-
This approach delays the effort until there is an actual emergency. The level of coordination required makes this activity unsuitable to be done in an urgent fashion. The **crowdfunding approach is recommended**.
178172

179-
2. The project could start a new GeoServer 3 branch, making GeoServer 2 releases concurrently as GeoServer 3 is developed.
173+
This activity was subject to pledges being acquired in Phase 1, and is now underway.
174+
With funding secured in 2025 Q2, our project plan is broken down by GeoServer release cadence:
180175

181-
The approach of splitting developer resources was recently used for GeoNetwork 3 / GeoNetwork 4 resulted in dividing the project resources for several years.
176+
**Milestone 1: Preparation**
182177

183-
During such a transition it is challenging for customers/service providers to set up contracts to work on a system that is not yet a fully functional drop-in-replacement. At the same time it is difficult to justify adding new functionality to the older release as any work done is subject to further migration costs.
184-
185-
This approach leaves everyone exposed to risk, and is not a good match with the consulting model of GeoServer service providers. The **crowdfunding approach with minimal disruption is recommended**.
186-
187-
3. The project could start a new GeoServer 3 application, delegating to a GeoServer 2 application as functionality is migrated.
178+
* GeoServer 2.26.0: September 2024
179+
180+
* Wicket 9: Migration
181+
* Wicket 9: Dialog
182+
* Spring Security 5.8
183+
184+
* GeoServer 2.27.0: March 2025
185+
186+
* Wicket 9: CSP
187+
* OGC API - Features
188+
189+
* GeoServer 2.28.0: September 2025
190+
191+
* Java 17 and Build Support
192+
* ImageN + JAI-Ext
193+
* OAuth2 Security Modules - available for testing
188194

189-
This approach is being started by GeoNetwork 4 / GeoNetwork 5 to accomplish their own Spring Framework 6 migration.
195+
**Milestone 2: Migration**
190196

191-
This approach is more complicated, requiring separate containers to run Java 11 and Java 21 environments concurrently. The increased complexity requires more funding; however the amount of work is spread out over time and can be achieved with a smaller team.
197+
* GeoServer 3.0 Nightly Builds: December 2025
198+
199+
* Spring Framework 6
200+
* Jakarata EE
201+
* Jetty 12
202+
* Wicket 10
203+
* Spring Security 6.3
204+
* OGCAPI Dispatcher
205+
* MapFish Print
206+
207+
**Milestone 2: Delivery**
192208

193-
This delegation approach may be suitable for the consulting model of GeoServer service providers. With the risk of using Spring Framework 5.3 being spread out over a longer period of time, the **crowdfunding approach is recommended**.
209+
* GeoServer 3.0: March 2026
210+
211+
* Environment: Tomcat 10
212+
* User interface: UX Refactor, GeoServer 3 theme
213+
* Integrations: GeoFence, GeoServer ACL
214+
* Downstream: MapStore, GeoNode, Cloud GeoServer
215+
* Community Modules: See project plan for community modules identified as of interest to supporting organizations
194216

195217
#### Q: Does this kind of expense happen often?
196218

@@ -214,12 +236,12 @@ MapStore, GeoNode and Cloud Native GeoServer have been prioritized by initial sp
214236

215237
#### Q: OGCAPI Features is mentioned, is this included in the GeoServer 3 crowdfunding activity?
216238

217-
Camptocamp is hosting a codesprint in early November 2024 on this topic and we anticipate having OGCAPI Features [ready in time](https://github.com/geoserver/geoserver/wiki/GSIP-230) for GeoServer 3.
239+
Camptocamp hosted a codesprint in early November 2024 on this topic and OGCAPI Features was [ready in time](https://github.com/geoserver/geoserver/wiki/GSIP-230) for GeoServer 2.27.0.
218240

219241
The transition from OGC Open Web Services (WMS, WFS, WCS) to OGCAPI services will take place over the next several years. Adjusting the GeoServer user interface with this transition is included as part of the GeoServer 3 project plan.
220242

221243
#### Q: Will a specific community module be included?
222244

223-
Check the project plan to see if the community module you are interested will be available in GeoServer 3.
245+
Check the [Project Plan](https://docs.google.com/document/d/1EmI1kDsqeoxB9GANiiaZy56RY0pWbl6GqD4fq8EJ4oo/edit?tab=t.0) for list of community modules included in scope of work.
224246

225247
The project plan lists a number of community modules that are required by downstream projects MapStore, GeoNode and Cloud Native GeoServer.

0 commit comments

Comments
 (0)