Status Update and Future Plans

2013 will be an exciting year for PC-BSD, Kris gives a sneak peek into his plans:

If you’ve been following the trac commit list with any regularity, you’ve seen a lot of commits go by in the past months, all having to do with pkgng, and a lot of internal churn to how we do our updates and such. I’ve written an article for the upcoming BSD Magazine detailing some of the reasons for this, and the “new direction” we are taking with regard to PC-BSD releases, but I also want to post here to give everybody a heads up.

First of all, I want to let you know, that I’ve personally not been satisfied with the frequency of PC-BSD releases and updates. With us tracking the upstream FreeBSD releases, it has really tied our hands getting new releases out to the public. The past couple of releases had a delay of almost a year between them, which is WAY too long in my opinion. To further compound the problem, our build system wasn’t designed to do frequent updates of packages and our utilities, which made getting updates out to the community a long and tedious process. This is all going to change. What we are looking at going to now is more of a “Rolling-Release” model, first for our utilities & system packages, and eventually for the FreeBSD base itself.

So what benefits will this change bring? Well, for starters, we will now be able to quickly get new features and bugfixes in our core utilities out to PC-BSD & TrueOS users. Instead of having to wait for the next point release, or some specific targeted bugfix, we can get you running new features in a timely manner. In addition to the PC-BSD utilities, we will also be able to keep your system packages (I.E. any FreeBSD binary package) updated and in sync with the ports tree. This means when the next KDE release hits, or NVIDIA driver, apache, etc, we can now make it available to you within a matter of a few days.

To facilitate all this new rolling-release-goodness, I’ve been neck-deep in converting our build framework into heavily using pkgng. Even all of our PC-BSD utilities and system-modifications will now be distributed as a pkgng package. What this means is not only do you get access to quick updates, but it’ll be possible for the first time to take a vanilla FreeBSD system, switch to our pkgng repo, and turn your system into a PC-BSD or TrueOS box. And this will not be some partial repository, the plan is to offer a *complete* binary package repository, so if you now want to install package X,Y, or Z you can do so without ever having to touch the ports tree or compile by hand. PBI’s will not be affected, so you can run either depending upon personal preference. Plus this keeps us independent from whats happening upstream with FreeBSD packages.

As for the base system, I am also looking to set us up running our own “freebsd-update” server. This will allow us to create and run two additional “branches” of PC-BSD, based upon FreeBSD -STABLE and -CURRENT. This is a bit farther out, but I’m already moving bits and pieces around to make this happen. This means when you go to the PC-BSD website, you will now be able to download from three sets of images, -RELEASE, -STABLE, -CURRENT, and these ISO’s will be frequently updated with new installer features and packages.

So what if you want to run the same set of packages for a long period of time? Well, the good news is that we aren’t going to force this on you. So if you want to grab an ISO, and run a particular desktop environment version forever, then you can do so. The PBI system will still operate independently, so you can keep running those releases without touching your base system packages.

With all this said, what’s the timeframe? I’m hoping to get the first testing ISO out in the next several weeks, so we can begin beating up the new updating system. I’ll also make available an online update for existing 9.1 users to switch to pkgng and jump on the new repository.

Thanks for reading, and looking forward to an exciting 2013 for PC-BSD!

While I would love to help push FreeBSD into doing a more “frequent” release schedule, it just seems they are very resistant to change. This has been something they’ve talked about for years, and so far nothing has come of it. My hope is that with us taking over our own release-schedule / engineering, it’ll encourage them to push forward as well.

I very much like the idea of using pkgng for all PCBSD components, but I am not so sure about the rolling releases: My main concern right now is the stability of the PCBSD releases, not so much the frequency.

My PCBSD computer the main tool I need for my daily work (and again: I really appreciate it and love using it), but there are some glitches coming with each new version (e.g. the 9.1 USB stick image which did not boot at all) where I personally would prefer if at least some of the effort would go into automated testing and improved release processes that make sure more such problems are identified before the images/updates are made public.

Stability is a huge concern of mine as well, which is why this day has been so long in coming. But the good news is that we are going to do all we can to ensure that things remain stable.

We are not going to 100% automate just rolling the latest ports tree into pkgng packages, I and another developer here will push them out to a test server first, run them and try to catch the regressions before pushing them “live”, same as we do with PBIs.

Another good thing is, that nobody will be “forcing” your system to go to a rolling release. If you install PC-BSD based upon FreeBSD 9.1-Release, then the next system update wont happen until 9.2-Release hits. (Same as now). Plus if you are happy with the package versions that make up your desktop / server, then you don’t have to upgrade them, and can wait until 9.2-Release hits to do it all at once. (Same as now)

Joining Momo and his concerns as well.
I for example used linux a couple of years and I have to say that on my PC Ubuntu had really great performance + it was very easy to use and install, later on I checked out more advanced distros – i.E. Debian (stable,testing,experimental), Fedora, Sabayon etc…
What MADE ME reside with PC-BSD eventually is the stability of the OS – that’s not to say it’s BUGLESS, but there never been an installation where I followed the instructions and it has failed, & never had a program/app/package update that caused my system to break.. what good is a system if it’s broken???
that is where PC-BSD strength lies for me.
don’t get me wrong I’m in favor of getting new stuff faster, but it seems it’s always comes At the expense of stability and that’s bad thing.
my opinion is release when it’s ready!
best regards…

I’m glad PC-BSD exists, and look forward to using it full-time on my laptop when WiFi, sleep/hybernation and writing to NTFS are mainstream (as in major GNU Linux distros). For now, I use FreeBSD in a VM on my Windows laptop.

I agree that quarterly or rolling releases are a practical necessity for a desktop-style OS with new functionality coming fast and furious. However, I don’t understand the need to re-brand FreeBSD as “TrueOS”, and fear it will only fragment developer and user communities.

The PC-BSD brand is well understood and accepted, wouldn’t moving to a PC-BSD repo based on FreeBSD-CURRENT but with its own release cycle be sufficient? New core features would preferably be merged from FreeBSD -CURRENT for accelerated deployment compared to FreeBSD, otherwise from new code (but I hope new code would be offered first to the FreeBSD project in an attempt to consolidate development and minimize fragmentation as much as possible).

Your note didn’t touch on testing, and like Al and Momo, I have stability concerns. How well tested will a “release” be, and do you have the resources to make that feasible (in a rolling release strategy, a “release” is simply the availability of new code)? Rolling releases compress the release and deployment pipeline and get new code to developers faster, but often with less quality or stability. While this may be acceptable to those for whom the existence of a feature is more important than its’ stability, compromises in quality will drive away users who simply want a tool that can be trusted.

1) Would it be possible to use pkgng as a base for pbi’s? What I mean with this is, having pbi’s as some kind of local repository for pkng. This could basically lead to only one package system in use where everything is somehow “unified”.

2) Will this mean, we might be able to install the lates kde from area51 via pkgng?

PC-BSD should be a direct competitor of Linux, Windows and Mac, as a desktop system. policy should be aimed at the desktop user. I’m glad the blog announcement (Latino Community PC-BSD)Finally Dru speak Spanish?
I would like PC-BSD, rename it to something more appropriate TIME TO CHANGE

I agree that the look and feel as well as the name are a little bit outdated (TrueOS btw is a great name in my opinion!).

PC-BSD is not too inspiring to make new users think this is an attractive system, and if I compare the default Xubuntu desktop design with the default PC-BSD Xfce design, it is clear who will win over a new user not interested too much in the technical details of the underlying OS but just the look and feel IMHO.

It is realy a good news for us. I hope that PC-BSD adopt the policy of a desktop system, because they are again some work to do everything with graphical tools, like to use Surround with a sound card, or to use the micro with the logitech webcam without typing any command in the shell.
And thank you very much for the greath system.

Great ideas for PCBSD’s future, though easy to see a great vision and a daunting set of tasks.

Having used FreeBSD since version 4, progress has its cost in complexity. In some ways, FBSD has become more challenging to set up and administer over the years, and I’m sure, made life tougher for its developers.

PCBSD is the best opportunity to redeem FBSD’s potential as the general purpose OS it ought to be. The most crucial element is getting drivers up to speed because if it doesn’t work with *my* hardware, PCBSD is useless, and believe me, it won’t get a second chance to prove itself.

Here’s my personal “test”. What I need–and haven’t had with FBSD in *years*–is a functional, up-to-date driver for Wacom USB tablets. Sure, not everyone’s necessity, but if it ain’t there, PCBSD is never going to be sufficient for my needs.

A lot of potential users would say the same about some piece of hardware they rely on. If the need isn’t met, they’re going to look elsewhere.

Thanks for the feedback. Missing drivers is definitely the thorn in our side. Hopefully providing more users an easier path into FreeBSD and providing developers a wider audience to test new drivers on an ongoing basis will start to close the driver gap.

A big part of the “driver problem” is the almost insurmountable learning curve associated with writing drivers. Even those of us reasonably comfortable with C coding have a hard time knowing where to begin, and there’s little documentation to serve as a guide.

I don’t know how to solve it, but if there was more systematic way to recruit, educate, and assist programmers willing to contribute, I bet there’d be a lot more contribution.

Certainly it applies to me. If there was a reasonably time efficient and effective way I could learn about the subject, I’d be happy to help solve my own “USB Wacom” problem. I’m sure many others would be willing to help in other domains as well.

Wonderfull news!
I have one more thing. If you plan to use own freebsd-update server maybe you can use not GENERIC kernel config again. Also I just rebuild my PCBSD 9.1 kernel and world (STABLE) with clang 3.2 and seems like it works stable and a bit faster (about ~5% in benchmarks, maybe even more). This time may be good time to build world and kernel with clang.

i think this is a great idea. i have been trying pcbsd since version 7, but to me as a novice there was always some issue or other that kept me from using it on a day to day basis, i only ever experimented with it. i love the idea of a complete operating system (unlike linux) and the rpoven stability, plus zfs. with 9.1 i am a bit more serious, but still testing if i can do everything i need to with it (eg wireless is an issue for me). but with moving to a rolling model i am hoping that any issues i might have will be resolved much earlier and i will not have to wait for the next official release.
so many many thanks to all the people behind pcbsd!

Yes, but that is a double-edged sword. Providing users the option to test rolling releases finds bugs faster and allows bug fixes and new features to be rolled out faster. Users who prefer the slower release cycle can continue to stay on release and only upgrade at next release (i.e. ignore the whole rolling in between releases path).

I’m just waiting to find a PC-BSD that will install. Installing 9.0 was good. But when installing 9.1 on my dell opti 745. It will not install. So guess what I did.. yelps! I’m now right back to Windows 7.

On 2013 , February , 10 , I have attempted to install PCBSD9.1-x64-DVD.iso , without success : During its initial boot from DVD , it is giving a panic message and rebooting itself , which seems that this “Panic .. reboot” cycle is an infinite loop . On the same computer , and HDD , I have installed FreeBSD 9.1 amd64 and and later Fedora 18 x86_64 KDE Spin . This means that , PC-BSD boot part has a problem .
There is NO any snapshot that it can be tried .

As a principle , I always check MD5 checksum and verify recording by using K3b . To be sure , I have downloaded again from another mirror , checked its MD5 value , verified recorded DVD by K3b . Now < it booted very well and started to install . I think , there is an error in previously recorded DVD . I am encountering such an issue over the years first time .

Having problems may not be very pleasing , but there is no other choice other than reporting them .

After installation of PC-BSD 9.1 Release , it booted up to asking the correctness of screen sizes .
I have selected “Yes” because they were correct .
PC-BSD has crashed .

After hitting “Reset” button and in next boot I have selected “NO” although screen sizes were correct .
From displayed menu , I have selected the correct sizes ( 1680 x 1050 ) , it said
approximately “Now selection will be tested” .
It has crashed again .

During a new boot , I have selected “Single User Mode” with the intention of disabling
starting of X during boot .
It booted up to key board detection .
At that point , it again crashed .
I disconnected USB key board . It displayed a message about disconnection .
I reattached key board .
Again displayed a message about key board connection without exiting from crash .

The rolling update is good, but we need maintain the compatibility with FreeBSD. The versión can have one anther subversion-number, like 9.1.1, 9.1.2, 9.1.3, … This have done the OpenIndiana Proyect with his build numbers, 151a5, 151a7 , … This says clearly without number of the subversion is one orginal FreeBSD build and with subversion number is one rolling release. Keep in mind PC-BSD is FreeBSD with ad-ons and entedpreconfigured. We don´t need one fragmented FreeBSD, we need one!

I have tried over and over so so many times, just to get PC-BSD 9.1 installed. And it’s just not going to work. So I’ll guess I’ll just haft to wait on 9.2 I have installed 9.0 on a Dell Opti 745. And it works great… All the PC’s I have are Dell Opti 745..

my main concern for this, considering my newbie status, is that updates and new software installations be done in a relatively painless manner. My second concern is gui or relatively easy setup and configuration of any major functionality with the whole system. for example I am making a media server, I don’t want to have to fight the OS for network sharing of files. So I am very happy to hear about all these upcoming changes

Dru, you’ve done a lot for the community and we appreciate it. Many of us have a background in the “main stream” OS application development field. Is there any plans of a unique BSD windowing system that can be standardized and used to design a RAD gui ide similar to vb? I for one would love to start developing for PC-BSD, but the learning curve is so far proving to be a bit much while trying to hold down a full time job whereas in those other OS systems, they built the development tools early on, and while there are always and will always be addons and components to contribute, the basic programming architecture and methodology stayed the same or with at least some resemblance to the prior methods even as the OS progressed into full blown mainstream use. Right now the hardest part in getting friends, family, and potential clients that I’d love to have use your software, is the lack of more software that is similar to what we find in other systems. I don’t mean to offend, merely to suggest a concerted effort to build a rapid development model and gui that can be standardized regardless of what linux does in the future, and that the desktop managers can be optimized to use (similar to how gnome and kde work on x11) or not if they prefer the status quo.

If I understand your comment correctly, qtcreator (http://qt-project.org/wiki/Category:Tools::QtCreator) should fit the bill. It is also available in the ports collection. PC-BSD code is based on a sh back-end and a qt front-end.

Hey there just wanted to give you a quick heads up. The
text in your content seem to be running off the screen in Chrome.
I’m not sure if this is a formatting issue
or something to do with web browser compatibility but I thought I’d post to let you know.
The design look great though! Hope you get the problem resolved soon.
Thanks

After I initially left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on each time a comment
is added I get four emails with the exact same comment.