Interview with Kris Moore, PC-BSD (Distrowatch)

PC-BSD LogoDistrwatch interviewed Kris Moore, founder and lead developer of PC-BSD, a user-friendly desktop operating system based on FreeBSD.

They talk about the history of and reasons for creating PC-BSD, PBI package management, the upcoming PC-BSD 7, KDE4.1:

The so-called “distribution for the average Joe” market has been expanding at a rapid pace in recent years. While the vast majority of these projects is invariably based on Linux, we have also witnessed a few attempts to create a user-friendly “distribution” based on operating systems that traditionally belonged to the hacker’s domain, notably FreeBSD and OpenSolaris. One of them is PC-BSD, a project launched in 2005. Its main goal? To hide the complexity of FreeBSD and to deliver an alternative to Linux on the desktop. Its main claim to fame? The web-based software installation infrastructure called PBI. Its community? Over 8,000 registered forum members and a growing network of world-wide community sites. All this thanks to the original vision and undying conviction of Kris Moore, the founder and lead developer of PC-BSD.

Kris was kind enough to answer a few questions about his beginnings with FreeBSD and the forthcoming release of PC-BSD 7.0.


DW: Kris, thank you very much for your time. First, could you please introduce yourself? How old are you? Where do you live? What do you do for living?

KM: I am 27 years old, married with 3 young children under the age of 5 (so you can imagine it’s pretty hectic around here at times), I live near the beautiful smoky mountains of east Tennessee, in the town of Maryville, and work developing PC-BSD for a living.

DW: Tell us about the beginnings of your love affair with FreeBSD. How did it all start?

KM: Back in the mid-nineties, I started working as a phone technician at a local dial-up ISP, who just happened to run all FreeBSD on its servers. This was my first experience with any sort of *nix based system, and I learned a lot just experimenting with a command prompt for the first time. After I left this job to go to college, I didn’t play with FreeBSD for a few years, until afterwards, when I wanted to set up an Apache-based web server.

By this point, I had obtained a few older desktops, and was playing around with various Linux distributions on them, such as Caldera, Red Hat, and SuSE, and enjoyed the nice GUI-based installation systems they offered. However, when I ended up using one of those distros for the web server, I ran into security problems, including a server being hacked into less than 24 hours after finishing a default server install. At that point, I remembered our system administrator back at the ISP, and how he swore up and down about the security and reliability of the FreeBSD system, and I decided to give it another shot. After a few hours of set-up and configuration, I had our FreeBSD Apache server up and running, and that system stayed secure and reliable for its entire lifetime.

DW: What inspired you to create an easy-to-use desktop OS based on a relatively hard-to-use BSD system?

KM: During my time of setting up BSD-based servers, I was still experimenting with various Linux distributions on the desktop. There were several times when I made the jump to run my desktop entirely on Linux, but each time I continued to run into problems. For the most part these weren’t hardware issues, rather the problems all dealt with the area of package management. I grew more and more frustrated with the whole concept of a “packaged” distribution, in which all the individual programs are really a part of the OS itself. When trying to upgrade one package, it often triggered updates in other dependencies, which in turn updated other applications, and just often enough something would fail, causing a big mess that I was stuck trying to resolve.

At this point, I began to think, why is it that here we are after the year 2000, and I still have to fix some silly dependency issue, when all I wanted to do was run the latest version of X application. It’s not that I couldn’t fix the problems, but rather that I had better things to do than wasting time doing it. So I started experimenting with the concept of a self-extracting, self-contained package system, in which programs installed themselves, and lived in their own separate directories, not scattered across the landscape of the OS in a myriad of directories and file systems.

At first I wanted to try the self-contained, package management system on Linux, but found quickly that the differences between the various distros was a huge hurdle to overcome, and aside from a common kernel, pretty much all of them were so different, that a common package management system would be near impossible. This also didn’t mesh with my idea of trying to keep the OS and the software completely separate.

Luckily, I was already fairly well-versed in FreeBSD, and decided instead that building our desktop OS on BSD would be far more viable in the long run. I felt, and still feel, that at its core, FreeBSD itself was actually far easier to use than Linux, because of the consistency it provided. All it needed was some of the same attention that Linux has gotten over the years, namely a nice GUI-based installer, and graphical tools to make running the desktop doable for casual computer users.

DW: Do you still get the chance to play with Linux? If so, what do you think are the main differences between the mainstream desktop Linux distributions, such as Ubuntu or Mandriva, and PC-BSD? What do you think are the most compelling reasons for choosing PC-BSD over desktop Linux?

KM: It has been a while since I’ve sat down and used any of the mainstream desktop Linux distributions, so I’ve only seen most of the recent versions in passing. However, at first glance to an end user, they would appear to be very similar. We are running on KDE, have a nice working desktop, with 3D support, sound, WiFi and almost all of the same open-source programs, such as Firefox, OpenOffice.org, K3B, etc.

Where the user would immediately begin to notice a difference is in package management. Instead of a large management program, or a repository, users will download a single .pbi file (Firefox3.0.1.pbi, for example). Double-click it, and Firefox will be installed in its own separate directory, such as /Programs/Firefox3.0.1. No mess, no fuss, it just works as it should.

Another area where more experienced users will notice a difference is when they dig down into the command prompt. PC-BSD is 100% FreeBSD under the hood, not a fork. This means experienced users are free to use FreeBSD’s ports and package system, re-roll kernels, and tweak the system in any way they see fit.

DW: What about DesktopBSD? Are you in touch with their developers? Do you ever cooperate? How would you compare the two systems, both of which seem to have exactly the same goal – to bring FreeBSD to the desktop of an average computer user?

KM: We communicate with the DesktopBSD developers from time to time. Most of our goals are similar, except in package management. DesktopBSD provides a nice GUI tool which allows users to install software via the FreeBSD ports and packages system. This would appeal to more technical desktop users, while PC-BSD tries to focus on the PBI system, which we feel allows *any* user, either moving from Windows or Mac OS X, to switch to our system and feel immediately productive.

DW: The development of the upcoming PC-BSD 7 is in full swing, with weekly alpha builds getting more and more usable with each release. Can you please introduce the new version? What are the main new features compared to the previous stable PC-BSD release?

KM: PC-BSD 7 is a large step forward in our releases. First of all, we have switched the version scheme to match the base FreeBSD version, which is why we are jumping from PC-BSD 1.5 to PC-BSD 7. This is our first release based on FreeBSD 7, which includes much better driver support, WiFi support, greatly improved SMP support with the ULE scheduler and more. We also have moved to KDE 4.1 and ported our PBI system and GUI toolset to Qt 4.x at the same time. Version 7 will offer several new installation methods as well, including CDs 1 – 3, a DVD, USB image, and boot-only CD/USB image which will allow you to install from a local network or the Internet. This should make getting PC-BSD installed easier than ever, with options for everyone.

PC-BSD 7.0 will be based on FreeBSD 7.0 and will ship with the latest KDE 4.1.
(full image size: 386kB, screen resolution: 1280×1024 pixels)

DW: You have obviously decided that KDE 4.1 will be the default desktop in PC-BSD 7. Was this an easy decision or do you still sometimes have doubts about its usability and bugs? Will there be an option to install KDE 3.5 for those who aren’t yet ready to migrate to KDE 4?

KM: This was a tough decision, but one we felt was worth the effort. Since this release is a huge jump up anyway to FreeBSD 7, it will be more worth it in the long run. With all of our tools now KDE4/Qt4-based, we can simply issue patches and online updates to the KDE 4.x desktop quickly, which is not as huge of a jump as it would be releasing with KDE 3.5.x, and then trying to jump to KDE 4 a few months down the road. At this time we don’t plan on including KDE 3.5.9 in the default install, but more technical users are welcome to do so via ports after installing the OS. (They can both be installed at the same time.)

DW: A technical one about file systems in PC-BSD: the latest alpha builds offer three file system options: UFS2, UFS2 + Soft Updates, UFS2 + Journaling. Could you please briefly discuss the advantages and disadvantages of each? Why is UFS2 + soft updates the default file system?

KM: Actually we are offering four file system types, including ZFS, which can be enabled during the installation boot-up. ZFS, however, is aimed at server installs and probably won’t be seen on the desktop as often due to its larger hardware / RAM requirements. On the desktop side of things, we have expanded to offer some choice this time around. Previously we had defaulted to UFS2 + Soft Updates, which we still default to in this release. This was done primarily because during the testing phase, it has proved to be the most reliable and consistent choice for a desktop. UFS + Journaling is also a good choice for a desktop, since it negates the necessity of having to do an “fsck” after a power-failure, among other things.

DW: Will it be possible to upgrade an older PC-BSD version to PC-BSD 7.0 or do you recommend a clean installation?

KM: I’m still working on the upgrade system and hope to have it allow upgrades from PC-BSD 1.5.x -> 7. However, I would strongly recommend a clean install, since this is a very large jump forward, and most programs installed on PC-BSD 1.x (based on FreeBSD 6) will most likely not be binary compatible with 7.

DW: How long before PC-BSD 7.0 goes gold? What exactly still needs to be implemented or fixed prior to the product being declared good enough for public consumption?

KM: We are hitting code freeze this Monday, the 25th, and will then release a public beta in the following week. After that, as long as no serious bugs are found, we plan on going gold early to mid-September.

DW: Kris, thank you very much for your answers and best of luck with your work!

Source: Distrowatch 26/08/2008

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>