Skip to content

Latest commit

 

History

History
117 lines (93 loc) · 5.75 KB

File metadata and controls

117 lines (93 loc) · 5.75 KB

How to contribute to a Stellar project

Your contributions to the Stellar network will help improve the world’s financial infrastructure.

We want to make it as easy as possible to contribute to Stellar in ways that make the network grow and thrive. There are a few guidelines that we ask contributors to follow so that we all work effectively together.

Tip

The Stellar network is open, decentralized, and programmable. Many ideas you may have can be built without changes to the projects hosted here. Want to contribute to Stellar? Build on Stellar! And share your feedback in the forums listed below.

To contribute to the work of maintaining the projects hosted here, the biggest-impact contributions are participating in discussions, sharing new ideas, reporting bugs, and sharing experience reports.

Getting Started

Reporting Bugs and Requesting Features

First search for an existing issue and join a relevant discussion if an existing issue is present.

After confirming an issue does not already exist, create a GitHub issue with:

  • The concrete problem that needs solving.
  • For bugs, include a minimal reproducer with the expected and actual behavior.
  • Relevant alternatives, if any, and their tradeoffs.
  • Verify everything reported before submitting. Do not submit speculative findings or generated lists of possible issues.

Pull Requests

Projects hosted here only accept pull requests for issues with the help wanted label or if they indicate otherwise in their own contributing guidelines. Unsolicited pull requests will be closed without an explanation and reported as spam.

Making changes requires deep architectural knowledge, a good understanding of system constraints, and an idea about the project roadmap. Many Stellar projects facilitate financial transactions or are dependencies to many other projects. Correctness is critical and thoughtful evolution of behaviour and APIs is paramount. Maintainer and reviewer time is limited. External contributors often do not have the context required and reviewing takes the maintainers' focus away from high-priority work that has already been discussed in discussion forums and that the ecosystem is waiting on.

Key things to keep in mind when creating a pull request:

  • Does the change narrowly address an open issue and have you been assigned?
  • Does the change comply with the Stellar Code of Conduct.
  • Link the approved issue.

AI-Assisted Contributions

The use of AI tools to improve productivity and the quality of contributions is encouraged. AI assistance does not, however, change the responsibilities or standards that apply to the human contributor.

Maintainers are not obligated to review contributions that do not appear to meet these standards and may close or reject them without performing the verification that is the submitter's responsibility.

Before exposing other community members to AI-assisted content, the human submitter is responsible for:

  • Reviewing and verifying all generated content, including code, tests, code comments, documentation, issues, pull-request descriptions, review feedback, chat messages, forum posts, and other project or community communications. Appropriate tests and checks must be performed where applicable.
  • Ensuring the contribution is correct, relevant, and appropriate for the project, including its security, reliability, maintainability, and adherence to project standards.
  • Ensuring they have the right to submit the contribution, including compliance with applicable copyright, licensing, attribution, and other third-party requirements.
  • Fully understanding the contribution. The submitter must be able to explain it in their own words, including its context, assumptions, design choices, tradeoffs, and implications, and be able to answer questions and validate changes arising during review.
  • Participating directly in review and community interactions. AI may assist with communication, but must not substitute for the submitter's own understanding, judgment, or engagement. Contributors must not act merely as an intermediary relaying content between other community members and an AI system.
  • Taking full responsibility for the contribution. AI assistance does not transfer responsibility for errors, omissions, security issues, licensing problems, or other consequences to the AI tool or its provider.
  • Respecting the time and attention of other community members. AI must not be used to generate high volumes of low-quality or speculative contributions, or to shift the burden of understanding, verification, debugging, or cleanup onto reviewers and maintainers.

AI tools must not autonomously publish contributions or communications to community channels without human review; this includes code changes, issues, reviews, chat messages, and forum posts.

Additional Resources