Two Case Studies of Open Source Software Development
started 10/10/2002; 12:54:52 AM - last post 10/17/2002; 11:02:32 PM
|
|
jon fernquest - Two Case Studies of Open Source Software Development
10/10/2002; 12:54:52 AM (reads: 1877, responses: 6)
|
|
Two Case Studies of Open Source Software Development |
A comparison of the Apache and Mozilla projects:
According to its proponents, open source style software
development has the capacity to compete successfully,
and perhaps in many cases displace, traditional commercial development methods.
In order to begin investigating such claims,
we examine data from two major open source projects,
the Apache web server and the Mozilla browser.
By using email archives of source code change
history and problem reports we quantify aspects
of developer participation, core team size, code
ownership, productivity, defect density, and
problem resolution intervals for these OSS projects.
We develop several hypotheses by comparing the
Apache project with several commercial projects.
We then test and refine several of these hypotheses, based on an analysis of Mozilla data.
We conclude with thoughts about the prospects for high-performance commercial/open source process hybrids.
The
first lecture of MIT's software engineering lab
[
Prior LTU Posting]
gives some useful background on the Netscape source code
that would later be used in Mozilla.
(see "The Netscape Story", p. 11).
(Two Case Studies of Open Source Software Development: Apache and Mozilla,
A. Mockus, R. Fielding, J. Herbsleb,
January 2002)
Posted to Software-Eng by jon fernquest on 10/10/02; 1:43:42 AM
|
|
|
|
jon fernquest - Re: Two Case Studies of Open Source Software Development
10/10/2002; 2:44:13 AM (reads: 1060, responses: 1)
|
|
My reading:
If the program isn't modular, the programmers will be.
The Apache project had the luxury
of maintaining clean interfaces to external modules from the
very beginning whereas Mozilla inherited Netscape's code,
decayed code that had lost its modularity.
The Mozilla Project compensated for this lack of modularity
by centralizing the project's organizational structure
around "module owners".
This study uses change management data like two prior
LTU postings that were highly dependent on line-oriented statistics:
Seesoft,
Does code decay?.
[
Slashdot Link]
|
|
Ehud Lamm - Re: Two Case Studies of Open Source Software Development
10/10/2002; 6:54:29 AM (reads: 1101, responses: 0)
|
|
Is this really a programming language issue?
|
|
jon fernquest - Re: Two Case Studies of Open Source Software Development
10/11/2002; 3:26:43 AM (reads: 981, responses: 1)
|
|
The *way programming languages are used* by
open source projects or corporations must be an important
programming language issue.
The two case studies of what large projects do
with programming languages is fascinating.
Under the pressure of the browser wars Netscape's code
base starts to decay and modularity starts to erode away.
It would be really interesting to actually see the degree of coupling between
modules start to increase.
Whenever people talk in the abstract about changes like this,
I'd always like to drill down to the actual code
(or some Abstract Syntax Tree representation of dependencies
in the code) and see the process of decay actually happening, actually setting in.
(Particularly after reading the notes on decoupling from the MIT
software engineering course.)
I guess you could reconstruct the whole thing, rewind it and replay it,
if they took daily backups.
You could run some tool to trace dependencies between modules
as you replay it.
Sometimes events in history happen with one person and one event on one day,
like Caesar crossing the Rubicon.
Maybe one programmer drank too much espresso one night
and threw some go-to's into the code, maybe some managers or marketing people
made some bad decisions, maybe it was more high level l, maybe the whole structure of
the project was off, maybe all of the above.
Could programming features
have enforced loose coupling and prevented decay?
I think these are programming language issues.
|
|
Luke Gorrie - Re: Two Case Studies of Open Source Software Development
10/11/2002; 4:05:22 AM (reads: 956, responses: 0)
|
|
FWIW, I think that both Apache and Mozilla are in CVS repositories, which gives you full access to every version of every file, and the ability to grab snapshots for a particular date. So if you want to do such a progressive/replay study, the data should be readily available.
|
|
Ehud Lamm - Re: Two Case Studies of Open Source Software Development
10/11/2002; 5:54:12 AM (reads: 1019, responses: 0)
|
|
I agree. Esp. with the idea of using open source projects for this kind of analysis. But doing real research about such questions is really hard.
|
|
jon fernquest - Re: Two Case Studies of Open Source Software Development
10/17/2002; 11:02:32 PM (reads: 869, responses: 0)
|
|
> But doing real research about such questions is really hard.
No doubt, but essential.
If the oft made claim that programmer incompetence is widespread
is true and that incorrect or sub-optimal use of language features
is rampant, researching the ways in which programmers fail to
use the language correctly should be an important input into language
design.
I could see heavy typing tuned to specific types of programs
or applications as being a remedy, a kind of guide that
coaxes a programmer into efficient and correct programming patterns.
I should have made the posting in the
history department. After my second posting in
the discussion I started to reflect a little bit.
Programming language history, much like traditional
historiography,
focuses on the ideas of the important history making
people who design the languages in the first place.
In the 20th century traditional historiography moved
towards collecting statistics on how the common people
lived. (see French Annales School).
This trend towards analyzing data from CVS repositories
seems similar where your average everyday programmer
has the role of the "common people".
|
|
|
|