LinuxWorld Interview (for your edification about Future File Systems)
LinuxWorld OpenSolutions Summit speaker Jeremy Allison explains some tricky details of Linux/Windows interoperability, what the Novell/Microsoft deal really does for interoperability, and a vision for a future easy-to-administer network filesystem.
By Don Marti, LinuxWorld.com, 02/07/07
Don Marti, LinuxWorld.com: You’ve been in the news lately for leaving Novell over the controversial Novell/Microsoft patent licensing deal.
Jeremy Allison: That’s true.
LinuxWorld: Now, when I talked to you a while ago, you said, "I don’t give away my software. I cooperate with people who cooperate with me. How does that relate to what’s going on here, patent licensing-wise?"
Allison: Well, kind of peripherally really. Essentially, this is going back to the misnomer of "free software." A lot of people, corporations included, hear the word free, and they don’t think about the second meaning of the word free. They just think, "oh, it’s without cost." And, of course, it isn’t. And the cost is you have to reciprocate. You have to give exactly the same terms to people you give it to that you get yourself. It’s the share and share a like kind of license. So, when somebody violates that essentially by negotiating favorite terms for themselves, that they don’t want to give to other people, then that I object to strenuously, up to and including leaving a company because of it. This is why some people in the free software community like to say software libre, liberated software, although that doesn’t quite mean the same thing in English either. But essentially it’s a word meaning the second meaning of the word free, which is freedom.
LinuxWorld: We need an extra word for free in the English language now.
Allison: I’m sure Richard Stallman will come up with one. After all, he works at MIT where Norm Chomsky works. I’m sure Chomsky can come up with something.
LinuxWorld: That sounds like a good project that maybe he can get a Google Summer of Code student to work on for him. So, you’re at Google now?
Allison: I am indeed. And you know what they say about Google? It’s like Fight Club. The first rule about Google is you don’t talk about Google. And the second rule about Google is you don’t talk about Google. Now that’s kind of secretive. But fun -- a lot of fun.
LinuxWorld: It’s my favorite fajita place in Mountain View.
Allison: You don’t like La Fiesta instead -- man!
LinuxWorld: I like La Fiesta for the burritos, but the fajitas at Google really have something going for them.
Allison: I’m still a La Fiesta man. In case people don’t know, La Fiesta is the place where the SGI engineers used to go every Wednesday night. But this was back when they occupied the Google campus. It’s funny. I ran into a guy I used to work with who was a director of engineering I think at SGI. We’re essentially in the same campus. And we looked at each other and said, "It’s kind of like coming home, isn’t it?"
LinuxWorld: SGI put some of their internal man pages on the Internet in I think it was 1997.
Allison: Did they?
LinuxWorld: And one of the internal commands at SGI was the burrito command.
Allison: Oh, I vaguely remember that -- yes, yes. You could specify your burrito.
LinuxWorld: You’d type in burrito, and depending on either the command line options you supplied or the contents of your ".burritorc" file, it would generate the appropriate burrito order and send it out with the fax server.
Allison: I do remember that, actually. I never used it. But then again I tend to like eating at home rather than eating on campus. It’s nice to see the family occasionally.
LinuxWorld: Now the reason that you left Novell has to do with Microsoft and Novell setting up a deal to in effect pay Microsoft a patent royalty on copies of Linux sold.
Allison: That’s right. I mean essentially, it’s a patent cross license. They don’t call it that. They call it a covenant not to sue with customers. But when you boil it down, and you look at it really closely, it is a patent cross license. And section seven of the GPL specifically states that you can’t cut yourself a special patent cross license deal. Essentially it’s one of those situations where everyone has to hang together not separately, as it were. So, in other words, you can’t cut yourself special deals. And as I said, I wanted to like the deal. I had no objections. People were claiming, "oh, we just hate Microsoft." And this is not true. I actually had no objections whatsoever to any of the parts of the deal other than this one. But this one just killed it for me -- totally and completely I’m afraid.
LinuxWorld: Other parts of the deal -- was there anything in there that was actually relevant to improving interoperability between --?
Allison: No, I’m sorry. I know what you’re going to ask. I mean that part I found amusing rather than anything else because the whole point of it was saying that, oh, we’re going to improve interoperability. But if you look at it closely, I think it covers some very specific federated directory things, which essentially very few people in the world actually care about.
What people really want is a second source Active Directory replacement. Let’s just say Novell was doing interesting work. That’s what Samba 4 is about, and they’re always doing a lot of interesting work there. But people who think that Microsoft will now give the information that is needed in order to do that to Novell just because of this deal are delusional. What you have to think about is that essentially Microsoft has been fighting tooth and nail not to give away any of this information to free software projects. So, they may think that just because they signed some patent cross licensing deal with Novell -- even though Microsoft really, really wanted the patent cross licensing deal, just because they signed that, do you think they’re going to give away stuff that they essentially have fought absolutely and completely against the EU and paid billions of dollars in fines to avoid. So, no, that’s not going to happen.
LinuxWorld: One of the persistent rumors that’s going around is that certain large IT customers have already been paying Microsoft for patent licensing to cover their use of Linux, Samba and other free software projects. And the Novell deal -- isn’t it just taking that and doing the same kind of thing wholesale?
Allison: Yes, that’s true, actually. I mean I have had people come up to me and essentially off the record admit that they had been threatened by Microsoft and had got patent cross license and had essentially taken out a license for Microsoft patents on the free software that they were using, which they then cannot redistribute. I think that would be the restriction. I would have to look quite carefully. So, essentially that’s not allowed. But they’re not telling anyone about it. They’re completely doing it off the record.
The problem with the Novell deal is -- Novell gave Microsoft what Microsoft dearly wanted, which is a public admission that they think that Linux violates the Microsoft patent. So, that’s the difference between this and the sort of off-the-record quiet deals. This one is public. This one is Novell admitting, "yes, we think that Linux violates Microsoft patents." Now, of course, Novell has come out and said, "no, that’s not what we said at all. We don’t think that." To which, of course, Microsoft publicly humiliated them and said, "oh, yes, that’s really what you were saying." It’s kind of funny. They couldn’t even wait until the press conference was over to start threatening users with a Linux system.
LinuxWorld: Watching Novell management being subjected to this was like watching a child eating a bug for money. It’s embarrassing.
Allison: It is humiliating. I was horrified to say. It was humiliating. Yes. It really is like, "Go on. Eat a bug. Go on. Go on. Here’s some money. Eat a bug." Yes, sad but true.
LinuxWorld: So, what’s the status on Samba’s ability to go GPLV3? Are you squared away as far as copyright assignments go?
Allison: Yes, pretty much. Well, we have a very distributed copyright. So, what we’ll be doing is we’ll be contacting people who hold copyright. But there aren’t actually that many of them. And we’re big fans of the GPLv3. I mean personally I was involved a little bit in some of the early drafting. I actually think it’s a great idea.
I’m not, as you may know, a fan of [digital rights management]. And I find it a little bit of FUD being spread, actually, sometimes within the open source and the free software community, around the GPLv3, saying, "oh, it’s awful. It’s banning DRM." And a lot of corporations who don’t like the GPLv3 would be happy to say it’s banning DRM; that’s really bad. And actually it isn’t banning DRM. All it's saying is if you want DRM write your own code, which is pretty much consistent with what the GPL has always said. If you don’t want to share in the freedoms that we give to people then write your own code. It’s not banning DRM; it’s just banning people from taking GPLv3 code and incorporating it into DRM systems. If people want DRM, and if they think that frightening your customers and forcing them to do things is a worthwhile business model, then just write your own code to do that. Just don’t use ours.
LinuxWorld: If you distribute GPLv3 code to somebody, you can’t use DRM to enforce the same kind of copying restrictions that the GPL already forbids you to enforce with the license.
Allison: Yes. I mean essentially what it does is it says the key for any signed binaries is part of the source code. In the same way you have to give source code away, you would need to give the keys to the signed binaries. The other thing is a lot of people saying, "oh, this is very bad; it stops secured systems." No, it doesn’t do that either. You can still write completely secured systems. Let’s say I wanted to write an election system using GPLv3 software, when I give that code to the people running the election, I just have to make sure that they get the keys, too. But that’s the whole point. You’re giving it to the owner of the machine that’s running it.
LinuxWorld: And there’s nothing that says you have to give the key to your copyrighted content just because the device runs GPLv3 code.
Allison: That’s right. Absolutely right. So, there’s a lot of misinformation about it. Was it a Mark Twain quote -- I don’t remember whose it was -- I know Al Gore used it in "An Inconvenient Truth" -- "It’s hard to make a man understand something when his livelihood depends on him not understanding it."
LinuxWorld: I think it was H.L. Mencken.
Allison: It sounds like Mark Twain, but it wasn’t. Thanks for that.
[It was Upton Sinclair. -- Ed.]
LinuxWorld: I’m starting to see more interest in GPLv3 as the next step in the process is coming along. Solaris is making some noise about it, too. Aren’t they?
Allison: I spoke to one of Sun's open source people. What I recommended that they do is they try and get Richard Stallman to be on stage with them when they announce they’re going GPLv3 and to stand up and say, "This is the GNU system -- GNU/Solaris." Because Linux, after all, is just a kernel. But it would be the GNU system at that point. There isn’t a thing wrong with having GNU/Solaris just in the same way as having GNU/Linux. All power to them. Unfortunately, of course, I’m sure they’re doing it just for the sort of screw-Linux factor. It doesn’t really matter why to be honest. As long as it’s under a decent GPL license, I’m pretty happy about it.
LinuxWorld: They’ve got a lot of interesting stuff in there.
Allison: Oh, they do.
LinuxWorld: ZFS looks very interesting.
Allison: I wish that Linux could take advantage of it. But of course, if Linux goes to GPLv3 it could.
LinuxWorld: Well, it’s possible that GPLv3 could be declared to not taint the kernel.
Allison: We’re getting into some fairly technical legal stuff here which, to be honest, I think I’d rather wait until the lawyers pronounce. The compatibility between two and three is going to be one of those interesting things that better legal minds than I will have to look at and make decisions on.
LinuxWorld: Well, one-third of the code in Linux already has the V2 or later language in the source files.
Allison: That’s great. I didn’t know that.
LinuxWorld: Linus Torvalds did the check for .c files in general, and I went through and did a similar check in the /drivers directory, and they’re both about a third.
Allison: Well, I mean, so there is hope -- a possibility there. It’s like I said, I don’t think it would hurt Linux at all to be GPLv3, and if it means better compatibility with Solaris so that they can share code, that’s an excellent idea.
LinuxWorld: In practice, they’ve got so many copyright contributors that it would take a while for people to start putting "v2 or later" language on files instead of just v2.
Allison: I guess so. I'm a big believer in Linus's, "whoever writes the code gets to choose the license." So, if they really don’t want to do it, then they don’t have to do it. It’s their code, they get to choose.
LinuxWorld: When you say "their," that includes you now, doesn’t it?
Allison: Oh yes. I have my evil grubby copyright inside in the kernel. A tiny bit, actually. I’ve been helping out Steve French with the CIFS system, which is a replacement for the deprecated SMBFS because it doesn't have a maintainer. So, this is my ongoing goal to try and kill NFS and essentially upgrade CIFS to a Unix to Unix compatible file system.
LinuxWorld: Now you say CIFS -- that’s "Common Internet File System."
Allison: That’s right because it is very common, but you don’t run it over the Internet, and it’s not a file system as I like to say. It’s the protocol that Samba and the Windows client speak. My goal for this really is, if you think about organizations, everybody has and will have for the foreseeable future Microsoft Windows. They just do. It’s the law. It’s the rules. It comes on every machine. So, essentially, you’re going to have CIFS, and Windows really doesn’t speak anything but CIFS, so you’re going to have CIFS going to your desktop plans anyway. So, if you want to put Linux or Apple clients in there, they also really have to speak CIFS because if you’re thinking about managing a large number of desktops, you don’t want to have Linux clients use NFS, the Windows clients use CIFS. And then we have to handle Appletalk from the Apple clients. You want one protocol. You want one nice standard protocol that you just roll out for everybody. And ugly, wart-filled though it is, CIFS is that protocol.
LinuxWorld: I’ve set up one of those three-protocol file servers with Netatalk and Samba and NFS on the same box, and it wasn’t pretty.
Allison: It sucks, doesn’t it? I’m still working with Steve on some semantics -- things like opens and renames -- that’s probably the last thing that we need. And at that point, we have a complete Unix-to-Unix solution with CIFS. Hey, and we even do the locking right. You know how NFS locking sucks. Well, our locking works. Ha, ha. Take that NFSv4. Sorry. And we do POSIX ACLs which are sane as opposed to NFSv4 ACLs, which are not.
LinuxWorld: Well, it’s fun looking at things like the maildir file format, which is cleverly designed to get around the lack of reliable locking.
Allison: I mean why do this? Why not just make the remote file system work properly anyway? Well, that’s what we’re doing. That’s one of the things that we’re up to.
LinuxWorld: Alfresco even has a CIFS implementation for their content management system so that you can treat your content management system as a network drive. It’s pretty cool.
Allison: Is that running Samba underneath?
LinuxWorld: I don’t know what they’re running underneath. It’s just a feature that looks nice for companies that want to point the Windows users at the content management system instead of having them shooting obsolete versions of the same documents back and forth.
Allison: Well, hopefully, they’re using Samba because that’s basically what we designed for, is to make people’s lives easier doing things like that so that we take care of the compatibility issues, and they can get on with developing their product.
LinuxWorld: Sounds great. Well, thanks for being on the podcast, Jeremy.
Allison: No problem. I’m looking forward to seeing you in New York.
LinuxWorld: Yes, I’ll see you in New York -- Linux World Open Solutions Summit Feb. 14 and 15.
Allison: I’ll see you there.