PC-BSD 0.7.5: A Review
Now and then a new wind comes along in the ebb and flow of Linux distributions. OK, so I know PC-BSD is not Linux, but it's close enough. It's fair to say without going into technicalities and politics that BSD and Linux are cousins in the operating system world. It is also true that there is some cross-pollination between the two. I'm sure some BSD users have ogled at Linux distributions. Many a Linux user has flirted with the BSDs and or even fantasized about OS X. I know I have. This is exactly why I found PC-BSD attractive. At any rate, let's get to the review.
PC-BSD Vision (bullet points):
- The software must be easy to install.
- The operating system must be minimalist.
- Software must be available, and easily installed.
- The system must be dynamic, yet backwards compatible.
You can read the entire PC-BSD Vision here.
The installation is a simple, graphical one. I'm not sure what toolkit they use for the installation but it looks fairly nice. The installation does just that and not much else. A minimal set of questions is asked. You don't even get to select the packages. From the vision, we can see that PC-BSD is targeted at desktop users and the functional and simple installation is appropriate for this purpose. Version 0.7.5 adds the ability to define a custom partitioning scheme.
Since I wasn't given a package list, I had to wait till the installation finished to find out what the default desktop is. After the usual post-installation reboot, the system automatically logged me into a nice KDE 3.4 desktop. Most desktop oriented distributions use KDE so this wasn't a surprise.
I was a bit disappointed with the complete lack of GNOME. More than that, Firefox, OpenOffice, Thunderbird and other popular applications were missing in action. The desktop looks like a standard KDE desktop with a few modifications. There are no unneeded packages or extra bloat. PC-BSD fulfills its goal of being a minimalist distribution (Pt. #2, Vision) quite well.
As you will notice from the screenshot, there is a familiar "My Computer" icon which gives you quick access to hard drives, CD-ROM drives, local network, and settings. In my daily use of PC-BSD, the "My Computer" icon has been very handy. It is also convenient for new users as it functions as a gateway to commonly accessed places. The PC-BSD developer's
choice to place this prominently on the desktop is a good move.
While fiddling around with the menu, I ran across an entry for "PC-BSD Program Manager (Remove Programs)" but clicking this only gave me a empty list. What I really wanted to do was to learn how to install programs. I'd heard about FreeBSD's ports system, but I had a feeling that if the system had a remove programs component, an install component was also likely to be present. I headed over to the PC-BSD website which, sure enough, had a list of downloadable packages.
I followed this procedure with Firefox and it worked like a charm. Desktop and menu icons were installed as promised. Then I ran the Remove Programs utility again. Now instead of a empty list, it listed Firefox and gave me the option to remove it. I did so just to test the uninstall procedure which worked well. I went ahead and installed some other packages that I required for my day-to-day computing.
In my experimentation with the package manager, it works very well. Any Windows or Mac user will easily follow the procedure. In fact, since all PC-BSD packages use the same installer so adding packages is a more consistent process than Windows.
Another point worth noting is that PC-BSD packages are as self contained as possible. Each package is installed in its own separate directory. For example, Firefox is installed under "/usr/local/MyPrograms/Firefox1.0.4/". This directory contains the executable as well as any libraries it needs. This is a different approach from the majority of distributions that use global libraries.
This method of installing packages has these advantages:
- Changes to system libraries don't break individual packages. Since all the libraries Firefox needs are in it's own neat directory, any changes to the system libraries doesn't affect Firefox.
- While this method deviates from tradition, to the user it is transparent. The package installer takes care of all the messy details and the end result is a system that is less likely to break. It's a win-win situation.
I ran across the third component of the packaging system called the "Package Creator" on the package database. I was expecting it to be a hacker utility to created those pesky PBI packages but it was actually a graphical one. While I didn't create any packages of my own, there is a good tutorial on the subject. Package creation is a complicated by dependencies on every UNIX-like system. The separate libraries solution that I discussed earlier simplifies this problem. This means it's easier for more technically inclined users to create and upload packages and that's always a good thing. I'll have to play out with package creation under PC-BSD a bit more until I give my final verdict.
The Fine Print
While the project is off to a solid start, there are a few components that need catching up. Like most projects, PC-BSD's documentation lags the development process. At this moment, the only resources users have is the FAQ and the forum. There is a handbook that is planned, but is under construction.
I'm not saying that the developer team is lazy. It's only natural for a system to be developed before documentation gets written for it. Quite to the contrary, PC-BSD's development has been progressing at a furious rate. The lack of formal documentation is made up by a burgeoning community of eager users on the forums. The developers have a good level of interaction with the users on the forums. This collaboration will hopefully iron out some of the smaller issues with PC-BSD.
Speaking of issues, I ran across a few things I'd like to forward to the PC-BSD crew. Since PC-BSD is a desktop operating system, a Windows user should be able to install and use it. At this point, after the installation, there is no "Getting Started" screen or anything of that sort. This could be as simple as implementing Konqueror to the PC-BSD website on the first boot. The user should be shown how to use the system, install and uninstall packages etc. Without a Getting Started document, a less experienced user will get stuck.
Similarly, it would be nice to see a document that lists key differences between Linux and FreeBSD. As someone who runs Linux as well as PC-BSD, I'm aware of the many technical differences pertaining to device names, commands, and runlevels. I've been educated well by the FreeBSD Handbook, but for users who are just starting out with FreeBSD, a less thorough guide is needed.
Another issue is the lack of packages such as Flash, Java, and other such plugins. I understand that inclusion of these packages is legally questionable but it may be something that needs looked into. The developers haven't completely ignored this problem, though. JavaWizard
is a PC-BSD package that downloads and configures Java for your system. Hopefully something similar will be implemented for Flash. The presence of JavaWizard is a clear indication that unlike some other developers the PC-BSD team actually use their software. They are aware of the problem and are addressing it. Moreover, you can still use the FreeBSD ports to install some of the above packages but that involves hacking at the command prompt.
It's easy to see that PC-BSD has a lot of potential. Note that PC-BSD is beta software. Version 0.7.5 is stable enough in my experience, but your mileage may vary. When it comes to the basics of installing the operating system and applications, PC-BSD wins hands-down. It is backed up by the solid and slick KDE 3.4. It is a welcome change to the mundane and ordinary. As I was wondering what lies ahead for PC-BSD, I found a Wishlist page that shows a roadmap. With further improvements, PC-BSD will be the next big thing. I recommend you try out PC-BSD today!