Slashdot Mirror


FreeBSD 4.0 Code Freeze

FreeBSD has now entered code freeze for the up and coming 4.0 release. In the words of Jordan Hubbard, the release engineer; The code freeze will last for 15 days, during which time the 4.0 snapshot server (current.freebsd.org) will be cranking out its daily snapshots (and, in the last half of the release cycle, ISO images as well). 4.0 is the first release from the latest FreeBSD -current development branch. Work also continues on the 3.x -stable branch.

2 of 270 comments (clear)

  1. Re:15 days? by edhall · · Score: 4
    Anyway, what's up with that two week freeze period? Isn't that a little short?

    FreeBSD does things a bit differently than Linux. All code is in a CVS server. Every day (more or less) many developers bring their code up-to-date (with "cvsup" or equivalent) and do a "make world," perhaps after reviewing that day's changes first (which are posted automatically to a mailing list). Then they run their favorite tests and/or applications. So you can say that the FreeBSD system (not just the kernel--everything needed to run a FreeBSD system) is under continuous integration and testing. Everything is known to more-or-less work and play together before the freeze. The 15-day shakedown is thus a time to focus on finding issues that somehow got missed during the continuous develop/integrate/test process.

    This is different from Linux; in some ways it's slower and more restrictive, but I rather like it. Although 4.0 has a lot of improvements over the 3.x series, most of them are evolutionary, especially compared to some of the wholesale reworkings of kernel mechanisms between major Linux releases (1.2, 2.0, 2.2, 2.4...). This, combined with the FreeBSD development methodology, mean that instead of a mad scramble to get everything integrated for a final release, it's more a matter of dotting i's and crossing t's until the system passes muster with the core team and the CVS tree is labeled RELEASE.

    As to just what is new and/or different in 4.0, there are folks here who know much better than I do...

    -Ed
  2. Re:BSD and Linux newcomers. by Anonymous Coward · · Score: 5

    I'm wondering if trying out FreeBSD would be at all interesting? How much help is there with
    installation problems? HOWTOs?


    You'd probably find it interesting if you're the kind of person who installs different Linux distributions from time to time out of interest ;-).

    My basic comparison:

    * Installation feels about like Slackware in terms of package selection and such

    * Base install is very small, as very little comes with the OS--everything is in ports instead.

    * FreeBSD has packages like real Linux distributions (and no, Slackware people, tgz is not a package ;-), but they're arguably less-advanced. The FreeBSD package system doesn't support versioning of packages (eg, it can distinguish openssh-1.20 from openssh-1.21, but it can't distinguish openssh-1.21-10 from openssh-1.21-11 like debs / rpms do, which I find to be a pain when I'm upgrading my installed ports)

    * The ports system is pretty cool. It's somewhere between Red Hat and Debian in terms of size (at least for FreeBSD; the other two *BSD ports trees are somewhat smaller), and a little more slow about updating (and, oddly enough, a little *more* buggy, contrary to expectation) than the Debian system. At any rate, it's an archive of scripts + patches necessary to integrate all the standard software into your system. Want vim?
    $ cd /usr/ports/editors/vim5 ; sudo make install
    and it will download the source, apply any necessary patches, compile the package, and install the package (which you can remove later either by make deinstall or by pkg_del vim5)

    * Documentation is quite good and thorough, though a little out-of-date (it's basically for 2.x, though is being rapidly revised to reflect the 3.x that most people are now running). It tends to be a little more basic than Linux HOWTOs in terms of what it covers, but it's a lot more thorough about covering essentials than the HOWTOs are.

    * Usage-wise, FreeBSD is mostly BSDish. That means no SysV init that you're probably used to (the vast majority of Linuxen use SysV init for various reasons) and similar differences like that which you'll have to pick up as you go with the help of the FreeBSD Handbook alluded to above.

    * The BSD toolset tends to be a little less user-friendly than the equivalent tools from Gnu. Eg, with Gnu tools, you can decide after the fact to add the switches, and they work:

    rm foo -rf
    rm -rf foo

    are both acceptable with Gnu rm, but not with *BSD rm. Similarly, the Gnu toolsets tend to support options that the *BSD ones don't:

    cp -Rv

    on Gnu will show you what it's copying. There's no equivalent for *BSD.

    * Some technical differences. In the Linux world, the "standard" Microsoft scheme of primary partitions + logical partitions within an extended partition is used. For the *BSDs, you make one partition, and then set up slices within it (conceptially, this is like logical partitions w/in an extended partition).

    * Performance differences--FreeBSD SMP is noticeably slower than under Linux on the same hardware. FreeBSD is Intel-only (with Alpha port progressing and Sparc planned) whereas Linux runs just about anywhere, more like NetBSD. FreeBSD's net stack is rumored to be faster / more correct than Linux's, though you'll never find anyone to substantiate that one way or the other (beyond some of the Linux developers pointing out pathological cases where standards conflict and they argue Linux does the Right Thing and FreeBSD doesn't). UFS, the FreeBSD file system, is slower than ext2 (even with soft-updates--basically "go faster" stripes you can add in when you recompile your kernel ;-) for most operations, though not for things like deleting large directories; of course, *BSD advocates will tell you it's a safer filesystem than ext2, so your mileage may vary.

    * Kernel compilation is more like the Bad Old Days under commercial Unixes. You have a flat text file full of all the options you want in your kernel, and if the ones you need aren't there, you try to steal them from a different one and add them in ;-). There's no menuconfig / xconfig / config like in Linux. Honestly, though, that's really not something to pick an OS on one way or the other ;-)

    I'm tired, so I'll quit now. Others, feel free to add in other differences.