Skip to main content

Contributing to jPOS

We’re excited to welcome contributions from the community!

If you’re interested in contributing to jPOS, please follow these steps before you begin writing any code:

  1. Sign the Contributor's Agreement. This is required for us to review and accept your contributions.

  2. Contact us to discuss your contribution idea. The best way to reach us is through the jpos-users mailing list on Google Groups or via the jPOS' Slack (see resources). Alternatively, you can email us at support at jPOS dot org.

For small contributions—like bug fixes, minor optimizations, or small features—feel free to submit a pull request directly, after completing step one. However, for larger changes, such as significant new features, paradigm shifts, adding new dependencies, or major refactoring, we recommend starting with a jPOS Enhancement Proposal (JEP). Our JEPs are inspired by the Java JEP process, and you can refer to the JEP Template for guidance.

When drafting your JEP, be sure to include the following sections:

  • Summary
  • Goals
  • Non-Goals
  • Success Metrics
  • Motivation
  • Description
  • Alternatives
  • Testing
  • Risks and Assumptions
  • Dependencies

(The bolded sections are mandatory.)

We are a small, flexible, and non-bureaucratic project. We understand that some functionality can be explained in just a few paragraphs and may not require a formal JEP. In such cases, an email to the jPOS users list or a discussion in the jPOS GitHub repository can serve as a good alternative. However, we appreciate the extra effort of creating a JEP when appropriate, as it makes it easier for us to share it with the relevant stakeholders.