title: Best Practices for Setup and Management of an Open Source Project
body: <p>Later this year I want to release a PHP framework that I've been working on as open source. I do use source control (SVN), but it's on an extremely limited basis. I'm self-taught, I develop by myself and don't have the experience of working with large teams. I have some ideas about what can help make a project successful, but I'm fuzzy on some of the details. Since it's not yet released, I want to do everything I can to set up the right infrastructure from the beginning. What do I need to know in order to setup and manage a successful project?</p>
  
  <p>Some ideas that I have to make it successful (beyond marketing it):</p>
  
  <ul>
  <li>Good documentation and tutorials</li>
  <li>Automated unit tests and builds to
  push update to the website</li>
  <li>A clear roadmap</li>
  <li>Bug Tracking integrated with the
  source control</li>
  <li>A style guide to keep the code
  consistent</li>
  <li>A forum for the community to get
  support, share ideas, etc.</li>
  <li>A good example application built with
  the framework</li>
  <li>A blog to keep the community informed</li>
  <li>Maintaining backwards compatibility
  wherever possible</li>
  </ul>
  
  <p>Some of my questions:</p>
  
  <ul>
  <li>How do I setup and automate a one
  step submit-test-commit-generate API
  docs-push update to website process? <strong>Edit</strong>: Would Ant or Maven be good candidates for this? If so, do you know of any resources for setting up a PHP project using them?</li>
  <li>How do I handle (technically)
  submissions from other users? How can
  I ensure that those submissions must
  be approved before being integrated?</li>
  <li>What are some of the pitfalls that
  can be avoided in terms of the
  project community? I'd prefer to have
  it be as friendly and helpful as
  possible without a lot of drama.</li>
  </ul>
  
  <p>I'd love to learn from your experience on any of these points. If you think I'm missing anything big, please share that as well. Any resources (preferably geared toward a beginner) that you could point me towards would also be greatly appreciated.</p>