How to start an Open Source Project


Published on

How to start an Open Source Project

Published in: Technology

    Are you sure you want to  Yes  No
    Your message goes here
  • عقار
    Are you sure you want to  Yes  No
    Your message goes here
  • Thanks for your work, it is a good starting point for beginners.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How to start an Open Source Project

  1. 1. How to Start an Open Source Project <ul><ul><li>Tony Wasserman </li></ul></ul><ul><ul><li>Carnegie Mellon West </li></ul></ul><ul><ul><li>Gnunify'07 </li></ul></ul><ul><ul><li>Pune, January, 2007 </li></ul></ul>
  2. 2. Open Source is Everywhere (even on Windows ™ ) <ul><li>Infrastructure </li></ul><ul><ul><li>Web server, application server, DBMS, content management systems, web browsers, email servers and clients, portal development, collaboration tools, operating system </li></ul></ul><ul><li>Application development </li></ul><ul><ul><li>Modeling, compilers, development environments, testing, issue tracking, version control, configuration management, project management, installers </li></ul></ul><ul><li>Applications </li></ul><ul><ul><li>Finance, CRM, SFA, vertical apps, image management, drawing, audio/video </li></ul></ul>But you were looking for something else, and didn't find it.
  3. 3. Lesson One New open source projects are similar to commercial startups. The most important step in starting a new project is to avoid making any fatal errors.
  4. 4. Typical fatal errors <ul><li>Underestimating people, time, money needed </li></ul><ul><li>Wrong people </li></ul><ul><li>Unclear goals and objectives </li></ul><ul><li>No previous management experience </li></ul><ul><li>Focus on code only </li></ul><ul><li>Failure to build community </li></ul>The major problems are not technical!
  5. 5. First steps <ul><li>Learn from others </li></ul><ul><ul><li>Join and contribute to one or more projects </li></ul></ul><ul><ul><li>Meet and communicate with other project leaders </li></ul></ul><ul><ul><li>Search carefully for similar projects </li></ul></ul><ul><ul><li>Develop your leadership and communication skills </li></ul></ul><ul><li>Define your vision and goals </li></ul><ul><li>Build support for your project </li></ul><ul><ul><li>Find people who share your vision and goals </li></ul></ul><ul><ul><li>Look for sponsors </li></ul></ul><ul><li>Develop basic rules for project management </li></ul><ul><ul><li>Decision-making process </li></ul></ul><ul><ul><li>Key roles </li></ul></ul>
  6. 6. Getting underway <ul><li>Select project repository, e.g., SourceForge </li></ul><ul><li>Create, refine, and review software architecture </li></ul><ul><li>Define some milestones for release(s) </li></ul><ul><li>Start to build a community </li></ul><ul><ul><li>Word of mouth </li></ul></ul><ul><ul><li>Postings on discussion boards </li></ul></ul><ul><ul><li>Everyone is a “salesman” for the project </li></ul></ul><ul><li>Develop some project management processes </li></ul><ul><ul><li>Awarding committer status </li></ul></ul><ul><ul><li>Version and configuration management </li></ul></ul><ul><ul><li>Build processes </li></ul></ul><ul><ul><li>Issue tracking and followup </li></ul></ul>
  7. 7. The Myths of Community Open Source <ul><li>Software is produced by a geographically distributed group of highly motivated volunteers who contribute their time freely, expecting only recognition for their work in return </li></ul><ul><li>Large projects can be built and maintained through the efforts of a small group of project leaders and committers </li></ul>
  8. 8. The Reality of Community Open Source <ul><li>Virtually all of the large, successful community open source projects rely on industrial sponsors and/or government funding </li></ul><ul><li>The majority of people working on these projects are paid to do so </li></ul><ul><li>Large projects have community managers who coordinate efforts, attract contributors, promote project use, interact with other projects, and monitor discussion forums </li></ul><ul><li>There is active management of the projects </li></ul>
  9. 9. Summary: key management issues <ul><li>What will the planned system do? </li></ul><ul><li>Who will do the various tasks? </li></ul><ul><ul><li>Architecture, implementation, testing, documentation, etc. </li></ul></ul><ul><li>What are the development milestones? </li></ul><ul><li>What is the development and release schedule? </li></ul><ul><li>How is quality of the release assured? </li></ul><ul><li>How will the software be supported and augmented over time? </li></ul><ul><li>Who is responsible for coordination among contributors? </li></ul><ul><li>How are decisions made? </li></ul><ul><li>What's the process for changing them? </li></ul>
  10. 10. Community open source projects <ul><li>No explicit business or revenue goals </li></ul><ul><li>Many are volunteer efforts; others are backed by companies that pay their employees to work on projects </li></ul><ul><li>Wide variation in governance, management styles, centralized vs. decentralized communication and management </li></ul><ul><li>Focus on community development for testing, mutual support (discussion boards) , generating awareness </li></ul><ul><li>Volunteers work in their available time, but only on things that interest them </li></ul>It's hard to manage volunteers!
  11. 11. Managing volunteers <ul><li>Finding the right roles for people, e.g., coding vs. writing vs. testing </li></ul><ul><li>Attracting and retaining valuable contributors, while discouraging weak ones </li></ul><ul><li>Encouraging volunteers to work on those tasks most valuable to the overall project </li></ul><ul><li>Finding ways to reward people for their work </li></ul><ul><li>Coordinating activities of paid project members with those of volunteers </li></ul>
  12. 12. In Conclusion <ul><li>Keep your eyes on your vision and goals </li></ul><ul><li>Don't be afraid to take measured risks </li></ul><ul><li>Good luck! </li></ul>
  13. 13. Contact information Anthony I. (Tony) Wasserman post: Carnegie Mellon West Moffett Field, CA 94035 USA tel: +1.415.641.1180 (ofc) +1.415.612.0600 (m) email: [email_address] Skype: tony.wasserman AIM, YIM: twasserman Googletalk: tony.wasserman