[lug] Software Projects as well.... (long)

Evelyn Mitchell efm at tummy.com
Sat Oct 13 10:21:26 MDT 2001


On Sat, Oct 13, 2001 at 09:42:43AM -0600, Dhruva B. Reddy wrote:
> I don't see this attitude so much in open-source projects.  In fact, I have
> seen one project (whose name eludes me) that makes available any kind of design 
> document (class diagrams, etc.).  On a similar note, I have not seen any open 
> source CASE tools that I am comfortable recommending over, say, Rational Rose 
> or Together, and I have attributed that to this attitude.

Have you taken a look at ArgoUML (and related tools), from tigris.org?

I think a big reason why more Open Source projects don't use those
sorts of tools is because the tools tend to close down language choice
(Java and or C++ are well supported, nothing else is), which will always
get the hackles up of a developer who wants to use the right tool for
the job.

Also, if you're following the Unix philosophy of many small tools, each
of which does one thing well, then code-level design tools, like ArgoUML are
much less interesting than system-level design tools.

There is a lot of interest in the Open Source community in designing and
building good code. If anything, there is more opportunity for a sense
of pride in creating a well-crafted tool because every part of it, from
the user interface down to the single line of code, is available for 
scrutiny. 

I do find that the toolsets available to Open Source developers
(like diff and patch and cvs), tend to drive appraisals of developer
skill towards being based on code-in-the-small, not architecture
or system design.  

As well, it is a question of time. It just takes too long to become
familiar enough with a system to be able to judge not only how each of
the pieces work, and their quality, but also things like how easy it is to
replace big components (database back ends, or gui toolkits). And, one a
developer has invested all of that time in learning the system, they may
not have any time left to do more than suggest changes in architecture.

I think that Open Source has contributed significantly to the opportunity
to become a good programmer and systems developer. Without Open Source,
we're doomed to learning only from the code we're being paid to work
on. This tends to enforce small community practices without external
review. Those sorts of teams may find a good local optimum, but they're
never compared against a broad range of good practices.

Can you imagine learning how to be a good musician, if you only played
with the same 6 people your whole life? 

The big development tool frameworks, like Rational Rose and Together are
solving a different problem than the Open Source tools are. They provide
a much higher opportunity for management of projects, which is a good
thing when dealing with budgets and market windows. They probably don't
contribute to Open Source projects in ways that would be interesting in
that culture.

Evelyn Mitchell
efm at tummy.com




More information about the LUG mailing list