Ubuntu Moves Towards More Docs, A Stable API

Written by Michael Larabel in Ubuntu on 1 November 2011 at 02:20 PM EDT. 5 Comments
UBUNTU
One of the sessions held on Tuesday during the Ubuntu Developer Summit in Orlando was concerning Ubuntu developer documentation and the need for a stable desktop API.

One of the interesting sessions held this morning was entitled "Defining a stable API and docs for desktop development", in planning for the Ubuntu 12.04 LTS release next April. The official notes from this documentation / stable API session can be found on this web-page, but key items include:

- Improving the current developer.ubuntu.com portal so that it's more visually integrated and attempt to make more of the generated documentation in a standardized format, especially for the intermediate data.

- Provide better Ubuntu API documentation by publishing new coding standards and that all API documentation should have included code examples. API documentation should also move out of Wikis and into source packages so that they can be included on the Ubuntu developer web-site. To further demand greater documentation, they're also looking at generating a list of undocumented public methods/classes/functions and then to automatically file bug reports about these undocumented interfaces.

- Defined as part of the Ubuntu platform APIs are GNOME 3, GObject, libunity, libappindicator, GSettings, and Ubuntu One.

- In terms of a stable API, Canonical is looking at defining a stable API for desktop libraries and to keep that stable for API calls. "Don't think only to amateur developers, think also to professional companies. If you've investigated a little, you'll know that one of the reasons why they don't develop for Linux is why the libraries and API often changes from a distribution to another and from a release of a distribution to another." (Of course, if Canonical tried for a stable Linux kernel API or any other low-level APIs, they would have a hell of a time making that happen. This is mostly about the highest-level desktop APIs.)

- At a bare minimum for a stable API, they are looking at having developers announce whether their API are highly unstable and that no backwards compatibility is broken without "a long, known deprecation period."

- When releasing new libraries, Ubuntu plans to ensure there are API bindings available for languages such as C/Vala, C++/Qt, and Python.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week