Edit page History

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

    Moore
    Curtis Rueden

    Curtis Rueden

    Curtis Rueden

    List on GitHub

    See Contributors

    ImgLib2

    Stephan Saalfeld
    Stephan Preibisch

    Tobias Pietzsch 1
    Stephan Preibisch
    Stephan Saalfeld

    Tobias Pietzsch
    Curtis Rueden
    Stephan Preibisch
    Stephan Saalfeld

    List on GitHub

    See Contributors

    ImageJ1

    Rasband

    Rasband

    Rasband
    Curtis Rueden

    Rasband

    See release notes

    ImageJ2

    Curtis Rueden
    Kevin Eliceiri

    Curtis Rueden

    Curtis Rueden

    List on GitHub

    See Contributors

    SCIFIO

    Curtis Rueden
    Kevin Eliceiri
    Mark Hiner

    Curtis Rueden

    Curtis Rueden

    List on GitHub

    See Contributors

    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

    Paul Barber
    Curtis Rueden

    Paul Barber2
    Curtis Rueden 2

    Md Abdul Kader Sagar
    Curtis Rueden

    List on GitHub

    Info on GitHub

    Bio-Formats

    Curtis Rueden
    Kevin Eliceiri

    Melissa Linkert

    Melissa Linkert
    Sebastien Besson

    List on GitHub

    See OME Contributors

    KNIME Image Processing

    Christian Dietz
    Martin Horn

    Christian Dietz

    Christian Dietz
    Martin Horn

    List on GitHub

    See Contributors

    CellProfiler

    Lee Kamentsky
    Anne Carpenter

    0x00B1

    0x00B1

    List on GitHub

    See Contributors

    OMERO

    Moore
    Jean-Marie Burel
    Chris Allan
    Jason Swedlow

    Moore
    Jean-Marie Burel
    Chris Allan

    List on GitHub

    List on GitHub

    Info on GitHub

    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

    Stefan Posch
    Birgit Möller

    Stefan Posch
    Birgit Möller

    Stefan Posch
    Birgit Möller

    List on GitHub

    Info on GitHub

    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