Slashdot Mirror


NetBSD's COMPAT_DARWIN Adds XDarwin Support

Dan writes "NetBSD's Emmanual Dreyfus says that COMPAT_DARWIN is now able to run Mac OS X's XDarwin (this is, the X Window server for Darwin). The server is fully functional: display, keyboard and mouse work. He says that running Darwin has no interest in itself, but having it working ensures that NetBSD's IOKit (1) emulation is good enough to be used. Darwin is Apple's Mac OS X core. A fully functional Darwin binary compatibility on NetBSD/powerpc & NetBSD/i386 will imply getting MacOS X libraries to run any Mac OS X program, just like NetBSD is now able to run binaries from Linux, FreeBSD, Solaris, and many other OSes."

50 of 255 comments (clear)

  1. Next stop, Quartz... then Aqua by corebreech · · Score: 2, Funny

    It's ironic that right after the story Technology Spending On The Rise, we get a story about how to run Apple software under a free OS.

    Or is that, iconic?

    1. Re:Next stop, Quartz... then Aqua by minus_273 · · Score: 2, Interesting

      hmm OSX runs on a free OS already ; Darwin. goto the dev site and download the code. This is a pretty pointless project aside from the "cool hack" nature of it. There is really nothing new that can come out of it since you are just going from one unix on PPC to another and they are both free

      --
      The war with islam is a war on the beast
      The war on terror is a war for peace
    2. Re:Next stop, Quartz... then Aqua by johram · · Score: 5, Insightful

      The point isn't "free" as in "free-OS". The point is embracing open standards.

      Apple might have a proprietary OS in Panther but it is based on standards that allow for easy networking and integration into existing frameworks.

      --
      "Fighting for peace is like fucking for chastity."
    3. Re:Next stop, Quartz... then Aqua by IM6100 · · Score: 4, Interesting

      Actually, that isn't the case at all.

      NetBSD has a substancial cross-platform 'packages' library of source code and a robust build system. Most packages, when they appear ready for one architecture, are ready and buildable on any other architecture. If you're not going to be running MacOS stuff in that 'Macintosh' API layer(s), you're FAR BETTER OFF running NetBSD/macPPC than you are running Darwin alone on your Apple hardware. Furthermore, if you run multiple architectures, with NetBSD you'll be able to admin the same exact /etc structure on your i386, sparc, sparc64, macPPC, prep, m68k, etc. boxes.

      I threw Darwin on my beige G3 machine last week, from the ISO downloadable from the OpenDarwin project. It installed fine and booted properly (I had specifically told it what drive to install itself on and it instead installed on a different drive, wiping out my MacOS 9 partition, but I don't hold a grudge about that)

      I looked at the Unix command prompt, said 'gee whiz, it works, but there's no packages to run' and took it off. I noted while reading the howtos at opendarwin.org that the binary packages they have built require you to use the MacOS X installer to put them on your system.

      I do not own a copy of MacOS X. It was a no-starter proposition for me. Nor am I about to buy OS X for a Beige G3 just to install 'free' software packages on it.

      --
      A Good Intro to NetBS
    4. Re:Next stop, Quartz... then Aqua by Jade+E.+2 · · Score: 4, Funny
      I had specifically told it what drive to install itself on and it instead installed on a different drive, wiping out my MacOS 9 partition, but I don't hold a grudge about that
      Don't hold a grudge? Hell, that sounds to me like a feature.
    5. Re:Next stop, Quartz... then Aqua by anarkhos · · Score: 3, Insightful

      Aqua isn't a library. It's a specification nobody seems to follow.

      Quartz isn't necessary to run most Carbon apps. I'd start there.

      --
      >80 column hard wrapped e-mail is not a sign of intelligent
      >life
    6. Re:Next stop, Quartz... then Aqua by Anonymous Coward · · Score: 2, Insightful

      The NetBSD pkgsrc collection works on Darwin.

      I agree that you'd be a little nuts to bother, but please don't cloud the issue. Software availability for both NetBSD and Darwin is really pretty good; the reason to pick one over the other should be based on the kernels, if you want to be technical, or licenses, if you want to be political. (Technically: NetBSD is NetBSD, monolithic but proven; Darwin is xnu, a curious hack on Mach. Some people dig it, some people don't trust it.)

      If you're a UNIX neophyte, you might want to stick with OS X or something 'friendly' like Yellow Dog, at least until you get accustomed to basic concepts. (Personally, I liked a text-only 486 with OpenBSD as a learning tool, but I'm a masochist.)

    7. Re:Next stop, Quartz... then Aqua by spinspin · · Score: 3, Informative

      DarwinPorts will allow you to install ports from source, and appearently yum offers the ability to install binaries. The point being that Darwin is supposed to be a fully functional unix, not just the little bastard child that's kept in the cellar. Mostly useful I think when (as you pointed out) you want to keep multiple systems with identical configurations, or things that relate to administering or serving to os x machines, when you don't need the gui.

    8. Re:Next stop, Quartz... then Aqua by steeviant · · Score: 2, Insightful

      Nonetheless, you are left at the mercy and whims of Apple. You saw how they cracked down on PPC clone builders, destroying many livelihoods in the process.

      Firstly, all PPC clone makers were using Apple's ROM under license, it's not like Apple went out and found people making compatible computers and squashed them. These people willingly put themselves "at the mercy and whims of Apple". In much the same way as PC manufacturers grease and prostrate themselves before Microsoft.

      Further, management changed at Apple, and so did the outlook on the 'clones', which had not served to increase the market share of MacOS compatible computers in the two years of their existance. Apple were getting an ever decreasing share of a shrinking market.

      All of the people who licensed the clone technology from Apple must have been able to see the big black shadow of change looming well before it happened due to the big management shake-up in Cupertino.

      Apple could have gone two ways, dumping the hardware business and going software only, or dumping the clones and hoping to be able to compete with Dell and H[compaq & DEC]P. But they would have been foolish to sit around and wait for their company to go down the gurgler which seemed to be Gil Amelio's management strategy.

      With Apple moving to OpenStep, they put themselves in a position to support multiple architectures by porting their version of Mach to a new CPU and adding a new target architecture into the app bundle via the old NeXT development tools.

      In a few years time most applications will be Cocoa (OpenStep) based and that will open up the possibility for Apple to become a software only company and supply OpenStep X based technology to any platform if their last ditch effort to stay in the hardware business fails.

      All in all, not a bad business decision, apart from the 'soft costs' of bad PR and thousands of pissed off customers and a few pissed off business partners. Something which may well come back to bite them in the bum, especially with people like you spreading misinformation about the whole cloning episode.

  2. Plain English by randomErr · · Score: 3, Insightful

    So in plain English this means that Mac OSX programs will soon be able to run on BSD and eventually Linux?

    --
    You say things that offend me and I can deal with it. Can you?
    1. Re:Plain English by Sebby · · Score: 4, Informative
      No.

      That would require emulating the Apple's APIs for everything in the OS.

      Given that most of it is proprietary, this is very unlikely to happen, though not impossible (just look at Wine)...

      --

      AC comments get piped to /dev/null
    2. Re:Plain English by BrookHarty · · Score: 4, Interesting

      The post doesnt make it clear, this is about PowerPC os's and emulation. Doesnt mean you can take X86 code, and run it on the netbsd for PPC.

      Remember this is binary compatibility, not emulation: programs run at full speed, but only on a NetBSD machine with the same CPU the program was designed for. Binary compatiblity does not enable running Linux/i386 binaries on NetBSD/powerpc, for instance.

      So far Mac OSX only runs on PPC. So if you run NetBSD on PPC, your set. But then, Why not use MOL (Mac On Linux)?

    3. Re:Plain English by Arker · · Score: 2, Interesting

      Actually, if I'm reading this correctly, it would mean running their libraries, containing those APIs, in binary form. There's your OSX on x86. Of course, it'll be slow as mud on that kind of hardware, but for those that keep screaming for it, there you go.

      Probably breaks your EULA with Apple, if you agreed to one. And their lawyers would probably come down on you like a ton of bricks if you tried redistributing them, but for however many folks have an OSX disk, want to run it on x86, and didn't agree to any EULA, it could be amusing I suppose.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    4. Re:Plain English by Gherald · · Score: 3, Informative

      Actually, you can take all that wonderful BSD licensed code, strap the GPL on it, and redistribute.

      The FSF calls the BSD license "GPL compatible" in that regard.

    5. Re:Plain English by Dwonis · · Score: 2, Insightful
      because GPL forces users of your code to also use GPL)

      No. The GPL forces *developers* who want to *distribute* your code in their programs to also use the GPL. The GPL doesn't apply at all to *users* of the software.

    6. Re:Plain English by __aavhli5779 · · Score: 3, Informative

      One of the major APIs for OS X already exists in an open-source form called are.

      Of course, this is not emulation, rather source compatibility.

      Throw in a GNUstep Makefile and new interface files, and you can have apps that compile from the same source on any free *NIX with GNUstep and on OS X with Cocoa.

    7. Re:Plain English by mitch0 · · Score: 2, Interesting

      That's a nice idea. Unfortunately it doesn't work. In reality, a lot of duplication of effort is done becouse of GPL libs (like readline), since the choice is almost never to make the whole bunch GPL, but to rewrite the necessary bits (usually under a BSD or other "free" license).

      oh, well...

      cheers,
      mitch

      --
      // "If human beings don't keep exercising their lips,
      // their brains start working." -- Ford Prefect
    8. Re:Plain English by 0x0d0a · · Score: 2

      Readline is a particularly irritating example of something that really should be LGPL (not that the original authors "should" have made their work GPLed, but the most popular library to provide this sort of functionality should really be LGPLed. A library like readline provides important services to a number of applications. Ensuring that one library does all this ensures a consistent interface -- an important goal, and one that must be achieved in the absence of forcing everyone to use the same license.

      A huge number of console-based applications use (or should use) readline-style functionality. Unfortunately, readline is the only extremely popular library to provide this functionality (line editing, history). There are lots of non-GPL cousins, but not with the same degree of uses that readline enjoys.

      I'd like to see readline be LGPL for the same reason that like to see glibc be LGPL. For bash, on the other hand, GPL makes a tremendous amount of sense.

    9. Re:Plain English by Haeleth · · Score: 2, Insightful

      > And because that code was originally under a BSD license, it is quite probably legal and completely legitimate to strip off the GPL from that code and once again distribute it as truly free software.

      Why bother? You can just download the original BSD-licensed code and distribute that. And you wouldn't even annoy any zealots.

      It (probably; IANALEither) wouldn't be legal to take any modifications from the GPL'd version, because those modifications would never have been BSD'd. If you thought you could, I suggest you read those licenses again and think about it for a moment.

    10. Re:Plain English by aminorex · · Score: 3, Interesting

      > > The PPC is a far better designed chip, of
      > > course,

      > By what do you base your claims on?

      I make a similar claim. I base it on
      experience writing assembly code and
      compilers to assembly code for both
      architectures.

      --
      -I like my women like I like my tea: green-
  3. So what's the implication here? by numbski · · Score: 4, Interesting

    Are you trying to get to a point where you can run any OSX binary, including the Cocoa/Aqua environment itself?

    Nifty for sure, but you start to wonder about the usefulness of this...I mean, in order to legally use the more interesting, useful parts of the OS, you would have to own a copy of OSX, unless for some reason the soft Unix underbelly of Darwin doesn't fit your needs, and you want a more traditional BSD, but still be able to use the OSX GUI.

    If you're making a unix binary compatibility for just standard CLI or X-Windows, it cries out of 'what's the point'.

    So what is the point?

    --

    Karma: Chameleon (mostly due to the fact that you come and go).

  4. Only apps without Aqua by Offwhite98 · · Score: 3, Insightful

    The apps which will work will be the ones that only use the BSD core and not the entire Aqua graphics layer where the majority of popular MacOS X application run. But it is conceivable that an emulation of Aqua could be created for NetBSD which could replace X11. And since X11 is really show its age, I think a replacement for the graphics layer on Unix-like system is long in coming. Emulating the Dock and other MacOS UI features would be great. Just ask the developers at WindowMaker.

    --
    Brennan Stehling - http://brennan.offwhite.net/blog/
    1. Re:Only apps without Aqua by Vector7 · · Score: 2, Informative

      > The apps which will work will be the ones that only use the BSD core and not the entire Aqua graphics layer where the majority of popular MacOS X application run. But it is conceivable that an emulation of Aqua could be created for NetBSD which could replace X11.
      I think you are being short-sighted here. A smarter and more realistic goal would be to get the compatibility with Darwin good enough that you could run Aqua and the rest of the OS X userland on top of NetBSD, without having to rewrite it all yourself.

  5. ah, so THAT's the point! (RTFA): by numbski · · Score: 4, Informative
    Running Darwin has no interest in itself, but having it working ensures
    that our IOKit (1) emulation is good enough to be used . The real target
    now is MacOS X's WindowServer. WindowServer is like XDarwin for the
    quartz displaying system, which is used natively by MacOS X
    applications.

    See the status page at http://hcpnet.free.fr/applebsd.html for more
    informations.


    They're trying to get the OSX environment running on NetBSD instead of Darwin. I'm failing to see the point of this other than a different package manager...anyone else see a benefit to this? Drivers? Cheaper hardware? All looks the same to me...
    --

    Karma: Chameleon (mostly due to the fact that you come and go).

  6. XDarwin and NetBSD/powerpc binary compatibility by ubiquitin · · Score: 3, Insightful

    Although the post by Emmanual Dreyfus indicates that XDarwin is essentially a test case, this is a rather important test case. If you can run XDarwin, you're just a short hop away from having all of the X11 apps along with it. Also, imagine a package system like the fink working equally well on OSX and NetBSD. You could develop on OSX with its comfortable GUI and deploy to NetBSD with its comfortable price.

    --
    http://tinyurl.com/4ny52
  7. Re:Here's the point! by Vector7 · · Score: 2, Informative

    That makes absolutely no sense. Buying a copy of OS X is going to give you a CD full of code compiled for PowerPC, with no way to make any use of it on Intel sort of emulation. Darwin itself already runs on x86 hardware, so clearly the kernel is not the stumbling block.

  8. Re:Totally Confused by Anonymous Coward · · Score: 5, Informative

    The goal is to run MacOS X's programs on NetBSD/powerpc. One of the problems is that thoses programs do not use X11, they use quartz.

    We have no free software display server for Quartz. Emmanuel Dreyfus had three options to get the job done:
    1) Write a Quartz display server
    2) Write a Quartz to X11 bridge
    3) Emulate enough of MacOS X to get MacOS X's Quartz display server to run on NetBSD.

    He chose option 3. It is not an easy job since MacOS X I/O are done through the IOKit, which completely differs from UNIX I/O API.

    XDarwin is the X11 server for MacOS X. It uses the IOKit to access the display, keyboard and mouse. Having XDarwin fully fonctionnal on NetBSD means that NetBSD IOKit emulation is in good shape. It is the first step on the right direction.

    Next step is to run MacOS X's Quartz display server itself.

  9. Re:Here's the point! by Arker · · Score: 3, Insightful

    Apple won't port OS X to i386 so we'll do it for them. That's the point. Even if we have to buy a copy of OS X and hack the install, we'd still be able to run it on i386. That's the point, and a damn good one if you ask me.

    Knock yourself out, but I can tell you right now that it won't be nearly as impressive as it sounds. X86 cpus really look bad when they try to emulate PPC/SPARC/Alpha and the like. You'll be a hell of a lot better off just buying a PPC box.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  10. some posts here are crazy.. by minus_273 · · Score: 4, Insightful

    while it would be very nice, this DOES NOT let you run OSX apps on linux, not on and i386. This simply lets you run binaries for the PPC processor from OSX on netbsd running on a PPC. Not just any binaries too, just those that dont use the Aqua GUI. Dont really see the point of it aside from it being a nice technical achievement, kinda like running darwin on an i386.. no real point just cool :)

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
    1. Re:some posts here are crazy.. by 0x0d0a · · Score: 2, Informative

      Um, I use Darwin on an x86 as my primary firewall and work machine. You might be surprised to learn that unix does not necessarily require a goofy gnome foot dropping cores on your desktop every few seconds.

      Um, folks use GNOME on Darwin on x86.

      And while I don't use GNOME, it's matured a *lot* since the 1.0 days, and is pretty stable, so your jibes aren't exactly accurate.

  11. Re:ah, so THAT's the point! (RTFA): by Anonymous Coward · · Score: 2, Informative

    IOKit points to drivers. So if someone crafts a driver for the Macintosh (popular consumer hardware platform, that), it should work:

    -On PowerPC machines running NetBSD, be they Macs or the few open PowerPC boards (AmigaOne, Pegasos) cropping up. ... Remember, the existing Mac ports don't let you use Mac drivers any more than you can use Windows drivers on Linux/i386.

    -Hopefully with a simple recompile on NetBSD i386/etc. So for companies that have the sense to open-source their drivers, this is a shortcut to using them on NetBSD without rewriting the code itself for a new API.

    Niche, but a nice hack, and with XDarwin working, also a convenience for PPC users if they come across a plain X11 app only available as a Darwin binary. (Rare now, but we don't know how it'll play out; look how annoying the Macromedia Flash plugin makes life on FreeBSD/i386; it's only distributed as a Linux binary, so you need the 'Linuxulator' to take advantage.)

  12. Why I find this interesting by Stonent1 · · Score: 3, Interesting

    As the Mac OS series moves on, certain hardware is eventually dropped. This may be their only chance to keep their system going with something current. Also it adds the possibility to use any NetBSD supported PCI cards on your Mac.

    This reminds me of Theo talking about running SunOS (68k) binaries on really fast 68k hardware supported by OpenBSD.

  13. Re:ah, so THAT's the point! (RTFA): by numbski · · Score: 3, Interesting

    I follow you now...uber_cool device gets released for Macintosh. Specialized device, no BSD drivers written.

    IOKit allows these drivers to work on NetBSD/PPC.

    Nice.

    --

    Karma: Chameleon (mostly due to the fact that you come and go).

  14. I keep seeing this, and I keep laughing by FredFnord · · Score: 3, Insightful

    Funny, I thought BSD's popularity was skyrocketing.

    After all, all those MacOS X boxes... 3% market share... millions of people... plus, since Macs from back in 1998 can run the latest version of MacOS X (I'm typing on one now), and lots of people do that, probably significantly more than 3% of the installed base.

    BSD sure isn't in any danger from where I'm standing, although who'd'a thunk that Apple would be its saviour?

    -fred

    --
    Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
  15. Re:ah, so THAT's the point! (RTFA): by Anonymous Coward · · Score: 2, Insightful

    Yep. As others have pointed out, it's also a shortcut to letting the Quartz server binaries from OS X run on NetBSD/PPC (just like X11 needs to be built to talk to the hardware through standard UNIX APIs or direct rendering modules, Quartz needs to be able to talk to the hardware through IOKit), but Apple's EULA probably bars that, so I don't see that as bragging rights. Drivers are third-party code, so they're not governed by Apple's licensing. :)

    However, there may be a loophole - as I understand Apple's EULA, they don't care what you do with the software, as long as you only run it on their hardware. So Mac-on-Linux, which is more of a VMWare type deal, is perfectly legal under Yellow Dog or whatever -- *if* you're running it on Apple hardware, and have a license for your seat of OS X -- and Quartz atop NetBSD should equally be fine. (It could even be useful, depending on your opinion of NetBSD versus xnu. I gather a few people actually use Linux+MoL for improved stability; NetBSD+COMPAT_DARWIN+Quartz would offer the same, but with even fewer virtualization overheads.)

    However, since Apple doesn't sell any version of OS X permitting use on non-Apple hardware, users of the new 'alternative' PowerPC boards are left out in the legal cold. (In the USA; if you live in a jurisdiction where EULAs don't hold and software is sold on copyright alone, go wild... but don't expect Apple to tolerate it any more than Microsoft tolerated DR-DOS or post-partnership OS/2.)

  16. Re:ah, so THAT's the point! (RTFA): by JamieF · · Score: 5, Funny

    Exactly, because Everybody Knows that microkernels are slow.

    (Does it count as a troll if you're serious?)

    Wait, let me see if I can connect some of them...

    Microkernels being slow are the reason Macs are so much slower than PC's! And if Apple would just:
    (a) port to x86
    (b) drop the microkernel in favor of Linux
    (c) allow clones
    (d) run Windows apps
    (e) use Windows drivers
    (f) eliminate their greedy 75% profit margins
    ... then Macs would take over the world!

    Hey, this is fun!

  17. Re:Who actually uses NetBSD? And why? by Anonymous Coward · · Score: 2, Informative

    > These are serious questions. Who actually uses NetBSD? Why?

    NetBSD is a stable, reliable, free, well-written, and administrator-friendly UNIX system. There are many reasons for running it.

    > FreeBSD is stable and great as a Linux alternative.

    So is NetBSD.
    > OpenBSD is known for security.

    This is what OpenBSD marketing claim, not the reality. OpenBSD web page claims one security hole in the default install for 7 years. They forget about 2 OpenSSH server bugs, one OpenSSH client bug, and 2 DNS client bugs. And anyway nobody uses an OS in its default install. Forget to apply the numerous OpenBSD patches and your system will be hcaked.

    > NetBSD is multi-platform.

    And as good for security as OpenBSD, and as good as a Linux alternative as FreeBSD is.

    > So? Why would anyone want to use it? What has it really contributed to BSD? What has it really contributed to computing?

    Many things actually. For instance, Apple claims that Darwin is based on FreeBSD. This is just untrue: they picked up the best known name in the FreeBSD world. Just peek at where the sources actually come from:

    sh-2.05a$ ident /usr/bin/* 2>/dev/null |grep NetBSD|wc -l
    242
    sh-2.05a$ ident /usr/bin/* 2>/dev/null |grep FreeBSD|wc -l
    99
    sh-2.05a$ ident /usr/bin/* 2>/dev/null |grep OpenBSD|wc -l
    218
    sh-2.05a$ uname -a
    Darwin vip 6.8 Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/RELEASE_PPC Power Macintosh powerpc

  18. Do you ever just read a headline like this.... by caitsith01 · · Score: 4, Funny

    and wonder if you could be doing something more with your life?

    "NetBSD's COMPAT_DARWIN Adds XDarwin Support" What the fuck is that? It's not even vaguely english. Probably the majority of people who know what it means are reading this site right now.

    Reminds me of (what else) The Simpsons:

    Comic Book Guy [reading comic]: "No aquaman... you cannot marry a woman without gills! You're from two different worlds!"

    [looks up to see a nuclear warhead streaking towards him]

    "Oh, I've wasted my life."

    [kabooooom!]

    --
    Read Pynchon.
  19. Re:ah, so THAT's the point! (RTFA): by Temporal · · Score: 4, Funny

    Don't forget, BeOS used a microkernel, and we all know how slow it was. It took almost 15 seconds to boot! I couldn't stand it. I remember how I used to play video games on my game boy to keep me entertained while I waited. And don't get me started on how it could only run Quake 2 25%-50% faster than any other OS. I mean, really, it was unplayable at such speeds. No wonder Be went out of business.

    Linus says microkernels suck. I think we should all place our blind faith in whatever he says. So, next time someone comes around offering you a shiney new microkernel, remember to just say "no".

  20. What this really means... by Anonymous Coward · · Score: 3, Interesting

    I posted this in a thread above, but only one person's noticed. I hate to whore, but really, many of the comments lack perspective on the situation overall.

    So if you appreciate this, please do whatever Slashmojo it takes to make it visible, or do the same for the original?

    ---

    IOKit points to drivers. So if someone crafts a driver for the Macintosh (popular consumer hardware platform, that), it should work:

    -On PowerPC machines running NetBSD, be they Macs or the few open PowerPC boards (AmigaOne, Pegasos) cropping up. ... Remember, the existing Mac ports don't let you use Mac drivers any more than you can use Windows drivers on Linux/i386.

    -Hopefully with a simple recompile on NetBSD i386/etc. So for companies that have the sense to open-source their drivers, this is a shortcut to using them on NetBSD without rewriting the code itself for a new API.

    Niche, but a nice hack, and with XDarwin working, also a convenience for PPC users if they come across a plain X11 app only available as a Darwin binary. (Rare now, but we don't know how it'll play out; look how annoying the Macromedia Flash plugin makes life on FreeBSD/i386; it's only distributed as a Linux binary, so you need the 'Linuxulator' to take advantage.)

    ---

    Yep. As others have pointed out, it's also a shortcut to letting the Quartz server binaries from OS X run on NetBSD/PPC (just like X11 needs to be built to talk to the hardware through standard UNIX APIs or direct rendering modules, Quartz needs to be able to talk to the hardware through IOKit), but Apple's EULA probably bars that, so I don't see that as bragging rights. Drivers are third-party code, so they're not governed by Apple's licensing. :)

    However, there may be a loophole - as I understand Apple's EULA, they don't care what you do with the software, as long as you only run it on their hardware. So Mac-on-Linux, which is more of a VMWare type deal, is perfectly legal under Yellow Dog or whatever -- *if* you're running it on Apple hardware, and have a license for your seat of OS X -- and Quartz atop NetBSD should equally be fine. (It could even be useful, depending on your opinion of NetBSD versus xnu [apple.com]. I gather a few people actually use Linux+MoL for improved stability; NetBSD+COMPAT_DARWIN+Quartz would offer the same, but with even fewer virtualization overheads.)

    However, since Apple doesn't sell any version of OS X permitting use on non-Apple hardware, users of the new 'alternative' PowerPC boards are left out in the legal cold. (In the USA; if you live in a jurisdiction where EULAs don't hold and software is sold on copyright alone, go wild... but don't expect Apple to tolerate it any more than Microsoft tolerated DR-DOS or post-partnership OS/2.)

    ---

    Okay, new content for this post: Can we stop arguing subjective things like package managers? It's a great distraction from the real issues in this thread. To lay that one to rest... well, let's put it this way - you can use the NetBSD pkgsrc collection on Darwin if you really want to. Choose your poison based on the kernels, not subjective nonissues with userland.

    1. Re:What this really means... by DrZiplok · · Score: 2

      OKit points to drivers. So if someone crafts a driver for the Macintosh (popular consumer hardware platform, that), it should work:

      -On PowerPC machines running NetBSD, be they Macs or the few open PowerPC boards (AmigaOne, Pegasos) cropping up. ... Remember, the existing Mac ports don't let you use Mac drivers any more than you can use Windows drivers on Linux/i386.

      -Hopefully with a simple recompile on NetBSD i386/etc. So for companies that have the sense to open-source their drivers, this is a shortcut to using them on NetBSD without rewriting the code itself for a new API.


      No. This post, and the work it references, suggest nothing of the kind.

      The work to date presents interfaces to userspace that look vaguely like the MacOS framebuffer and HID system. There is no kernel infrastructure that resembles IOKit, and no practical way that you could implement it without pulling in the existing IOKit code more or less wholesale.

      Just for starters, IOKit is built heavily on C++ class inheritance, and runtime use of IOKit depends on the MacOS X kernel linker and the XML parser in the KEXT tools. None of this is implemented.

      For similar reasons, a "simple recompile" isn't going to cut it.


      Yep. As others have pointed out, it's also a shortcut to letting the Quartz server binaries from OS X run on NetBSD/PPC (just like X11 needs to be built to talk to the hardware through standard UNIX APIs or direct rendering modules, Quartz needs to be able to talk to the hardware through IOKit), but Apple's EULA probably bars that, so I don't see that as bragging rights. Drivers are third-party code, so they're not governed by Apple's licensing. :)


      Running the Window Server isn't very useful by itself. You're going to get un-accelerated video at best (since you can't load the chipset-specific (NDRV) drivers), and you're missing ATSServer (font server), PBS (pasteboard server), LoginWindow, coreservicesd, lookupd, SecurityServer, SystemUIServer, &c.

      MacOS X is a very highly integrated system; there are a lot of pieces that all need to be running and talking together for a useful application to do real work. By the time you have all this in place, you've basically replicated MacOS X, and you could just have walked out and bought it, then gotten on with some useful work instead.
  21. Re:Not just nifty by quigonn · · Score: 3, Informative

    Darwin is more than just the kernel, it's also the non-graphical userland. Darwin's kernel is actually called "xnu". And Darwin is licensed under the Apple Public Source License, version 2, which is actually GPL-compatible. They even worked together with the FSF to ensure this.

    --
    A monkey is doing the real work for me.
  22. Running Mac software on Linux/*BSD by damieng · · Score: 4, Informative

    The fact that all Mac binaries are PPC is going to mean at best on i386 platforms you're going to have to use emulation, a better approach is to emulate the Cocoa API allowing a recompile for i386/whatever.

    The Cocoa API is basically the NextStep API with Quartz replacing Display Postscript for the display composition/rendering and a number of additional classes and extensions since. (Display Postscript was licenced, Quartz is based on the free PDF specification).

    The original NextStep API exists on non-PPC platforms in two forms;

    The first is Apple's own implementation which was called 'Yellow Box' back in the NextStep days and let you recompile your apps for Windows. Alas there were licencing issues that Apple claim meant the runtime was expensive to deploy.

    Apple still use this runtime in WebObjects for Windows - I don't know if it's been extended to keep up with the OSX enhancements.

    The second option is an interesting project called GNUStep who are working towards a complete implementation of the NextStep API and have stated they will add Cocoa's extensions where they provide value. With it being open source you could always add any missing classes/functionality yourself.

    This project is usable on FreeBSD and Linux and the core and gui classes are nearly complete however the developer tools themselves are not. This i not a problem however if you are developing on OSX and using them for a port.

    --
    [)amien
  23. Re:Who actually uses NetBSD? And why? by ZigMonty · · Score: 2, Informative
    FWIW, those numbers are a bit different in Panther.

    % ident -q /usr/bin/* | grep NetBSD | wc -l
    120

    % ident -q /usr/bin/* | grep FreeBSD | wc -l
    191

    % ident -q /usr/bin/* | grep OpenBSD | wc -l
    203

    % uname -a
    Darwin ibook 7.0.0 Darwin Kernel Version 7.0.0: Wed Sep 24 15:48:39 PDT 2003; root:xnu/xnu-517.obj~1/RELEASE_PPC Power Macintosh powerpc

    But yes, your point that Apple used code from a variety of BSDs is still correct.

  24. Re:ah, so THAT's the point! (RTFA): by line.at.infinity · · Score: 4, Funny

    Microkernels being slow are the reason Macs are so much slower than PC's!

    My PC runs a microkernel OS (Windows 2000), but I didn't notice any slow-downs when I switched from Windows 98.

  25. Standards not always good by 0x0d0a · · Score: 4, Insightful

    Apple might have a proprietary OS in Panther but it is based on standards that allow for easy networking and integration into existing frameworks.

    This is just an aside, and doesn't directly relate to MacOS.

    For a long time, I used to think "standards good, propriatary bad". I wanted everything I used to be standards compliant.

    Then I got into the industry, and ran into some of the standards-setting folks.

    The good news is that generally folks involved with setting standards are reasonably (not necessarily the best) competent. It's not as good a situation as the brutally harsh meritocracy of Linux development, where code with vast amounts of time and effort can get thrown out because someone else came up with a better/faster system, but it ensures some degree of sanity.

    However, politicking involved in standards committees is horrible. Generally, standards are set by industry consortiums, a recipe for disaster. Everyone has their personal pet features they want in, for starters. They then have to advance the interests of their company, so they try to exclude things that might benefit their competitors, and include support for things they're working on (even if they're technically inferior -- so if IBM is making a worse system than Dinky Company, Inc., it's likely that the technically inferior method gets used.). People are under pressure to finalize standards in time for products based on them to come out -- if there are still issues, too bad. Because different companies may prefer different methods of doing something/have different methods under work already, standards need to include support for both. Standards are frequently bad about exluding redundant methods of doing something. Finally, standards are frequently designed for companies doing a product implementation. They often cost money, and while complete they may not be particularly clear. This compares poorly against the RFCs that provide specifications for traditional Internet protocols today (yes, traditionally RFCs weren't final specs, but they are today).

    I've come to realize that "open" is more important than "standardized". If you write a good specification for something, distribute it freely, and you've done a good job with designing the system, others can (and will) adopt the system (if it's better than the alternatives). yEnc, gzip and png were originally "open", though not standardized, and (perhaps more crucially) none were produced by industry consortiums.

  26. Re:Enlighten Me by 0x0d0a · · Score: 2, Interesting

    Because Aqua is mind-bogglingly inefficient and *isn't* the best user interface around. In Apple's golden days, yes, they could claim the best user interface around. However, they lost that claim over time, lost a lot of their HCI people, and now make something that looks like Enlightenment -- emphasis on eye candy over usability.

    I've watched people using Aqua and a ton of other interfaces. About the fastest you'll see anyone is when they're using a fully keyboard-driven interface and are extremely familiar with the particular application they're using. Secretaries with DOS WordPerfect are a good example. A lot of crufty UNIX people with console or minimal X setups and a ton of automation crud they hacked up also fit in this category.

    Mac OS X users rank among the *slowest* users I've ever seen use a user interface. There's lots of waiting and watching as things shift and move around and fade in and out and applications start up. This may be partly due to the fact that many OS X users use laptops, and are stuck with a trackpad, which significantly slows them down.

    All the visual effects make sense *if* they improve coordination. For example, it may be "worth" a half-second of zoom animation if the extra half second avoids two seconds of a confused user trying to figure out where a new window came from -- this is the sort of mentality that drove the introduction of ZoomRects on classic Mac OS. However, I just don't see the kind of delay after doing something with a window.

    I have Windows-T on my keyboard (Linux/X11/sawfish) set up to launch a new terminal in my home directory. Frequently, I whack that combination and start typing immediately. There is no input-device-changing context switch time, there is no waiting for the program to launch, and there is no time required to consult the contents of the screen.

  27. Re:ah, so THAT's the point! (RTFA): by larkost · · Score: 2, Funny

    I don't think you can call it a MicroKernel when your web browser lives in kernel space....

  28. Re:Not just nifty by anlprb · · Score: 2, Informative

    It is specifically NOT GPL compatible. It is Free Software though. Check the GNU site for information about the status of the license.
    Check Here

    --

    One Token Ring to Rule them All, One Search Engine to Find Them, One WAN to bring them in, and TCP/IP Bind them...
  29. Re:ah, so THAT's the point! (RTFA): by squiggleslash · · Score: 2, Informative
    Though it is illegal to run it on non-Mac hardware.
    It's actually merely against the EULA to run it on non-Mac hardware. Whether EULAs are enforcable (at least in the US) is open to question, and it's worth mentioning that you're not obliged to agree or disagree with the EULA until you've already started running the thing on your non-Mac. Installing it on a non-Mac also involves, generally, a custom installer, which has no reason to put up an EULA to agree or disagree with anyway.

    I'm not sure many people would want to go to court over it, but even assuming the EULA is legal, I'm not certain it's enforcable even if it's legit and users do have to agree to it (if you plug in an official Apple mouse, does that count as "running it on Apple-branded hardware"?)

    --
    You are not alone. This is not normal. None of this is normal.