[squeak-dev] Seaside, Squeak4.4, SqueakMap and Metacello, or Why Software Configuration Management is Important (war: Re: [Seaside] New catalog entry for Seaside 3.0.3)

Chris Muller ma.chris.m at gmail.com
Sun Mar 24 19:13:37 UTC 2013


Good post.  Just one or two more comments (see below).

>> My main requirement is for any newbie, or an archaeologist from the
>> future, to be able to figure out how to install a working piece of
>> software without having to ask questions on the mailing list.
>
> My main requirement is to allow for the complexity of
> Software Configuration Management and to not make it and its maintenance
> more complex than necessary. Let's go for the overlapping part :)

Yes agree.  Publishing should be easy as much as Consume should.

>>>> Sure, the SM script could easily be changed to also fail, but that
>>>> does not allow two independent projects that both require Grease to be
>>>> easily consumed.
>>>
>>> What do you mean by Consumed?
>>
>> Installing and using a piece of software.
> Ok. But you won't detect the case of the two projects requiring
> conflicting versions of Grease, either. :/

My thought is, an application that requires two projects both
requiring Grease, all running in one image is going to be a
complex-enough situation to warrant human attention in any case.  An
imperative script could certainly check for specific versions but I
question whether producing an eager error about that is useful.  Why
not just "merge" and let it go.  Perhaps a method conflict will force
an alert to the human configurator about the discrepency but, even if
not, such a complex image is not going to get very far without some
setup and testing, so "discovery" about the Grease situation in short
course seems inevitable.

That could even be turned around 180 and still say, maybe the
differences in the two Grease versions were just one little method
comment and so, no effective difference.  So the happy-go-lucky newbie
is no worse off and was not stopped by a message that was essentially
not necessary in that particular case.

I think my positions are motivated by late-binding philosophy and so
maybe that's why I tend to be skeptical about declarative things.  I
certainly agree the declarative nature of Monticello code is a
very-good-thing; and it feels logical to extend that into
larger-grained configuration declarations.  I just want to make sure
it serves us more than we have to serve it.

Thanks for the fun discussion, it makes me think.

 - Chris


More information about the Squeak-dev mailing list