<!-- Header -->
<artheader>
- <title>Free Software Development HOWTO</title>
+ <title>Free Software Project Management HOWTO</title>
<author>
<firstname>Benjamin</firstname>
- <othername>Mako</othername>
+ <othername>"Mako"</othername>
<surname>Hill</surname>
<affiliation>
<address>
</address>
</affiliation>
</author>
-
+
<revhistory>
+ <revision>
+ <revnumber>v0.3</revnumber>
+ <date>5 May 2001</date>
+ <authorinitials>bch</authorinitials>
+ </revision>
+
+ <revision>
+ <revnumber>v0.2.1</revnumber>
+ <date>10 April 2001</date>
+ <authorinitials>bch</authorinitials>
+ </revision>
+
<revision>
<revnumber>v0.2</revnumber>
<date>8 April 2001</date>
This HOWTO is designed for people with experience in programming
and some skills in managing a software project but who are new to
the world of free software. This document is meant to act as a
- guide to the non-technical aspects of free software development
- and was written to be a crash course in the people skills that
- aren't taught to commercial coders but that can make or break a
- free software project.
+ guide to the non-technical aspects of free software project
+ management and was written to be a crash course in the people
+ skills that aren't taught to commercial coders but that can make
+ or break a free software project.
</para>
</abstract>
<sect2 id="newversions">
<title>New Versions</title>
- <indexterm>
- <primary>fswd!news on</primary>
- </indexterm>
-
<para>
- This is the second pre-release of this HOWTO. It is written to be
- released to developers for critique and brainstorming and
- submitted to Hampshire College for academic credit. Please keep in
- mind that this version of the HOWTO is still in an infant stage
- and will be revised extensively before it gets publicized widely.
+ This version is the part of the third pre-release cycle of this
+ HOWTO. It is written to be released to developers for critique and
+ brainstorming and submitted to Hampshire College for academic
+ credit. Please keep in mind that this version of the HOWTO is
+ still in an infant stage and will be revised extensively before it
+ gets publicized widely.
</para>
<para>
The latest version number of this document should always be listed
- on <ulink url="http://people.debian.org/~mako/projects/howto">the projects
- homepage </ulink> hosted by Debian.
+ on <ulink url="http://yukidoke.org/~mako/projects/howto">the projects
+ homepage </ulink> hosted by <ulink url="http://yukidoke.org">yukidoke.org.</ulink>
</para>
<para>
<listitem>
<para>
- <ulink url="http://people.debian.org/~mako/projects/howto/FreeSoftwareDevelopment-HOWTO/t1.html">HTML</ulink>.
+ <ulink url="http://yukidoke.org/~mako/projects/howto/FreeSoftwareProjectManagement-HOWTO/t1.html">HTML</ulink>.
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://people.debian.org/~mako/projects/howto/FreeSoftwareDevelopment-HOWTO.html">HTML (single page)</ulink>.
+ <ulink url="http://yukidoke.org/~mako/projects/howto/FreeSoftwareProjectManagement-HOWTO.html">HTML (single page)</ulink>.
</para>
</listitem>
<listitem>
<para>
- <ulink URL="http://people.debian.org/~mako/projects/howto/FreeSoftwareDevelopment-HOWTO.txt">plain text</ulink>.
+ <ulink URL="http://yukidoke.org/~mako/projects/howto/FreeSoftwareProjectManagement-HOWTO.txt">plain text</ulink>.
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://people.debian.org/~mako/projects/howto/FreeSoftwareDevelopment-HOWTO.ps.gz">Compressed postscript</ulink>.
+ <ulink url="http://yukidoke.org/~mako/projects/howto/FreeSoftwareProjectManagement-HOWTO.ps.gz">Compressed postscript</ulink>.
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://people.debian.org/~mako/projects/howto/FreeSoftwareDevelopment-HOWTO.sgml.gz">Compressed SGML source</ulink>.
+ <ulink url="http://yukidoke.org/~mako/projects/howto/FreeSoftwareProjectManagement-HOWTO.sgml.gz">Compressed SGML source</ulink>.
</para>
</listitem>
</itemizedlist>
In this version I have the pleasure of acknowledging:
</para>
+ <para>
+ Anyone who gave me an idea for a better name and everyone who
+ assured me that a Project Management HOWTO didn't necessary imply
+ corporate.
+ </para>
+
+ <para>
+ Josh Crawford, Andy King, and Jaime Davila who all read through
+ this beast and gave me feedback that has helped me make changes
+ and improvements to this document. I can't thank you guys enough
+ for your help.
+ </para>
+
<para>
<emphasis>Karl Fogel</emphasis>, the author of <emphasis>Open
Source Development with CVS</emphasis> published by the Coriolis
<primary>fswd!starting</primary>
</indexterm>
<para>
- With very little argument, the beginning is the most difficult part
- of successful free software development. Laying a firm foundation
- will determine whether your project flourishes or withers away and
- dies. It is also the subject that is of most immediate interest to
- anyone reading this document as a tutorial.
+ With very little argument, the beginning is the most difficult
+ period in a project's life to do successful free software project
+ managment. Laying a firm foundation will determine whether your
+ project flourishes or withers away and dies. It is also the subject
+ that is of most immediate interest to anyone reading this document
+ as a tutorial.
</para>
<para>
<title>Identify and articulate your idea</title>
<para>
Eric S. Raymond writes about how free software projects start in
- his essay, <quote>The Cathedral and the Bazaar,</quote> which
- comes as required reading for any free software developer. It is
- available <ulink
- url="http://www.tuxedo.org/~esr/writings/cathedral-bazaar/">online
- </ulink>.
+ his essay, <ulink
+ url="http://www.tuxedo.org/~esr/writings/cathedral-bazaar/"><quote>The
+ Cathedral and the Bazaar,</quote></ulink> which comes as required
+ reading for any free software developer. It is available online .
</para>
<para>
<para>
For many developers this may be the single most difficult aspect
- of free software development but it is an essential one. It is
+ of free software project managment but it is an essential one. It is
easy to become fired up by an idea and be caught up in the
momentum and excitement of a new project. It is often extremely
difficult to do but, it is important that any free software
brings up the question of <quote>Open Source Software</quote> and
the debate over the terms <quote>Open Source Software</quote> and
<quote>Free Software</quote>. However, because I've written the
- Free Software Development HOWTO and not the Open Source
- Development HOWTO, my own allegiances in this argument are in the
- open.
+ Free Software Project Management HOWTO and not the Open Source
+ Software Project Management HOWTO, my own allegiances in this
+ argument are in the open.
</para>
<para>
<para>
The text of the <acronym>GPL</acronym> offers <ulink
url="http://www.gnu.org/copyleft/gpl.html#SEC4">a good
- description</ulink> of mechanics of applying a license to a piece
- of software. My quick checklist for applying a license includes:
+ description of the mechanics of applying a license</ulink> to a
+ piece of software. My quick checklist for applying a license
+ includes:
</para>
<para>
<!-- Section2: otherdev -->
<sect2 id="otherdev">
- <title>Other Development issues</title>
+ <title>Other Project Management issues</title>
<para>
There are more issues surrounding interaction with developers in a
free software project that I can not touch on in great detail in a
freeze in effect.
</para>
</sect3>
+ </sect2>
- <sect3>
- <title>Forking</title>
+ <sect2>
+ <title>Forks</title>
<para>
- Forks are like the most extreme version of a branch. A fork is
- when a group of developers takes code from a free software
- project and actually starts a brand new free software
- project with it. The most famous example of a fork was between Emacs and
- XEmacs. Both emacsen are based on an identical code-base
- but for technical, political, and philosophical reasons,
- development was split into two projects which now compete with
- each other.
+ I wasn't sure about how I would deal with forking in this
+ document (or if I would deal with forking at all). A fork is when
+ a group of developers takes code from a free software project and
+ actually starts a brand new free software project with it. The
+ most famous example of a fork was between Emacs and XEmacs. Both
+ emacsen are based on an identical code-base but for technical,
+ political, and philosophical reasons, development was split into
+ two projects which now compete with each other.
</para>
<para>
absolutely unresolvable, I recommend Fogel's book as a good place
to start.
</para>
- </sect3>
</sect2>
</sect1>
to try and be as responsive as possible. A solid knowledge of the
situation recounted above is any free software developer's best tool
for shifting his development or leadership style to fit the unique
- process of free software development. This chapters will try and
+ process of free software project management. This chapters will try and
introduce some of the more difficult or important points in any
projects interactions with users and give some hints on how to
tackle these.