[plt-dev] component delivery, a social experiment

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Nov 10 12:50:45 EST 2009

I, for one, am quite happy that we have a nightly build and hope that
we continue to have it. I suspect that anyone that uses Windows and
wants to keep up from SVN also benefits, since building under Windows
is not an easy thing to do (unlike the other platforms we support).

I don't think the option two below you mention is feasible, simply
because removing the file is likely to break the build in some other
way. But perhaps we can have some other Bad Thing that happens (public
blame anyone?) when someone breaks the build that would help get us
back in shape quickly.


PS: for the record, I complained twice to Eli about the currently
broken build, once when I noticed it because I wanted to point someone
to recent docs and then later when someone else contacted me about it.
So "no one noticed" is just plain wrong.

On Tue, Nov 10, 2009 at 11:20 AM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
> Ladies and gentlemen,
> Eli spent my first hour++ in my office this morning pointing our serious
> flaws in our world. Here are two important points, and I am putting them up
> for discussion here with a request for sensible comments:
> 1. In some way we have been conducting a social experiment for the past 10
> days or so. As you all know, Eli spent a considerable time creating the
> nightly build framework when he first arrived here. From the nightly build,
> Eli's software also creates a nightly set of deliveries and puts them up on
> the web somewhere. What you ma not realize is that the nightly builds have
> been broken for some 10 days due to the check-in of a module that breaks the
> component delivery mechanism.
> Nobody complained, so our conclusion was that nobody noticed. Our second
> corollary was that perhaps we only have a camel-back distribution of users:
> those who use svn and build from svn and those that use only the releases.
> (As Eli walked out of my office, I switched to my email and the first
> message contained a complaint about the missing nightly deliveries. This
> means we know of one user of the deliveries.)
> 2. Which brings me to the topic of "delivery by component." Apparently few,
> if anyone here, is aware of Eli's carefully arrange delivery layers:
>  -- smallest: plain mzscheme, no mred, no docs
>  -- mid size: mred, drscheme, no docs
>  -- largest:  everything
> Eli tells me that there are numerous people who use 'smallest'; I don't know
> about mid.
> He (and I and I know Robby) have for a long time envisioned a delivery
> system that starts with a core package and then asks (possibly via some gui)
> what other packages should be installed, e.g., the 'mred' layer or the
> server. The three-tier delivery system is a first step toward this
> component-oriented delivery.
> Eli has carefully maintained a dependency graph and list (that takes some
> 11megs) among the various files (8 platforms, 3 tiers, everything spelled
> out). Since people aren't really aware of this system, they easily and
> apparently relatively often break the non-cyclic dependencies. (I am guilty
> of doing this myself when I wrote the first docs that depended on
> slideshow.)
> In my opinion, we have two options:
>  -- drop the dependency system and just deliver one large package
>  -- enforce the dependencies. If you break them, you get a message.
>    If you don't clean them up in N hours, the file is removed.
> ;; ---
> As I said, sensible comments welcome. -- Matthias
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-dev

Posted on the dev mailing list.