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]