What's so Java about Sun's Linux desktop?by Sam Hiser, coauthor of Exploring the JDS Linux Desktop
Sun's Java Desktop System (JDS) has faced a lot of flak from the Free Software community. People object to Sun's naming scheme and branding, and have cried out in angst about JDS's complex and unattractive end-user licensing agreement. It seems odd that strident objections are being directed at the very best, most complete, and thoroughly integrated GNU/Linux distro on the market. Upon close inspection, the discrepancy is about the different objectives of individual open source developers and enterprise software vendors. And in the end, the high quality of Sun's new desktop system stands firm as a testament to our shared values for open standards and competitive functionality.
JDS is Linux--Enterprise Linux!
Sun's Linux desktop software suite is called the "Java Desktop System." While the name seems a bit of a red herring--if not a rape of community property--to Linux enthusiasts, it describes a complete and state-of-the-art GNU/Linux distribution that's designed and targeted for an enterprise market comprised of large companies, government agencies, and educational institutions. To thoroughly understand the JDS name scheme requires an understanding of JDS itself, as well as Sun's software- and corporate-branding strategy, which we cover further on.
While Java is important to JDS, there should be no mistaking that JDS is a complete and thoroughgoing Linux distribution. In fact, JDS is based on Novell's SuSE Linux distro, employs the GNOME user interface, and carries a complete selection of desktop applications. Many, if not most, of JDS's components, too, are open source software.
JDS, a hardened enterprise Linux distro, contrasts dramatically to what we call "popular Linux." The latter is exemplified by Fedora Core 2 (or now, 3), SuSE Linux Desktop (9.x), Slackware, Gentoo, Debian, and others, which have the very latest Linux kernel and the latest versions of open source applications. JDS, being built upon older, more stable components, has faced criticism from open source users who are accustomed to the latest Free Software components and are willing to live with the attendant instability and incompleteness of the application toolset. But such critics are consistently out of touch with enterprise software demands, often unable to see the necessity or the value proposition to large organizations of completeness and integration over currency.
It's important also to note that JDS will be available by the end of 2004 to run on Solaris workstations and on the Sun Ray thin-client system, as well as Linux. While pundits and competitors like to believe this reflects a desire of Sun's to kill Linux, the reality is that Sun is providing a significant choice and efficiency opportunity to customers by offering a single desktop system and user interface to run on their choice of underlying platforms. In the case of JDS, the glass is half full.
The Juice in JDS
The Java aspects of JDS issue from Sun's strategy to unify all software around the Java brand and to fulfill the needs of enterprise customers for a Windows-alternative desktop that can a) run most of the file types and content media types at large; b) run the many in-house Java applications that enterprises have created on the J2EE platform and that are viewable via JDS's Java-enabled web browser; and c) deliver a level of windowing and application integration to which, at least, Windows users are accustomed.
Sun also intends through JDS to deliver a Java application "showcase," where the best-of-breed Java apps and applets from the ISV community will get bundled with JDS in the future. Additionally, with JDS the company provides a stable and complete common desktop platform that accommodates the needs of Java programmers through the inclusion of the appropriate Java Runtime Environment (in the form of the Java Virtual Machine for Linux) and Java programmers' toolkit, the Java 2 Platform Standard Edition, J2SE.
What's in the Cup?
It's fair to ask, what differentiates JDS that makes it such a strong example of GNU/Linux while being a threat to Microsoft's hegemony of the desktop environment?
First, JDS's level of desktop integration is unrivaled in the GNU/Linux world. "Integration" means that all applications work together seamlessly within a windowing and menu system that is uniform for all applications. All customary applications and functionality are present, and a common user can navigate with minor or no involvement in the administration of the system.
Up until JDS, GNU/Linux distros have been set back for an annoying lack of integration, messy widowing, inconsistent menus, missing applications, and absent functionality. This was not surprising, given that the preponderance of engineering was traditionally in the Linux kernel and that there's always been a lower payoff seen for the hard work of integrating the desktop components to a competitive benchmark level. For instance, Linux has always been behind Windows and the Mac in the famous clipboard feature for cutting text or objects from one application and pasting them into another. Linux lacked media players and PDF readers for a long time, and as Macromedia Flash became a common element embedded in web pages, Linux users were relegated to second-class citizenship from the common limitations in viewing content.
JDS finally addresses all of these limitations better than any extant GNU/Linux distro. See Table 1.
Table 1. JDS's applications and plugins
|Name||Underlying project, source|
|Web Browser||Mozilla 1.4|
|Email and Calendar||Ximian Evolution 1.4|
|Instant Messenger||gaim 0.70|
|Graphics Editor||The GIMP 1.3|
|Media Player||RealPlayer 8|
|PDF Viewer||Adobe Acrobat Reader 5.0 for Linux|
|Macromedia Flash plugins|
|J2SE: Java 2 Platform Standard Edition||Developer tools for the desktop|
|Other Java apps & applets|
JDS's Ancillary Products
JDS, the desktop piece, is not in this alone. Sun offers several important products that make a shop full of JDS client systems easier to deploy and manage, plus a new 3D interface that promises to ask new questions about the tired desktop metaphor for the first time in almost 20 years.
Table 2. JDS ancillary products, making JDS even more appealing to enterprise and young consumers
|Sun Control Station 2.1||Remotely administer updates and services for volume deployments of JDS|
|JDS Configuration Manager||Define and lock user- and workgroup-level policies and settings for JDS|
|Project Looking Glass||Open source user interface for JDS based in Java 3D; innovative look and feel|
Sun's Control Station makes large-volume deployments of servers and JDS desktops on the x86 platform more efficient. The JDS Configuration Manager enables central remote control of employee access rights and desktop system settings, configuration lockdown, and even application defaults and other settings. These pieces are critical to managing infrastructure in large environments, and customer officials admit they make JDS itself more attractive.
Project Looking Glass is a shockingly fresh, new desktop user interface based in Java 3D that still has a lot of development ahead of it. Project Looking Glass is now an open source development project that's bringing worldwide interface and usability talent together to re-think many of the closely held concepts of what we today think of as "the desktop." That these innovations will come out first in Java 3D on Sun's Java Desktop System reflects the importance of JDS to Sun, and also projects confidence in JDS throughout the service and customer chain.
Unifying Around the Java Brand
JDS itself fits into a tidy grouping of software categories (see Table 3), all tied into Java. Sun's corporate identity has become intimately linked with the vibrant red-and-purple coffee cup, and the company's full complement of software is so tightly aligned with that image that one only needs to see the cup to immediately think, "Sun Microsystems!"
Figure 1. The Java logo
Sun accomplishes several things by branding its Linux desktop with the Java logo. Sun is providing a service by unifying all of the system's components under one umbrella, so customers don't have to do it for themselves. And the Java Desktop System is a product that transcends the underlying operating system. JDS will run across platforms, on both GNU/Linux as well as Solaris and Sun Ray. Under such circumstances, labeling JDS with a Linux tag would stifle its recognizability in those other operating system contexts.
Enterprise customers don't want to be bothered with the confusing and irrelevant brands of all the open source application components of a desktop system. They appreciate that their large software vendor can take care of all that, interface with the multiple open source development projects, and protect their innocence of the underlying works. Scott McNealy used to tell large customers something like, "We're in the software business so you don't have to be!"
The open source community might be forgiven for their misprision of Sun's branding program because a) open source contributors tend to have little experience or concern for the point of view or marketing imperatives of corporate brands, and the needs of corporate customers to identify with brands; b) they are motivated by freedoms and solving development problems that are unrelated to "products;" and c) they haven't seen everything yet in the Sun's full Java suite (JDS-Solaris and JDS-Sun Ray are due by the year's end).
Table 3. Sun's "Java System." A Java group for every end-user software product
|Component Product Group||Purpose|
|Java Enterprise System||Manage servers, identity/access, portals|
|Java Desktop System ("JDS")||Desktops OS and applications|
|Java Studio||Java developer tools for applications and web services design and deployment|
|N1 Grid System||Manage the data center|
Enterprise Linux is a Particular Thing
The audience for whom JDS is intended is not disturbed by the "Java" appellation, nor by Sun's talent for mating mature Free Software components with non-Free components that fulfill functional requirements that have traditionally been missing. These people are heavily dependent and indebted to the Java language for allowing them to write applications to run across various operating system platforms. Java has made enterprise systems and their management more efficient and more capable in many ways. Enterprises do regard Free Software, but they hold in higher regard systems that solve their IT problems and increase their capabilities and flexibility while controlling costs.
In JDS, Sun has provided in software what Sun's Simon Phipps argues is similar to the editorial service provided by your favorite newspaper. While the news is now predominantly free, the editors of our chosen papers provide a desirable bias, a filter on which we depend to weed out less-critical information, or that which may be less felicitous to our humours. After all, we can go online to Associated Press or Reuters to get just about everything that's being covered. Yet, we still buy newspapers, or view them online, for that valuable service provided by their editorial departments.
So, too, in software is Sun packaging components together--whether Free Software or parts owned and only available from third parties--to provide a complete package that addresses certain needs. In addition, Sun provides an extra layer of assurance that the software will function according to expectations (or it will be fixed), and that most liabilities associated with function and use are borne away from the user. This is what a major software vendor is there to do.
Simon Phipps' list of responsibilities of a vendor (in terms of necessary user freedoms):
It's worth noting that the focus of an open source community is development--none of the freedoms required of a software deployer (such as strict compatibility with externally defined standards, essential if the freedom to switch to a different software solution is to be preserved) are explicit objectives. All the time that open source software has been the preserve of developer-deployers there's been no issue, but as it becomes more widely used by deployers with no interest in development, the need for new ways to provide deployers with their necessary freedoms will grow.
What freedoms do deployers need? They're actually rather traditional:
- Function that meets actual business needs
- Freedom to change suppliers, so that prices can always be negotiated
- Freedom to choose new software solutions as business needs evolve
- Control of the data; by implication, control of the format it's stored in
- Protection from liabilities associated with the development of the software
Software derived from an open source community may or may not meet these requirements. For many companies, there has been an initial rush based on the abilities of skilled and visionary employees to obtain software gratis from open source communities, but increasingly CIOs are realizing this doesn't secure all of the freedoms they need for long-term business. They're turning to commercial suppliers to act as their intermediaries with the open source communities--"they join the community so we don't have to."
-- How Will Companies Ever Make Money From Open Source?
Table 4. Open source projects in which Sun participates actively. Sun's contributions often go unnoticed.
|Project||Open source license(s)|
|OpenOffice.org||LGPL and SISSL|
|Mozilla.org||Mozilla Public License|
|GNOME||GNU General Public License|
|NetBeans||Sun Public License|
Perhaps what rankles the disciples of Free Software is that Sun's priority is not Linux, nor even Free Software. Sun's priority is systems for the enterprise. As such, their Linux distro could never adequately "gnuflect" to the Amen Corner, since it so effectively integrates into (read, "accommodates") Windows environments, and because it contains numerous proprietary dependencies borne of capitalist pragmatism as well as the necessarily rigorous functional requirements of the enterprise.
Sun's priority is actually Java. This no doubt mystifies and irritates those of us who are passionately committed to a single operating system platform--whether it be Microsoft Windows or GNU/Linux, for example. But a strong Java, as expressed in Sun's holistic Java strategy, will necessarily neutralize the power of any single OS platform to dominate the way Windows has in our recent past. That open source advocates still hold a vision of GNU/Linux dominating the scene simply on the merits of its openness is merely old thinking.
Through indifference to JDS, the Free Software movement stifles its own objectives. There are quite a few ways a successful JDS helps Free Software. If JDS infiltrates the enterprise desktops of the world--as it is already doing handily in Europe and Asia--then it creates open source jobs in its wake. It also promulgates healthy, open protocols and formats through components like the Mozilla browser or the brilliant XML file format harbored in StarOffice. And a strong and growing Java base--while neutralizing the dominance-leverage of individual OS platforms--brings an advantage to the stronger platforms among the low end, like GNU/Linux. Let's also remember that market share itself is a sine qua non for open standards as well as proprietary ones.
It's surprising and disappointing that all corners of the open source or Free Software community cannot equally back such a fair and strong representation of open source and Free Software values as Sun's Java Desktop System. The unmatched quality of JDS in its enterprise context is surely something that reflects well on our innovation and uncompromising commitment.
Sam Hiser is Vice President & Director Business Affairs at the OpenDocument Foundation, Inc. He was advisor to the Commonwealth of Massachusetts Information Technology Division on its pilot of OpenDocument-ready software this year. Hiser also blogs at www.PlexNex.com.
Return to ONJava.com.