πŸ—‚οΈ

Mentorship

GeoGuru.Africa offers mentorship for developers who want to contribute to GeoServer. Whether you’re new to open source or looking to deepen your expertise, we guide you through the journey from first contribution to sustained impact.

Getting Started with Docker Development Environment

The fastest way to start contributing to GeoServer is using the DevDocker environment - a pre-configured containerized development setup that gets you coding in minutes, not hours. This is the recommended approach for all GeoGuru participants.

Why DevDocker?

Traditional GeoServer development requires installing and configuring multiple tools: Java JDK, Maven, Git, Tomcat, and more. Getting all these tools working together can take hours or even days, especially if you encounter version conflicts or platform-specific issues.

DevDocker eliminates this setup friction by providing:

  • Pre-configured build tools: JDK 21, Maven 3.8+, Git - all versions tested and working
  • IDE connectivity: Connect your favorite IDE (Kiro, VSCode, IntelliJ) via SSH
  • Remote debugging: Set breakpoints and debug GeoServer live with JDWP
  • Fast builds: Optimized Maven caching means 2-3 minute builds after the first run
  • Production parity: Environment mirrors the official GeoServer Docker image structure

Time to first contribution: 15-20 minutes from zero to running GeoServer with your first code change.

Prerequisites

Before starting, ensure you have:

  • Docker Desktop (Windows/Mac) or Docker Engine (Linux) - Install Docker
  • Docker Compose 2.0+ (usually included with Docker Desktop)
  • SSH client (built into Windows 10+, macOS, and Linux)
  • GitHub account (free) - Sign up here
  • Basic command-line familiarity (navigating directories, running commands)

System Requirements:

  • 8GB RAM minimum (16GB recommended for comfortable development)
  • 20GB free disk space (for Docker images and Maven dependencies)
  • Internet connection (for initial setup and dependency downloads)

Follow the guides below in order to go from zero to your first contribution.

Technical Focus Areas

Our mentorship program emphasizes key areas where GeoServer needs ongoing development:

Docker Development Environment

  • Setting up reproducible dev environments
  • Creating custom Docker images for testing
  • Optimizing container builds for faster iteration

Custom Builds

  • Building GeoServer from source
  • Creating custom distributions with specific extensions
  • Managing dependencies and build configurations

Community Modules

  • Developing new community modules
  • Testing and documenting community extensions
  • Contributing to the community module ecosystem

GitHub Actions and CI/CD

  • Improving automated testing pipelines
  • Adding new test scenarios
  • Optimizing build times and resource usage
  • Contributing to continuous integration infrastructure

Security

  • Identifying and fixing security vulnerabilities
  • Implementing security best practices
  • Contributing to security documentation
  • Participating in security reviews and audits

These focus areas represent ongoing needs in the GeoServer project. Whether you’re interested in infrastructure, security, or feature development, there’s a place for your contributions.

Next Steps: Your Contribution Journey

Now that you have a working development environment, here’s your path forward:

Week 1-2: Familiarization

  • Explore the GeoServer web interface
  • Read the GeoServer Developer Guide
  • Browse the codebase in your IDE
  • Make small experimental changes to understand the build process

Week 3-4: First Contribution

  • Find a “good first issue” on GitHub
  • Start with documentation improvements or small bug fixes
  • Submit your first Pull Request
  • Respond to maintainer feedback

Month 2-3: Build Expertise

  • Tackle more complex issues
  • Write tests for existing functionality
  • Contribute to community modules
  • Help other developers with setup questions

Month 4+: Sustained Impact

  • Take on feature development
  • Review other contributors’ PRs
  • Mentor new contributors
  • Consider joining the GeoServer community as a regular contributor

Remember: Every expert contributor started exactly where you are now. The key is consistent, incremental progress. Small contributions build trust and familiarity with the codebase.

Getting Help

If you encounter issues or have questions:

1. Check existing documentation:

2. Search for similar issues:

3. Ask the community:

4. Contact GeoGuru mentorship:

  • Email: info@geoguru.africa
  • Tell us about your issue, what you’ve tried, and where you’re stuck
  • We’re here to help you succeed

Why This Matters

Contributing to GeoServer isn’t just about writing code - it’s about joining a global community of developers working on critical geospatial infrastructure. Your contributions help:

  • Organizations worldwide: GeoServer powers mapping applications for governments, NGOs, and businesses
  • Open source ecosystem: Your work benefits the entire geospatial community
  • Your career: Open source contributions demonstrate real-world skills to employers
  • Future contributors: Your improvements make it easier for the next generation

The DevDocker environment removes technical barriers so you can focus on what matters: learning, contributing, and growing as a developer.

The Kaizen Philosophy

We follow the Japanese Kaizen philosophy of continuous, incremental improvement. You don’t need to make massive contributions to have impact. Start small, build trust, and grow your involvement over time.

The Journey:

  1. Start with documentation - Fix a typo, clarify a confusing section, add an example
  2. Build familiarity - As you read the docs, you’ll understand the architecture better
  3. Tackle small bugs - Fix issues you encounter while learning the system
  4. Contribute features - Once you understand the patterns, add new capabilities
  5. Volunteer for the unglamorous work - Take on the big, scary, audacious tasks that no one wants to touch - the dirty behind-the-scenes work that keeps projects healthy but rarely gets celebrated
  6. Mentor others - Share what you’ve learned to help the next generation of contributors

This path mirrors Peter Smythe’s journey from FOSS4G Tanzania 2018 to GeoServer PSC member. It starts with curiosity and grows through consistent, quality contributions.

Welcome to the GeoServer community. We’re excited to see what you’ll build.

Resources

How to Get Mentored

Ready to start your GeoServer contribution journey? We’re here to guide you.

Contact us: info@geoguru.africa

Tell us about your background, what you want to learn, and how much time you can commit. We’ll match you with resources, suggest starting points, and provide ongoing support as you grow your skills.

Mentorship is free. Our goal is to build a stronger, more diverse GeoServer community by removing barriers and bringing knowledge to developers across Africa and beyond.