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):
- pluto.jl website (link): Boshra Ariguib
- featured (link): Boshra Ariguib, Benedikt Ehinger, Luka van der Plas
- PlutoDesktop (link): Boshra Ariguib
- lezer-julia (link): Sergio Vargas, Andrey Popp
- Malt.jl (link): Sergio Vargas, Michael Hatherly
- PlutoTeachingTools.jl (link): Adrian Hill, Eric Ford, Fabian Greimel
- HypertextLiteral.jl (link): Clark Evans
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):