Sometimes it seems that Sun has been talking about releasing the Solaris
code for years. Actually, Sun
has been talking about releasing
Solaris for years; see
this LWN article from
1999 on the subject. On January 25, however, the company actually
did something about it. The DTrace code from Solaris is available now, and
the full Solaris kernel is set to become available sometime in the second
quarter of 2005. There is, of course,
a
hype-filled press release celebrating the event.
The release appears to be real. A fully buildable system will be made
available under Sun's recently OSI-approved Common Development and
Distribution License (CDDL). Sun does not appear to be holding back
any core components of the kernel. All of the Solaris 10 features
they have been trumpeting - ZFS, DTrace, containers, etc. - will be
included. It would seem that Sun is releasing a system that people might
actually want to run.
The other half of the day's festivities was this
announcement that Sun is releasing 1600 software patents for use with
CDDL-licensed software:
By giving open source developers free access to Sun(TM) OpenSolaris
related patents under the Common Development and Distribution
License (CDDL), the company is fostering open innovation and
establishing a leadership role in the framework of a patent commons
that will be recognized across the globe.
The announcement is rather short on details - things like which patents are
being released, and under which terms. Nowhere does Sun say explicitly
that only CDDL-licensed software will be licensed to use those
patents, but the early indications are that the company does intend to
limit things in that way. An attempt by LWN to get a clarification from
Sun on this point was not successful.
Sun has repeatedly said that it hopes to build a wider development
community around the OpenSolaris release. Once again, however, the details
are yet to be filled in. There will apparently be a "community advisory board"
with five members, three of whom will be directly chosen by Sun. There is
no word on what the patch acceptance process will be. The OpenOffice.org
process tends toward being bureaucratic and hard to approach; the OpenSolaris
process seems likely to be similar.
Sun has tried to fend off claims that this release is a competitive
response to Linux, but that is clearly what is going on. The company
appears to be trying to set up a parallel free software ecosystem which, it
hopes, will be more attractive than Linux. The components of this strategy
are becoming clear.
For example, Sun has repeatedly gone out of its way to push the claim that
Solaris is better than Linux - or anything else, for that matter. The
various features of Solaris 10 were hyped yet again at the OpenSolaris
teleconference; the company described them, with a straight face, as
"rocket science." The message is clear: why bother with Linux, when the
best is free too?
Then, Sun is stressing its free software credentials. At the
teleconference, Sun executives claimed that the company had been doing open
source for more than 24 years. Sun is now, they say, the number-one source
of free code on the planet. Why bother with those other,
johnny-come-lately companies when Sun has been doing this for so long? At
the teleconference, the claim was made that HP and Dell have not
contributed to Linux - which is clearly untrue.
There is also the indemnification issue, needless to say; indemnification
was mentioned many times at the teleconference. The patent press release
states:
Radically reducing risks associated with using and developing open
source software, Sun is firmly standing behind our products and the
worldwide development community. Armed with access to Solaris OS
platform intellectual property, OpenSolaris developers and
customers alike no longer need patent protection or indemnity from
Sun's and other participants in the OpenSolaris community for use
of Solaris-based technologies under the CDDL and OpenSolaris
community process.
There is an obvious attempt here to position Solaris as a safer sort of
free operating system - one with "radically reduced risks." It may be true
that OpenSolaris users are less likely to be sued - by Sun itself, at
least. The CDDL will also make suits by any other company which uses
OpenSolaris unlikely. None of this will help against suits from litigation
companies with no software business of their own, however.
Speaking of litigation companies, the SCO Group has not yet given its
thoughts on the OpenSolaris announcement. Sun executives claimed at the
teleconference that the company's Unix licenses allowed it to release the
code with no need to consult further with SCO. We asked SCO if it agreed,
but got no response.
The last piece of the puzzle is the CDDL, which serves to effectively
isolate the Solaris and Linux kernels from each other. Solaris will live
in its own world; any useful code it contains cannot be copied over to
Linux, or to any of the BSD variants. You can play with Sun's nice toys,
but you have to stay on Sun's turf.
All of this might just work. There are good things in OpenSolaris, and the
code will soon be truly free. But it takes more than a code dump to create
a development community. Whether Sun can create enough outside interest to
inspire a wider group of developers to help out remains to be seen - as
will Sun's ability to let go and let that community actually run with the
code. Sun will not have gained much if the outside developers end up
creating their own OpenSolaris fork.
Comments (22 posted)
It's been in the works for quite a while, but PostgreSQL 8.0 is finally
out the door. To get the full
scoop on 8.0, we spoke to Josh
Berkus, one of the members of PostgreSQL's steering committee, to learn
about PostgreSQL's new features and plans for future development.
The PostgreSQL press release highlights a number of new features and
improvements, including improved memory usage and I/O improvements. We
asked Berkus if the PostgreSQL team had any benchmarks to share with
regards to these improvements. Berkus said that the project did not have
benchmarks yet, and that the team had been tinkering with performance
"right up to the release candidate." Berkus did elaborate on
the nature of improvements, however.
The basic idea was to make PostgreSQL a little bit smarter about managing
its own cache and its own memory usage. A lot of that effort was
spearheaded by Jan Wieck, who works for
Afilias... their big interest in
improving memory usage was really to flatten out spikes. One of the tests
at the Open Source Development Labs of online transaction processing where
you see that your peak rates of transaction processing is like 4,000 or
4,800 transactions per minute, but then you have these checkpoint spikes
while the system is doing memory synchronization and the like, suddenly
your throughput rate drops by like 1,000 transactions per minute.... from
the perspective of people supporting interactive Web applications, this is
particularly bad because the customer suddenly sees a 30-second lag where
nothing's happening. A lot of the changes were designed to alleviate that
condition.
Berkus noted that the average transaction time for Web applications may not
go down a great deal, but that the median transaction time did go down. He
also said that several developers working on performance tweaks were
pushing for a short development cycle for PostgreSQL 8.1 because they're
"not necessarily satisfied that they're done." Berkus also
pointed out that they would probably never be done improving performance.
Other performance improvements include changes to maintenance routines to
avoid saturating disk I/O. Berkus said that some maintenance routines may
take longer, but would have less of an impact on system performance while
running.
The Savepoint feature has changed as well, according to Berkus. Savepoints
allow parts of a transaction to be rolled back without failing an entire
transaction if part of the procedure fails. Berkus said that savepoints
were initially "implemented as nested transactions" but that
the syntax for Savepoints is now SQL-compliant.
Inevitably, PostgreSQL will be compared to "enterprise" databases like DB2
and Oracle. We asked Berkus how PostgreSQL would compare to products like
Oracle and DB2 given the features that were introduced in 8.0. He said that
there were "still plenty of high-end features that they have that we
don't have yet though each new release of PostgreSQL adds features
that make it "adequate or even superior" for new users. One
feature that PostgreSQL still needs, said Berkus, is multi-master
replication. Right now, there are three separate teams working on two
different forms of multi-master replication, which should be ready within
"a year or a half, if not sooner."
Berkus said that the PostgreSQL project planned to keep replication
facilities, such as Mammoth and Slony,
as add-ons rather than part of PostgreSQL. The reason, according to Berkus,
is that replication "is not a single problem... it's a set of related
problems not all of which should be solved by the same software."
Another feature in 8.0, which may be of little interest to LWN readers, is
the native version of PostgreSQL for Windows. Berkus said that the Windows
release looked to be very popular, judging by early downloads of the
release. We did ask how the performance of PostgreSQL on Windows compared
to performance on Linux or other UNIX-type systems. Berkus said that they
didn't know, since most of the PostgreSQL testing is done through the Open
Source Development Labs, which means that testing is limited to Linux
systems. He did say that he expected that performance on Windows would lag
behind Linux, since PostgreSQL is primarily developed on Unix and POSIX
systems.
What will we see in 8.1? It's too early to tell, but Berkus did mention a
few projects that he's aware of that might be in the works. One issue that
he mentioned is the idea of per-user quotas for PostgreSQL.
Somebody's revived the issue of per-user quotas. People are interested in
it, but the people who are interested don't seem to have the coding talent
to implement it... you don't know how much space something is taking up
without calling a maintenance procedure, so it's a very hard problem to
solve. It's much harder than implementing user quotas on the filesystem.
If the 8.1 release cycle is a short cycle, Berkus says that "a lot
will be deferred to 8.2 because of the requirement for catalog changes in
initdb." Berkus told LWN that the changes were necessary to allow
PostgreSQL to do in-place upgrades rather than requiring users to migrate
data from an older PostgreSQL installation to the new installation.
Currently, the way you upgrade a major version [of PostgreSQL] is to in
install the binaries to a new location, prepare the new location and then
you do a backup of the old database and restore onto the new
platform. There are other ways of making this easier, like using
replication to move the data, but it still amounts to running two
PostgreSQLs at once and moving between those two instances. If you happen
to be running a data warehouse with 300 GB of data, it's quite time
consuming... it's one of the things we have on our plate that nobody wants
to work on.
We asked Berkus why PostgreSQL didn't use a timed release cycle, as opposed
to a feature-based release cycle, like the GNOME Project does. Berkus said
that "nobody's really raised that as an idea" and said that it
would be difficult to do since other projects could release
half-implemented features or features that were still a little buggy, but
PostgreSQL could not. "For us as an enterprise database system, we
can't release anything that could corrupt your data, even a little."
Even if PostgreSQL were to move to a timed release cycle, Berkus said it
would probably be a yearly release cycle rather than a six-month cycle like
GNOME.
Current users of PostgreSQL can count on security and data integrity
patches for the prior two releases (7.3 and 7.4) until the 8.1 release of
PostgreSQL. Berkus added that patches may be released for 7.2 "if the
patch can be released to 7.2 without extra effort." He also said
that support for older versions of PostgreSQL, including backporting new
features, was a role for commercial providers of PostgreSQL and could
provide a value-add for vendors to provide to their customers, without
making it a "headache for developers."
While PostgreSQL may not have all the features of DB2 or Oracle, the
database is closing the gap between itself and proprietary "enterprise"
database systems. With the 8.0 release, PostgreSQL should be able to find
many more adopters in small and large organizations that are looking to
replace expensive proprietary systems with an open source solution.
Comments (none posted)
The
Grumpy Editor's guide to free
PDF viewers tried to assess the current state of the art in free
applications which deal with PDF files. Since the publication of that
article in December, a new player has shown up.
Evince is a GPL-licensed
GNOME viewer for a number of document formats, including PDF, PostScript,
and DVI files. When
evince 0.1.1 was
announced, your editor decided that it was time to have a look.
Evince is built as a viewer with the ability to add backends for any file
format of interest. For PDF files, the supplied backend is based on the
xpdf code. The PostScript backend uses ghostscript, and the DVI backend
uses a built-in DVI library. Building evince requires the GNOME 2.9
libraries, but is otherwise painless; it dropped right into place on your
editor's Fedora Rawhide system.
This application is looking good - especially for a 0.1.1 release. The
rendering of PDF files is fast, and the quality is good. The zoom options
are rational, and it is easy to move around within the document. Printing
of PDF files works (that's one of the new features in 0.1.1). Evince can
display page thumbnails in a side bar; for documents with a table of
contents, that, too, can be displayed and used for navigation. Text can be
selected with the mouse and pasted into other applications.
Evince offers a search capability which appears to have potential, but
which needs a bit of work yet. Hitting "^F" will open a
firefox-style "find" bar at the bottom of the screen (search does not
appear to be available from the menus). Typing a string will highlight
occurrences of that string in the text; see the screenshot for an example.
There are "previous" and "next" buttons, but the only thing they do is
cause "find previous" or "find next" to be printed; it's nice to know that
evince is listening, but that still is probably not quite what the user had in
mind. If the string does not appear on the current page, evince will note
the next page where the string can be found - but the user must get
to that page independently.
There are a few other glitches yet. Selecting text with the mouse can be a
little unreliable; sometimes what gets pasted is not exactly the text which
was selected. There are no thumbnails for PostScript documents. The
buttons for paging through the document are labeled "Up" and "Down," which
are not the most obvious terms. There is no way to print only part of a
document. There is no man page - or other help of any sort.
All of the above notwithstanding, evince is a tool which is, even at this
early point, competitive with the other free PDF viewers. It is entirely
useful now. If development continues at the current pace, evince may well
become your editor's viewer of choice in the near future.
Comments (13 posted)
Page editor: Jonathan Corbet
Inside this week's LWN.net Weekly Edition
- Security: Securely renting out your CPU; An unbelievable number of new vulnerabilities.
- Kernel: Low latency for audio; A new core time subsystem; 2.6.11 API changes.
- Distributions: An Early Look at Ubuntu Hoary; Fedora and Xen: A Quick Start Guide; EzPlanet One Linux
- Development: Matplotlib - Data Plotting in Python
new versions of FlameRobin, Mammoth PostgreSQL Replicator, EVMS, Bogofilter,
Midgard, MoinMoin, Tiki, Cyphesis, GIMP, Gaim, orDrumbox, Gnumeric, GCL, LTK,
Ultimate++, A Byte of Python.
- Press: Business Week looks at Linux, Will Proprietary Databases Survive?,
SCO's outlook is bleak, Linux on Centrino, USB Wi-Fi setup,
OpenOffice.org database.
- Announcements: Open Technology Business Center, Globus Consortium, OpenIB Alliance
Linux Software Stack, Open Solaris, Endangered Gizmos List, Sociological
Study of Samba Community, OSCON CFP, OSBC line-up, YAPC::NA 2005 CFP.
- Letters: Reading LWN on a palm pilot
Next page:
Security>>