X
Business

The coming Java-Linux duopoly

Linux offers huge value to users, and Java is stronger than ever.
Written by Ganesh Prasad, Contributor
I'm not an expert on Linux devices. I'm not even an expert on Linux. I've used Unix and (lately Linux) as an applications developer, and my experience has primarily been with databases and application programming languages. However, I believe that my concurrent exposure to both Java and Linux has given me a few insights that may be worth sharing with those interested in Linux-based devices.
These are my postulates:
  • The poor performance of Linux stocks in recent times is not an indicator of poor prospects for the Linux OS, but an index of its extremely high value to consumers as opposed to vendors. Spurred by demand, Linux will spread everywhere, first on servers, then on devices, and finally onto desktop systems.
  • Reports of Java's death have been greatly exaggerated. Java has never been stronger, and in fact, is becoming ubiquitous. Java is strongest on the server, but will make a strong play for the client once more, riding on the backs of browsers supporting Java 2.
  • The web has obsoleted traditional client/server architectures, and proprietary systems based on them are already old technology. Windows 2000 is a prime example. The web paradigm will speed the adoption of client devices that rely on open, Internet technologies.
  • The future belongs to Open Standards, and Open Source has made the world safe for Open Standards. There will be no significant proprietary standard left in any industry segment dominated by Open Source.
  • Open Source products cannot be defeated in the marketplace. They will become market leaders in every major software category in 3-5 years. Most successful devices will run Open Source operating systems and basic Open Source applications like browsers and mail clients.
  • Intel processors will face increased competition thanks to the hardware-independence of Linux. The price of hardware will fall faster as a result, hastening the advent of affordable devices.
  • The plummeting cost of hardware, the availability of software at zero cost, the triumph of the web paradigm and the ubiquity of the Java platform will ensure a variety of versatile devices that will be only roughly based on the PC.
Let us analyse each of these predictions in turn.
The Linux stock paradox
Prior to 1999, dismissing Linux as a fringe operating system was fashionable. The skyrocketing stocks in the aftermath of the first few Linux IPOs briefly silenced the skeptics, but now the decidedly less heady performance of the same stocks has brought the naysayers out into the open again. The IDC report that ranked Linux last among the major operating systems in terms of revenue is often quoted as proof of Linux's waning fortunes.
See, the argument goes, we told you the Linux craze would fizzle out.
Look again, dear analyst. Linux makes the least amount in revenues, even as it has outstripped Netware and commercial Unix in unit shipments, and drawn level with Windows (in the server market). That means, of course, that Linux distributors make wafer-thin margins, a belated insight now reflected in their stock prices, but by the same token, it means that users are saving tons of money by using Linux. An OS with a marketshare of 35% and a share of revenues of only 1% is obviously delivering value to somebody!
Lost earnings for vendors in this case translate to savings for customers. Customers have now realised the value locked inside Open Source. The secret is out. Nothing can stop the rapid adoption of Linux now. Customers have tasted blood, and entire categories of software may never again be sold for money.
Ongoing improvements in Linux will only open doors to newer markets. The well-publicised improvements in the 2.4 kernel allow Linux to scale upto larger servers. USB, plug-n-play support and productivity applications like KOffice will get it onto the desktop in larger numbers. And the ability to strip the OS down to its bare essentials will get it into smaller devices. The maturing of the Mozilla browser and its Gecko rendering engine will also help Linux in the device market.
The Java resurrection
It is an understatement that Java has had a troubled past. First, it was wrongly typecast as a technology to animate web pages and not much else. Then it was characterised as slow, an undeserved stigma it carries to this day. Then the very public spats between Sun and Microsoft, and between Sun and standards organisations, led to deep doubts both about Sun's bona fides and about Java's ability to remain a unified standard.
Ironically, among the Open Source community (a group of people who are remarkably prescient about the inevitable triumph of Open Source), there is still skepticism about the prospects of Java, with even a visionary like Linus Torvalds declaring Java all but dead.
But all along, there has been a steady procession of people trying out Java, and it is my estimate that most of them have never gone back to other technologies. The elegance and completeness of the Java approach give developers a sense of arrival, of finality. Suddenly, all other technologies begin to seem retrograde.
Today, the world's IT companies have all embraced Java to some degree. Countless products today are written in Java for the Java platform, rather than for the Windows or Unix platforms. The Weblogic application server, the JBuilder development tool and the Cloudscape and InstantDB databases are just some examples. The only holdout is Microsoft, a dinosaur blinded by its past successes and rapidly fading into irrelevance.
The J2EE (Java 2 Enterprise Edition) vision is to provide standard, Java language interfaces to every component that is likely to be used in an enterprise context, such as webservers, mailservers, directory servers, message queues, databases, etc. Users' application code then never has to change even if the underlying branded products change.
In an interesting approach, Sun itself does not provide more than "reference" implementations of any of these APIs. Sun's Java strategy is to avoid competing with its technology partners who support the J2EE standard in their products (in a striking contrast to another large software company we know). It is an effective strategy that has won Sun many willing allies.
And so, users are free to buy (say) databases from Oracle, Informix, IBM or even Microsoft, as long as those vendors support the relevant J2EE API in their databases, namely JDBC. The same goes for other technologies. JNDI (Java Naming and Directory Interface) is the defined way to communicate with a directory server, whether it is LDAP, Novell's NDS or even Microsoft's Active Directory. In similar fashion, the JavaMail API defines the interface to mail servers such as SendMail and even Microsoft Exchange. JMS (Java Messaging Service) is the defined way to communicate with message queues and with publish/subscribe mechanisms. JTA (Java Transaction Architecture) and JTS (Java Transaction Service) define the high-level and low-level interfaces to distributed transaction services, and so on.
We will return to the implications of Java on the Linux device market a little later.
The web's conquest of client/server
Client/server technology, or more accurately, proprietary two-tier client/server technology in the form of Windows, now exists only for the luxury of being able to see network drives as local drives within Windows Explorer. For almost everything else, the web is the way to go.
Fad or not, most organisations today want to web-ify everything they do. Increasingly, they will question the value of Windows' client/server underpinnings to a web architecture. Alternatives like Linux, supported by web-era technologies such as Apache and Mozilla, are far cheaper solutions and are also more modern. Apache supports cutting-edge web technologies such as WAP, WebDAV and SOAP. (WebDAV (Distributed Authoring and Versioning) essentially converts the web into a read/write medium, making it the world's largest filesystem. SOAP (Simple Object Access Protocol) is the Microsoft-led initiative that uses XML to bridge J2EE, COM and CORBA. IBM has donated a Java-based SOAP module to the Apache project.) Mozilla fully supports W3C standards (ie. the latest versions of CSS, DOM, XUL and ECMAScript), and is smaller and faster than any comparable browser.
Web front-ends to legacy applications are relatively easy to build, enabling "old" technology such as mainframes and historically text-based systems like Unix to leapfrog client/server graphical environments. Witness the success of Webmin in providing a friendly and visual interface to all the configuration files of Unix that hitherto required editing with a text editor. Today, it is possible for a user (even one new to Unix) to set up inexpensive, stable servers to run a variety of services (web, mail, DNS, database, etc.) using a purely graphical administration tool run from a browser on their desktop.
Companies like Biztro now offer complete back-office processing for small businesses through a web interface, acting as an ASP (Application Service Provider). Order processing, accounts, human resources, payroll and taxation are all web-based applications under this model, which saves small businesses enormous amounts of money.
The corollary is that devices with just enough memory to run a browser are capable of controlling and interacting with powerful servers through a web interface, enabling users to do all their work without installing any software locally. PC workstations are not essential anymore, dealing a death blow to the Microsoft vision of a PC on every desk.
The triumph of Open Standards
The machinations of Microsoft, AOL and others notwithstanding, Open Standards, like truth itself, will eventually out, whether in the form of industry-standard Kerberos authentication or industry-standard instant messaging. Today's proprietary technologies are the last holdouts of a bygone age. In a few short years, no proprietary interest will be able to govern a standard anymore.
And so, all devices developed today must support Open Standards, or perish. The Internet and Open Source software are responsible for this happy state of affairs.
The Open Source juggernaut
Much to the consternation of vendors who still try to make a living selling software, Open Source products are forging ahead on all attributes -- production quality, friendly graphical interfaces, documentation, support, and a reassuringly large user base, all without giving up the core attraction of a ridiculously low price. Those who pay for software are made to feel increasingly foolish. Something has to give, and that will be the bottom of the software market.
Proprietary software vendors who continue to belittle Open Source software with arguments like "You get what you pay for" are going to be shaken out of their complacency this year (2000). The following products (listed in order of availability) mark a milestone in the growing maturity and acceptability of Open Source (as of early June, 2000):
  • XFree86 4.0 -- This has been released. It makes Linux graphics faster, supports TrueType fonts and supports more graphics cards. In combination with features in the kernel, this makes Linux a good gaming platform as well.
  • PostgreSQL 7.0 -- This has also been released. It is a complete, ANSI SQL-compliant database that can be used for all but the most demanding database applications.
  • PHP 4.0 -- This has also been recently released. It is the most popular HTML-embedded scripting language, more so than Microsoft's Active Server Pages. The 4.0 release is faster, with added support for every major webserver and interoperability with Java.
  • Java 2 on Linux -- 1.2.2 is available, with 1.3 due soon. Sun now considers Linux a "tier 1" operating system, alongside Windows and Solaris.
  • Apache 2.0 -- This is still in alpha now, with beta and final releases due at monthly intervals. It is faster and runs on more operating systems with the same level of stability as on Unix, and also supports dynamically loadable modules better. The Tomcat Java engine is built-in, enabling Apache to natively run Java Servlets and Java Server Pages.
  • Mozilla/Netscape 6 -- Milestone 15 of Mozilla and the alpha of Netscape 6 are available, but the final release of Netscape 6 is about 3 months away. Mozilla-based browsers are small, fast and faithfully support all W3C standard technologies, Java 2 and Swing GUI components.
  • KDE 2.0 -- The 1.9 (beta) release is out already, with 2.0 due in a couple of months. It is a fast, aesthetic and complete graphical desktop for Linux and other Unix variants.
  • KOffice -- This will be available with KDE 2.0. It is a free replacement for commercial office suites. It will take another year to fully mature, but for most lay users, its initial feature set is likely to be all they will ever need.
  • Enhydra Enterprise -- Enhydra 3 Professional is out, with the J2EE-compliant Enterprise due in 2-3 months. It is a free Java-based Web Application Server supporting Enterprise JavaBeans (EJB), with commercial support available for a fraction of the cost of competing products.
  • Linux Kernel 2.4 -- Though officially, it will only be available "when it's ready", the kernel is expected to be available around August 2000. The pre-release versions already show it to be significantly faster than previous kernels, especially on multi-processor machines. It also supports USB and Plug-n-play devices, among a host of other improvements.
  • OpenLDAP 2.0 -- This will be released sometime in 2000. It will support LDAP v.3.
It's happening. Linux, already a formidable force in servers, is poised to strengthen its position there and enter the desktop market as well. But what about devices?
The end of Intel's monopoly profits
As Transmeta's Crusoe processor has shown, there are cheaper and more power-efficient alternatives to Intel's chips. Linux's popularity and the widespread availability of its source code means that it will be ported to every processor that becomes available.
There can no longer be cosy relationships between a dominant chip manufacturer and a dominant OS vendor to lock out competitors and squeeze duopoly profits from a market bereft of choices.
Users can look forward to increased competition in processors and hardware, without worrying about the portability of their applications software. Linux will act as the cushioning layer, shielding applications from changes in hardware. The result will be even lower hardware prices than ever before. It is a welcome prospect for a price-sensitive device market.
The coming diversity in devices
"Devices" are a very general term. Most devices are best described by the products they aim to replace, but there are newer categories altogether. Let's look at some major types:
  • Microservers -- replace traditional servers, but are easier to set up and maintain
  • Browser devices -- replace Internet-connected PCs
  • Embedded-controller gadgets -- replace "dumb" gadgets like washing machines and microwave ovens
  • WAP Phones -- replace earlier generations of phones
  • Media players -- replace CD and DVD players
  • PDAs -- replace earlier generations of electronic diaries
  • Set-top boxes -- replace cable TV, Internet-connected PCs and perhaps telephones as well
All the above require to support a web paradigm and provide good user interfaces. The competing technologies for the user interface are DHTML, WML, XUL and Java (Swing).
The venerable HTML, along with its newer supporting technologies such as CSS, Javascript and DOM, is a well-understood and capable interface technology collectively called DHTML. The only possible drawback of DHTML is the lack of full standards support in the current industry-leading browser (Internet Explorer). Unless Netscape 6 puts the pressure on Microsoft to support Internet standards, DHTML's promise cannot be fully realised.
The XML-derived WML (Wireless Markup Language) is a compromise brought about by constraints in terms of bandwidth, memory and processing power. WML may turn out to be a stopgap technology in retrospect, when devices become powerful enough and bandwidth becomes cheap enough to deliver DHTML and other full-featured user-interface languages.
XUL (eXtensible User-interface Language) is a more powerful derivative of XML, capable of describing complex user interface elements such as scrollable tables with multi-selectable rows and tab folders using just an XML tag syntax. Its only drawback is that it is extremely new and supported only in Mozilla.
Finally, there's Java. The Swing user interface components are the richest, most powerful and most flexible cross-platform GUI components available today. There is virtually no functionality that is not possible using a signed, Swing-enabled Java applet. The security model governing the behaviour of Java applets is also extremely sophisticated, much more so than that associated with ActiveX controls. It should provide reassurance in this age of Internet-related security scares.
One drawback to Java applets is the lack of built-in Swing support in today's browsers, but Netscape 6 (based on Mozilla) supports it. A question mark hangs over IE because of Microsoft's attitude towards Java technology, but Java applets are likely to become fashionable again, thanks both to Netscape 6 and to the growing popularity of Java on the server.
The role of Java in tomorrow's world
J2EE (The Java 2 Platform, Enterprise Edition) has captured the imaginations of those building enterprise application frameworks. The J2EE vision is as comprehensive as Microsoft's DNA (COM+), but it has the added advantage of being vendor-neutral, with no proprietary features. Subscribing to J2EE does not lock a user into Sun's proprietary products the way subscribing to DNA would entail a commitment to Microsoft's proprietary products. J2EE offers adherence to industry and Internet standards, and gives users vendor independence.
The choice is clear. If users are tempted by Microsoft's famed ease-of-use and the benefits of its highly integrated and interoperable products, they must accept a Microsoft-only technological future and be prepared to forego products and technologies from outside the Microsoft fold. On the other hand, if users buy into the J2EE vision, they can still use products from Microsoft through Java-standard interfaces (such as the servlet interface for IIS, JDBC for SQLServer and JNDI for Active Directory), but will be unable to benefit from Microsoft's proprietary integration features.
Which is better in the long run -- an East Asian-style dictatorship with the promise of East Asian rates of economic growth, or a democratic society with no guarantees of economic prosperity? My personal choice would be democracy any day, but in the above IT context, there are many who would decide the other way, and no one can deny them the choice.
However, one thing is now clear. Microsoft and Microsoft technology are no longer the force they once were. Betting on Microsoft could well lead to a dictatorship coupled with economic hardship, - the worst of both worlds. The surging popularity of J2EE is an example of users voting with their feet.
Java on the server encourages the adoption of Java on the client. The greatest advantage is the ability to reuse a server-side object on the client side. Many business objects are required on both the client and the server. Using technologies such as RMI (Remote Method Invocation) and Object Serialisation, it is possible to invoke server-side objects from a browser-based client, adding only code for the user-interface. The Swing GUI components provide a very rich and sophisticated interface to build such client applications. It is a compelling technology where the software costs nothing and is not proprietary to any company.
The Java Community Process that oversees the development of Java is not a totally open process, of course, but it is not tightly controlled by Sun Microsystems, either. It is hoped that Java will become more open with time. In this context, it is worth mentioning Open Source Java compilers like Kaffe and Kopi, and Open Source Java Virtual Machines like Japhar. The Free Software Foundation is also working on the "Classpath Project", an initiative to provide a completely Open Source version of the Java class libraries. With these tools in place, users will have a completely Open Source implementation of Java, even if Sun begins to place restrictions on its own product later. Hence there need be no fears about Java's viability as an open standard.
Conclusion
The greatest advantages to consumers flow from Open Standards and cheap, interchangeable, commodity components. Java and Open Source are complementary technologies that work towards this goal. Both are coming of age, though many people have not been aware of their progress.
In the period following the Microsoft desktop era, powerful yet inexpensive hardware devices running Linux and Mozilla-derived browsers will host sophisticated Java applets with appealing and versatile Swing-based interfaces, and communicate with J2EE-based servers over a network that could even be wireless. All work will be done this way very soon, because organisations that do not support such technologies will fall behind those that do.
After the dubious reign of Wintel, it may be time to rejoice in the benevolent Java-Linux duopoly.


Copyright (c) Ganesh Prasad, 3 June, 2000 -- Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is located here.


Do you have comments or questions on this article? Post them in the TalkBack below or in the LinuxDevices TalkBack.

Editorial standards