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.
Because open source software 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 must do the work) concerning each project.
The most common roles 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.
Levels of maintenance and development
Each project in the ecosystem has a distinct development path, with varying levels of maturity and activity. These paths are ultimately determined by the people who participate in developing the project. The following table conveys the types of commitment pledged by people with various project roles:
| Reviews and
| Responds to
| Actively fixes
| Actively adds
| Paid to add|
Here is a summary of roles for projects in the SciJava ecosystem.
1 Pietzsch leads on day to day issues. Pietzsch, Preibisch and Saalfeld vote on primary decisions, with Pietzsch's vote breaking ties.
2 Schindelin is currently on sabbatical from Fiji; see this thread on fiji-devel.
3 Barber leads development of the SLIM Curve C library; Rueden leads development of the SLIM Curve plugin for ImageJ.
4 Rueden maintains the Bio-Formats update site for ImageJ, but is not otherwise a Bio-Formats maintainer.
5 For the purposes of this table, "KNIME" means the KNIME Image Processing extensions, not the KNIME project as a whole.