Skip to content

Latest commit

 

History

History
162 lines (107 loc) · 5.25 KB

File metadata and controls

162 lines (107 loc) · 5.25 KB

🤝 Contributing to CommonsEngine

Thank you for your interest in contributing to CommonsEngine — the open framework powering the digital commons.
We welcome contributions from developers, designers, researchers, writers, and anyone who shares our vision of privacy, autonomy, and cooperation in technology.


🌍 Guiding Principles

We believe technology should serve people, not platforms.
Our work is grounded in the principles expressed in the Sovereign Manifesto, including:

  1. Freedom through design — software should expand human choice, not limit it.
  2. Transparency by default — open code, open governance, open documentation.
  3. Privacy as agency — control over data equals control over destiny.
  4. Interoperability — protocols before platforms.
  5. Cooperation over competition — we build together, not against.

🧭 Governance Overview

CommonsEngine is an independent, open collective of developers, designers, and researchers dedicated to building the infrastructure for digital self-determination. All decisions are made transparently through open discussion and consensus.
There is no institutional ownership — only shared responsibility.

Some commercial services (such as Sovereign SaaS) may use CommonsEngine software under open licenses,
but development of the core framework remains fully community-governed and open-source.


🛠️ Ways to Contribute

We appreciate all forms of contribution. You can:

Type Examples
🧑‍💻 Code Fix bugs, improve performance, write tests, add new features
🧱 Docs Improve READMEs, guides, tutorials, API references
🎨 Design Contribute UI/UX concepts, illustrations, or component designs
💡 Ideas Open discussions, propose features, or critique current directions
🌍 Community Help review PRs, triage issues, moderate discussions

🧑‍💻 Getting Started (Developers)

  1. Fork the repository you want to work on (e.g. CommonsEngine/Sovereign or CommonsEngine/PaperTrail).

  2. Clone your fork locally:

    git clone https://github.com/<your-username>/<repo>.git
    
  3. Create a branch for yout work:

    git checkout -b feat/add-awesome-thing
    
  4. Install dependencies (if applicable):

    npm install
    
  5. Make your changes, write clear commit messages, and push your branch.

  6. Open a Pull Request (PR) to the develop branch with:

    • A clear description of what and why.
    • Reference to any related issue (eg. Fixes #123).

✅ Code Guidelines

  • Follow the project’s style guide (see /docs/conventions.md if present).
  • Keep commits atomic and descriptive.
  • Write clear, maintainable code — others will build on it.
  • Use English for code, comments, and commit messages.
  • Avoid adding new dependencies unless justified.

🧪 Testing

If the repository includes tests:

npm test

Pull Requests must pass all tests and linting checks before review.


🪶 Writing and Documentation

Documentation is as valuable as code.

  • Use concise, inclusive language.
  • Explain why, not only how.
  • Markdown preferred (.md) for all docs.
  • Visuals are welcome — diagrams, screenshots, etc.
  • Keep API references and guides up to date with the latest version.

🧾 Legal and Licensing

All code contributions are governed by:

  1. The GNU Affero General Public License v3 (AGPL-3.0), unless otherwise stated.
  2. The Developer Certificate of Origin (DCO).

When you submit a pull request, you agree to the following declaration:

"I certify that the contribution was created in whole or in part by me,
that I have the right to submit it under the open source license indicated,
and that I understand and accept the terms of that license."

You may add your name to the CONTRIBUTORS.md file after your first merged PR.


💬 Communication and Collaboration

We coordinate through:

  • GitHub Discussions / Issues — main forum for design and feedback.
  • Community calls — scheduled periodically and announced in Discussions.

All interactions must follow our Code of Conduct. Be kind, constructive, and transparent.


🌱 Recognition and Stewardship

CommonsEngine maintains a lightweight Stewardship Model:

  • Frequent contributors may be invited as Maintainers for a repository.
  • Maintainers guide development, review PRs, and uphold the project ethos.
  • Decisions are made openly — there is no secret steering committee.

💡 Need Help?

If you're unsure where to start:

  • Look for issues tagged good first issue or help wanted.
  • Open a discussion thread introducing yourself.

We want your first contribution to be meaningful and enjoyable.


CommonsEngine
Building the infrastructure for digital self-determination.
Powering the Digital Commons.