On Jan 15, 2009, at 6:44 PM, Chris Quenelle wrote:

> Please back up a step and help me understand why we need to deliver
> parallel versions through Nevada, and not just through our existing  
> channels.

I honestly don't know why I, myself, are taking such a interest in  
this case, but if I had an idea it might be because I and perhaps a  
few others are taking the long view based on past experience.

But as you urge, let's put aside implementation details for a moment  
and focus on the concept. Hopefully I can articulate my argument well  
enough, so here goes:

You know, compilers (or suites of them) are a menagerie in their own  
special way, different from programs such as 'ls', 'sed', 'dc', and  
'vax'. Devs tend to stick to a specific Major version (and the more  
pedantic, a particular Minor version) and upgrade only when arbitrary  
circumstances require it. When it does come time move to a successive  
compiler version, the new version has to co-exist with the prior one  
for at least some amount of time. GCC's way of handling this is with  
appropriately-named executables, command-line flags, and version- 
specific directories. Unbundled Sun Studio's way is to keep all of a  
Major version in its own tree under /opt.

This case requests to bundle a subset of the unbundled Sun Studio  
suite directly inside ON. Excellent. For C/C++, we would have arguably  
the best compilers readily present in the default $PATH. No neophyte  
users having to learn that they need to add /opt/whatever/bin to their  
$PATH and thus short-circuiting any "But in Linux..." quips. But!

...but what is the real utility and maintainability of doing this  
given the described culture that exists around compilers? Choosing  
what version of Sun Studio goes into ON might be easy now, but what  
about in the future when we will have to *replace it* (not supplement  
it) with Sun Studio 16? How will updates/patches be reconciled between  
the bundled and unbundled variants? Take these questions and pile the  
key one on top - "How would users react to that?"

Okay, so the response would be "Well, then install the unbundled full  
version of Sun Studio." All well and good, and without question the  
user would definitely be getting the bits he/she desires. But then  
what of the bundled Sun Studio that continues to sit around in /usr/ 
bin and /usr/compilers ? It becomes a vestigial appendage sitting on  
prime realestate. The user could of course remove it, but then where's  
the win in that? The intent of this case would then cease to offer any  
benefit to the user and we're back to square 1.

So I think that some of us are urging a little architectural and  
usability foresight to be applied here. Nothing irks users (myself  
included) more than having to do a package and $PATH dance to make  
things "right." Seasoned vets such as ourselves might roll our eyes  
and say "figure it out and fix your path, ya scab" but we must  
remember who we're trying to attract to OpenSolaris and what platforms  
they're coming from.

/dale




Reply via email to