Interview with Patrick Luby, NeoOffice's Lead Developer
Now for more insight about NeoOffice/J, here's an interview with Patrick Luby--a seasoned software engineer who has tons of experience working in the Silicon Valley, and is NeoOffice/J's primary mastermind. Patrick has written thousands of lines of code to get OpenOffice.org running natively on OS X over the past couple years. So I thought, who better to help us understand this open source office suite?
Matthew Russell: Well, let's see. Maybe we can just get a little background on this project? I've often wondered what kind of person took time out of their already hectic schedule to develop open source software. What's your background? How did you get started in all of this?
Patrick Luby: I've worked as a software engineer in Silicon Valley for about the last decade or so. I spent the bulk of my time working for Sun Microsystems, and from Microsystems I bounced around to a lot of different groups. Sun was fairly dynamic at the time, so about every two years new projects would come up and I'd move on to one. In early 2000, I picked up one big project because it sounded interesting. At that time, Sun was considering doing a Mac OS port of Star Office. OpenOffice.org didn't really exist at that time--it came later that year.
The idea was that Mac was the missing component. We initially started with Mac Classic, but Mac OS X was on the verge of coming out, so logically we switched to that. I spent about a year and a half working as lead engineer on that project. I didn't actually know anything about the Mac at all when I started. I'd worked on Linux and Solaris before, and quite a bit on Windows. I thought this would be interesting; kind of round out my experience.
While working on the port we ran into all sorts of really painful problems that took extraordinary amounts of time to solve. Realistically, if we had waited another two years or so, some of those problems would have been resolved as Apple continued to refine OS X. But at the time, it just proved to take about twice as long as it does now to get it done. But at that point, it just wasn't working out so well, and Sun canceled the project.
So after a while I was over in a different group, working on servers, but I kept looking at what was going on in the OpenOffice.org project--more specifically the Mac port of OpenOffice.org. Not much was going on until early 2003. At that time I noticed that OpenOffice.org compiled and actually ran on Mac OS X using X11. X11 doesn't look native, but it was a major milestone for them to actually get all of the code to compile and run, without crashing every time you launched it.
MR: What exactly is the difference between Sun's Star Office and OpenOffice.org?
PL: Basically Star Office is the commercial version of OpenOffice.org. They share about 90-plus percent of the same code. The only difference is Star Office has a few things that can't be open sourced because they are licensed from other companies. I think the spell checker and a few fonts are among those types of things that can't be open sourced. The Adibus database is another one.
Star Office has been around a long time. Sun bought them back in 1999 or 2000. Shortly thereafter, Sun took Star Office, open sourced it, and called it OpenOffice.org.
Now later, NeoOffice/J is OpenOffice.org, plus a lot more code to make it run natively for Mac OS X. That's the short of it. The X11 approach that was originally used was a stop gap approach in essence, because you're making a Mac look like a Linux machine.
MR: I noticed on Slashdot just a day or two ago that Apple had announced that as of Tiger they are going to stop their Cocoa-Java support. Will that impact NeoOffice/J in any way?
PL: We only use the core Java API. We don't depend on any Cocoa-Java for NeoOffice/J. The Cocoa-Java stuff is a way to embed Java within a Cocoa application. Since we're not a Cocoa application we've never needed those, so the fact that they'll be going away is not really a problem for us.
MR: OK, that's good to know.
PL: A larger problem, actually, is that Java 1.3.1, an older version of Java based on Carbon, is going away. We are trying to move to Java 1.4 so that when the Mac-Intel platform comes out, we'll actually be able to use whatever Java they ship on. It's pretty clear that because Java 1.3.1 is so old, Apple's probably not going to bother to support that over to the Mac-Intel platform. I gotta push NeoOffice/J up to the latest version of Java, and you'd think that would be easy, but there's actually a lot of work to it. There's all sorts of subtle differences between one version of Java and another. That's more of our real issue, getting up to the latest version of Java. That will be our biggest challenge.
MR: OK, so speaking of Apple, they have nice productivity apps--Pages and Keynote--and there's a Slashdot rumor that they recently trademarked the word "Numbers" so it looks like they're moving toward developing a spreadsheet, which puts them into the ballpark for their own office suite. Does something like that affect the way you guys do your work--or your motivation levels--on an open source project like NeoOffice/J from day-to-day?
PL: No, it really doesn't. We haven't gotten a whole lot of support from Apple at any point in time. Even when I was a Sun employee, Apple was very distant about associating with OpenOffice.org or Star Office. So we really haven't ever depended on Apple. It's nice to contact people and get some questions answered, but largely we don't get any freebie support, or anything near the support of Adobe or Microsoft yet. Of course, those guys pay for it, but you know, we don't, so it's no surprise that we don't get anything.
We're not a commercial organization; we're really just a community-based open source type of project. We're not trying to put Microsoft out of business, or put Apple's new applications out of business, or to be the one magic office suite that everybody uses. I think that's unrealistic. And even if we wanted to, it is just something we don't have enough people to do. It would take a lot of money to do something like Microsoft does with Microsoft Office. You know, our purpose is really just to provide an alternative to Microsoft Office for those who depend on it, because it really is the de facto standard in most places. There's a vast number of people who really don't need Microsoft Office, but they are forced to read Microsoft Office documents.
Like I, for one, I really don't use Microsoft Office or write in Word format. I'm a programmer so I use text editors. But I do get a lot of Microsoft Office documents as a consultant that I need to open up and read, or make minor edits to. Its nice to have a tool that is able to do that, and that is really what our purpose is. Does that make sense?
MR: Absolutely. So while maybe a product like OpenOffice.org isn't going to put Microsoft out of business, have you seen any significant ways that it impacts the way that they do business? For example, they announced not too long ago that sometime soon, they're gonna release an encoding scheme based on XML for all of their office documents--sort of like OpenOffice.org has done for a while now.
PL: For the most part, that is a question that I really can't answer too well, but I would assume that OpenOffice.org does have some minor impact on Star Office, or on Microsoft Office, of some sort. You know, they would be crazy not to pay attention to that because I think that even on the Windows platform OpenOffice.org is downloaded by millions of people every year. I would assume though, that Sun, who employs a really large number of engineers, could keep all the code that reverses a Microsoft file format. They'll always be working on the latest type of file format that Microsoft puts out. The nice thing about NeoOffice/J is that it's just basically a fully compliant version of OpenOffice.org. That's real key, I didn't go off and try to reinvent the wheel. I wanted to reuse code so that as changes happen to OpenOffice.org we can rebuild without too much effort.