Stefan,

I am good with most of the responses.  I want to delve a little more into
the first issue.

Thanks,

John

On 04/ 2/10 08:43 AM, Stefan Teleman wrote:
John Fischer wrote:
Stefan,

Thanks for being thorough as usual.

I have truncated the fast track below for the issues/concerns
that I would like to address in this email thread.

    1.  Interfaces Uncommitted vs. Volatile
         Why was Uncommitted chosen instead of Volatile?  These
         interfaces sure seem to lend themselves to Volatile with
         stuff simply being removed at whim.

Because Volatile would mandate contracts. The likeliest consumers of the XCB interfaces are Userland or Desktop applications [ GStreamer would be a prime candidate ]. Even Gtk and/or Cairo might decide in the near future to use XCB [ IIRC Cairo already looks for XCB if it is available ].

Not necessarily.  Volatile can depend upon Volatile without a contract.
In fact most of the Gnome stack is like that without contracts.

If GStreamer or Cairo would have to sign contracts with XCB for every single micro release update, it would seriously hinder progress. Especially in case these updates do not actually break anything.

That would be a compatible change and would not require a new contract.
Actually, a contract can span multiple micro releases. The contract is simply
a formal mechanism describing the relationship between the 2 interested
parties when an interface is not stable enough to be consumed by one or
additional communication is desired.  Thus a contract could be used for
a Committed interface.  It would seem to me that since we know that the
interfaces for this project are "volatile" within the community that we might
require contracts for things that are higher then Volatile to consume the
interfaces from this project.


Also, XCB consumers [ application or library developers ] seem to have handled this implicit volatility quite well. They have accepted the fact that XCB can change unexpectedly, and they check for the version of XCB available at construction time, and adjust their software accordingly.

So the open source community has accepted the "volatility" of these
interfaces.  What about future customers that are not so tightly tied
into an open source community.  How will they know that the interfaces
might change from micro release to micro release of XCB on Solaris?

Finally, the pitfalls with XCB's willingness to change only affect direct consumers of XCB. Application which use X11 won't be affected by these changes at all, since they will not see them [ in spite of the fact that X11 binds to XCB ].

Again, I am fine with the X11 applications issue.
_______________________________________________
opensolaris-arc mailing list
[email protected]

Reply via email to