[Pythonmac-SIG] Private frameworks - BINGO!

Dan Grassi dan@grassi.org
Sun, 25 Aug 2002 21:02:57 -0400


On Sunday, August 25, 2002, at 04:44 PM, tmk wrote:

> On Sunday, Aug 25, 2002, at 22:00 Europe/Brussels, Dan Grassi wrote:
>
>> On Sunday, August 25, 2002, at 03:31 PM, tmk wrote:
>>
>>> In fact, I'd advocate that we rather leave Apple's install untouched 
>>> and provide our own, different. The main reason being that Apple may 
>>> upgrade its version at anytime and we don't want anything to break.
>>
>> Should Python be a special case, that is handled differently than 
>> perl, tcl,  OpenSSH, OpenSSL,  apache, ruby, php, etc?  Consider what 
>> a mess if all these also followed the same method of installing 
>> separate versions.  Following such a policy is little different than 
>> the old days when many applications installed SimpleText and there 
>> were so many copies and versions that it became a nightmare.  
>> Installing multiple versions of Python by default creates confusion on 
>> the part of the user.
>
> From what I see around the Web (e.g. Fink), people usually take great 
> care *NOT* to install stuff over Apple's. So the exception would be to 
> "update" Apple's installation :-).

 From what I've seen the Fink phylosphy has created problems even for 
building Python.  Other than Fink installations do indeed install into 
the Apple standard locations.  It is also unix/Linux phylosphy to 
install into the standard locations.

> I would not be surprised if there were Apple guidelines to that effect 
> (especially because in most case, it's totally easy stuff without 
> touching Apple's stuff e.g. look at what Fink does)

IMO it is a mistake to take Fink's phylosphy as the gold standard, they 
are not Apple.

> There's a reason for the current layout of the filesystem both from 
> Apple and from the Unix side of things. Separation of responsibility.

Yes, the unix (BSD) side of thinks are in the Darwin cvs and that 
includes Python.
>>
>> Let's say that we install a new version of Python and then Apple in 
>> their stupidity updates their version to an older version and updates 
>> symlinks in /usr/local/bin, etc.  Now the user gets Apple's version 
>> anyway.  Further if the user may well execute different version of 
>> Python based on _how_ it is called.  This should _not_ be the default 
>> case.
>
> First the problem is not that Apple would do stupid things. For example 
> you could have a tuned version of Python with additionnal modules. 
> You'd rather install it under /usr/local/ instead of replacing Apple's.

While this can be done it is not the usual install and should not be 
considered as a default.  Anyone wanting to do this should be on their 
own in the same manner that putting Apache in a non-standard location is 
possible but not a default.

> It's only normal that when Apple upgrades they only upgrade their 
> version and leave yours untouched.

>> There is a versioning system in place in frameworks that allows 
>> multiple versions for those who are astute enough and handles the 
>> default case for the average user as well.
>
> Well, you could have a tuned version of python with additional modules 
> but with the same version. They're different but have the same version 
> number. The versioning does not handle this case (neither does it 
> handle minor point releases IIRC)

There is an implicit assumption that Apple will _remove_ things, why 
should we assume this?

>> IMO we should not fight Apple, not assume that Apple is going to do 
>> the stupid thing and we must follow the path best suited to the base 
>> user, that is run programs developed by others.
>
> I agree. But than again what you advocate goes contrary to this 
> philosophy. Don't you think that "fighting Apple" would be installing 
> over their version?

No, fighting Apple, IMO, is for all the various package maintainers to 
make their individual idiosyncratic decisions, this is exactly what the 
problem that Linux Standard is addressing.  With such a situation one 
would not see any consistancy and it would make things more difficult.

>> KISS
>
> Exactly. Suppose two different providers each install their own version 
> of python over Apple's, or your own fine tuned one, would you be happy?

If I do the install yes.  Consider Perl, I don't want to write programs 
in it but I do have Perl programs that I use -- the last thing I want is 
even more confusion about using Perl.

KISS -- put it where people expect it.

Dan