[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(FC-Devel) Cathedral-Bazaar paper



Wow, I've finally read Eric Raymond's paper "The Cathedral
and the Bazaar".  I'm very impressed and suddenly feel
empowered!  According to his studies, I have made several
key errors.  I apologize for my ignorance on the topic
originally.  This is my first project done in this manner. 
So, let's quickly try to regroup and get on track.

In a bazar model, we are supposed to always start with
something.  There really is not much to sart with in this
field.  I was hoping to get some help getting this project
off the ground to get up to the "something" point.  IMHO, it
would be unfortunate if the bazaar model really prevented
you from truly starting a project on the net.  Anyway, we
now have Argo/UML and that may very well serve as a major
step towards our starting point.

Based on my interpretation, we need to do whatever we can to
quickly get to a coding point.  To aid us in this, Pierre is
setting up our CVS services so we have a place to store our
code.  I believe it will soon have Argo/UML incorporated.

What do we do next?   I have read the list messages and
propose the following steps to take. (Based specifically on
comments made by Danny and Andrey)
1) Define a finite scope of FreeCASE for now.
	Purpose - Have a clear problem to solve without an
unrealistic attempt to solve the general CASE tool problem.
	Method
		A) Write a problem statement, describing clearly the
problem we're solving.
		B) Define the components that will be used to solve A.
		C) Write a requirements document and list of features for
what will be in 
		   FreeCASE 1.0 (By component in B).
Note: It is clear that FreeCASE 1.0 is a long time coming. 
The features and requirements should be limited to those
required for part A.  Also, this will be a living document. 
There is no reason to put extensive work into this to try to
solve all CASE tool problems.  Remember that this is not a
research project.  We are producing a product.

2) Define a schedule.
	Purpose - To show measurable progress to achieving our goal
and give developers 
		  satisfaction in producing something.
	Method
		A) Define what will be in the next upcoming two/three
releases specifically,
		   0.0.1 and 0.0.2. (By Component)
		B) Define which features are going to be deferred to
later, but whenever
		   possible, include a projected version number.

3) Define a current list of things to do, by component.
	Purpose - Provides a simple shopping list for those who
want to help.
	Method
		A) Provide a well-maintained list of things to do for all
versions.
		   (May be limitted to current and next couple versions).

4) Provide a list of all suggestions with a probable
version-number. 
	Purpose - Shows how suggestions are being incorporated
	Method
		TBD
Note: Part 4 can wait until the first 3 parts are well under
way.  It is a tool to integrate a change mechanism resulting
from suggestions.

5) Let the coding begin!
	Purpose - To produce something more than documentation and
plans.
	Method
		A) Bazaar development model - People choose the piece
which interests
		   them and contribute to it.
Note: Specific teams may not be required.  If the general
tasks are defined, people can work on whatever they wish. 
We can maintain a list of who is working on the todo items
to facilitate communication.

I hope we can overcome some of the missng preconditions of
this kind of development.  Let me know what you think of my
comments.  If they seem fine, I will make this the
foundation of a software development plan for us.  Other
usefull information will be added over time.  As far as
schedule, I think we had better get to step 5 within 30
days, or we will loose a lot of momentum.

Now, we could use some specific volunteers.  I'm not proud,
all pieces are up for grabs.  I don't feel that I must
personally do any specific pieces.  Please feel free to pick
any piece and let me know you are taking a cut at it.  This
also only needs to be a first cut.  A starting point is all
we really need.

Finally, let me say that my jobs are beginning to take more
time than I anticipated when starting this project.  I will
probably have to restrict my activities to management level
for now.  I anticipate having about an hour or so every
other day.  If anyone is interested in co-managing to get
more involved, let me know.

Regards,
Jeff Wolfe