If you are reading this document, there's a good chance you
already have an idea for a project in mind. Chances are pretty
good, it fills a gap by doing something that no other free
- software process does or or does something unique
+ software process does or or does it in a way that is unique
+ enought to necessitate a seperate project.
</para>
+ <sect3 id=identifyidea>
+ <title>Indentify and Articulate Your Idea</title>
+ <para>
+ Eric S. Raymond writes about how free software projects start in
+ his paper, "The Cathedral and the Bazaar" which comes as required
+ reading for any free softare development. You can find it online
+ at <ulink url="http://www.tuxedo.org/!esr/writings/cathedral-bazaar/">
+ http://www.tuxedo.org/!esr/writings/cathedral-bazaar/</ulink>.
+ </para>
+
+ <para>
+ In "The Cathedral and Bazaar," Raymond tells us that:
+ <emphasis>Every good work of software starts by scratching a
+ developers itch.</emphasis> Raymond now widely accepted
+ hypothesis is that new free software programs are written, first
+ and foremost, to solve a specific problem facing the developer.
+ </para>
+
+ <para>
+ If you have an idea for a program in mind, chances are good that
+ it it is targetting a specific problem or itch you want to see
+ scratched. <emphasis>This idea is the project. Articulate it
+ clearly. Write it out. Describe the problem you will attack in
+ detail. The success of your project in tackling a particular
+ problem will be tied to your ability to identify that problem
+ early on. Find out exactly what it is that you want your project
+ to do.</emphasis>
+ </para>
+ </sect3>
+
+ <sect3 id=evalulateidea>
+ <title>Evaluate Your Idea</title>
+
+ <para>
+ In evaluating your idea, you need to ask yourself questions.
+ Before you move any further into this HOWTO, you need to
+ determine if the free software development model really is the
+ right one for your project. Obviously, since the program
+ scratches your itch, you are definately interested in seeing it
+ implemented in code. But, because one hacker coding alone fails
+ to qualify as a free software development effort, you need to ask
+ yourself the question: <emphasis>Is anybody else
+ interested?</emphasis>
+ </para>
+
+ <para>
+ Sometimes the answer is <emphasis>no</emphasis>. If you want to
+ write a set of scripts to sort <emphasis>your</emphasis> MP3
+ collection on your machine, maybe the free software development
+ model is not the best one to choose. However, if you want to
+ write a set of scripts to sort <emphasis>anyone's</emphasis>
+ MP3s, a free software project might fill a useful gap.
+ </para>
+
+ <para>
+ Luckily, The Internet is a place so big and diverse that, chances
+ are, there is someone, somewhere, who shares your interests and
+ how feels the same itch. It is the fact that there are so many
+ people with so many similar needs and desires that introduces the
+ second major question: <emphasis>Has somebody already had your
+ idea or a reasonably similar one?</emphasis>
+ </para>
+
+ <sect4 id=evalwhere>
+ <title>Finding Similar Projects</title>
+
+ <para>
+ There are places you can go on the web to try and answer this
+ question. If you have experience with the free software
+ community, you are probably already familiar with all of these
+ sites. All of the resources listed bellow offer searching of
+ their databases:
+ </para>
+
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>freshmeat.net</term>
+ <listitem>
+ <para>
+ Located at at <ulink url="http://freshmeat.net">
+ http://freshmeat.net</ulink>, freshmeat describes itself as,
+ <quote>the Web's largest index of Linux and Open Source
+ software</quote> and its reputation along these lines remains
+ unquestioned. If you can't find it on freshmeat, its doubtful
+ that you'll find it indexed anywhere else.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Slashdot</term>
+ <listitem>
+ <para>
+ Located at <ulink url="http://slashdot.org">
+ http://slashdot.org</ulink>, Slashdot provides <quote>News
+ for Nerds: Stuff that Matters,</quote> which usually includes
+ discussion of free software, open source, technology, and
+ geek culture new and events. It is not unusual for an
+ particularly sexy develpment effort to be announced here so
+ it definately worth checking.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>SourceForge</term>
+ <listitem>
+ <para>
+ Located at <ulink url="http://sourceforge.net">
+ http://sourceforge.net</ulink>, SourceForge houses and
+ facilitates a growning number of open source and free
+ software projects, SourceForge is quickly becoming a nexus
+ and an necessary stop for free software
+ developers. SourceForge's
+ <ulink url="http://sourceforge.net/softwaremap/trove_list.php">
+ software map</ulink> and <ulink
+ url="http://sourceforge.net/new/"> new releases</ulink>
+ pages. should be necessary stops before embarking on a new
+ free software project. SourceForge also provides a
+ <emphasis>Code Snippet Library</emphasis> at <ulink
+ url="http://sourceforge.net/snippet/">http://sourceforge.net/snippet/</ulink>
+ which contains useful reusuable chunks of code in an array
+ of langauges which can come in useful in any project.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Google and Google's Linux Search</term>
+ <listitem>
+ <para>
+ Located at <ulink url="http://www.google.com">
+ http://www.google.com</ulink> and
+ <ulink url="http://www.google.com/linux">
+ http://www.google.com/linux</ulink>, provide prowerful web
+ searches that may reveal people working on similar
+ projects. It is not a catalog of software or news like
+ freshmeat or Slashdot, but it is worth checking before you
+ begin pouring your effort into a redundant project.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </para>
+ </sect4>
+
+ <sect4 id=evalhow>
+ <title>Deciding to Proceed</title>
+ <para>
+ Once you have successfull charted the terrain and have an idea
+ bout what kinds of similar free software projects exist, every
+ developer needs to decide whether to proceed with their own
+ project. It is rare that a new project seeks to accomplish a
+ goal that is not similar to related to the goal of another
+ project. Anyone starting a new project needs to ask themselves:
+ <emphasis>Will the new project be duplicating work done by
+ another project? Will the new project be competing for
+ developers with an existing project? Can the goals of the new
+ project be accomplished by adding functionality to an existing
+ project?</emphasis>
+ </para>
+
+ <para>
+ If the answer to any of these questions is yes, try to contact
+ the developer of the existing project in question and see if he
+ or she might be willing to collaborate with you.
+ </para>
+
+ <para>
+ This may be the single most difficult aspect of free software
+ development for many developers but it is essential. It is easy
+ to become fired up by and idea and be caught up in the momentum
+ and excitement of a new project. It is often extremely difficult
+ but it is important that any free software developer rememeber
+ that the best interests of the of the free software community
+ and the quickest way to accomplish ones own project's goals and
+ the goals of similar project can often be accomplished by
+ <emphasis>not</emphasis> starting a new project.
+ </para>
+
+ </sect4>
+ </sect3>
</sect2>
<!-- Section2: chooselicense-->
<sect1 id="developers">
<title>Maintaining a Project: Interacting with Developers</title>
-
+></ulink>which
<indexterm>
<primary>fswd!developers</primary>
</indexterm>
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
--->
+-->
\ No newline at end of file