Skip to main content

Contribute

Contributing to Package-URL projects

There are multiple ways to contribute to the Pacakage-URL community and our projects. You can help by reporting issues you might have found in our software, improving documentation, proposing new ideas, and write code and to add new features or fix existing bugs.

Please note that are 2 distinct workflows within the Package-URL community:

  • Specifications - For the PURL and VERS specifications, the content is documentation, except for a few CI/CD utilities.
    • The Package-URL (PURL) standard is ECMA-427 and its GitHub repository is: https://github.com/Ecma-TC54/ECMA-427/.
    • There are different review and approval processes for the PURL and VERS specification projects compared to the Software projects.
  • Software - The Package-URL GitHub organization currently hosts several projects that implement the PURL specification by language - e.g., Go, Java, JavaScript, PHP, Python and Rust. Each project may have its own contribution guidance.

Before You Contribute

Before you open a new discussion, bug, issue, etc, please check if a similar one has already been reported. This helps us avoid duplication of effort and keeps our discussions and issues focused.

Please also check our Code of Conduct. It is based on the Contributor Covenant, version 1.4.

How Can I Contribute?

We manage all project contributions in the GitHub repository for a project.

Reporting Bugs

If you find an error in software or documentation please report it as an issue in the corresponding repository. Please be as specific as possible about the error, the version of the specification or tool, and your operating environment.

Suggesting Enhancements

If you have an idea for improvements or new features, please open a new discussion or issue to share them. We appreciate well-documented enhancement suggestions.

Writing Code or Documentation

All contributions to current repositories in Package-URL will be received as pull requests in the corresponding repository. A pull request should always be created in the context of and reference an issue except for very minor changes like correcting spelling or format in a document. The "conversation" feature for a pull request is not well-suited for most discussions.

GitHub has a complete guide on collaborating via pull requests but, in short, you need to:

  • Fork the repository.
  • Create a new branch for your feature or bug fix.
  • Make your changes and test them thoroughly.
  • Create a pull request (PR) with a clear title and description.
  • Ensure your PR follows our coding standards.

Before submitting your code or documentation, please make sure that:

  • Your code follows project coding standards.
  • You've added relevant tests and documentation.
  • All tests pass successfully.
  • Your commits are rebased.
  • Your commits are well-documented.
  • You include a changelog entry.

Your pull request will be reviewed by at least one maintainer before being accepted. Anyone is welcome to comment on a pull request.

How Can I Communicate with the Package-URL Community?

See the Meetings page for information about our community meetings and Slack channels. Remember that the corresponding GitHub repository is always the primary forum to discuss a project.