On Fri, May 2, 2008 at 10:41 AM, Philip Brown <ppb at usc.edu> wrote:
> Keith M Wesolowski wrote:
>  > On Wed, Apr 30, 2008 at 02:14:50PM -0700, Philip Brown wrote:
>  >
>  >> In my opinion; yes, you SHOULD abandon the idea of Private interfaces.
>  >> In the "new world order" of supposedly "open" solaris, the lowest case
>  >> should be something like "unstable".
>  > ...
>
> >
>  > Making any level of commitment whatsoever to something explicitly
>  > intended as nothing more than an implementation detail will make it
>  > impossible for innovation to occur in existing projects while
>  > discouraging future project teams from forming at all.  What are you
>  > expecting to gain that would justify that cost?
>
>  An interface, is an interface. I dont see how definining it as "private"
>  somehow makes "innovation possible", whereas labeling it differently,
>  somehow inhibits it.
>
>  You seem to imply perhaps, "innovation" == "change", and unless an interface
>  is declared private, then it cannot change. thus, "not private" == "no
>  change" == "no innovation".
>
>  Then what's "uncommitted" for?
>  "uncommitted" presumably means, "this may change".
>
>  An "uncommitted" interface may change. if "innovation" == "change", then
>  "innovation" is still possible, if it is declared uncommitted instead of
>  private.
>
>  What do I seek to gain by dropping "private"?
>  I seek to avoid the cruft and nightmares of all the "private", undocumented
>  kernel interfaces of the past, where the sun kernel engineers decided,
>  "well, no-one outside sun ever needs to know about these interfaces; we're
>  the only ones that will use them".
>
>  But they were dead wrong. People outside sun, wanted, and needed, to use the
>  interfaces for years.

They weren't wrong though. The interfaces were declared as private
because they were not intended to be used by others in the general
sense.

If users actually needed those interfaces, then they should have
raised a support contract escalation with Sun, who in turn could
properly allocate the necessary resources to making that happen.

>  So, what I'm saying, is that people writing opensolaris code, should no
>  longer be allowed to stop OTHER PEOPLE, from "innovation".
>  Declaring an interface as "private", LIMITS innovation, to the people who
>  wrote/are in charge of the relating sections of code.

No, declaring an interface as private only does a few things as I see it:

* Lowers Sun's support burden and costs (which they would have to pass
on to you, the customer, otherwise)

* Recognises that not all software is intended for use by all people

* Places all usage of such an interface clearly as "at your own risk"

>  Thus, my position is; ALL interfaces should be documented to some degree,
>  and NO interface should be allowed to be called "private"

Attention and resources are finite, and it is not reasonable to expect
all interfaces to be documented to any specific degree.

The documentation of "private" -- indicating that others should not
use this function, and if they do, do so at their own risk, is the
best option imo.

I also feel that your argument is no longer as strong as it once was
given that almost all the source code for Solaris is now available.
Thus, individuals that wish to use things that they were not intended
to use can do so if they really want to.

-- 
Shawn Walker

"To err is human -- and to blame it on a computer is even more so." -
Robert Orben

Reply via email to