Skip to main content

Building Open-Source Projects

As part of the SoulForge Rewards Program, all projects funded through our grants must be open-sourced. This document outlines the guidelines and rules for building and maintaining open-source projects.

Open-Source Requirements

  1. Licensing: All code produced as part of a grant must be open-sourced under one of the following licenses:

    • Apache 2.0
    • GPLv3
    • MIT
    • Unlicense Include a LICENSE file in the root directory with the full text of the chosen license.
  2. Repository Structure:

    • Maintain a clear and organized directory structure.
    • Include a comprehensive README.md file in the root directory.
    • Provide a CONTRIBUTING.md file with guidelines for contributors.
    • Include a CODE_OF_CONDUCT.md file to ensure a welcoming community.
  3. Documentation:

    • Provide clear and detailed documentation for your project.
    • Include installation instructions, usage examples, and API references where applicable.
    • Keep documentation up-to-date with each release or significant change.
  4. Version Control:

    • Use Git for version control.
    • Maintain a clear branching strategy (e.g., Git Flow or GitHub Flow).
    • Tag releases with semantic versioning (e.g., v1.0.0).
  5. Continuous Integration and Testing:

    • Implement CI/CD pipelines (e.g., GitHub Actions, Travis CI).
    • Maintain a comprehensive test suite with high code coverage.
    • Ensure all tests pass before merging pull requests.
  6. Code Quality:

    • Adhere to consistent coding standards and style guides.
    • Use linters and formatters to maintain code quality.
    • Conduct regular code reviews for all contributions.
  7. Security:

    • Regularly update dependencies to address vulnerabilities.
    • Implement security best practices in your code.
    • Provide a clear process for reporting security issues.
  8. Community Engagement:

    • Respond promptly to issues and pull requests.
    • Maintain active communication channels (e.g., Discord, mailing lists).
    • Provide clear guidelines for community contributions.
  9. Transparency:

    • Clearly communicate the project's roadmap and goals.
    • Be open about the project's limitations and known issues.
    • Provide regular updates on project status and milestones.
  10. Attribution:

    • Properly attribute all contributors to the project.
    • Respect and acknowledge any third-party libraries or resources used.

Best Practices for Building Open-Source Projects

  1. Start with a Clear Vision: Define the purpose and goals of your project from the outset.

  2. Modular Design: Build your project with modularity in mind to facilitate easier maintenance and contributions.

  3. Comprehensive Documentation: Invest time in creating thorough documentation to help users and potential contributors.

  4. Automated Testing: Implement automated testing to ensure code reliability and ease the contribution process.

  5. Semantic Versioning: Use semantic versioning to clearly communicate changes and maintain backwards compatibility.

  6. Issue Templates: Provide issue templates to standardize bug reports and feature requests.

  7. Contributor Guidelines: Create clear guidelines for how others can contribute to your project.

  8. Code of Conduct: Establish and enforce a code of conduct to foster a positive community.

  9. Regular Maintenance: Consistently review and update your project to keep it relevant and secure.

  10. Community Building: Actively engage with your user base and encourage contributions from the community.

By adhering to these rules and following these best practices, you'll create a robust, maintainable, and community-friendly open-source project that aligns with the SoulForge Rewards Program's goals.

For any questions or support regarding open-source development, please contact us at gm@zkbankai.com.