CSE590N:
Software Engineering
Winter 2001
David Notkin
Reminder: If you're a student, sign up for CSE590N for credit.
Please. And everybody should sign up on the cse590n mailing list through
majordomo. (Let me know if you need information on either of these.)
Room change: We're now in MGH 085: Tuesdays, 1:30-2:20PM.
This quarter we will start by looking at open source: what is it and what
software engineering benefits does it (or does it not) provide? For
example, there are many anecdotal claims that open source inherently leads to
better quality software. Is this accurate? If so, why?
There's a lot of material on the web including:
Here's the plan for the beginning of the quarter, as always subject to
change.
- January 2, 2001: Informal discussion of open
source and questions we'd like to answer about it
- Here were a few things mentioned as of possible interest at the first meeting:
- What else could be provided with open source projects, along the lines of
design documents, test information, etc., that would make them of more value
to companies like Boeing?
- Does the funding model discourage people from producing these other
aspects of software, focusing on code and implementation alone?
- Will open source provide a richer basis for mining reusable components?
- What kinds of tools are needed for supporting open source?
- What does SourceForge provide?
- Should we do electronic walkthroughs of one or more open source projects
together?
- Are there differences in styles of open source projects (for instance,
old-style C-based projects with a fearless leader vs. new-style Java-based
projects with a less-clearly identified leader)?
- Who do we know who has actually been involved in an open source project,
and should we get them to speak?
- January 9, 2001: E.S. Raymond. The
Cathedral and the Bazaar (html
or postscript)
- Here are some scratches that Notkin made during the discussion (and
then spilled coffee on, so they are even more incomplete than they would
have been)
- What are the business models? Apparently there are a set
listed out there somewhere
- Should all software be done this way? If not, how can we
characterize what should and shouldn't?
- There are clearly kinds of software in which the users can't be
the developers (e.g., software to support social workers)
- We had extensive discussions about whether games could, should, or
would ever be down with open source; one of several issues was how
to handle content (as opposed to code)
- Open source does not imply anarchy
- What reasonable models fall between the Cathedral and the Bazaar
models?
- Extensive discussions about the Delphi effect: does it hold and,
if so, why? Diversity of experience was said to be the key;
diversity in other dimensions, like environments, too.
- Does open source work because of self-selection to the top 5% of
programmers?
- January 16, 2001: A. Mockus, R.T. Fielding and J.
Herbsleb.
A
case study of open source software development: the Apache server.
ICSE 2000. Here's a version
from Mockus' site at Bell Labs.
- January 23, 2001: Greg Badros on his experience in
working on Guile
and Scwm (in which he was the lead).
- January 30, 2001: Will Portnoy and Bart Niswonger on Open
Source Software Tools.
- February 6, 2001: A. Zeller. Yesterday,
my program worked. Today, it does not. Why? ESEC/FSE
1999.
- February 13, 2001: No meeting
- February 20, 2001: Even-André Karlsson, Lars-Göran Andersson and
Per Leion. Daily
build and feature development in large distributed projects. ICSE
2000.
I've also identified a couple of recent papers that we can read later in the
quarter: