In light of the recent release of YDL 2.3, we are happy today to host an exclusive interview with Dan Burcaw, co-founder, CTO, and lead developer of YellowDog Linux, the Red Hat-based, PPC-only Linux distribution for the Mac platform. 1. Tell us a bit about the history and background of TerraSoft Solutions and how you got involved in the Linux business.
Dan Burcaw: We were basically evaluating Linux solutions for website hosting and
as a Linux guy I wanted Linux and Kai (Terra Soft’s CEO) wanted Mac hardware. At the time there wasn’t any high-quality Linux offerings for Macs. We saw this as an opportunity and it has since turned into the focus of our business.
2. I read on the web and on some PPC Linux reviews that not all the Apple hardware are supported well by Linux. What are the primary problems people are having with Linux on a PPC and which steps are you taking to resolve the issues?
Dan Burcaw: I think the biggest issue here is that there aren’t that many kernel
hackers working on the Apple side of the fence. IBM has a number of top notch guys working on PPC Linux in regard to their pSeries and iSeries hardware, but this doesn’t address Apple hardware support. The good news, though, is that recently a lot of Linux folks are buying
TiBooks and iBooks and this is bringing more knowledgeable people to the PPC Linux world.
3. SuSE, Debian and Mandrake seem to be your biggest competitors in your market. Please tell us why someone should choose YDL instead.
Dan Burcaw: Well it really depends on your needs. If someone is deploying Linux across a number of hardware platforms like x86, Sparc, Alpha, and PowerPC then clearly SuSE or Debian is the right choice. SuSE is also currently the best choice for IBM’s pSeries and iSeries hardware. We offer the most Red Hat-like distribution for PowerPC. In addition, we only support PPC. A lot of people like that fact. There’s no question of whether we’ll continue to do a version for their machine since this is the focus of our business. The commitment of some of the other vendors to this space is not quite so clear.
4. How are the Mac users perceiving Linux? What would take to make more Mac users try out Linux?
Dan Burcaw: A lot of them are perceiving it as a way to give new life to some of their older Macs that can’t run OS X very well or at all. The big thing preventing more Mac users from trying Linux is ease-of-use. Linux on the desktop has a ways to go before it meets or exceeds the ease-of-use of Mac OS.
5. What is your opinion on OSX, strictly techically-speaking?
Dan Burcaw: It sure beats Windows! I haven’t developed for OS X so I’m not saavy about OS X from a technical perspective other then what I’ve read. I do think it is pretty cool to be able to run Office and have a terminal window open. I just can’t stand not having virtual desktops.
6. In the event where Motorola stops make CPUs for Apple, and Apple jumps to another architecture, would you still be a PPC-only Linux distribution or you will also jump over to other markets as well as PPC?
Dan Burcaw: I don’t really see that happening. In the event that it did, I suppose we’d have to look at all of our options. We like being PPC-only, but on the other hand Macs are where a large part of our sales come from.
7. Did you ever had input, feedback or maybe even problems with Apple regarding your product running on their hardware?
Dan Burcaw: Not directly. There are some folks at Apple that use YDL on their machines that sometimes provide feedback but this is on their own time.
8. The new GCC 3.1 and especially the changes Red Hat will do to the compiler to further improve quality and speed on the G4 processors are good news. Will YDL immediately use a new GCC, or will you stay with the older gcc 2.95.x which is known to have better compatibility when compiling older code?
Dan Burcaw: Red Hat added support for the AltiVec instruction set that is part of the G4 processor. This is of course great news for developers as AltiVec can really speed up applications. So far, GCC 3.1 looks really solid on PowerPC and we’re planning on moving to it within the next 6 months.
9. Please talk to us about the YDL-specific tools that come with in your distribution that help the user to easily configure his/her computer.
Dan Burcaw: We have a number of config tools that were specifically designed to be run on Mac hardware. Easy things such as mouse configuration to XFree86 configuration. Also, we use Yaboot instead of LILO so we have a tool that configures the bootloader. The nice thing
here is that since Apple hardware has less variety we don’t have to have complex tools. They can be simple and do the job. As far as things like an Apache configuration tool we ship
Red Hat config tools as well.
10. When is the next version of YDL is going to come out and what new features will include?
Dan Burcaw: I can’t tell you that. ๐
Seriously though, we track Red Hat releases pretty closely so you could probably determine many of the features and general time frame based upon Red Hat’s current development cycle.
I just want to say what’s up slice, from the CSU crew. I was sort of wondering about your answer to this question:
“What is your opinion on OSX, strictly techically-speaking?”
I think what we were all wanting to hear was what is your opinion of XNU, the hybrid BSD/Mach kernel, versus the Linux kernel, your opinion of Quartz versus X, etc. from a technical standpoint, i.e. how does YDL’s technology stack up to that of OS X. You really didn’t cover this in your response. If Eugenia forwards any of these comments to you I’d like to know what you think.
I really like Yellow Dog’s distro, and have installed the last three, but their installer really needs an overhall. They need more catagorized install options like Mandrake uses. Things like a gnome pakage, kde pakage, compiler pakage, developer library pakage, game pakage and so on. I don’t need to install 500+ megs of unwanted stuff just to get a decent desktop.
This is why I’ve been trying Gentoo, it only gives me what I want, for better or worse.
This kind of surprised me:
> Red Hat added support for the AltiVec instruction
> set that is part of the G4 processor
I would have thought the AltiVec optimizations for GCC would have been supplied by Apple themselves, since they use GCC as their compiler.
No, it is of no surprise at all:
http://www.osnews.com/story.php?news_id=789
You forget that Red Hat bought Cygnus, the company who was commercializing GCC and was doing “jobs” on demand for a fee. For example, the BeOS version of GCC, called GNUpro, were also a “custom” gcc version done by Cygnus after Be paid them to do so. This is what Apple and Motorola do now: They pay Red Hat’s Cygnus division to implement Altivec support on gcc. As I said, it is normal and of no suprise. Just business.
Well, I was trying to avoid a mach vs. monolithic discussion… I think it has been belabored by people
much smarter then myself. From what I’ve been told though, a lot of the disadvantages of mach have at least been minimized by Apple as they have done serious tuning. I remember in the MkLinux days, there was like a 15% performance hit compared to monolithic Linux kernel running on the same hardware. I have to think that Apple has worked on that. If not, I guess non-Mach wins.. unless you need MS Office ๐
As for Quartz, it is going to be super slick with OS X 10.2 under hardware that supports Quartz Extreme. Offloading functions of the display engine to the GPU is one of those things that is like “why didn’t they do that sooner?”. Of course Quartz can’t do remote display.. but I’m not sure that would be useful to the average Macintosh owner. YDL’s 3d support is a bit lacking. DRI is a bit more immature on PowerPC Linux then on x86. X setup needs to be more seemless. On x86 this is pretty decent by using ddcprobe to
look at a monitor and video card’s capabilities via the BIOS. On PowerPC this is much less “failsafe”.. but that’s one of the fun things I’m working on. I think both OS X and Linux have a place. It probably depends on if you need Office or not or have a BSD vs. Linux preference.
Apple uses Red Hat’s work but also have a number of their
own patches. Their patches allow for a non-FSF compatible style that Apple adopted with OS X 10.0 and 10.1 with gcc 2.95.x. Thus, their patches for gcc 3.1 just maintain style compatibility for their developers. Apple’s original gcc 2.95.x AltiVec work was derived from Motorola’s original code drop. That code was not really appropriate for gcc, hence Red Hat’s work (Thanks Aldy!).
Eugenia tried to get me to talk about our next release of YDL… ๐ Well.. I think you’ll be pleased with the next incarnation of installer technology. The current codebase has a number of neat features:
* PPC-only (means there’s not a bunch of kludgy
multiple-arch support code)
* HEAVY code reuse: same code runs in Gtk+ and console
(newt) and as an installer module as well as standalone
module.
However, as you suggest, there are some drawbacks. Mostly:
lack of feature richness (it’s a lot of work to maintain an installer that just stays comparable to everything else that’s out there) and there’s some error handling issues.
But again, you’ll be pleased by what’s next.
-Dan
Cool, YDL has RPM apt-get now too, I wonder if Mandrake will follow suit. I am willing to bet we will start seeing more RPM based distributions use it in the near future.
Space.app provides multiple desktops on Mac OS X. As a heavy wmx user on Linux and Solaris Space isn’t as nice but it works well.
Would anyone argue that Metrowerks C/C++ compiler is better than GGC? Afterall, Metrowerks is a Motorola owned company right? Wouldn’t Apple favor the Metrowerks compiler over GCC? Considering the fact that Apple is using Motorola’s CPU.
“Well, I was trying to avoid a mach vs. monolithic discussion… I think it has been belabored by people much smarter then myself.”
I hate to nitpick, but OS X is essentially a monolithic kernel as it has no Mach servers. What was originally handled by Mach servers has been removed and replaced with BSD components. The only Mach elements that remain are the VMM, process management, and Mach messaging.
Metrowerk’s C/C++ does not support Objective-C, and Apple needs it.
Apple has a team of around 10 people working exclusively on GCC 3.x to be ported into os X, some goals of the team : better integration with PB, Objective-c and Objective-C++ support into the compiler. There’s even a mailing list to which one can subscribe and get the cvs logs for Gcc. Also support for Fortran is coming , but from external devs. If you need fortran on os X use Apple’s FeedBack page and tell them ….
I know what Objective-C is, but what the hell is Objective-C++ and PB?
Thanks for answering
Anton
Cool, YDL has RPM apt-get now too, I wonder if Mandrake will follow suit. I am willing to bet we will start seeing more RPM based distributions use it in the near future.
Mandrake have something similar, URPMI. I don’t really care about them joining forces.
I know what Objective-C is, but what the hell is Objective-C++ and PB?
This is what I learned from the cover of an book: Obj-C is a subset of C, Obj. C++ is a subset of C++. That means, if you have a C++ app, it is easier porting to Obj. C++.
For Dan:
Dan Burcaw: It sure beats Windows!
Sorry, but I have seen that thrown around so much, it bores me a little. How about telling how OS X beats Windows in the first place?
In CodeWarrior 8.0 the Metrowerks compiler DOES support Objective-C and Cocoa. I bought it because of this, hoping to replace Project Builder.
Anton: PB = “Project Builder” the free dev IDE Apple ships with OSX. and Objective-C++ simpily allows for mixing Objective-C classes with C++ classes. If you know that the Objective-C compiler will compile C code (function calls and data structs) then what Objective-C++ does is allow for Obj-C clases to coexist with C++ classes. It doesn’t mean that you can mix Obj-C syntax in a C++ class definition or vice versa, it only means you can use those objects in the other language’s syntax. I’m terrible at explaning this. Apple’s dev website should have a better explanation and examples.
>I think both OS X and Linux have a place.
Of course–because, if you have a Mac that didn’t ship with OS X, you are not guaranteed it will run OS X, ever. I have a PowerMac G4, which should work fine, except that (according to Apple Tech Support) OS X makes higher demands on the hardware, and the QA Apple was doing at the time I bought it (early 2000) did not make sure it could handle OS X. So I have some unspecified motherboard problem that means the OS X install CD won’t boot, and (again according to Apple TS) fixing it would probably cost more than a new Mac.
I admire the improvements that YDL has made over the past six months or so. I use a TiBook 550 with OS X and YDL. With 2.1, support for my hardware was not too good, but just a few months later with 2.2 almost everything works (except for my [software] modem. The software modem problem (on TiBooks as well as the G4 iMacs) is a key obstacle to a successful implementation on new mac hardware (this has been the topic of an ongoing thread on yellow-dog-general for a few days). Dan, if you are listening–fix this! surely you can work something up using kppp and wvdial. i would do it myself but I am an idiot. however, I will pay for the next distro if you make this happen. please!