 | Level: Introductory Claude Bauer (claudebauer@claudebauer.com), Technology journalist, Freelance
01 Feb 2001 How Sun Micro took the StarOffice code, "componentized" it, and released it under the GPL -- and what comes next. In terms of sheer size, Sun Microsystem's StarOffice, a component-based suite of office productivity applications containing 7.5 million lines of code and 20,000 files, represents "the largest open-source contribution in history," said Bill Roth, group product manager for Sun Microsystems. Whether Sun can translate that into a marketing success of equal
proportions remains to be seen, but indications are that programmers and
software developers are enthusiastic about having a full-fledged office
productivity suite at their disposal -- where every application, or the
entire suite, can be treated as a component. When Sun acquired StarOffice last year, they opted to restructure the
productivity software around a component-based development framework
called Universal Network Objects (UNO). UNO, which was developed by Sun
for StarOffice, allows software developers and programmers to take
advantage of the key characteristics of component technology, such as
consistent interface allocation, support for important component
standards, transparent localization of components, batch job capabilities,
and platform independence. "Componentizing StarOffice was our big value-add to the product," Roth
said. "We decided to break apart the applications in the StarOffice suite
for people who just want to add a word processor or spreadsheet to their
applications." Cross platform
StarOffice runs on the Unix family of operating systems, including Linux,
as well as on Microsoft Windows operating systems. "Since StarOffice is
cross-platform, it's an easy choice for the developer who wants to drop a
word processor into an ERP system rather than trying to integrate an
off-the-shelf product where the source code is not available. You get the
same look and feel whether you're on Windows, or Linux or Solaris," said
Phil Parkman, director of Sun's technical marketing group. According to Roth, the componentized StarOffice suite is aimed at those
C++ and Java software developers "who have always wanted to make changes
to their applications, but never had the source code. With StarOffice,
you get access to everything. Everybody can see everything we're doing,"
he remarked. StarOffice's open-source, component-based architecture "gives
programmers and developers the freedom to do what they want," Roth said.
Why go UNO?
There's currently no shortage of component models jockeying for attention
in the open-source community and elsewhere, but Parkman hails UNO as a
sophisticated, object-oriented framework that provides a flexible,
language-independent component model. "UNO does not depend on any
graphical subsystem, but is heavily based on multithreading and network
communication capabilities," he said. What's more, "UNO allows for very late binding," or the process of
associating one software entity with another, Parkman said. "The idea
behind UNO and many other object request brokers (ORBs), is that binding
occurs at run time, which means the actual connection to the other piece
of code is not done until you actually execute the code, rather than when
you compile it. If you're going to run something over a network, you don't
know where on the network you're going to be connected until you're
actually executing it -- that's why you need a late binding capability,"
Parkman said. Parkman points out that the traditional shortcoming of object-oriented
frameworks is that they tend to increase latency. "When you're in a
personal productivity environment, latency must be reduced. People are
used to direct manipulation of all the objects they're dealing with on the
screen," he said. One of the key design parameters of UNO for Sun was
that it had to be very fast, and provide very high performance. "I think
we succeeded," Parkman said. "On a modern machine, StarOffice is quite
snappy."
Under your hat
David Mason is director of the advanced development labs for Red Hat Inc.,
a North Carolina company that bundles StarOffice with its version of the
Linux operating system. Members of Mason's group have been working on the
GNU Network Object Model Environment (GNOME) project since its inception,
and are keeping close tabs on UNO and StarOffice. "The GNOME project has taken a look at Sun's UNO component model to see
what kind of integration can occur," Mason said. He believes one major
reason for Sun's move to UNO was that they needed a component system to
help avoid lengthy rebuilds of the applications. "Whenever they changed
the software, they'd have rebuild the whole thing. It would take the
better part of a day to rebuild StarOffice. So, they moved to a component
model to reduce the complexity of the application and reduce the amount of
code needed to create modules and modify the application." "UNO is interesting," Mason said. "It has a COM interface, and supports
C, C++ and Java. "I'm not quite sure why they didn't chose CORBA since
that's the model GNOME uses for the Bonobo component system." Bonobo is
the GNOME architecture for creating reusable software components and
compound documents. "I doubt very seriously that GNOME will start using
UNO, but there is a project underway to map Bonobo to UNO by creating an
executable that provides a CORBA/Bonobo interface to the object activation
framework (OAF), which will then map a request to the functionality in
UNO. Bonobo and UNO will be working together, so you can easily embed a
StarOffice spreadsheet into another application," he said.
OpenOffice runs the show
Since open-source projects typically rely on a central authority to
maintain and update the code, Sun recently launched OpenOffice.org to
guide the evolution of the StarOffice applications suite. OpenOffice.org
provides the structured engineering process that guides the evolution of
the StarOffice applications. About 150 Sun Microsystems engineers are
working on StarOffice for Sun, and since the project has gone open source,
approximately 1,500 technical professionals have made code contributions
to OpenOffice.org. "We had people making contributions within 36 hours of
when it was posted on the Web," Parkman said.
"We're looking for a number of things from the open-source community,"
Parkman said, including better interaction with the GNOME environment.
"That's going to be our desktop environment going forward, just as it is
in the Linux world ... everybody has their favorite twist or tweak when it
comes to personal productivity, and we're looking forward to receiving a
number of ways to improve functionality from the open-source community,"
Parkman said. Red Hat's Mason observes that, "UNO will only impact Red Hat's Linux if
they move OpenOffice.org to be tightly integrated with GNOME. "Then we
will take a really different view of it, since it will become more of a
GNOME package than it is now," he said. Several Red Hat programmers have made independent contributions to
OpenOffice.org, and Mason notes that, "we certainly are following UNO and
StarOffice because it's interesting to have a full-fledged office suite
that's open source. And we're quite glad that they chose the license they
did." StarOffice is available free of charge, and can be downloaded from the
OpenOffice.org Web site. Users must adhere to the terms outlined in the
GNU Public License (GPL). "The key thing to remember with licensing is
that StarOffice is under [the GPL]," Roth said. "People can take the code
and do what they want. We are not seeking license fees for the
OpenOffice.org source base," he emphasized.
Eclectic user base
Roth estimates there are approximately 1,600 StarOffice users, ranging
from graduate students in Estonia to major U.S. corporations, such as
Boeing and Silicon Graphics Inc. (SGI). "The OpenOffice.org approach is
also language-neutral, and provides a standard set of open file formats
that promotes interoperability that lets people share files easily," Roth
added. The StarOffice suite includes a word processor and spreadsheet program, as
well as applications for drawing, charting, and data presentation. Sun
acquired StarOffice in 1999 when it purchased Star Division, a German
company targeting Linux users in Europe. "The StarOffice applications were
completely integrated, and it was extraordinarily price-competitive when
compared to Microsoft and Corel office suites," Roth recalls. But how does a company go up against Microsoft, which now controls 96
percent of the office productivity market? "First, we decided to make our
software free, to provide more value at lower cost. Next, we decided on an
open-source code approach, which lets programmers and developers to
customize the software. This is in stark contrast with Microsoft's closed
source philosophy," he said. To further strengthen the product offering,
Sun decided to componentize the complete StarOffice suite. "People want to
integrate these programs into their applications, so we started to
componentize the code," Roth said.
Holy grail
Thanks to its component architecture, it's now possible to integrate any
StarOffice application, or the entire StarOffice suite, into other
programs. For example, a programmer could drop the StarOffice word
processor or spreadsheet application into a customer relationship
management package using them as components. "Opting for an open-source
code approach and a component-based architecture allowed us to make
StarOffice available to the widest possible user base, as well as make
life easier for software developers and programmers who want to access the
application's source code," Roth said. Roth sees StarOffice as "leading the charge" in the trend towards using
entire applications as components. "It used to be that components were
small programs with limited functionality, but people today are saying, 'I
want a word processor in my ERP system, so I can edit invoices and
purchase orders.' The holy grail of components and a component suite like
StarOffice is to allow people of all levels of ability to perform
programming tasks," Roth said. "Anytime you choose a component model, you allow programmers to build
larger, more complex applications by just gluing different parts
together," Mason said. "Component models are nice for the developer to
have. The fact that there are tons of different component models is a bit
messy, but if you're working on a single project, it's great to have a
component model," Mason said. He adds that, "there's also room for
something to pop up that will make all these component models work
together. Hopefully, the open-source world will take care of that."
Resources
About the author  | |  | Claude J. Bauer is a freelance technology journalist located in Middletown, MD. His work appears in numerous technology-oriented publications and on a variety of Web sites. Visit Mr. Bauer's home page or contact him at claudebauer@claudebauer.com. |
Rate this page
|  |