Lambda the Ultimate

inactiveTopic 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  blueArrow
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  blueArrow
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  blueArrow
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  blueArrow
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  blueArrow
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  blueArrow
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  blueArrow
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".