Governance

Pluto is a Free Open Source Software project. The Pluto project includes Pluto.jl, and all other projects in the JuliaPluto GitHub organisation. The project is developed by volunteers, employees of organizations that support Pluto, and by contributors with funding from Open Source grants. This document outlines the decision-making process behind Pluto’s development, and how other people can get involved.

We welcome new contributors! If you want to contribute, please check out our contributing guidelines, and get in touch with the Pluto developers.

Decision making

Decisions about the project are made by the core developers, or by other (new) contributors in collaboration with core developers. Decisions that should be made by (or approved by) core developers include:

  • New features
  • Refactoring
  • Package interoperability
  • UI/UX design changes
  • Public API
  • Releases

Always welcome

Some contributions are less contested, and you can assume that this work will be appreciated. This includes:

  • Bug fixes (especially GitHub Issues labeled Bug)
  • Localization (info)
  • Compatibility work
  • Optimization (if it includes an improved benchmark)
  • Fixing spelling errors
  • Accessiblity improvements

This means that (new) contributors can always work on these areas independently, and open a PR without discussing it first.

Core developers

The core developers of the Pluto ecosystem include (in alphabetical order):

You can find their contact information on their GitHub profiles. Feel free to reach out!

Subprojects – additional core developers

Some subprojects of the Pluto ecosystem (like some packages) have additional core developers. Anyone with “Maintain” or “Admin” rights to a repository is considered core developer of that project or package. This includes (but not limited to):

Becoming a core developer

Any core developer can add additional core developers. Subproject core developers can add additional core developers to their subprojects. If you are interested in becoming a core developer, get in touch! You are expected to have familiarity with the project, an interest in maintaining it, and you should get to know the other contributors.

Any (subproject) core developer can step down (temporarily or permanently) from their role at their own choice.

Community work

Pluto is not just a codebase, but also a community project. Our community work inlcudes:

  • Issue tracking, triage, review
    • Our GitHub Issues, Discussions and PRs.
  • Online discussions (Discourse, Zulip, Slack, etc)
  • Documentation (this website)
  • Featured notebooks (info)
  • Conference talks, workshops, meetups, etc
  • Developer meetups, onboarding, mentoring, etc

Note that our code of conduct applies to these spaces.

Community leaders

All core developers are also community leaders, but we also have some additional community leaders who focus on the non-code aspects of the project. These include (in alphabetical order):