Ubuntu Moves Towards More Docs, A Stable API

Posted by Michael Larabel on November 01, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Modern Intel Gallium3D Driver Still Being Toyed With
  2. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  3. GCC 4.8.1 Compiler Due To Be Out Next Week
  4. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  5. Linux's "Ondemand" Governor Is No Longer Fit
  6. Firefox 22 Beta Enables WebRTC Support
  7. OpenSUSE 13.1 Milestone 1 Released
  8. DRM Graphics Driver Comes For Dove/Cubox
  9. JADE: An LLVM-Based Video Decoder For MPEG RVC
  10. Ubuntu 13.10 Likely Switching To Chromium Browser
  11. Unity 7, Compiz To Be Polished For Ubuntu 13.10
Latest Forum Talk
  1. Ubuntu 13.10 Likely Switching To Chromium Browser
  2. Unity 8, Mir To Be Experimental Choice In Ubuntu...
  3. Modern Intel Gallium3D Driver Still Being Toyed...
  4. Greater Radeon Gallium3D Shader Optimization Tests
  5. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  6. Firefox 22 Beta Enables WebRTC Support
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite