Developer Guide

Contributing to GeoServer

Thank you for your interest in contributing to GeoServer! This guide will help you understand how to submit improvements, report issues, and become an active member of our geospatial development community.

Code of Conduct

GeoServer is committed to providing a welcoming and inclusive environment for all contributors, regardless of experience level, gender, gender identity, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

Community First Please read our full Code of Conduct before participating in discussions, opening issues, or submitting code. Unacceptable behavior will not be tolerated.
WMS/WFS standards.

Reporting Issues

Before opening a new issue, please search existing open and closed issues to avoid duplicates. If you find a bug or have a feature request, use our Issue Tracker.

Bug Reports Should Include:

Security Vulnerabilities Do not report security issues publicly. Email security@geoserver.dev with a detailed description. We follow responsible disclosure practices.

Pull Request Process

  1. Fork the repository and create a feature branch from develop
  2. Make your changes following our coding standards
  3. Write or update tests covering your changes
  4. Run npm run lint and npm test locally
  5. Commit using Conventional Commits format:
FORMAT
feat(wms): add support for custom SLD styling parameters
fix(wfs): resolve null geometry serialization bug
docs: update API reference for vector tiles
chore(deps): update leaflet dependency to v1.9.4
  1. Open a Pull Request against the develop branch
  2. Fill out the PR template, linking related issues
  3. Wait for CI to pass and core maintainers to review
  4. Address feedback promptly. Squash commits before merge approval.
CI/CD Pipeline All PRs automatically run unit tests, linting, and GeoServer integration smoke tests via GitHub Actions. Ensure your branch is up-to-date with develop to avoid merge conflicts.

Documentation Contributions

Documentation lives in the /docs directory and is built using Markdown and MkDocs. Improvements to guides, API references, and tutorials are highly valued.

License & Attribution

By contributing to GeoServer, you agree that your contributions will be licensed under the Apache License 2.0. Please ensure you have the rights to submit any code, data, or assets you include in your PR.

We use Developer Certificate of Origin (DCO). Sign-off your commits with -s or --signoff to confirm you authored the work or have permission to contribute it.

GIT
git commit -s -m "feat(layers): add vector tile caching support"

Thank you for helping us build better geospatial infrastructure for the world! 🌍