I think most of my concerns, while not fully addressed, are nearing to a 
semi-satisfactory state.  I still have concerns about binary 
compatibility, and I don't think the project team has adequately 
presented an answer to the following two questions:

    1) how will we alert users/developers to the dangers (binary 
compatibility dangers, that is) of using this library
    2) how will this project fit into any long term strategy with 
respect to C++ standards conformance

The lack of (or appearance thereof) a long term strategy with respect to 
C++ standards conformance is something I find deeply unsettling.

The fact that libraries compiled against this library will be 
incompatible with libraries compiled against other "default" libraries 
is only moderately unsettled -- but the fact that developers will have 
no way to apriori identify what the compatibility issues between 
"middleware" libraries is a serious shortcoming, and one that I think 
should be fixed if we're going to make any kinds of promises here.

One way the team could help address my concerns would be to declare the 
*source code* interfaces to be Committed, but avoid granting that status 
to the binary interfaces.  (And yes, the library has binary interfaces 
-- I'm not talking about the C++ ABI here, but the combination of ABI 
from the compiler and binary interfaces that result from compiling this 
library's header files.)

Another mitigating approach would be to request/require that middleware 
developed on top of this library somehow name their libraries (perhaps 
by placing them in a directory) so that the linkage compatibility issues 
are made explicit.  This could also help address the situation when we 
need (as I suspect we will) to change the binary interfaces when a new 
version of the library is included/shipped.

Another approach might be for other projects (KDE) that need this 
library perhaps a solution involving autoconf style pkg-config to 
specify compiler options, along with a contract for the use of the 
interfaces, might be another approach.

In any case, I'd like to request that the timeout for this case be 
extended until the next public PSARC meeting (i.e. Sept. 10).

Its possible that the best solution here would be to derail and 
subsequently approve the case, so that the ARC can supply an opinion 
requesting Sun mgmt to fund additional work to address the problematic 
gaps here.

    -- Garrett


Reply via email to