Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
OS X Open Source Operating Systems BSD

A FreeBSD "Spork" With Touches of NeXT and OS X: NeXTBSD 165

There are a lot of open source operating systems out there; being open source, they lend themselves to forks, clones or near clones, and friendly offshoots. There are even services to let you customize, download, and (if you choose) bulk-install your own OS based on common components. Phoronix notes a new project called NeXTBSD that might turn more heads than most new open source OSes, in part because of the developers behind it, and in part because of the positive thoughts many people have toward the aesthetics of NeXTSTEP and Mac OS X. (And while it might be a fork of FreeBSD, the developers would rather call it a spork, instead.) NeXTBSD was announced last week by Jordan Hubbard and Kip Macy at the Bay Area FreeBSD Users Group (BAFUG). NeXTBSD / FreeBSD X is based on the FreeBSD-CURRENT kernel while adding in Mach IPC, Libdispatch, notifyd, asld, launchd, and other components derived from Apple's open-source code for OS X. The basic launchd/notifyd/asld/libdispatch stack atop their "fork" of FreeBSD is working along with other basic components of their new design. You can watch a recording of the announcement as well as a longer introduction linked from Phoronix's story.
This discussion has been archived. No new comments can be posted.

A FreeBSD "Spork" With Touches of NeXT and OS X: NeXTBSD

Comments Filter:
  • Hmm... (Score:5, Interesting)

    by EmeraldBot ( 3513925 ) on Sunday August 30, 2015 @05:49AM (#50419775)

    Kind of interesting. From what I gather it's supposed to be the unstable rolling release branch of FreeBSD (-CURRENT), which presumably some Apple enhancements? Maybe the interface? I don't know, they're rather vague with what their ultimate goal is. The progressive part sounds like they intend for this to be something like Arch for Linux, but -CURRENT is not exactly a bastion of stability. It's the beta branch. Users won't want it because it's too unstable, and all the extras are going to make it unappealing for testing, I think. A neat idea, but I think this would be much better off if pulled from -STABLE or better yet, -RELEASE. THEN we'd have something quite interesting on our hands.

    • Re:Hmm... (Score:5, Informative)

      by Anonymous Coward on Sunday August 30, 2015 @09:09AM (#50420379)
      The targeted usecase is FreeNAS, and previous presentations by Jordan Hubbard made clear that he want to restructure the project to better manage daemons and configuration. Don't expect any graphical display stuff, they are from the proprietary stuff from apple, the only things that can be imported are bits from Darwin. Expect at some point wayland port depending on how much upstream is deep in their little linux world, but I don't think that'll come from a iXsystems. Expect maybe some graphical stuff from the lumina project, but not a complete DE like KDE, Gnome or MacOSX (more likely a nice "lightweight" Qt desktop).
      • The targeted usecase is FreeNAS, and previous presentations by Jordan Hubbard made clear that he want to restructure the project to better manage daemons and configuration.

        Don't expect any graphical display stuff, they are from the proprietary stuff from apple, the only things that can be imported are bits from Darwin.

        Expect at some point wayland port depending on how much upstream is deep in their little linux world, but I don't think that'll come from a iXsystems. Expect maybe some graphical stuff from the lumina project, but not a complete DE like KDE, Gnome or MacOSX (more likely a nice "lightweight" Qt desktop).

        Ohhhh so its going to be systemd for BSD?

        • Re:Hmm... (Score:5, Informative)

          by wkcole ( 644783 ) on Sunday August 30, 2015 @04:27PM (#50422475)

          Ohhhh so its going to be systemd for BSD?

          Yes and no.

          Some of the legacy Unix issues that systemd is supposedly intended to address have been attacked by Apple in the tools NeXTBSD is adopting: ASL, LaunchD, GCD/LibDispatch, NotifyD, etc. Note that unlike systemd, the Darwin replacements for traditional init, cron, & syslog aren't monolithic and are relatively mature. LaunchD & ASL have been evolving for over a decade in mass-market OS releases and it is apparent to anyone using them attentively in MacOS over that time that Apple has been working to make them actual improvements for admins and developers interacting with them over the legacy tools, rather than merely replacements. They were both problematic in their earliest releases, but they both have been developed over time to the point where they no longer seem like the products of CS theoreticians who've never managed real systems.

          Beyond that, I think it is safe to assert that there is MUCH more well-earned community goodwill towards Hubbard & Macy than there ever has been or ever could be for Poettering, so the social drama isn't preset for tragedy in the event that the project is unremarkable for a while.

          • by caseih ( 160668 )

            Systemd is not monolithic. It's highly modular and only a few small parts are mandatory for systemd's init to function. Saying systemd is monolithic does not make it so.

            As for the evolution of launchd and it's current usability, the same exact things can be said of systemd. systemd is not a creation of theoretitists. It actually solves practical problems in a practical way, as does launchd.

            It's just ironic to me that slashdotters will come to launchd's defense while lambasting systemd.

      • When I read the description, I saw the exact same thing as It sounded just like the discussion points for the upcoming FreeNAS 10. Its so wicked that Jordan now works for iXSystems :)

        The new iXSystems FreeNAS 10 platform would be a great foundation as a general application server platform. I'm not sure how well it would behave as a desktop OS. You sure cannot go wrong with root ZFS though, which is something that is not trivial on linux.

  • by Anonymous Coward

    Afterstep? Or utilize Enlightenment for that composited OSX feel?

  • by jregel ( 39009 ) on Sunday August 30, 2015 @06:04AM (#50419833) Homepage

    I'd love to see a desktop OS that builds on what NeXT did. I know Mac OS X is that to some degree, but I'm thinking of something more like the original NeXTstep GUI.

    It's somewhat ironic that when GNUstep first started, one of the reasons why it didn't get much traction was the use of the "non-standard" Objective-C. As a result, effort was instead spent on KDE and then GNOME. If GNUstep became the standard, it could have changed Linux on the desktop as porting Mac OS X apps over would have been much easier. Of course, no-one knew that then.

    • ... but that name was taken

      I was thinking something similar, and to be fair it is called "NextBSD" but as far as i can tell from the GitHub repo it's some combination of FreeBSD and Darwin, the open-source base system that OS X runs on top of. I think the Next name just fit well.

      Maybe this one will be more successful than the previous short lived attempts to make the Darwin sources into something useful... I'm not sure what exactly they are doing that is different though.

    • by laffer1 ( 701823 ) <luke@@@foolishgames...com> on Sunday August 30, 2015 @10:18AM (#50420753) Homepage Journal

      That's why I started MidnightBSD. I just didn't keep enough developers around after the initial push to finish it.

      I've been looking at their code for a few weeks (it was in the trueos repo on a branch) and it's rather interesting. The Mach IPC layer is actually a port from code in NetBSD up to around 5.0. Then they've brought in patches for libdispatch workqueue support and a bunch of apple code.

    • by swell ( 195815 )

      This appears to be the vision of a very small number of developers. One? Of course they welcome help but the single vision is important.

      A person I greatly respected (my mommy) used to say, when she saw an ugly building, "It looks like it was built by a committee."

      Have you ever noticed this effect in a software project?

  • I'd assume Apple still owns the trademark for NeXT, so I expect they'll rename it if it gets any traction.

    Maybe NextBSD or nxBSD or something wouldn't fall foul of the trademark?

  • Why not just run / fork (okay, fine, "spork") Darwin?

    -- Nathan

    • by Anonymous Coward

      They are FreeBSD users and developers that want to push the FreeBSD ecosystem further than the Current branch is able to go. They don't want a new kernel that works like Apple's OS X, they want a modernized in it that keeps the UNIX principles firmly in mind, while paving the way for mobile form factors and many others.

  • by Anonymous Coward on Sunday August 30, 2015 @07:06AM (#50419983)

    Systemd can replace all of that.

  • by Anonymous Coward

    Wait, didnt' Apple open source the base OS as Darwin?

  • But also nearly universally reviled.

    Why does everyone care about saving five seconds during boot that will be completely overshadowed by the time you spend in BIOS POST?

    • Haven't used a UEFI system?
      The other day, there was a forum thread by a guy who had assembled a new PC and thought that it didn't work. The thing went so quick as to not show anything on the display then monitor would get put on stand by. You pretty much have to mash keys before turning the thing on to get in the setup screen.

      • by _merlin ( 160982 )

        He obviously has no option ROMs. I have to wait through the LSI SAS controller, Chelsio NIC, Intel management engine and Broadcom network boot option ROMs booting and displaying their messages before my workstation can start loading an OS.

      • My job keeps buying these shitty Gateway boxes and they used to have the slowest BIOS on the planet. I mean a good 15 seconds by the time it gets to the OS.

    • by Anonymous Coward

      But also nearly universally reviled.

      Why does everyone care about saving five seconds during boot that will be completely overshadowed by the time you spend in BIOS POST?

      Because Cloud.

    • But also nearly universally reviled.

      Why does everyone care about saving five seconds during boot that will be completely overshadowed by the time you spend in BIOS POST?

      Um, ever heard about containers, cloud images, disposable VMs, instant-on embedded appliances, etc. ?

    • by Anonymous Coward

      I remember Steve Jobs found it important to save 5 seconds on the boot of one of the first Apple machines, because you save lives.

      Say that there are about 10 M people who have OS X. Each reboots their machine once a month (because everyone is using standby these days). That is 10 M * 5 seconds * 12 = 3 Gs.

      If you then look at how many seconds someone lives for 75 years. 3Gs / (75*365*24*60*60) = 1.26 lives per year saved.

      • If we think that way then videogames are killing millions of people every day.
      • I remember Steve Jobs found it important to save 5 seconds on the boot of one of the first Apple machines, because you save lives.

        How about a computer that doesn't need to reboot so often? I used most of the early Apple machines, Apple I and /// aside, including the ][gs, Lisa, Macintosh 512k (sorry, missed the 128k) and Plus, I think I still have a SE with an accelerator in it just for the nostalgia value, had a IIci, etc etc. And I've had a lot of free reboots, most of them from Macs, and most of those reboots occurring between the era when Macs started getting MMUs, and when they started actually using it.

        The Amiga would be done bo

        • by adolf ( 21054 )

          Then you could put the whole OS (ROMs aside) into a recoverable ramdisk... talk about a quick boot.

          I've heard of this trick, though I never owned an Amiga or any manner of useful Apple (though there is ostensibly a useless pizza-box-shaped Mac over there on the table, and an example of the Last Hoorah of the PPC 24" iMacs working fine and being useless in my garage waiting for me to figure out how to ship it because they're still valued at hundreds of dollars, but not to me because it largely fails at Spoti

    • by laffer1 ( 701823 )

      It isn't about saving 5 seconds at system startup. People use that as an excuse because it's user visible. People constantly complain to me about MidnightBSD boot speed though. The real reason to do launchd (or maybe the one good thing about systemd) is that it allows you to make intelligent power decisions. If you know you're running on battery, you can avoid running background tasks that take a lot of CPU or disk IO. For example, the locate database could be updated next time you're plugged in. You co

      • by PPH ( 736903 )

        allows you to make intelligent power decisions.

        init run levels. Old news.

        • by laffer1 ( 701823 )

          Run levels don't solve the problem for desktop users. You can't ask a typical user to manually switch run levels. Not to mention rc.d in freebsd isn't setup like that.

        • Honestly, you can't rebut someone's point about a feature of systemd simply by stating a random, completely unsuitable, feature of init. Arguments don't work that way. To rebut something you need to actually deal with your opponent's argument.

          BTW init sucks. systemd isn't perfect, but at least it isn't init.

          • by PPH ( 736903 )

            stating a random, completely unsuitable, feature of init.

            But the parent poster stated:

            you could change graphics modes on low battery

            that's all supported by init. From the init man page:

            If init is not in single user mode and receives a powerfail signal
            (SIGPWR), it reads the file /etc/powerstatus. It then starts a command
            based on the contents of this file:

            F(AIL) Power is failing, UPS is providing the power. Execute the power&#226;&#8364;
            wait and powerfail entries.

            O(K) The power has been restored, execute the powerokwait entries.

            L(OW) The power is failing and the UPS has a

    • If you watch the last 20 minutes or so of the BAFUG video, Jordan Hubbard talks about launchd. I don't believe that boot time comes up a single time as a reason for making the switch.

    • But but its not init!!! Get out the tar and feathers

    • Re: (Score:2, Flamebait)

      by PPH ( 736903 )

      It's not about saving 5 seconds. Its about not having a registry. Windows users and admins are stamping their little feet because no registry. And its about writing and installing start/stop scripts. Shell scripts. Windows doesn't have (practical) shell scripts. Windows is not made up of lots of little single purpose utilities than can be piped together, call other shell scripts or executables, handle I/O and return values. And all without having to worry about whether the utility was implemented as a bina

      • If the goal of systemd creators is to slowly move users back to Windows, these are all capabilities that need to be eliminated. So UNIX/Linux users can't use them as reasons not to move.

        Yes it's all a big conspiracy! Red Hat isn't actually a supporter of Linux, despite being one of the top [redhat.com] contributors [neowin.net] to the Linux [linuxfoundation.org] kernel and creating and supporting client and server distributions of Linux systems from which most of their revenue is derived they are actually trying to destroy Linux and drive people to Windows so they can kill their own business and profitability!

    • by Anonymous Coward

      Launched is NOT about speeding up boot, it is about a highly reliable daemon dependency system, which allows keeping running process to the minimum, and allows new events to register themselves i8n a uniform manner that is simple and doesn't introduce the complexity not SystemD. It is also production proven in both he mobile space a it is on every iPhone ever shipped, as well as all OS X systems in the last five+ years.

  • I downloaded the ISO on Friday night. Yesterday, I installed it ot a VM. Just got out of be a few minutes ago, and the VM is open in my right hand display, waiting for me to configure it. The network works right - I pinged Google from it. That's about all I know right now, since I've never installed a BSD before. I need to refer to some installation and setup guides next!

    • One time I installed NetBSD on a box and configured and used it as my desktop machine. A few weeks later I needed to reboot it and was confused why it didn't have a hostname. It turned out that it was because I had installed it, done the first boot after install, and configured everything, but had never booted it a second time and had forgotten to add a hostname in the /etc/rc.d/rc.conf file. In other words it ran for weeks as a useful desktop machine but had only been booted a single time.

      NetBSD is that

    • by c4757p ( 4213341 )
      Am I just stupid, or is their website crap? I couldn't find any indication that there is an ISO, let alone download one.
      • Yeah, the website is pretty crap. It took a bit of perseverance to actually grab the ISO. Want the link?
        $ wget http://www.optimcloud.com/disc... [optimcloud.com]

        So far, I've installed bash, and configured it as my default shell, then installed nano, and configured as default editor. One step at a time, if/when I feel like it, I should have a working system before 2115 . . . .

  • How exactly are Mach messeges different from sysv messeges in Linux? I've used Mach messeges before, but sysv messeges look pretty similar
    • by thogard ( 43403 )

      Mach messages are much faster than SysV but not up to the speed of Solaris doors (which have some odd security issues but drop context swtiches). The SysV streams message system is based on the SysV IPC which is based on SysV shared memory and SysV semaphores. That stuff came from the early 1980s when a 2 CPU WE32000 in a 3B20 (or 5 or 15?) was the reference design for the biggest hardware Real UNIX (TM) would run on. Since that came from AT&T who wanted to make mainframes but had to have phone switches

      • The reason I'm interested is we're developing an agent based modeling language which makes very heavy use of IPC messages, so low latency and low overhead is super critical. Currently on OSX, it used Mach messages which works extremely well, I'm porting the system to Windows, and I'm using Windows ALPC messaging, http://www.zezula.net/en/prog/... [zezula.net] Which is also working very well, it's actually very similar to Mach messages. Makes sense, as both OSX and Windows are hybrid micro/monolithic kernel OSs so it m
        • by fnj ( 64210 )

          I would be pretty confident that shared memory using atomic compare/exchange for notification and pickup would be the fastest on any hardware/software architecture. Definitely faster than Mach messages I would assume. Rather primitive, though. I would benchmark both named pipes and unix domain sockets as well, because they are architecturally nice.

          • Yes, shared memory for data transfer is the fastest, no copying and nothing goes through the kernel. I'm looking into what would be the fastest in terms of lowest latency for notifications, i.e. signaling another process. I'm kind of surprised that there's not a lot of benchmarks of posix messages vs unix domain sockets vs pipes out there.
  • Then even people who should know better will see it as just another CLI based OS. All the "Good feelings" garnered for pre 2009 OSX and NextStep etc, were based on their human interface component. The fact in this case, however, is that there'a a huge opportunity here to create a far better interface. Something less blocky than OSX and the "Next" interface, Something with all the good improvements of Finder and Explorer, as well as all the different Linux GUIs. Something that REALLY "just works" .. like Mac

  • I think this would be a perfect new home for Leonart Poetering. It's a place were he could be productive and apreciated and the rest of us could be rid of him.

Real Programmers don't write in PL/I. PL/I is for programmers who can't decide whether to write in COBOL or FORTRAN.

Working...