Ed Gould writes: > Yes. I'm fine with this Volatile interface either disappearing > completely or becoming Private with no incompatible changes ever. Note > especially the word "ever."
I think that pretty much puts the last nail in the coffin for Volatile as a generally usable classification. The very definition of Volatile is that it allows for incompatible change at any time -- including in Micro releases and patches. That's much more often than "no incompatible change ever." Is it your intention that we should just disallow all "experimental" projects? That's effectively what this project is attempting to do, and the implication of disallowing the use of Volatile for the fluid bits. I'm somewhat in accord with that prohibition, but I think we have a clash with senior management here. > If the interface is going to vanish in a future release, I would want > the case supporting that release to include the transition plan. A transition plan for Volatile? When do we require that? Ed Gould writes: > The general rule is this: If a customer is allowed to use it (and > especially if they're expected to use it), it's Public. If it's > Public, it must be documented. In general, Private interfaces are not > documented (except internally, of course); if there is public > documentation, it must note that the interface is not for public use. > The presence of an interface in a header file does not constitute > documentation. All correct, but "documented" doesn't always mean man pages. It does for "Committed" interfaces, but those at other stability levels can use whatever's appropriate -- white pages, READMEs, blogs, et cetera. For what it's worth, I think this interface actually meets most of the criteria for Uncommitted, but since the express intent of the project team is to deliver one or more experimental versions, and to do so over the life of just one release, Volatile makes much more sense. Anything else would be a straightjacket. Also note that basically none of this matters a whit. You could call it Committed if you like. Because our taxonomy is based on releases, and this project isn't targeting an Update, the interface is not frozen until Nevada actually ships as a release. We apparently have no plans to do that at all at any point in the future. So, by the time NWAM phase 1, 2, and 3 come around, and Nevada still hasn't shipped, we'll still be able to make incompatible changes, even in Committed interfaces. -- James Carlson, Solaris Networking <james.d.carlson at sun.com> Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
