|
|
Subscribe / Log in / New account

On the conviction of Hans Reiser

This article brought to you by LWN subscribers

Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

By Jonathan Corbet
April 30, 2008
On April 28, a California jury found Hans Reiser guilty of first-degree murder. There has been a lot of speculation in the press, both before and after the conviction, on what the loss of Mr. Reiser will mean for the Linux community. Much of that speculation, it seems, lacks an understanding of what Mr. Reiser's role in the community really was. Your editor will take no position on whether his conviction was correct or just. But there are things to be said about what this conviction will mean.

Hans Reiser was, of course, the designer (and, to an extent, implementer) of the reiserfs filesystem. When it was merged, reiserfs had the distinction of being the first journaling filesystem for Linux which was intended for general use; it also offered good performance in some situations, especially those involving lots of small files. Reiserfs saw a significant amount of use and was adopted by a handful of distributors. There are, doubtless, quite a few reiserfs deployments still operating out there.

Mr. Reiser's role in reiserfs development and maintenance ended some years ago, though. He stopped work on it when reiser4 development started, and even opposed the incorporation of improvements done by others. Reiserfs continues to be maintained independently of its creator, though there is not much interest in adding features to it at this point. Reiserfs is nearing the end of its run, and nothing which happened this week has changed that situation in any way.

There is more concern about what will happen with Reiser4, Mr. Reiser's next generation filesystem. Many reports have suggested that current events spell the end for this project, but it is worth taking a look at the longer history. Reiser4 is not exactly new; it was first posted in 2002. Mr. Reiser made an unsuccessful effort to get it merged for the 2.6.0 kernel, and frequently thereafter. He blamed commercial interests and politics for his failure in this regard, but the real situation is more straightforward than that.

Reiser4 tried to do a number of things very differently from other filesystems. It included some very non-POSIX semantics which raised red flags within the development community. There was a multipurpose reiser4() system call which implemented a wide range of features and included an in-kernel interpreter for a special language. There was a low-level plugin mechanism which raised concerns (not all justified) about varying on-disk formats and proprietary formats. Reiser4 did many things at the filesystem level that others thought should be done at the virtual filesystem level instead. The "files as directories" feature, beyond striking people as strange, opened up a wide range of trivial deadlock scenarios.

In summary, this code was nowhere near ready for inclusion into the mainline kernel. Kernel development projects which are done in isolation often encounter this kind of surprise when they are finally posted to the development community.

Over the next few years work on reiser4 continued. Many of the problems were solved by simply removing most of the features which made reiser4 unique, turning it into just another filesystem. Once you have just another filesystem, attention will turn to performance; in this case, many people found that they got benchmark results which differed from those posted by Mr. Reiser. Community interest in this filesystem fell over time, and the development rate fell as well. There was still work happening to prepare reiser4 for the mainline kernel when Mr. Reiser was arrested, but it was moving slowly.

Perhaps the biggest obstacle to the inclusion of reiser4, though, was the confrontational approach taken toward the rest of the community. When developers pointed out problems with reiser4, Mr. Reiser had a tendency to question their motives rather than pay attention to what they were saying. His interactions with the community were characterized by statements like:

What makes you think kernel developers have a deep understanding of the value of connectivity in the OS? They don't. The average kernel developer is not particularly bright.

A number of developers reached a point where they simply chose not to engage with him any more. By rejecting the development community, Mr. Reiser remained forever an outsider to it.

And that is why the practical effect of Mr. Reiser's conviction on the community will be relatively small, at least in the short term. As brilliant as he is, his effectiveness was limited by his disregard for the rest of the community and his certainty of always being right. He could have accomplished much more with a different approach.

That said, his loss is unfortunate. He did prove able, over a number of years, to raise funds for Linux filesystem work, and the community benefited from that work. Some of the reiser4 developers are still interested in working on that code, and they still submit patches. But now nobody is paying them to do that work, which puts the whole enterprise in danger. There are limits to how long reiser4 development can be carried forward as a labor of love.

The biggest loss, though, is elsewhere. More than anybody else, Mr. Reiser put a lot of thought into what our systems should look like in the future. He saw capable filesystems as the way to make our systems far more powerful than they are now. In a world where the filesystem was the only namespace of any significance on the system, all objects would be equal and the number of potential connections between them would explode. His long-term goal was not (just) better benchmarks; it was to create a filesystem which could serve as this all-encompassing namespace. It was a radical idea, and, perhaps, impractical. But our future comes from ideas like that.

After a few relatively quiet years, there is now a flurry of activity around Linux filesystems. The challenges in this area are large, but we have many highly capable developers working on the problem and there can be no real doubt that Linux filesystems will continue to be among the best available anywhere. But that development community has lost a voice which, for all its faults, had some unique and innovative things to say, and we are all poorer for it.


(Log in to post comments)

On the conviction of Hans Reiser

Posted Apr 30, 2008 20:33 UTC (Wed) by zooko (guest, #2589) [Link]

Thank you for this article, Jon.  Again you've done a fine job of addressing important issues
plainly.

One small comment that you made that I question, though, is this:

"There are limits to how long reiser4 development can be carried forward as a labor of love."

Aren't most successful open source projects labors of love?  At least in part?  Or at least in
their inception?

There's a good thesis to be made that an unfunded open source project has a *better*, rather
than worse, chance than a funded one, because labors of love are sometimes done more, well,
lovingly than paid work.  Obviously that is not always true, but neither is the converse.

To address the issue of reiser4 specifically, it seems like it might be nearing inclusion in
mainline at this time.  Edward Shishkin is still working on it, and I believe Andrew Morton
mentioned it as a possibility for inclusion in his 2.6.26.

name space ideas

Posted Apr 30, 2008 22:41 UTC (Wed) by ccyoung (guest, #16340) [Link]

were imho very indeed kool, and I was always surprised by the community's apparent apathy
toward them.

it's hard to read his paper (as poorly formatted as it is) and not come away enthusiastic
about the ideas and envisioning new tools and paradigms.  even trivial things like enumerated
types as filesystem objects - free maintenance (no interface needed), free debugging
interface, language independence - sort of like SQL for gamers as vs databasers - all directly
plugged into the filesystem.

name space ideas

Posted May 4, 2008 3:03 UTC (Sun) by jd (subscriber, #26381) [Link]

I personally think the idea of programmatic, polymorphic namespaces to be interesting. How you
would actually make use of such a design is another matter. What, really, does a polymorphic
namespace mean at the conceptual level? If there is no concept behind the technology, then all
you have is a bunch of instructions. (Yes, I dislike modern art, too.)

You also have to consider the overheads. Modern hardware is serial and procedural. There's a
huge overhead in translating between modern programming methods and what a computer actually
does as it is. Adding yet more concepts alien to the underlying architecture is just going to
slow things down. It has to, because this type of abstraction is just a fancy way of emulating
in software those things the hardware cannot do, and software emulation is always going to be
slow. (Regular abstraction hides the specific details of how things are done, but doesn't
change the fundamental ideas.)

Now, for some things, the speed of the software isn't the most critical factor. Aerospace and
medical software, for example, have to have a very high degree of reliability. Speed is a
secondary consideration in such cases, and so you actually want any kind of abstraction that
reduces the chance of failure, even if it sacrifices performance to do so. You don't use
filesystems a whole lot in such mission-critical systems, and it's certainly not clear that
Reiser4 is going in a direction that would even be helpful in achieving extreme reliability
even if they did, but one could imagine that intelligent filesystems could be valuable in that
sector. Someday.

On the conviction of Hans Reiser

Posted Apr 30, 2008 21:12 UTC (Wed) by louie (guest, #3285) [Link]

It was a radical idea, and, perhaps, impractical. But our future comes from ideas like that.

I wish more people grokked that. Then again, I wish more of the people who grok that weren't jerks...

On the conviction of Hans Reiser

Posted May 1, 2008 3:11 UTC (Thu) by walters (subscriber, #7396) [Link]

Radical, yes.  Useful, largely not.  Basically I see little reason for non-POSIX storage
systems to live in the kernel.  If you want something better and non-POSIX, put your data in
SQLite.

On the conviction of Hans Reiser

Posted May 1, 2008 3:28 UTC (Thu) by louie (guest, #3285) [Link]

Oh, I didn't mean specifically about ReiserFS; I can't really comment on whether or not
ReiserFS was really a good idea or not. But much of the response to it on LKML struck me at
the time as 'POSIX was good enough for the late 60s, so it is good enough now, and you'll
implement it or shut up' rather than a reasoned response to actual flaws in Reiser. It is that
kind of uncritical 'this is how we've always done it' thinking that I can't stand, and which,
frankly, I think determines a little too much of how most of us (proprietary or open) develop
software.

On the conviction of Hans Reiser

Posted May 1, 2008 9:15 UTC (Thu) by jospoortvliet (guest, #33164) [Link]

just out of curiosity: aren't there any advantages to having database-like 
capabilities in the filesystem layer? Looking at what beagle, strigi and 
tracker are doing, or even more interesting Nepomuk? I wonder if it would 
be more efficient to have that stuff in the filesystem like BEOS had?

On the conviction of Hans Reiser

Posted May 1, 2008 9:48 UTC (Thu) by MathFox (guest, #6104) [Link]

just out of curiosity: aren't there any advantages to having database-like capabilities in the filesystem layer?
There are advantages in having search and annotation capabilities in a file system. There are significant disadvantages too.

Keeping search indices up to date takes CPU time and memory and requires additional disk access above the ordinary writing of the file. Furthermore the search index eats up disk space. Writing a text file to a "database-like" file system will be slower than writing to an efficient POSIX style file system.

The biggest issue there is is that nobody knows what features should be supported by the new file systems... It is very likely that it will be different from POSIX, but the kernel developers don't implement hand-waving. It makes more sense to build some prototype "storage daemons" and demonstration applications to get a feeling about how the interface should look like. It is an interesting research topic, but not ready for a stable production OS yet.

On the conviction of Hans Reiser

Posted May 1, 2008 13:23 UTC (Thu) by rwmj (subscriber, #5474) [Link]

It makes more sense to build some prototype "storage daemons" and demonstration applications to get a feeling about how the interface should look like. It is an interesting research topic, but not ready for a stable production OS yet.

Since you ask:

ZipperFS

The talk is quite interesting, and he did implement it (albeit as a telnet daemon rather than an actual filesystem). I believe there is an NFS-daemon implementation of this too but I can't find it right at the moment.

Rich.

On the conviction of Hans Reiser

Posted May 1, 2008 20:07 UTC (Thu) by MenTaLguY (guest, #21879) [Link]

There's no need for them to live in the kernel (see also FUSE), but it would sure be nice if
there were a little more diverse support from the kernel layer so that non-POSIX things would
be a little easier to express through a POSIX-like VFS.

On the conviction of Hans Reiser

Posted May 1, 2008 1:00 UTC (Thu) by jsevy (subscriber, #37869) [Link]

Out of curiosity, what's the policy of the California State Penal System regarding his ability
to get information on open-source development, communicate with the development community, and
contribute to development efforts? Are computers permitted in penitentiaries?

Other inmates have been published authors, journalists and artists - is it possible for Hans
to continue to contribute to open-source development from "within the walls"?

Posted May 1, 2008 1:56 UTC (Thu) by quozl (guest, #18798) [Link]

Interesting question ...

Signed-off-by: the prison.

compile by mail

Posted May 1, 2008 9:58 UTC (Thu) by man_ls (guest, #15091) [Link]

As long as he is willing to write code on paper and mail it to someone else outside prison to compile it, I'm sure it is viable. Then the correspondent can send compiler output back by snail mail. It makes for relatively long compile cycles, but so does chess by mail. When you have years to kill...

On the conviction of Hans Reiser

Posted May 1, 2008 2:04 UTC (Thu) by graydon (guest, #5009) [Link]

That said, his loss is unfortunate. ... The biggest loss, though, is elsewhere.

I'm sorry to be blunt, but the salient loss has nothing to do with a filesystem or a developer community. It is that someone recently alive and well, with a long life ahead of her, is very likely now dead.

(Not trying to imply a legal perspective either, nor provoke debate on said perspectives. None of us are murder lawyers, and even if we were this is not the place. But it is rude to ignore someone's passing and focus on peripheral trivialities.)

Losses

Posted May 1, 2008 2:37 UTC (Thu) by ncm (guest, #165) [Link]

Yes, Jon, please change it to read "a greater loss".

By my lights, though, the effect on the perception of Linux among the public completely
overwhelms any effect on development of individual file systems or on the architecture of the
virtual file system layer.  We'll never know if she's dead, or, if she is, whether he killed
her, but that's more nuance than the public can absorb; about all they can manage is "Linux ::
murder!". The lesson to the rest of us is, "if you're known for contributing to Free Software,
don't get yourself accused of, or framed for, murder."  (That's good advice for everybody
else, too.)  I might add, "study how not to be universally reviled; it will improve your life
elsewhere than in front of juries."

Losses

Posted May 1, 2008 7:25 UTC (Thu) by csawtell (guest, #986) [Link]

All of which is very good advice. In addition, this tragic case has been a learning exercise for us all.

In the past I have learnt that if you find yourself in a room with an argumentative person, particularly somebody who has the potential to do you harm, do not engage in the argument. Just leave the room. Nina would probably still be with us if she had done that.

If you find yourself in a situation where you could be accused of a crime and arrested:-

  • Talk very politely to the police about the weather, and not much else.
  • Do not change any of your routines at all. If you, understandably, just have to go somewhere else then tell the police how to contact you.
  • Don't talk about your situation to anybody, even your family and friends, but if you must, do not use any means of communication which can be intercepted. In effect that means talking only in the open air.
  • Do not engage a legal defence team until you are actually arrested.
If you are arrested:-
  • Don't talk at all except to your appointed legal defence team. In most civilized jurisdictions, this is your absolute right.
Finally, if you are an intelligent, yet volatile, individual who lives away from of the mainstream of your society, I'd suggest you measure its level of civilization by looking at the proportion of its citizens who are incarcerated in prison and how they are treated. If you discover your country of abode to be lacking, I'd suggest that you start learning a European language without delay, Danish, Swedish, or Swiss-German would all be excellent choices.

Note: I Am Not A Lawyer, but this is, in essence, what I have been told by a friend who is one, and what I have learnt from the Reiser tragedy.

Finally take note of the fact that Gerry and Kate McCann are sleeping at home in their own bed, whereas Hans Reiser is not.

Losses

Posted May 1, 2008 13:24 UTC (Thu) by bpearlmutter (subscriber, #14693) [Link]

Another important point: no matter how angry you are,
  • don't murder your estranged spouse

On the conviction of Hans Reiser

Posted May 1, 2008 6:54 UTC (Thu) by evgeny (subscriber, #774) [Link]

In the first paragraph one reads:

"There has been a lot of speculation [...] on what the loss of Mr. Reiser will mean for the
Linux community."

So we're talking about "Linux community", not humanity or anything like that. And in this
context the fate of Nina, taken separately, is largely irrelevant.

On the conviction of Hans Reiser

Posted May 1, 2008 12:31 UTC (Thu) by corbet (editor, #1) [Link]

This comment describes my point of view during the writing of this article (which, incidentally, was a relatively hard one to write). Graydon has a point, though, in that one can focus too narrowly on the topic at hand and miss the bigger issues. Perhaps I did that here.

On the conviction of Hans Reiser

Posted May 1, 2008 20:47 UTC (Thu) by KaiRo (subscriber, #1987) [Link]

Jon, I think you didn't miss anything here. It's not the point of LWN.net to dig into private
matters of people. The courts are hopefully doing a good job, and it's their job to make a
murderer pay for his crime, even if that clearly can't restore that life that supposedly was
lost.
LWN readers know about the tragedy and can deal in their way with what that means for humanity
- as a piece of special-interst media, I think it's important for LWN.net to keep focus on
that interest, and you did a good job on shedding the light on those things, IMHO.
General media probably fulfills the job to look at the general impact of this.

And unfortunately, nothing tells us that high-profile open source developers cannot commit
such bad crimes in their personal lives. Even if it' sometimes hard to believe, we're still
humans, and as with all of humanity, there are some of us who might lose control and show the
worst of all sides humans can show. Let's hope those cases will stay very few over the years.

On the conviction of Hans Reiser

Posted May 2, 2008 3:46 UTC (Fri) by sbergman27 (guest, #10767) [Link]

Not to seem insensitive... but there are 6.5 billion people on this planet and atrocities
worse than this incident going on every minute of every day.  It's unfortunate.  And it's
ugly.  But I've always felt that singling one out and getting all reverent and respectful
about it is a bit on the hypocritical side.  And if we gave each one of them that attention
(if it were even possible) we'd all be quite insane in short order.  Best to have a healthy
and constructive "life goes on" attitude, IMO, and to be honest about that.

On the conviction of Hans Reiser

Posted May 2, 2008 6:21 UTC (Fri) by ekj (guest, #1524) [Link]

I don't think you did. There's no point to repeatedly restate the blindlingly obvious:
murdering people is bad. It is a loss when someone dies.

If I write a text on the impact of nuclear powerstations on electricity-prices in Europe, do I
*have* to include a paragraph or two on Hiroshima ? I don't think so.

On the conviction of Hans Reiser

Posted May 1, 2008 12:03 UTC (Thu) by knobunc (guest, #4678) [Link]

Any chance that this article can be made available to all sooner?  I've sent the free link to
a few people already to address some FUD, but I'd rather it be easily accessible so it can get
google juice and try to stop some of the media stories...

-ben

On the conviction of Hans Reiser

Posted May 2, 2008 17:09 UTC (Fri) by drdabbles (guest, #48755) [Link]

I've never been sure why people assumed that if Hans was found guilty, the development of
reiser/reiser4 would cease. It's all GPL, which means anyone can pick it up and carry the
torch.

One of my distant hopes is that someone else grabs up reiser4 and works WITH the community to
develop something really powerful. Then again, with all the new focus of the latest shiny
filesystem, zfs, it's just as likely that reiser4 lays a smaller roll. Only time will tell, I
suppose.

On the conviction of Hans Reiser

Posted May 5, 2008 13:11 UTC (Mon) by Nelson (subscriber, #21712) [Link]

Just because it is GPLed doesn't mean development will continue. Someone has to want to do it. Someone has to do actual work. Someone has to want to try and work through the issues Hans started with the kernel community.

A more interesting question is since the filesystem experts do have the source code, why aren't they diving in the ReiserFS4, why are they continuing to work on their own creations, Ext4, BTRFS, NILFS, etc? It doesn't look to me like there is this long line of people prepared to take it over, part of this is no doubt due to the relationship Hans created with the rest of Linux.

On the conviction of Hans Reiser

Posted May 6, 2008 23:58 UTC (Tue) by drdabbles (guest, #48755) [Link]

My comment was meant to say there is no reason development HAS to stop. People's will to
continue development is a different matter entirely.

Reiser4 attempts to solve different problems than other filesystems being actively developed.
There is no doubt that Hans' relationship with the kernel development community caused a
serious disconnect, but at the same time, most filesystem development is aimed at solving very
real problems we experience today. Snapshots, better performance, higher capacities, etc.

what other filesystem?

Posted May 4, 2008 3:29 UTC (Sun) by astrophoenix (guest, #13528) [Link]

I've been using reiser3 for years now on all my systems. I know it's still maintained, but
seeing 
"Reiserfs is nearing the end of its run" being written makes me think I should switch to
something 
else. but what? when I switched from ext3 to reseirfs I saw a decent performance increase on
the 
types of files I deal with (lots of small files), so I don't really want to go back to that.
any 
suggestions?

what other filesystem?

Posted May 5, 2008 19:11 UTC (Mon) by cventers (guest, #31465) [Link]

I was using reiserfs for the same reason until some little bit of 
corruption ballooned into kernel panics and random reboots. I switched 
back to ext3 and I've been happy since.

ext3 hasn't stood still

Posted May 6, 2008 16:49 UTC (Tue) by james (subscriber, #1325) [Link]

ext3 hasn't stood still over the years -- there have been a number of projects to improve performance. A quick Google suggests these links.

So your earlier experience may no longer be accurate.

James.

what other filesystem?

Posted May 8, 2008 19:30 UTC (Thu) by zooko (guest, #2589) [Link]

For some of my current use cases, the fact that reiserfs hasn't been improved in years is a
good thing -- that means that relatively few bugs have been added to it in recent years.  ;-)

Regards,

Zooko

what other filesystem?

Posted May 8, 2008 19:31 UTC (Thu) by zooko (guest, #2589) [Link]

Oh, following up to my own post because I thought I should link to the allmydata.org Tahoe
Least-Authority Filesystem Bibliography page:

http://allmydata.org/trac/tahoe/wiki/Bibliography

where I just added links to four papers analyzing safety of several filesystems including
reiserfs.

what other filesystem?

Posted May 13, 2008 11:15 UTC (Tue) by zmi (guest, #4829) [Link]

That was my first thought also. Being from Austria/Europe, I just hear now 
that Reiser murdered, and I do not have any more information about that 
and also don't really care too much. Seems like they believe she's dead 
but nobody found her. But that's another story.

"Reiserfs is nearing the end of its run" is what strikes me. I've been 
using it for years, and had some very bad and nasty hardware issues that 
destroyed hard disk contents, but could get back most of the data on it.

The biggest issue was once a broken RAID controller decided to rebuild a 
RAID with the wrong disk. He thought the new empty disk was good and one 
existing disk was the spare disk, and rebuilt RAID-5 checksums. Which, 
obviously, simply destroyed whatever useful was there. That way, the first 
~20-30GB of the 500GB RAID contents were completely destroyed, including 
partition tables etc. With "reiserfck --rebuild-tree" I got most 
information back and that's why I stick to this filesystem. I know now how 
to get it back in case of problems, no matter how speedy other filesystems 
could be, that is the most interesting point for me.

Speed doesn't matter anymore once your data is gone.

On the conviction of Hans Reiser

Posted May 8, 2008 5:57 UTC (Thu) by citibob (guest, #34285) [Link]

Very interesting article!

I noticed a lot of parallels between Hans Reiser with Reiser4, and Bill Gates with WinFS.
Windows Vista was supposed to ship with WinFS.  And WinFS was supposed to be an
all-encompassing namespace, the brainchild of the brilliant Bill Gates, and one of the
cornerstones of Vista.  But it slipped and slipped, and was eventually scrapped, at least for
the time being, so Vista could ship.  In the end, Vista shipped with the old NTFS --- like
ext3, reliable but dull.

Maybe the moral of the story is that no one has yet figured out how to build super-filesystems
in a workable manner.


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds