|
Project: Linux Interviews
Michael Tiemann CTO, Red Hat
By Prakash Advani <prakash@NOSPAMfreeos.com>
Posted: ( 2000-11-27 13:11:41 EST by )
"Red Hat has worked incredibly hard to make Red Hat 7 the best Linux
distribution ever, and I think we did a great job balancing a lot of complex
requirements. Did we make some mistakes? Yes. Are we fixing them? Yes."
Why did Red Hat decide to ship a development snapshot of GCC instead of the most recent released version, 2.95.2? There was a lot of discussion about this on Slashdot when Red Hat 7 shipped, and with 20/20 hindsight, it appears that no better technical decision could have been made. I will leave it to speculation as to whether we could have navigated certain political minefields better, but let me explain the rationale again. Red Hat has many different constituencies, ranging from enterprise customers to ISVs to kernel developers to systems vendors. It would have been great if GCC 3.0 had been a released compiler and had all the quality, performance, functionality, and features that our various constituents required. Alas, GCC 3.0 is very much a work in progress, and while we've contributed significantly to that work (many Red Hat engineers are full-time GCC developers), GCC 3.0 is still quite a ways off. At the same time, the latest released version of the compiler, 2.95.2, had a number of significant issues that made it an inappropriate choice. There were issues related to newer kernel development, issues related to newer glibc development, issues related to the ever-changing C++ standard, and issues related to processor support (we wanted to make Red Hat 7 a first-class IA-64 development platform). After careful analysis, we concluded that if we tried to bring 2.95.2 up to the level that we required, it would duplicate large amounts of work that we and others had already done on the development snapshot. We decided it would be better to stabilize that snapshot, than add more features to a compiler that had already given us a certain amount of trouble. I think that Richard Henderson, one of the main GCC developers summed it up best on the kernel developer's mailing list: If you want to blame someone in Red Hat for making the decision to ship a gcc snapshot, then you might as well blame me. The reasons are the following: 1. 2.95 is the least stable release that we (the fsf gcc team) have shipped in a long time. It does ok on x86, but is pathetic on the other platforms that Red Hat cares about -- especially Alpha. The late July snapshot we shipped is most definitely more stable, largely I think due to Geoff's automated regression tester bitching at people when they break the tree. 2. C++ in 2.95 is already ABI incompatible with egcs 1.1 and gcc 3.0, so clearly (to my mind anyway) it didn't matter whether we shipped 2.95 or a snapshot, we would still be incompatible with Red Hat 6 and Red Hat 8. 3. While the C++ ABI for 3.0 is not complete, the API is. That is, the snapshot we chose will be compatible with 3.0 at the source level. With the exception of "export" I understand from Jason that we are now very close to standards conformance. 4. We could either spend our QA time reviving the dead 2.95 branch, or we could spend that QA effort on mainline, helping get 3.0 stable. Someone on this thread complained that the RPM that we shipped is highly patched. Bar two (the sbreg_byte patches), all of those patches are in current cvs. Since at some point procedure would not allow us to take a new snapshot, those 85 patches are a visible side effect of the QA work that was done. Frankly, I didn't even consider C++ ABI compatibility with other Linux vendors, since I think that's a losing proposition until everyone is using gcc3. We were _already_ incompatible, since there are a mix of egcs and gcc versions involved. Red Hat has worked incredibly hard to make Red Hat 7 the best Linux distribution ever, and I think we did a great job balancing a lot of complex requirements. Did we make some mistakes? Yes. Are we fixing them? Yes. In fact, with Red Hat Network, it's easier than ever to be a part of the progress we're making, and I invite people to check it out at http://www.redhat.com/network Other distributions like SuSE and Mandrake are using ReiserFS. Why doesn't Red Hat 7 also include ReiserFS? I expect that ReiserFS will be one of the options available to Red Hat customers along with other journaling file systems as they become available. Red Hat is working on ext3, which provides a very seamless migration from non-journal to a journal filesystem. There are some theoretical performance issues with ext3. It's not clear that those issues will become a practical problem or not for the kind of applications that people are building these days. It's also true that for some application that ReiserFS or JFS or XFS could be the right solution. If they are part of that kernel at a time then we'll support them. If you see the latest release of Mandrake they've implemented some neat enhancements. Like they have this GUI partitioning tool that lets you resize any partitions without formatting. Does Red Hat plan to do anything like that? We're always taking advantage of the open source development nature of Linux. Everything that goes through kernel.org and through Alan Cox ultimately winds up at Red Hat. At the same time it's also important to note that we do have many of the guys who are doing a lot of the key kernel infrastructure that allows companies like Mandrake to write these things. If the Linux kernel did not support the API's that are needed by ReiserFS or it didn't support the capabilities needed by these other tools then the whole open source eco-system would collapse. So we think it's great that other people are doing open source development also. Which distribution do you feel is your main competitor? Right now our main competitors are Sun Solaris and Microsoft. An interesting phenomenon that is happening these days is that Red Hat gets associated with Linux. So instead of saying Linux vs. Netware vs. Microsoft, they say Red Hat vs. Microsoft. What are your views on this? You have to have a reference point. What is Linux? From our perspective we've worked hard to packaging testing and distributing a particular thing. We call it Red Hat. That's the distribution that most people take as the reference standard. Maybe it's a function of its quality or maybe it's a function of its popularity. You can't compare Microsoft vs. Linux but you can compare Windows 2000 vs. Red Hat Linux. Is Red Hat the number one Linux distribution? What are the segments where it's popular and where does it lack? Red Hat Linux is the number one OS in a number of market segments. There are some market segments that we feel will not be so important in the future. The whole Windows desktop paradigm was invented in the 1980s. It may be obsolete 5-10 years from now. Even Microsoft is moving away from that, as can be seen from this .NET thing. Do we invest resources in older technology that we know is obsolete or do we innovate in the Internet infrastructure space? I think the answer really is that we see a number of ways in which Red Hat Linux is already the market leader in the segment or can be a leading OS. That's our aim. The fact that we don't care about problem X or Y creates opportunities for other distributions. Red Hat doesn't make a version of Linux that is fine tuned for the desktop. They target the server segment only. Does Red Hat believe that the desktop is dead? That's not a fair question because we do provide a workstation configuration. The workstation configuration does have the necessary driver and application support. I think it is too quick to call the desktop dead and it's certainly wrong to ignore the workstation market because that is what Linux developers work on. We can't abandon the developers; we can't abandon our own developers. We have to continue to support the new hardware capabilities that are coming. In terms of the traditional desktop, which is only low value application driven, who knows where that's going to go. Was that the reason why Red Hat acquired Cygnus? Cygnus provided key development tools and Cygnus' relationships in the embedded space expanded Red Hat's mission from server vs. desktop to the whole host PC space. Our announcement with Ericsson with respect to the webphone, our announcement with Motorola of high availability embedded systems. There are a lot of exciting things happening in the embedded space and Cygnus on it's own would not have been able to address this space. Red Hat by itself would not have been able to. But Cygnus plus Red Hat now has the ability to attack those spaces. Cygnus has its own OS, eCos. Where does Linux fit in? eCos is an appropriate OS for very very small devices. One of our customers is building a digital TV and after the application, there was only 24KB left for OS space. All the proprietary OS' were not able to go less than 50KB. When eCos was configured for this, their first try was 11KB! Do you want to spend time and effort trying to strip Linux down to that level or do you want to use a Real time OS, which is scalable, supports the same POSIX API that Linux does. So the way to look at it is that Red Hat can support more than one file system and more than one kernel too but still have a consistent programming API. Is eCos open source? We always do open source. It's actually something like the Mozilla public license. The reason we didn't want to put it out as GPL was because if this Digital TV company links an application to the kernel. We did not believe it was commercially possible to GPL the kernel. Do you think there is room for more free OS'? There's always room for individual preferences. Look at how many programming languages exist. There are probably only going to be one or two OS' that reach the critical mass of 10 million plus users. Will there be room for more than one OS for 10 million plus users? I don't know. I guess that depends on the population of the world. If there's another OS came out that was a Free OS and started doing well then will we see something like Red Hat BSD or something? I think comes back to the critical mass question. I think that for Red Hat, it's better to enhance our technical solutions to meet customer requirements than it is to dilute our brand with other operating systems that don't have the critical mass of Red Hat Linux or eCos.
Red Hat
Other articles by Prakash Advani
Current Rating: [ 7.56 / 10 ]
Number of Times Rated: [ 27 ]
|