FOSS and Interface Taxonomy levels
Brian Cameron
Brian.Cameron at sun.com
Wed Mar 5 15:45:42 PST 2008
John:
>> In some cases, providing interfaces for "developer use only"
>
> If you mean "only for the developers of that component", then IMHO
> any Public taxonomy level is wrong - the interfaces are most probably
> Consolidation Private, which is to say "there is a good chance that
> these interfaces will not be the same, release to release, so, unless
> your stuff delivers along with this (so we can make sure it still works
> for every release), you probably shouldn't use it."
>
> The problem isn't using the interfaces, per se, it is using them and
> expecting that your stuff will continue to work even when you update
> the underlying component.
>
> While it may be fine for J. Random Hacker to play with these
> things in her own code, it is another thing entirely for us
> to try and build robust and sustainable systems on such a poor
> foundation.
I understand where you are coming from, but many GNOME applications
(that we don't ship) depend on non-stable GNOME interfaces, such
as libeel (for example). libeel is sort of an unstable testing
ground for new widgets that migrate into GTK+ if they mature.
People within the GNOME community understand that programs that
depend on such interfaces may need to be recompiled when the
GNOME release is bumped. I imagine this does cause some grief
for some end users.
We could, if we want, stop shipping header files for such libraries.
This would make Solaris more stable, but would probably upset a lot
of users who are happy to rebuild their programs as needed.
I think the JDS team is happy to go along with whatever Sun decides
is most appropriate. If Sun decides we no longer want to ship such
interfaces, then we can remove them.
In the past we've taken the attitude that we should allow people
to build things if they want, to properly label risky interfaces
as Volatile, and let users figure out what they want to do. But
perhaps that is not appropriate.
>> don't have the source code
>> and they can't recompile
>
> The whole point of the interface and release taxonomies is to move the
> discussion away from "use the source, Luke, 'cuz we broke something"
> towards intentional binary compatibility.
I'm not opposed to moving more in this direction. I am just pointing
out that if we make free software, like GNOME, so stable, then we
will make it difficult for people to do the sort of thing many users
like to do - download and run useful programs that sometimes need to
be recompiled.
The GNOME community, and Sun have been working to minimize these
sorts of problems, and much progress has been made in the past years.
Much progress has been made with GNOME's Project Ridley, for example.
However, Project Ridley is still ongoing. This is the project to
move all useful interfaces from unstable libraries into GTK+.
Unfortunately, there isn't a modern desktop available for UNIX
that yet meets Sun's expectations of stability. At least not
without neutering the ability to integrate available additional
programs.
>> Want to help us write manpages? :)
>
> Why not push the SGML stuff upstream, provide a SGML->manpage
> conversion tool (xslt, anyone?) and get out of the business of
> backporting?
We have a SGML->manpage conversion utility. We have talked
about doing this, but it is a lot of work to negotiate with the
several hundred GNOME module maintainers to change this sort of
process. It's something we would like to do when we have time.
Brian
More information about the opensolaris-arc
mailing list