Luis/Others:
This is a great topic. To be a competitive desktop you should provide the same services as the other desktops with whom you are competing: https://partner.microsoft.com/global/40010228 Going back to Federico's main points, a GNOME certification program would need to involve: - A sort-of checklist to let ISVs know what they should do in their apps to integrate well with the desktop --- to make their apps more GNOME-like. - A way for GNOME to say, "app Foo integrates better with GNOME than app Bar". - A way for users to know which app is more GNOME-like; hopefully this will give them a way to pick the better product. The good news is that I think that we are 99% of the way there, all the hard work has already been done. Most of you know that GNOME's core libraries have a strong history of stability, GNOME makes use of freedesktop.org specifications for a reasonable set of integration tasks that ISV's require, most GNOME interfaces have reasonable gtk-doc documentation, and GNOME has high-quality guidelines like the HIG. Really, this is the hard work. Kudos to those like Owen Taylor who have championed the stability that exists today in GNOME. The bad news is that the GNOME community has been very ineffective at communicating the good news to its users, including ISV's. Stability information does not seem to be clearly documented on the GNOME website or in the README files of modules which are considered Stable by the community. This means it is hard for ISV's to know what interfaces to use, or how to go about creating a certification program. The GNOME website should guide ISV's towards how to integrate with the desktop and how to address issues they might encounter. This topic is interesting to me because I happen to work for one of GNOME's ISV's, and we have our own ISV's. One of the requirements for releasing software at Sun is to try and communicate to our ISV's what interfaces they should depend upon. This is why I have been recently working to document a canonical list of interfaces that are currently considered Stable by the GNOME community. Refer here: http://live.gnome.org/SunARC I'm sure this document needs a lot of work and probably isn't fully accurate about everything. One reason I'm putting this document together on live.gnome.org is so that other people can review the information, correct any issues they might see, add interfaces I have overlooked, and make the document more complete. Feel free to pitch in. Hopefully this document can serve as a launch-pad towards more formal GNOME communication about its interfaces. Even though it is fairly rough at the moment, I think it does clearly show that enough of the GNOME interfaces are currently Stable that the GNOME community could put together a reasonable ISV story. Simply, an ISV's program can be considered Certified if it follows the appropriate style guides and limits itself to using interfaces that are not going to break. Does this mean that interfaces are never going to break? Of course not, that is why we have bugzilla. Defining things as Stable certainly does not mean that bugs will never get introduced into the code. Instead it means that if an interface declared as Stable breaks, it will be considered a bug and the GNOME community agrees to work with ISV's to accept a patch addressing the issue. At the past GUADEC in Stuttgart, it made me a bit depressed to hear so many people suggest that Sun's involvement with the GNOME community has been lackluster lately. Sun may never be a shop where cool new features like cairo, evince, and Luminocity are regularly pumped out. But everybody in the GNOME community has their strengths and weaknesses, and one of Sun's strengths is their committment to interface stability. http://docs.sun.com/app/docs/doc/816-5175/6mbba7evc?a=view Some things the Sun GNOME team is doing to demonstrate our committment are the following: we are integrating ABI testing into our nightly builds so we can identify when symbols change and report bugs as appropriate. The Sun GNOME QA team has agreed to include stability testing as a part of their regular test cycle. Sun's committment to the Solaris Stability Guarantee means that Sun could probably be better used as a resource to help address stability bugs that may appear in modules declared as Stable by Sun. Sun would like for Sun customers to be able to depend on the GNOME stack as a development platform, and due to the Solaris Stability Guarantee, it is necessary to have the canonical list of Stable interfaces. This is why I'm working on the SunARC document on live.gnome.org. Unfortuantely, we here at Sun don't believe that we expose enough interfaces for ISV's to be able to write a true GNOME application (popt, atk, glib, GTK+, and libglade). It is probably necessary for Sun to also support libgnomeprint, libgnomeprintui, and GConf. Supporting libgnome, libgnomeui, and libgnomecanvas might also be a good idea to allow ISV's to create a reasonable GNOME application. My hope is that together with the GNOME community, we might be able to better define what stability means for the GNOME desktop and create a story that ISV's can follow to integrate into the desktop in a Certified way. If, as a community, we can create a formal definition of what stability means and how to communicate stability information, then I think this would help us work together. If, for example, the community agreed to more formally declare libraries like libgnome* as Stable, it would be easier for us at Sun to let our customers know that they can use these interfaces and Sun would be more able to invest resources in ensuring their stability and quality. Good for everyone. I think the combination of good ABI checking on a nightly basis, QA testing, and formal documentation are the first steps towards creating a Certification process. It would also be useful to create a tool that an ISV can run to verify that their application is only referencing Stable symbols and installing files into Stable integration points, then ISV's can check themselves how close to being Certified their applications are. Really, any program that integrates with the GNOME stack can be considered an ISV. It would be interesting to see how well the programs shipped with the GNOME stack would meet such Certification requirements, and that would probably be a good place to start figuring out how the process could work. Let's work together on this. Brian
There can be a useful intermediary between 'having no docs at all' and 'here is a documentary that explains what we promise to support for ever and ever, amen.' I believe the goal here is to document what we do now, and how to usefully integrate with that. Is that necessarily going to please 100% of ISVs? No. (Possibly not even 50%.) Will it be useful anyway? IMHO, yes. While we should definitely get Bryan's input and attempt to accomodate it as much as practicable, lets please not bog this down by aiming to please the iron-clad expectations of very serious ISVs when the current state is so abysmal for *all* consumers of GNOME libraries.
_______________________________________________ foundation-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/foundation-list
