BSD DevCenter
oreilly.comSafari Books Online.Conferences.


Inside PC-BSD 1.3

by Dru Lavigne

PC-BSD 1.3 was released on New Year's Eve. Dru Lavigne interviewed three members of the PC-BSD release engineering team regarding the new release and their involvement within the PC-BSD community.

Dru Lavigne: Give us a short bio about yourself, your background in IT, and how you became involved with the PC-BSD project.

Kris Moore: I am currently living in the United States, more specifically, the town of Battle Ground in Washington State. I am 26 years old, married and have 2 boys, ages 3 years and 5 months. I'm pretty much your all around techie, I love playing with anything electronic and writing any code I can.

I've been involved professionally with UNIX/Linux for the past six years, writing some applications in shell and C++ using QT. I had experimented with various Linux distributions in the past for a functional desktop, but always came away frustrated. Often a particular piece of software wouldn't be available in the package database and I would be stuck trying to find the right binary package, or compiling from source. This was simply too time-consuming, and I began to formulate an idea of something similar to a .exe file on *nix. Because of my experience with BSD, I came up with the idea for PC-BSD, which would allow casual users to simply double-click to install, without worrying about dependencies, and also still let power users use the ports or packages subsystems if they so desire.

Andrei Kolu: I was born in Russia and live in Estonia, in the city of Pyssi. I am 30 years old and got involved with computers in 1991, right after Estonia gained independence from the Soviet Union. First computer I touched in school was "Juku"--a local clone of an Intel 8080 processor-based system with 640KB ram and two 5.25-inch floppy drives, 360KB each.

My first Unix contact happened in 1994 in Virumaa College, where I also worked part-time as system administrator in computer class. SCO Open Desktop (I know, I know...) intrigued me enough to start using Red Hat Linux in 1996; I still have those original made in U.S.A. 6 cd-s that I bought at Estonia's largest computer show. Unfortunately, Red Hat lost me to FreeBSD after they released infamous Red Hat 7.0 with broken GCC compiler. FreeBSD became my primary choice on servers in 2001. I started with PC-BSD project in July 2005 when I searched for an operating system for a terminal-server project for one of Estonia's oldest computer companies. The original terminal-server base operating system I tested was Red Hat, but I dumped it because of a broken Matrox video card driver. Working as a one-man army is frustrating, and after releasing a localized, highly modified, DVD version of PC-BSD for the company I worked for, I left them and concentrated fully on PC-BSD project as a volunteer.

Charles Landemaine: I live in Brazil, I'm 27 years old, I own Auriance, a web hosting company, and Interaction, a free live chat service. I discovered PC-BSD when it was first featured on OSNews, and I immediately trusted the project as it aims at removing hurdles that have prevented the common user from embracing the free Unix desktop.

I firmly believe in the PBI concept as being the best suited way of installing applications on your desktop if you're not a computer-savvy person. I use both the PBI as well as ports and packages. I think installing a package by typing a single line of code is the fastest way, but I'm more familiar with the Windows way of installing software. I think most computer users that aren't power users also feel more familiar with an install wizard. The most important thing is that, besides the fact that PC-BSD may load libraries more than once into RAM, you don't feel any speed issue. We will have to investigate further how duplication of libraries is handled by the FreeBSD kernel, but it's good news. For new users that have no background with Linux/FreeBSD, it can be daunting to have to learn and remember the name of a package sometimes. For instance, package names always change. Also, packages are often listed several times with different names that are not always obvious to differentiate if you're not familiar with FreeBSD or Linux. The PBI system is aimed at this audience. To sum up, I think the PBI system is what led me to join the project.

Dru: Please describe some of the duties you perform for the project.

Kris: Right now my official title is "Director of PC-BSD," which means I'm doing a lot of the release work, getting ISOs made, fixing reported bugs, developing, and answering emails. My typical day varies, depending on what's going on in the release schedule, but over the last few weeks I've been working hard on the 1.3 release, getting bugs fixed, and making ISO's for Andrei and our other devs to test.

Andrei: My official title is "PC-BSD Quality Manager" and this is the easiest job I ever had...just kidding :) It's not easy to be a perfectionist and I think sometimes other developers don't understand why I am bitching about some feature--it works for them. But I think the big picture is made from small pieces and if most pieces don't work as expected, then Average Joe may get an awry feeling of operating system and never go back to test out new features.

I start my day by reading news sites like,,,,,, and some more, and then concentrate on the PC-BSD forums and answer the questions I know best. Sometimes I edit posts to correct misspellings, typos, and formatting. This may sound strange, but English speaking users sometimes make obvious spelling mistakes. English is my third language after Estonian and Russian, but I started with English by learning written language first, then moved to speaking part of it--the exact opposite order to native speakers.

Of course I read various mailing lists too, especially FreeBSD hosted like geom@, stable@, usb@, emulation@, pf@, and others. The FreeBSD documentation project comes in handy when dealing with various problems in PC-BSD, but sometimes an inconsistency is found and I send an email to their documentation team for clarification.

I have experience in designing networks for ISPs and knowledge in networking, which helped me to bring PF firewall into PC-BSD installer. Know-how from terminal-server project gave me information about what system administrators need for their multiuser computing systems and I hope we can make the admin's life much easier by hardening PC-BSD and preconfiguring many not-so-important features by default.

Charles: I coordinate translations, search for new translators, fix translation problems such as XML syntax errors, and follow up on tasks. I'm also learning how to use Pootle, a web-based translation tool that Josh kindly set up for us. Also, I learned how to use Trac, a pretty neat web-based collaborative tool. I help Andrei gather bugs and file bug reports. I also test PC-BSD prereleases when needed. Several times a day, I check out the forum to see if someone needs help, or to see if there's something new and important. Also, I do some web design and graphic design, although my skill is limited in this area. I create and maintain some essential PBIs such as, Opera, the codecs, the Flash plugin, the Microsoft fonts, lighttpd, and some scripts to generate some PBIs automatically from a port, which greatly reduces the amount of development time.

I write tutorials for the PBI Tutorials section of the knowledge database. I also help Gerard write documentation; I wrote a great deal of the Quick Guide. I do some research on how we can enhance the PC-BSD GUI (mainly KDE) according to our users' tastes. Also, I usually open some polls on our forum to see what people prefer before we implement new features or before changing something that may trigger religious reactions! I manage a fair amount of the site, putting some of the news online, updating stuff such as the forum and the FAQ engines. One important thing also is testing PBIs and managing the PBI directory. I also make sure the mirrors are synced before adding new applications and that there's no older version already added in the directory.

Also, I try to fix some i18n issues and font problems. For instance, new users who miss the Microsoft fonts that the Windows desktop offers can use the same fonts exactly the way they look in Windows because PC-BSD includes a set of XML files that I developed, which includes tons of rules that display Microsoft fonts. I also try to find solutions to some bugs that aren't too complicated and add some fixes to bug reports. A fair amount of time that I dedicate to PC-BSD is spent doing research, learning stuff like shell scripting, and discovering new stuff. I like to learn.

Dru: PC-BSD strives to provide an easy desktop computing experience on top of the rock-solid stability of FreeBSD. The 1.3 release includes a revamp of the already user-friendly installer as well as many other feature enhancements. Please walk us through some of these features.

Kris: The biggest portion of our coding went into the new system installer. Our old installer was the original one I wrote back for 0.3 beta and was really showing its age. This new installer has been written from scratch in C++/QT, and offers many new features over the previous version. One of the features is the ability to setup all your preferences before the actual install takes place. This includes setting up multiple users, firewall settings, network settings, and more. The new installer also has the ability to search for previous PC-BSD installations and upgrade them to 1.3. We also now have an option to install a "Desktop" or "Server" version of PC-BSD. Essentially, the installed packages are the same, but the server version defaults to running the Fluxbox WM, for the more advanced users who may wish to run a high-performance PC-BSD/FreeBSD server.

Another big feature that most users may not notice at first is that the installer CD now runs directly from RAM, which lets the user swap CD's during the install process. This comes in very handy, especially when the user is installing with a language other than English. The installer will now prompt for CD #2 during the install process instead of waiting for the system to reboot and requiring the user to finish the install procedure then. This will also allow us to begin work on some of our new features for 1.4, such as backup and restore options or system "cloning."

Andrei: I worked on 1.3 release so long that I start losing track what we made for this release already. As far as I remember we put the BSDstats script enabling option by default into LiveCD Installer. I proposed a similar statistical system for PC-BSD long before BSDstats, but my motto is: "Why invent yet another wheel!" The same goes for DesktopBSD Tools, which is already incorporated into PC-BSD starting from 1.2 release.

We moved language, keyboard, and time zone selection into first Installer page. Later I found out that Vista has a similar layout--this is purely coincidence, not a rip-off :) Adding multiple users and even the ability to change every username or password after they are already added to list is neat but not a major feature. Some paranoid computer users would like to encrypt their swap space and swap-space-backed /tmp, RAM-based filesystem for speeding up various file operations. It's small things that makes operating system usable.

Charles: A fair amount of the tasks you perform on modern desktops can be accomplished with PC-BSD, such as managing users, managing running services, managing network interface cards, and managing software in a familiar way. But there's more to come. Hopefully, this year users of PC-BSD will be able to manage PF using a GUI, and they won't have to learn how to use PF's syntax. You will be able to add/remove exceptions using TCP or UDP easily, just like you do on other modern desktops. A group or Samba share manager was also discussed to share directories/files easily with groups or single users using a GUI. For instance, you'll be able to share a "billing" directory with a "billing" group that you create, and you'll be able to add users of your network to this group--something that is invaluable in the enterprise.

Another cool tool that is also in our plans is a PPPoE Setup Wizard. People love wizards; they don't like to have to think. One of the flagship features of PC-BSD is really the PBI concept. I mean it's very easy to type as root pkg_add -r firefox, but ease-of-use is relative. The bulk of computer users are more familiar using a wizard à la Windows/Mac OS X. With PC-BSD you have the choice, power users and new comers should be both happy, as each one uses what he's more comfortable with. Long-term FreeBSD users shouldn't worry about not having ports anymore; we have a fully functioning FreeBSD system under the hood!

Pages: 1, 2

Next Pagearrow

Sponsored by: