Contribute

The Sphinx Stack is a shared foundation for Sphinx documentation projects. It combines Sphinx configuration, styling, extensions, and quality checks to help projects build and maintain documentation.

Contributing to the Sphinx Stack helps improve the documentation of all its users. The Documentation Practice team performs most of the work, but all contributors are welcome.

Scope of contribution

Good candidates for contribution include:

  • Bug fixes for build errors, broken links or configuration issues

  • Improvements to defaults, extensions, workflows or style rules that benefit all users

  • Dependency updates for security, compatibility or better tooling

  • Documentation improvements such as new guides, corrected references or clearer tutorials

Changes that are specific to a single project, introduce unnecessary complexity, or conflict with existing workflows may not be suitable. If unsure, discuss the change in a GitHub issue before starting work.

Standards and expectations

Before contributing, review the following requirements and guidelines.

Ubuntu Code of Conduct

When contributing, you must abide by the Ubuntu Code of Conduct. Projects governed by Canonical expect good conduct and excellence from every member.

Canonical Contributor License Agreement

Contributions can only be accepted from contributors who have signed the Canonical Contributor License Agreement (CLA).

By signing the CLA, you grant Canonical permission to use your contribution. You retain ownership of any work you contribute.

Review the terms of the agreement before signing it or committing anything. If you agree and sign it, your work can be incorporated into the repository.

Open source license

The Sphinx Stack is licensed under GPL-3.0.

The documentation is licensed under CC-BY-SA-3.0.

Ways to contribute

Report an issue

If you find a bug, identify missing functionality or want to propose an improvement, search the project’s existing GitHub issues first before creating a new one.

Because the Sphinx Stack is a template repository, its code and documentation are maintained in separate repositories. Be sure to open any issues in the correct repository:

Get help

If you’re unsure whether a change belongs in the Sphinx Stack, open an issue and discuss it with the maintainers.

Contributors of all experience levels are welcome.