Slashdot Mirror


Starting an Open-Source Project?

Tokimasa asks: "I recently thought of an idea for a software project that I want to undertake. I expect it to be mostly a learning experience, but I'm not sure where to begin. I'm familiar with software engineering practices and computer science topics, but I have never started a project on my own. What are the appropriate first steps to starting a new open-source project?"

4 of 94 comments (clear)

  1. Write the App first, then distribute by fistfullast33l · · Score: 5, Insightful

    If this is a large project and you just announce that you're going to do this project from scratch, no one will be interested because it takes too long to get going. Instead, design and write the app on your own first, and then put it out there. People are more likely to get interested and form a community if they have something to play with.

    If you really think you're going to need help, get a small piece working and put that out there first a la Linus and Linux.

    1. Re:Write the App first, then distribute by fishybell · · Score: 5, Insightful
      Exactly,


      I've released/maintain three different open source applications/frameworks; Tcl PIC, UPS Print Plugin, and WyattERP. All three of these were written to be used by the company I work for. Tcl PIC and WyattERP have been used for several years, and all of them are currently being used.

      I don't expect anyone to contribute to any of the projects, but people have. As long as you're giving to the community, the community will likely give back.

      You must be wary of the term "Open Source Community" because no such community exists. Instead there are thousands of individual communities. Yes, many people participate in several communities, but no one participates in all, and most don't participate so much as watch. Like any good spectator sport though, it's always more fun to play than to watch :)

      --
      ><));>
  2. specifications! by oyenstikker · · Score: 5, Insightful

    1) Requirements specification
    2) Research helpful libraries and frameworks
    3) Technical specification
    4) Prototype
    5) Realistic requirements specification
    6) Research helpful libraries and frameworks
    7) Rewritten technical specification
    8) Revised requirements specification
    9) Revised technical specification
    10) Start implementation. Get portions of it working
    11) Release alpha, look for help
    12) ?
    13) Profit!!!

    --
    The masses are the crack whores of religion.
  3. Has anyone else implemented your particular idea? by DarthChris · · Score: 5, Insightful

    There are a huge number of OSS projects, doing all sorts of things. Have you actually checked if any of them already do what you want to do? If so, consider helping them instead of starting your own - there are far too many dead/abandoned OSS projects in existence. Of course, there might be perfectly valid reasons for starting a new project instead, but you haven't given us much to go on.

    --
    Don't you just hate it when people reply to your signature?