Page history Edit this page How do I edit this website?

Governance

This page describes the social structure of SciJava projects.

  • For information on the technical structure, see Architecture.
  • For information on the legal structure, see Licensing.

The ImageJ project, and related projects in the SciJava software ecosystem, are governed as open source software projects. Everybody is welcome to contribute with plugins, patches, bug reports, tutorials, documentation, and artwork.

That said, every project needs leaders: the ones who participate in governance of the project, maintaining the software and making key decisions.

Project roles

Because open source software (OSS) is highly collaborative, it is extremely important to understand the difference between various roles on the project, to avoid misconceptions about authority (who makes decisions) and responsibility (who is pledged to do the work) concerning each project.

The most common roles in OSS are:

  • Founders are the people who originally launched the project.
  • Leads are responsible for making final decisions. In the open source world these people are often referred to as benevolent dictators. Changes with a serious impact on the community are typically discussed on open channels first.
  • Maintainers keep the project functional, fix bugs and make releases. They often make day to day decisions, and are typically involved in discussion with the project lead(s) regarding major decisions, although the lead has final decision-making authority.
  • Developers are people who work on the project significantly or often. Typically they have direct push access to the source code. In some cases they make day to day decisions, depending on their experience and comfort level with the project.
  • Contributors are people who help with the project either currently or in the past. They may participate occasionally or sporadically, and are typically not involved in project decision making.

SciJava team roles

Projects in the SciJava component collection define each component’s team as the group of people who take responsibility for it. The following roles formalize the ways people are pledged to help:

Role Commitment
Founder Created the project. Does not imply any current participation or responsibility.
Lead Has decision-making authority: timing of releases, inclusion of features, etc.
Developer Adds new features or enhancements. Can be assigned to address feature requests.
Debugger Fixes bugs. Can be assigned open issues to solve.
Reviewer Reviews patch submissions.
Support Responds to community questions and issue reports. Keeps the issue tracker organized.
Maintainer Merges patch submissions. Cuts releases.
Contributor Contributed code to the project. Does not imply any current participation or responsibility.

Individuals often fill more than one role.

Component status

This website documents lots of software components—and in particular, many ImageJ plugins. Components in the ecosystem each have a distinct development path, with varying levels of maturity and activity, which is ultimately determined by the people who participate in developing it.

Each component’s page features an informational sidebar with a status report derived from the component’s declared team. This sidebar is intended to help users understand what level to expect when seeking help, reporting issues, and submitting feature requests.

Development status

Development status conveys what to expect regarding a component’s future.

Status Meaning
Unstable Project is under heavy development, with unstable API undergoing iterations of refinement. Typically, these components are either unreleased, or versioned at 0.x.
Active New features are being actively developed. API breakages are kept as limited as possible.
Stable No new features are under development. API is stable.
Obsolete The project is discontinued.

Support status

Support status indicates the level to which the team responds to questions and issue reports.

Status Meaning
Active Someone will respond to questions on community channels, and addresses issue reports in the project’s issue tracker. A best effort is made to fix reported bugs within a reasonable time frame.
Partial Someone will respond to questions on community channels, as well as to issue reports in the project’s issue tracker. But reported bugs may not be addressed in a timely manner.
Minimal There is at least one person pledged to the project in some capacity, but not all roles are filled. Response time to questions and issue reports may be protracted.
None No one is pledged to support the project. Questions and issue reports may be ignored.

SciJava project summary

Here is a summary of roles for projects in the SciJava ecosystem.

Logo Project Founders Leads Maintainers Developers Contributors
ImageJ ImageJ Wayne Rasband Wayne Rasband Wayne Rasband
Curtis Rueden
Wayne Rasband See release notes
ImageJ2 ImageJ2 Curtis Rueden
Grant Harris
Kevin Eliceiri
Anne Carpenter
Rudolf Oldenbourg
Curtis Rueden Curtis Rueden List on GitHub See Contributors
Fiji Fiji Johannes Schindelin
Albert Cardona
Pavel Tomancak
Curtis Rueden Curtis Rueden List on GitHub See Contributors
BigDataViewer Tobias Pietzsch Tobias Pietzsch Tobias Pietzsch
Stephan Preibisch
List on GitHub Info on GitHub
TrakEM2 Albert Cardona Albert Cardona Albert Cardona
Stephan Saalfeld
Curtis Rueden
List on GitHub Info on GitHub
SciJava SciJava Josh Moore
Curtis Rueden
Curtis Rueden Curtis Rueden List on GitHub See Contributors
ImgLib2 ImgLib2 Stephan Saalfeld
Stephan Preibisch
Tobias Pietzsch1
Stephan Preibisch
Stephan Saalfeld
Tobias Pietzsch
Curtis Rueden
Stephan Preibisch
Stephan Saalfeld
List on GitHub See Contributors
SCIFIO SCIFIO Curtis Rueden
Kevin Eliceiri
Mark Hiner
Curtis Rueden Curtis Rueden List on GitHub See Contributors
Bio-Formats Bio-Formats Curtis Rueden
Kevin Eliceiri
Melissa Linkert Melissa Linkert
Sébastien Besson
List on GitHub See OME Contributors
KNIME KNIME Image Processing Christian Birkhold (Dietz)
Martin Horn
Christian Birkhold (Dietz) Christian Birkhold (Dietz)
Martin Horn
List on GitHub See Contributors
CellProfiler CellProfiler Lee Kamentsky
Anne Carpenter
Beth Cimini Beth Cimini List on GitHub See Contributors
OMERO OMERO Josh Moore
Jean-Marie Burel
Chris Allan
Jason Swedlow
Josh Moore
Jean-Marie Burel
Chris Allan
List on GitHub List on GitHub Info on GitHub
Icy Icy Stephane Dallongeville
Fabrice de Chaumont
Jean-Christophe Olivo-Marin
Stephane Dallongeville Stephane Dallongeville List on GitHub Info on GitHub
Alida Alida Stefan Posch
Birgit Möller
Stefan Posch
Birgit Möller
Stefan Posch
Birgit Möller
List on GitHub Info on GitHub
MiToBo MiToBo Stefan Posch
Birgit Möller
Stefan Posch
Birgit Möller
Stefan Posch
Birgit Möller
List on GitHub Info on GitHub

1 Pietzsch leads on day to day issues. Pietzsch, Preibisch and Saalfeld vote on primary decisions, with Pietzsch’s vote breaking ties.

Further reading