Innovation in the web space
It has often been said that the free software world is great at copying the
work of others, but does little innovation of its own. Your editor has
spent a little time looking at a few projects which should put yet another
set of nails into the coffin containing that bit of folk wisdom.
The most hyped of these, by far, is the flock web browser. Flock is a derivative
of Firefox being developed by a company headed by Bart Decrem, the person
behind the ill-fated company Eazel. The company failed, but, in the
process, it created the widely-used nautilus file manager. With Flock,
Mr. Decrem hopes to recreate his free software success, but preferably
without the accompanying corporate failure.
Flock is an attempt to tie the browser deeply into the sorts of services
many serious web users are using, including social bookmarking, blogging,
and photo sharing. There is no hierarchical bookmark menu in Flock;
instead, it provides "collections" of tagged "favorites." These
collections can be managed on del.icio.us, so they are available from
anywhere - and to anybody. Flock understands RSS feeds, and will
automatically generate a page of aggregated feeds from all of the sites in
a collection.
No modern application can get away without search capabilities. Flock
integrates search by indexing every page it visits; simply typing a string
into the search bar up top yields a popup with a list of matching sites.
This feature will never replace Internet search engines, but it can be
useful for finding that site that you forgot to bookmark (or "add to
favorites," as the case may be). Flock also maintains a list of the most
frequently visited sites, which has the potential to be either useful, or
embarrassing, or both.
There is also a set of features oriented around blogging, including
integration with several site packages. The "shelf" functions as a sort of
short-term clipboard for things to be put into weblog entries.
The current flock preview is very much a work in progress. It can be
awkward to work with at times, and is visibly slow. There is clearly some
interesting work being done here, however, and it will be interesting to
see where it will go. It will also be interesting to see how the Flock
developers make a successful company out of this product. The business
plan as laid out by Mr. Decrem is not entirely clear:
Opera's CEO recently explained that his company was able to
release the browser for free thanks to an expanded search
sponsorship arrangement with Google. The Mozilla Foundation has
alluded to search related business arrangements and has created a
for-profit subsidiary. These success stories show that even simple
search "distribution" integration points in the browser can
provide a solid financial footing for browser providers, and do so
in a way that enhances the user experience (remember, the search
box was added to Firefox because users needed a faster way to
search online). In sum, we're quite comfortable that, if enough
users choose our browser, we can keep the lights on here at Flock
without violating user's privacy or compromising the user
experience.
The Flock FAQ notes that
the developers reserve the right to incorporate proprietary code into the
browser in the future. Flock also requires copyright assignments from
contributors. Whether the company will be able to build a larger
development community under those terms remains to be seen. Meanwhile,
however, the current (free) code is an interesting contribution to the
community.
A very different sort of effort can be seen in Outfoxed, which is implemented as a
Firefox extension. Outfoxed is an attempt to build a distributed
reputation network. Users create "reports" on web sites noting attributes
like "good" or "dangerous"; these reports can be exported using a variant
of the RSS format. Users can also tell the Outfoxed extension whose
evaluations they trust, essentially making a report on another person.
Trust is transitive, so Outfoxed users will form a network extending beyond
their immediate friends.
When a search is performed, the results are annotated by the reports from
trusted users seen
by the browser. With a sufficiently large and active network, a user can
get annotations on a large set of web sites - all generated by people who
can make a reasonable claim to being trusted. In theory, much better
search results will be generated from this scheme. Rather than trust the
easily-abused pagerank scheme, it will be possible to zero in on the best
sites, as determined by people whose judgment you respect.
Unfortunately, the Outfoxed extension is currently only available for the
Windows platform. Evidently the problems encountered in trying to build
Outfoxed for Linux have been overcome, but, as of this writing, a Linux
version of the extension is not available. So, your editor was unable to
actually try Outfoxed or start publishing reports on the high quality to be
found at LWN.
What if you invented a hypertext network back in the 1960's, worked on it
for decades, only to see an inferior alternative take over in the 1990's?
Many people would have given up by now, but Ted Nelson, the force behind
the Xanadu project, is a persistent man. Mr. Nelson clearly had a number
of ground-breaking ideas very early on, but he never did manage to create
an implementation of those ideas which was suitable for wider use. When
the world-wide web came along - and simply worked - Xanadu was still
vaporware. The project did eventually release some code in 1999, but the world
did not show a whole lot of interest.
Mr. Nelson has now returned with a renewed
Xanadu effort. The web, he says, was a mistake. It is bound by old,
paper-based ideas, is limited by its one-way links, and does not support
extensive sharing of content. The better approach is something he calls transliterature, allowing literary
works to be built from pieces found elsewhere on the net. Imagine a
variant of Wikipedia, for example, with extensive quotes from original
source materials, all of which are tied back directly to those materials.
An initial implementation (the Transquoter) of this idea
has been implemented and released as free software. It will require some
refinement, however, before it threatens to push the web aside.
The primitive state of the tools notwithstanding, the Xanadu project merits
some attention. It is worth listening to the thoughts of somebody who saw
the benefits of a world-wide hyperlinked network, where anybody could
publish, more than thirty years before it became a reality. When he
presents a vision of something which could be better, he might just have a
point. What he clearly needs, however, is a small core of developers who
can create the beginnings of the transliterature system and take it far
enough that a larger community forms around it. Then, just maybe, the
Xanadu project could achieve its vision, and the free software world could
remake the net yet again.
Comments (4 posted)
The return of Minix
Back in the early days, when an entirely free, Unix-like system was still a
dream, a young student named Linus Torvalds got his hands on a system called
Minix. This system had been put together by Andrew Tanenbaum as part of a
book on operating systems design; it was intended mainly as a teaching
aid. Linus, like many others, found that Minix was also fun to hack on.
Also like others, he quickly discovered that the Minix license
was not particularly friendly to third-party hacking. While the code was
available, it was not possible to distribute enhancements, and there was no
mechanism for accepting patches into the official version. So Linus went
off and developed his own kernel, and Minix never did become much more
than a teaching tool. Minix was put under the BSD license in 2000, but
that was far too late. Had Minix carried a free license from the
beginning, subsequent events may have taken an entirely different course.
Minix has largely faded from view in recent years, but it is certainly not
gone. Last June, Andrew Tanenbaum announced that a new version of
Minix, to be called Minix 3, was in the works, along with an updated
version of the book. Like its predecessors, Minix 3 will be aimed at
education, but Mr. Tanenbaum is going for a wider market this time. In
particular, Minix 3 is aimed at "real world" use in low-end systems
and embedded systems. This release also targets "Companies who want
a small (real-time) modular, open source operating system free of the
GPL."
The result of this work is now available from minix3.org. Happily, this release has
passed on Mr. Tanenbaum's suggestion to use a cockroach as its logo
("they are tough as nails and have survived 300 million
years"), going, instead, with the critter seen on the right. This
release includes some design information, bits of
documentation, and a live CD with the operating system itself. Version
3.1.1 includes two compilers (the internal "ACK" compiler is faster than
gcc, but with lower-quality code production), TCP/IP networking, and about 300 programs. This
release only works on i386 processors, and does not yet support a window
system.
Interestingly, the site offers no option to download the source code. As
of this writing, the only way to get at the source appears to be to grab
the live CD and boot it. For those who would like to browse, a good part
of the source will be included as an appendix in the book, and has been
posted in one very large
page.
Minix 3 is very much a microkernel system; the core kernel is said to be
less than 4,000 lines of code. Everything else runs in user space. From
the web site:
The parts that run in user mode are divided into small modules,
well insulated from one another. For example, each device driver
runs as a separate user-mode process so a bug in a driver (by far
the biggest source of bugs in any operating system), cannot bring
down the entire OS. In fact, most of the time when a driver crashes
it is automatically replaced without requiring any user
intervention, without requiring rebooting, and without affecting
running programs.
As others have pointed out, this claim reaches a bit far: no amount of
isolation can protect the system against a driver which, for example,
wedges the bus. If Minix 3 ever grows to the point that it supports
DMA transfers, driver bugs will also be able to hose down any other part of
the system. And, in any case, quietly restarting buggy drivers also may
not be the best way to get those drivers fixed.
There is plenty of room to criticize the Minix 3 approach, but there
is not much use in that exercise. Minix 3 is free software. Anybody
can play with it and see for themselves how well it works. Interested
parties can improve it, and share their work with others. The Linux kernel
has grown complicated, to the point that it can be hard for beginning
hackers to approach. The much simpler nature of Minix 3 may well
appeal to developers who find the Linux learning curve to be unpleasantly
steep. So there may well be a wider role for this version of Minix. It is
a welcome contribution to the free software community.
Comments (5 posted)
GNOME hits a decision point
There is a vibrant debate underway within the GNOME project. Certainly,
there is no shortage of issues that GNOME could be discussing, such as,
say, how to
shoehorn a panel applet into less than four or five megabytes of memory.
The issue at hand is not quite so exciting, however; instead, the GNOMEs
are voting on
a referendum which would
reduce the GNOME Foundation board of directors from eleven to seven seats.
One might think that the size of the board does not matter that much, but a
number of developers seem to have strong feelings about it. The arguments
in favor of the change include the following:
- There are not currently enough people in the GNOME community who are
both interested in serving on the board and qualified to do so. A
number of people who have run for board seats have put their names in
only because they feared that there would not be enough candidates, or
that unqualified people would be elected by default.
- The eleven-member board is too large and unwieldy to get things done.
Decisions get pushed back indefinitely, and nobody takes
responsibility for making things happen.
- Some members of the current board are not actually doing
anything beyond warming their seats.
On the other hand, those opposing a change in the size of the board argue
that:
- The GNOME community is large, vibrant, and diverse. With such a
talented group of people, there cannot possibly be a shortage of developers
qualified to sit on the board. Rather than shrink the board, the
GNOME community should actively encourage more of its members to seek
election.
- If the board is sometimes contentious, that's because the community as
a whole is global and diverse. Obtaining a consensus on controversial
issues will never be easy. Any consensus reached by way of shrinking
the board (and thus excluding minority members) will be false at best.
- If there is a problem with the board, it's in how it operates, rather
than its size. Any effort to fix the board should look at other
solutions, such as assigning specific responsibilities to each
member. Jeff Waugh has also suggested
a more executive-style governance structure with specific elected
positions.
Voting is happening now, with the preliminary results scheduled to be
announced on November 5. The highly scientific LWN "read the mailing
lists" poll has concluded that the "no" votes are currently leading 55% to
45%, with a margin of error of about 30% or so.
In many ways, free software projects continually break new ground on
governance issues. A quick survey of high-profile projects shows a wide
variety of governance structures, including dictators (usually but not
always benevolent), oligarchies, corporate fiefdoms, extreme direct
democracies, and more. GNOME has a sort of representative bureaucracy
which is seen to be in need of some tweaking. The GNOME hackers will
certainly continue to produce code regardless of the outcome of this
particular referendum. But the overall effectiveness of the Foundation can
have a long-term effect on how the project is perceived and which technical
directions are taken. So it will be interesting to see how this
project ultimately decides to govern itself.
Comments (10 posted)
Page editor: Jonathan Corbet
Inside this week's LWN.net Weekly Edition
- Security: Safe DNS configuration; New vulnerabilities in enigmail, ethereal, pam, phpMyAdmin, sudo, ...
- Kernel: Page migration; Page table scalability; eCryptfs; Some block subsystem patches.
- Distributions: Upcoming new releases; Turbolinux Introduces FUJI Desktop; Finnix; The Road to Dapper
- Development: Enter TurboGears, OpenOffice.org 2.0, new versions of X11, MySQL, PostgreSQL,
EasyBMP, PHPSurveyor, Xaraya, PythonCAD, Lightning, Veusz, GnuCash, SQL-Ledger, Sylpheed, OpenEMR, Jackbeat, Gnumeric, Maxima, avidemux, Speedometer, Urwid.
- Press: Sharing resources at create.freedesktop.org, Java predictions,
AMIA Conference coverage, EuroOSCON coverage, Ballmer on Linux,
Novell's future, study on Linux migration, Marten Mickos on software patents,
patent on XML, CUPS intro, Nessus forks, Firefox celebrates 100M downloads.
- Announcements: Apache Geronimo gets J2EE 1.4 Certification, CrossOver Office 5.0,
OpenOpenOffice launched, free VMware Player, Bounty Source Project Management,
Just Say No To Microsoft, FOSS.IN speakers announced, OSDC 2005 registration,
Ubuntu Love Day - Montreal.
- Letters: Stallman on "intellectual property"
Next page:
Security>>