LWN.net Logo

Leading items

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 [Minix logo] 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
Next page: Security>>

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.