Open source community development process

Open source community development process

  1. An individual, group, or enterprise creates software that solves a problem.

  2. These creators decide they would like to invite other people to collaborate on improving that software—including people who are not part of their team or organization. They make the source code for their software accessible, and they attach an open source license that specifies the rules for modifying and sharing it with others.

  3. Other people access and use the software. Some adapt it for their own purposes. They share these modifications with the software’s creators, who determine whether to incorporate the modifications into the original software codebase.

  4. More collaborators join the effort to improve the software. The group develops its own infrastructure of participation (communication channels, technical platforms, and governance models) so even more contributors can join their work. The software becomes a community project.

  5. The software matures. It works reliably enough that people begin depending on it. Even people who are not programmers start using it.

  6. The software becomes more popular. People using the software rely on the project community for help maintaining it and supporting their use of it.

  7. The community releases new versions of the software when they are ready for general consumption. These new versions incorporate feedback and modifications from users and programmers.

  8. The software matures to the point at which maintainers seek a more sustainable financial model for supporting it. The software becomes the basis of new developments and innovations.