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 web site 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

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

ImageJ1

ImageJ1

Wayne Rasband

Wayne Rasband

Wayne Rasband
Curtis Rueden

Wayne Rasband

See release notes

ImageJ2

ImageJ2

Curtis Rueden
Kevin Eliceiri

Curtis Rueden

Curtis Rueden

List on GitHub

See Contributors

SCIFIO

SCIFIO

Curtis Rueden
Kevin Eliceiri
Mark Hiner

Curtis Rueden

Curtis Rueden

List on GitHub

See Contributors

Fiji

Fiji

Johannes Schindelin
Albert Cardona
Pavel Tomancak

Curtis Rueden

Curtis Rueden
Gabriella Turek

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

SLIM Curve

SLIM Curve

Paul Barber
Curtis Rueden

Paul Barber2
Curtis Rueden2

Md Abdul Kader Sagar
Curtis Rueden

List on GitHub

Info on GitHub

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 Dietz
Martin Horn

Christian Dietz

Christian Dietz
Martin Horn

List on GitHub

See Contributors

CellProfiler

CellProfiler

Lee Kamentsky
Anne Carpenter

Allen Goodman

Allen Goodman

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
Fabrice de Chaumont

Stephane Dallongeville
Fabrice de Chaumont

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.
2 Barber leads development of the SLIM Curve C library; Rueden leads development of the SLIM Curve plugin for ImageJ.

Further reading