How to build an open community infrastructure of participation

Does every open source project need an open infrastructure? Should root be potentially available to any community member? If you think "Maybe, yes," come learn how-to and why-to with lessons from the Fedora, oVirt, and other projects.

Not every project has experienced or heard about the horrors of what can happen when a community's code and content are on closed infrastructure it can't control. But when people leave, or relationships change, or vendors stop supporting, bad things can happen. Besides, when a project is self-starting, there is often no budget for niceties such as virtual machine hosting. In addition, it's a bit of a pain to build and run your own servers. How much easier it is use a combination of GitHub (or Jira at Apache, Google hosting, etc.) and a Google Group!

On the other side of this thinking is the realization that even the most stable no-cost closed hosting platforms bring along with it several risks. The hosting provider my go out of business or exit that particular space. The terms of use may change so it is no longer a good location for the project. The project team may build workflow and project artifacts in to the proprietary system, thereby making it harder or impossible for others to 100% completely reproduce the project from source. If a project has a parting-of-the-ways, it may be harder to fork the codebase if the project uses tooling and artifacts built in to the proprietary system.

Even if your project is far up the stack from the base infrastructure components, there are still many good reasons to own/control your own project infrastructure. If you build your infrastructure from common components such as WordPress, git/Gerrit, MediaWiki, etc., it gives you the freedom to move at-will to a new hosting situation. In some cases, there are vendors providing managed hosting of open source components, such as WordPress and wordpress.com. If your project grows enough, it can off-load non-essential infrastructure management this way at an affordable cost. The new wave of platform-as-a-service (PaaS) providers off another way to off-load management without compromising on freedom.

One of the great reasons is that it increases the way people can participate in your project. When the only thing you care about is code, and it's all hosted on Someone-Else's-Problem closed infrastructure, you say effectively to people, "You may have sysadmin or devops experience, but we're not interested. Just test and file some bugs." Just like how a MediaWiki instance invites people to participate by making content editing easy, an open infrastructure invites people interested in tinkering with systems by making it easy to help.

Finally, there have been cases where people have lost actual access to their project code and content. An open infrastructure protects your project from vendors who change license or usage terms, or even exit the business all-together, shutting down your site along with it.