>>Let me comment this in a more general way andnot only driver related:
>
>Some time ago, we had several attempts to discuss binary compatibility
>between different OpenSolaris based sitributions. If we take this for serious,
>Sun would have to honor "prior art" from older OpenSolaris distributions
>or installations from the community.

There might have been a discussion but there was never a conclusion other 
than that Sun likes to define binary compatibility by way of a certain
"reference distribution".  This would be the "Primus inter paris" of 
distribution.  (Or as George Orwell put it "some distributions are more 
equal than others).

The reason for this definition is that it is cheap and possibly workable, 
but on the other hand it's a definition which is too strict.

Since no one controls "all distributions" and distributions can be created 
at random and incompatibly (like Nexenta is), a definition which includes 
more than one distribution or software repository is not workable; and it 
certainly wasn't defined that way.   I would say there's still no 
well-defined binary compatibility target other than Solaris 10/Solaris 
Nevada.  (Indiana, giving an incompatible user experience and scripting 
experience is not such a release even if it aspires to be one)

>This of course also applies to "any solaris" + Blastwave.

Nope.

>Isn't Sun creating deliberate binary incompatibilities if a program with the
>name "foo" refers to different free software on recent Solaris express vs.
>Blastwave if the "first integration" was done at Blastwave much earlier than
>in Solaris Express?

These are several non-sequitors chained to make a logical argument, and the
flaws in the argument are as follows:

        - If it's the same deadhorse, there is no incompatibility because 
          Sun renamed /usr/sfw/bin/deadhorse to /usr/bin/deadhorse whereas 
          Blastwave ships /opt/csw/bin/deadhorse.   There are multiple 
          examples in Solaris of same command "foo" in different locations.

        - This is not how compatibility is defined.

        - Blastwave does its own thing and explicitly elects to erect 
          scaffolding of its own where the Solaris foundation could have 
          been used instead.

        - We're talking about "Solaris, the Sun product"; any discussion 
          on how Sun's Solaris distribution is assembled from various 
          pieces of open and closed source is pretty much outside the scope
          of OpenSolaris.

        - Al is right, "first to integrate" is still the norm.

        - "First toIntegrate: has never been defined in any other sense than
          "shipping as part of an offical Sun Solaris distribution".
          (emphasis on *shipping*, *official* and *Sun*)

Over time, we have seen a number of conflicts which have, AFAIK, all been 
steamrollered in Sun's favor:

        Sun's infiniband driver "ib" conflicts with a "ib" driver for some
        expensive piece of equipment with a driver for Solaris which sets 
        you back $1000s.  The Infiniband folks have not felt the need to 
        change this.

        HAL's Solaris/64 2.5.1(?) was a Solaris distribution for SPARCv9; it 
        is NOT source or binary compatible with any of Sun's Solaris 
        SPARCv9 releases, even though it was first. (It uses ILP64)

The world is too big a place to allow any odd software producer to mandate 
certain restrictions on future software releases.  That's why the
narrower scope of "stuff actually shipping in Solaris" is used.

For drivers the picture is not pretty: both conflicts in naming (the ib 
driver, new nVidia vs old nVidia) as well as conflicts in supported
devices (a differently named opensource driver vs a vendor (non)supplied
driver) cannot be resolved other than by installing just one of the
conflicting drivers.

Both the inability to bind a specific driver to a specific node and the
flat namespace which makes it impossible to have multiple "ib" or other
drivers require a considerable amount of rearchitecting.  But it's not a 
pressing problem as the conflicts are rare and effect few systems.

Conflicts for command names can be resolved as always: just use different 
path names and call commands by their full pathnames.

Now stop flogging the dead horse.

Casper

Casper




_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to