Any type of project, whether it is open source software or not, requires a method of organization, or what we would call a governance model. Now, this includes how decisions get made and who makes them. And this requires careful thought to set it up in a sustainable and efficient way. Whether or not anyone can contribute, or only a few people can contribute, or whether decisions are made democratically, or by some clear central authority, and whether or not plans and discussions are made public before releases, or actually put out in the wild, a project can still be open source, no matter what choices are made for these parameters. But these parameters determine what your governance model is. Now, one model is the company-led process, which is mostly closed, but the final release is all open source. So, one entity will control the software design, development and releases. There may be external contributions and opinions and review, but it's not necessary that the company actually take them into account. Plans and release dates may be described openly or they may be kept kind of closed and not discussed in advance. And you may not have a window into internal discussions, controversies and decisions that are made. However, once the software is released, it's completely in the open. A very good example is Google Android, where the source is completely open, but very little is disclosed to the general public before the release is made. The benevolent dictatorship model has strong leadership, it has one individual that makes the final decisions and has overriding influence. Whether or not this can work depends on the dictator's wisdom, as well as their actual capability and management of the process. The role is generally social and political, and not really structural, especially if they are using Git as a revision control system. As things evolve and scale up to larger sizes, the maintainers will tend to write less and less code and do mostly review. One advantage of having a strong leadership model is that endless discussions can be terminated at the discretion of the so-called dictator. I want to point out the word dictator here is not necessarily meant in a negative sense, it just means a strong leader. The most prominent example, of course, is the Linux kernel led by Linus Torvalds, Wikipedia is another example. You can have a completely open process with a governing board, where you have a tighter control by a smaller group. All discussions are out in the open, on mailing lists, or chats, or any other form. And decisions about who contributes, how patches are accepted, new software is accepted, are made by that governing body. There's a lot of variation in the governing structures, from very loose to very tight. Democratic votes versus rule by consensus, etc. You tend to get less frequent releases, but often they're very well debugged hopefully. So, prominent examples are the FreeBSD operating system or the Debian Linux distribution. So that's a brief survey of some of the governance models that are used by open source software projects. What you choose will depend on your needs and goals.