[plt-scheme] Version Check

From: Anton van Straaten (anton at appsolutions.com)
Date: Thu Apr 27 11:00:10 EDT 2006

Matthias Felleisen wrote:
>>> On 4/26/06, Anton van Straaten <anton at appsolutions.com> wrote:
>>>> Matthias Felleisen wrote:
>>>>> Ethics: In the spirit of modern commercial OSes, I consider it 
>>>>> perfectly
>>>>> okay to go out on the Web occasionally and check whether there are 
>>>>> patches.
>>>> The "Microsoft does it, so it must be ethical" argument?  :)
> This is about as well-reasoned as "Microsoft does it, so it must be 
> unethical".

Think of the ":)" as a symbol with a lexical scope which extends to the 
beginning of the prior sentence (sometimes paragraph), which among other 
things indicates that "well-reasoned" is not necessarily a property of 
the text in said scope.

But the true words behind that jest are that the real reasons companies 
make their software perform update checks have much more to do with 
marketing than technical reasons.  The worst offenders in this area 
(such as Macromedia and Real) are just a minor step away from spyware 
and adware in terms of their nuisance value.  For me, there's a strong 
guilt-by-association factor here.

When actual technical reasons are involved in update checks, they tend 
to have to do with particularly buggy or insecure software which 
requires frequent updates to remain viable.  Another justification for 
automating the update process as much as possible is that getting 
consumers used to rely on that process makes it easier to distribute 
controversial updates, such as new systems to restrict fair use rights.

The result of this situation is that arguments of the form "everyone 
else is doing it, why shouldn't we" should not be accorded much weight.

>>> Well, Fedora does it too, with the Red Hat Network checks.
> How about this: Reasoning software engineers understand that complex 
> systems, such as PLT Scheme [OS X, RedHat Linux, Windows n, etc] are in 
> constant need of care. If left to their own devices, they will "rot" and 
> may eventually cause harm. It is therefore imperative (pardon the word) 
> to occasionally update them. Everything else is unethical.

Reasoning software engineers understand that versioning is a complex 
topic which cannot sensibly be dealt with by applications in isolation. 
  Unless DrScheme can pop up a dialog which says "There's a new version 
of DrScheme, but the application you wrote six weeks ago is likely to 
fail due to the changes in SSL behavior", merely being told that there's 
a new version is relatively useless.  There's almost always a new 
version, so this isn't really useful information to a reasoning software 

Eli Barzilay wrote:
 > User-triggered checks were a failure.  During the 209->299->300
 > transition, the version check thing got broken, and for months nobody
 > noticed.

And what was the problem with that situation?

Note that I'm not arguing that PLT shouldn't do this.  I've already said 
what I think would be acceptable, which boils down to informed consent 
at install time.


Posted on the users mailing list.