Nearly a year in the making, the OSDL and freedesktop.org today announced general availability of Portland 1.0, the first set of common interfaces for GNOME and KDE desktops. This support may be a small step for GNOME and KDE, but it’s a giant leap for the Linux desktop.
These first common interfaces are a set of command line tools, xdg-utils. These first command line tools can be used by ISVs (independent software vendors) to help install software and provide access to the system while the application is running.
Specifically, these tools make installing and uninstalling menus, icons, and icon-resources easier for developers. They also can obtain the system’s settings on how to handle different file types, and program access to email, the root account, preferred applications, and the screensaver.
There’s nothing new in this kind of functionality. What is new is that developers can use these regardless of which desktop environment — KDE or GNOME — they’re targeting. This means ISVs can design programs much more easily for both environments.
Unlike some theoretical standards, Portland 1.0 environments are already available in several major community distributions, including Debian, Fedora, and openSUSE. The corporate Red Flag and Xandros distributions have also committed to including Portland in their next releases. Sources said that Linspire, Novell, and Turbolinux are also expected to announce Portland adoption shortly. TrollTech’s Qt 4.2, the primary KDE application framework, is also using Portland 1.0 to provide developers with tighter integration with the GNOME desktop environment.
John Cherry, the OSDL’s (Open Source Development Labs) Desktop Linux initiative manager, said that this support from the actual movers and shakers of desktop Linux is vital. “The important part of this release is that we have real distros and they’re putting the tools in their development trees.”
The release of Portland 1.0 is expected to accelerate adoption of Linux on the desktop. According to market analyst IDG, this will help the desktop Linux market grow to around $10 billion by 2008.
OSDL CEO Stuart Cohen stated, “For the first time, ISVs are able to port their applications to Linux regardless of desktop environment. This release gives ISVs the opportunity to increase their customer base and for users to gain access to new applications. Portland is a success story for vendors, developers and users alike — it’s a perfect example of how a common need, combined with a distinct community interest, produces collaboration and increased adoption of technology.”
Xandros CEO Andreas Typaldos added, “Portland 1.0 opens the way to the creation of a rich Linux application infrastructure that will address the diverse needs of our business clients,” said “We will see an accelerated rollout of real-world Linux solutions since third party software developers can now integrate their applications regardless of the desktop deployed.”
It’s not just the Linux businesses that are excited by Portland. Agustin Benito, development coordinator for mEDUXa, the educational Linux distribution of the Canary Islands Government, said that “Compatibility for educational applications and other free software projects across graphical desktop environments is critical, especially as we customize menus to include applications from other products. This makes the job OSDL is doing with the Portland Project so important for the community.”
This is only the first Portland release. A similar set of interface tools will be offered in the form of desktop services, in the form of a DAPI (Desktop Application Programming Interface) that applications can use via the DBUS message bus system.
In addition, through Portland, desktop developers are working on other ways to find common programming ground to make Linux more ISV friendly.
The Portland Project was born from the first OSDL Desktop Architects Meeting in December 2005. A Portland preview was made available in April 2006, and beta versions were released throughout the summer. The Portland Project is expected to be included in the Linux Standard Base (LSB), the industry standard for interoperability between applications and the Linux platform.
If it’s not already in your development tree or toolkit, xdg-utils is available for download.