Darwin Source Completely Available
The AC crowd were the first to write in with the news. From Wilfredo Sanchez's diary at Advogato, "Today another big milestone has come up. I imported the sources to the kernel into the Darwin CVS repository today, which means that at this point all of the sources needed to build Darwin are available externally for the first time." For those not in the know, Darwin is the foundation on which MacOS X is based. It's a BSD Unix, including significant contributions from the NetBSD and FreeBSD kernel and userland code.
Neat, eh?
Wow, it almost seems like Open Source... ;)
BTW, my source? Ernest Prabhakar himself (Head Honcho for CoreOS aka Darwin) on the darwin-developer@public.lists.apple.com mailing list, Feb 15, 2000:
> How much of what happens with Darwin between now and the release of OS X client in summer (keep the fingers crossed) will actually end up in OS X client.
Our goal is to make (most of) the CVS repository "live", so that (external) Darwin developers and Apple engineers are working on the exact same code base. Obviously at some point we'd "freeze" a version for our bake cycle, but the goal is that the vast majority of the time *all* external Darwin modifications go directly into Mac OS X.
We're actually pretty far along with this, if you look closely at the repository. The problem is that the current Darwin OS 0.3 release is NOT synced up with the CVS repository. We're trying to fix this as soon as we can.
Good enough for you all?
This is the point that you turn off your little 'network appliance' and think things through.
1. Apple has provided two open-sourced operating systems. Be is 99% proprietary (the only open part being what they had to open-source due to licensing conflicts).
2. BeOS 5.0 is crippled, and just an attempt to get people interested so people will code for these supposed Be-powered toasters and set-top boxes. It's obvious Be is giving up on the OS front. Threat? Not likely.
3. JLG, head of Be, is largely responsible for Apple having been so closed in the past. He was one of the biggest critics of cloning back when he was at Apple. Read up on his history - he's a smart guy, but he's not perfect.
4. Be realistic. Jobs doesn't care about the BeOS one way or the other - he just knew that it wasn't Apple's job to subsidize Be's development. Should Apple pay Be's dev costs? Not now, and esp. not back when they were practically dead (ie. around when Be started backing away from PPC, coincidentally).
5. If the Mac platform is so closed, explain: LinuxPPC, MkLinux, Yellow Dog Linux, BSD, and Darwin. I'll wait.
6. Conveniently timed Intel investment? Hmm...
7. ROM in RAM architecture, move to industry standard components, etc. This is a platform being opened-up, not closed.
8. BeOS is very easy to use, and a great OS overall. But Be's whining about Apple has gotten very old, esp. as Apple has made their platform MORE open. It just doesn't stick.
All the while, Be has been switching business focus repeatedly, meaning (to me) that they just can't do it. Be is not a threat to anyone - if it was only judged on its technical merits, it'd be sharing the market with the MacOS and Linux, and Windows would not exist.
Face it: Be was tempted by the size of the Intel market, and bolted. Now, they've realized that they're screwed going that route, and are jumping into yet another market (so-called 'Internet Appliances'). Good luck, but I just don't see it happening...
- Jeff A. Campbell
- VelociNews (http://www.velocinews.com)
- Jeff
Will run classic MacOS and Rhapsody apps through abstraction layers (carbon and cocoa)
This isn't quite right. Mac OS X will support three API's (4 if you count Java) Classic, Carbon, and Coacoa.
Classic is basically Mac OS 9 running as a single process inside the Unix environment. It has a number of enhancements that make it work nicer with non-classic apps, but basically it's just a Mac OS emulator. It will allow users to run their old apps right out of the box, but without the benefits of protected memory and preemptive multitasking.
Carbon is a subset of the existing Mac OS API that allows developers to quickly "tune up" their apps to take advantage of the modern OS features. It provides a gentle migration path for existing users, and is designed to allow developers to make minimal code changes. Each Carbon app is a full Unix process, with all the advantages of preemptive multitasking and protected memory.
Coacoa is the Next-derived API that is based on OpenStep and Objective C and was originally slated to be the only API offered in Rapsody. This is an object-oriented API that I've read is one of the best development environments ever created. Apple presumably sees it as the future of the platform, and will be encouraging developers of new products to use it rather than carbon.
So Coacoa and carbon are not simply abstraction layers to an underlying API. They are themselves full-blown API's.
Most likely because MacOS X is based on NextStep/OpenStep and OpenStep uses Mach & BSD kernel. Also, Apple probably wants some control over their code. Their custom license gives them control; GPL doesn't.
...should be ready soon.
2 -14.01.html
The OS X Server version is already running - http://www.stepwise.com/Articles/Workbench/2000-0
With the GPL there would have been ACs all over them from day one to release their unworkable alpha code (cf Corel). Anything they derived from Darwin (the rest of Mac) would need to be sourced as well, but I suspect they have NDAs with other companies that prohibit this.
I could go on an on, but I'll stop. In short, a BSD or MIT license allows a company to go Open Source without inadvertantly running afoul of someone else's copyright.
A Government Is a Body of People, Usually Notably Ungoverned
Apple is exposing (correct me if i'm wrong here) three APIs-- one for Darwin, which is most of the BSD/Unix api's, one for "Carbon"-- halfway between old-style mac stuff and the newest-coolest, and "Cocoa", which aside from being a lame reference to Java, should provide real advantages in speed, and of course stability. Did I get that right?
anyway, it looks like lots of Linux stuff should now be trivial to port to mac, and THIS IS GOOD FOR EVERYONE because it means that Windows will have less software than Mac or Linux. cool.