Apple Announces Darwin 1.0
Quite a number of folks have written in with announcement from Apple saying that Darwin 1.0 is released. It's got the BSD core that's been discussed before, along with Mach 3.0 - and here's to hoping that Apple will open up all OSX, at least in some fashion or another.
This is troublesome.
Is it Apple, open-sourced,
Or just Apple Sauce?
Thank you.
It finally loaded. At
second question:
http://www.publicsource.apple.com/ps-faq.html,
Q. Does the Apple Public Source License qualify as an Open Source
license?
Yes, the Open Source Initiative has determined that the Apple Public
Source License is conformant to the "Open Source Definition:"
http://www.opensource.org/osd.html.
You might want to read that license again.
Yes, Apple "grants" you the "right" to distribute your modifications or more specifically to "deploy" modified code. But, they retain the right to use, to modify, and to distribute your modifications as they see fit without royalty. In other words, they can take your changes, make one or two changes, incorporate their hacked up version of your code into commercial OSX without folding that code back into Darwin.
You don't have full rights to any code that you've written.
Thanks to the BSD license, they can get away with this. If their code were based on the Linux kernel rather than Mach and BSD, they couldn't. That's why this puppy's userland is based on FreeBSD rather MkLinux/GNU.
That said, this sounds like a really cool project. I've always been impressed with Mach and microkernels in general. I'd like to get a BSD-lites system up and running or maybe jump in with the HURD.
It might be cool if we could steal the thread model from Mach and somehow make it fit in Linux. Then, we'd have a truly lightweight thread model instead of one based on the Unix process model.
Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
It's interesting to note that for the most part, the BSD community considers Darwin to be one of their own. If you look at www.daemonnews.org, you'll see link buttons at the bottom of the page for all the BSDs, including BSDi and MAC OSX.
A Government Is a Body of People, Usually Notably Ungoverned
Technically, there isn't really an openstep specification anymore. Well, there is, but I doubt it means much these days. Cocoa is the definative implementation of the artist formerly known as openstep, however. GNUstep's goal is to be 100% compatible. So does this mean an app will just work under GNUstep? Nope. They use different makefile formats for one. Easy enough, a utility could convert between the two. But Apple uses dynamically loadable interface components, currently stored in binary format, supposedly one day in XML descriptions. When it goes XML, GNUstep can probably use them. For the meantime, it won't work. Lastly, GNUstep isn't done. There's a lot of the GUI stuff that hasn't been implemented. A lot of it is there and doing quite well, but not where it has to be for 100% compatability. In all likelyhood it will be several years before GNUstep is complete enough that *any* OSX app could be recompiled.
1) If even you don't know that "linux" is a proper noun, it can't be too mainstream.
2) Trolling (redundantly) with a famous-guy +1 bonus is uncool.
3) It is time to moderate me down for 2).
4) Thank you.
Your mouth is like Columbus Day.
As far as a web browser goes, you're looking for OmniWeb. Lynx is also available. Didn't OmniWeb come with OS X though? For Darwin, only Lynx is available.
What makes DARWIN different is, that it runs on the Mach 3.0 kernel.
This kernel gives you the option of running multiple OS's simultaneous on one box, without some of the sacrifices you make with todays emulators.
I wouldn't mind having dual boot become a new definition, where you actually run BeOS, MacOS, *BSD, Linux, and even Winblows at the same time.
Yes, 3rd party developers were pretty pissed at the cancellation of Copland, however, they would have been more upset if they had actually produced apps for it.
/.-ers won't, here is the skinny on Copland.
If you want to get a good insight into why it failed, read Gil Amelio's book "On The Firing Line - My 500 Days At Apple". Assuming a great number of
Copland was designed to be a direct competitor to Windows 95. However, by the time it was two years late, Amelio came aboard and saw that there was no way in hell it would be complete until 1999 at the earliest.
Not good.
What made it especially bad was the fact it was being managed by an engineer, which as the past 20 years of computing has shown, is a very bad thing. Copland was missing numerous key features, such as memory protection and real Preemptive Multitasking.
Which it was never intended to have. Unfortunately, Copland was an OS out of time. It was supposed to be done in 96 or 97 and be a stepping stone to Gershwin, which would supposedly put NT to shame and include complete backwards compatibility with all the cool features of a modern OS. Too bad the Copland team had never thought to do any work on Gershwin, and it remained a feature spec on paper, now and forever.
While the Copland team was neglecting Gershwin and floundering the development of its own OS. It removed almost all of the engineers working on System 7 development under the outrageous assumption that it was still following its original development schedule and that System 7 would be obsolete in a couple of months, so what was wrong with halting support?
Quite a bit actually. This is the reason the whole System 7.5/Performa time is so embarrassing to Mac users. Especially because so many machines from that era are still in use, pissing off PC users to this day, resulting in skewed opinions and the chant of "Macs Suck" that is so often heard.
Anyway, Amelio dumped Copland, bought out NeXT (Be was too greedy and Bill Gates was fibbing about how easy it would be to resolve some of the technical problems involved with Mac NT).
The result was Rhapsody. Development continued for about a year, and things were looking up. That is until Adobe, Macromedia and quite a few other software makers realized they would have to completely rewrite all their apps for Objective C. (a.k.a the Yellow Box and Cocoa).
An collective "Oh Shit" went out across the Cupertino campus. So realizing that app vendors would desert them, Apple decided to revise the Classic API, put in into Rhapsody, make it backwards compatible with the Classic MacOS, put in a newer Mach Kernel, create a new display engine along with a host of other improvements and call it Mac OS X.
Halfway through this, they shipped a server version of Rhapsody called Mac OS X Server simply to prove they were doing something worthwhile.
Now, everybody's happy. The users (mostly), the app makers and most of the press.
IANAL-
Yes, Apple "grants" you the "right" to distribute your modifications or more specifically to "deploy" modified code. But, they retain the right to use, to modify, and to distribute your modifications as they see fit without royalty. In other words, they can take your changes, make one or two changes, incorporate their hacked up version of your code into commercial OSX without folding that code back into Darwin
They retain the right to use your code, under the same license. Unless your code is developed specifically for apple, your code stays in the apple public license.
You hereby grant to Apple and all third parties a non-exclusive, royalty-free license, under Your Applicable Patent Rights and other intellectual property rights owned or controlled by You, to use, reproduce, modify, distribute and Deploy Your Modifications of the same scope and extent as Apple's licenses under Sections 2.1 and 2.2;
This is saying that Apple can take your modifications and distribute them as per the Apple Public License
Apple retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Apple ("Apple Modifications"), and such Apple Modifications will not be automatically subject to this License. Apple may, at its sole discretion, choose to license such Apple Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all.
This is the section I think concerns you, this is stating that modifications made by or for Apple can be released under other licenses.
Here are a couple of examples of how I see this working:
You take Darwin, modify it and add other software to make it Linux compatible. You distribute this new Darwin on your own. Apple can then use your modifications under the terms of the Apple Public License, and therefore must release the source. This is covered under Section 3 of the license. SInce your personal modifications are your own intellectual property, which they recognize as such, they must abide by the same terms you must under the Apple Public License.
Now, if Apple calls you up and has you under contract of some sort to do the same thing, those modifications are covered under section 11 of the license, as they are done not for you but for Apple, and those modifications are Apples property not yours. Thus Apple can release the code under any license it desires.
The GUI is based on Quartz, a way-cool vector based rendering engine that came out of NeXTStep. There is no X at all in MacOS X, although Jon Carmack has worked on porting XFree (which already runs on LinuxPPC) to Darwin
The license *is* an OSI certified license. It's even copylefted. IMHO, Apple should be thwacked for taking BSD code and copylefting it. Oh well, that's the downside of BSD's freedom.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Why are you surprised so few people have installed it? Most of the "hard-core" developers I knew that would-a-loved Darwin, like me that did driver development and couldn't find work ~96-97, left the platform in droves during the same time period. (Actually, the death of OpenDoc and Apple's almost intentional poor treatment of faithful hard-core developers -- oh the stories I can tell -- the pooching of Copland and kernel/driver architectures -- the absolute emotional response Apple had to developers offering suggestions that were bitter pills, contrasting Apple's policy of cliquey-positive-re-enforcing blindess...).
For open source to work, you need a healthy hacker-like developer base, wraught with enthusiasm. Just think of QuickDraw 3D and OpenGL politics and hurdles! The evil cycle of no tools, (no support/hope), people that try provide going under as niche markets dry up... The resource pool to embrace Darwin is very small.
I have two copies of 1.2 X Server that arrived. I have Darwin. I don't have a Mac I can install them on (a lie, it works on my G3 upgrade with some diddling), and until the hardware discount comes back to the associate developer program, I cannot justify buying a new Macintosh. Even if I did, why would I bother? Bereskin said publically that OS X Server would never be updated! (Funny how this update appeared.) Why would the faithful support something they were told [is dead dead dead] by Apple itself?
There is a lot of bad history and bitter developers.
Bernie Wieser (bernie@octavian.com)
"Apple intends to be the premier Java development platform." WWDC '96 keynote
/\/\icro/\/\uncher
So let me see if I have this straight: Apple attempts to offer us a modern Unix-based OS, that for the first time in any Unix-varient's history, will have a large library of commercial applications avialable. Apple attempts to do something that has never been done in the history of any of the major personal computer OS's: give us access to the source code. John Carmack, who certainly could ignore Apple and Linux and just do stuff for Windows, decides to be *extremely* gracious and donate some of his time to the project. He also asks some people to help. And the reactions are: 1) Apple did me wrong in the past. Screw them. 2) I don't like how the open source license is worded. What am I missing here? Yes, Apple has made many extremely stupid moves in the past. Yes, we've all been burned by some of them. But good Lord people! There has *never* been an opportunity like this in the history of personal computing. If the community were to get behind Darwin, it could become the first real competitor to MS. People whine and whine how what they really want is Linux with great apps. Well, here's your chance. So far it sounds like we're going to let this opportunity pass because a bunch of hackers have their nose out of joint. If John Carmack can see the potential good that can come out of this, can't some of you do the same? (And yes, I'm going to do my part. I can't write drivers, but I'm certainly going to write as many apps as I can and port as many tools as I can.) Wade
OFFICIAL UEO DOCUMENT FOLLOWS
As the captain of SeaQuest, DSV, I'd just like to express my sadness at the release of Darwin. As you know, Darwin was getting a little old, and I was tired of him and Lucas always screwing up our plans. So, last Thursday, the senior officers and I finally reached the decision to release Darwin.
Capt. Bridger
Seaquest, DSV
END OFFICIAL UEO DOCUMENT
------------
a funny comment: 1 karma
an insightful comment: 1 karma
a good old-fashioned flame: priceless
this sig limit is too small to put anything good h
It's got the BSD core that's been discussed before, along with Mach 3.0
Thanks to Mach 3.0's inovative microkerel design, I've gotten the closest shave ever!
DrLunch.com The site that tells you what's for lunch!
On the one hand, it's fair enough that Apple graphics (perhaps nee NeXT) are Apple's, but there are rumblings that Apple wants to get "medieval" over this. There has been a "reaction of silence," as well as more vigorous reactions.
The distressing part, described in this article, is that it appears that access to the OPENSTEP API may not be as open as everyone would wish to believe. To wit,
Of course, the most distressing part is this message purported to have come from Steve Jobs, where the salient bit reads: From: Steve Jobs Sent: Monday, April 03, 2000 10:19 AM To: Lucas C. Wagner Subject: GNUstep Lucas, As you may know, Apple owns the Cocoa and OpenStep APIs, and will not feel great about others using its intellectual property without premission. Best, Steve
Open is as open does. If Apple winds up suing anyone over GNUstep, I'd say that tells you how committed they really are to "open source."
If you're not part of the solution, you're part of the precipitate.
..and here's to hoping that Apple will open up all OSX.
I was listening to Eric Raymond at the Geek Pride thing last weekend. On one hand, I was impressed with how he's obviously given his pitch to skeptical audiences and how that made him sound much more convincing than the the preaching to the choir that one normally hears here. On the other hand, I couldn't help thinking, "OK, we've heard the theoretical arguments now. And what has it done for anybody in reality?"
If I were at Apple, I'd be waiting for somebody - anybody - to demonstrate that free development can really be more profitable than proprietary work. (Note that a stock valuation greater than the worth of Belgium isn't profit. Note also that I'm talking about open sourcing a product for which the company makes the primary investment, not taking existing GPL software, packaging it and maybe paying somebody to improve it.) Until I saw that, why on earth would I risk Apple's current profitability to be the first to test out ESR's theories?
What I'm listening to now on Pandora...
now, that's a high-octane statement, so please give me a chance to put it in context before hauling out the flamethrowers..
according to the documents ESR has written, which are arguably the core of the Open Source manifesto, developers have a responsibility to the project from which the code comes. the coin of the Open Source realm is respect for the primary developers, and participation in the project for which the code was originally written.
now, i've never seen anyone say, "if Apple opened their GUI, i'd work to improve the Mac OS." it's always, "if Apple opened their GUI, we could port the good parts to Linux." that's not participation, and it's not respect. it's pillage.
that being the case, i'd suggest everyone take another look at _The Magic Cauldron_, section 6, where ESR discusses reasons to keep source closed:
"The real question is whether your gain from spreading the development load exceeds your loss due to increased competition from the free rider."
in the case of Apple opening the source to its GUI (and all its other crown jewels), i submit that the Linux community shows significantly more interest in causing Apple increased losses through competition than it does in helping spread the development load on Apple's own projects. until that changes, it seems to me that Apple's most rational choice is to keep the source for those projects closed.
if we want that code opened, we have to do more than sit around saying how deserving we are. we have to convince Apple that the community will give enough back to compensate for the inevitable jerks whose only response will be "thanks.. sucker! hey everybody, look what i've got!"
Apple took a lot of heat when they first opened Darwin because people (no less than PMS) considered it "a cynical attempt to leverage the community for free labor." i think there's a risk that people who want Apple to open the GUI and Quartz (and the Sorensen codec, for those of you who want a Linux QT player) may be doing the same thing in reverse. they're shouting 'Open Source' to cynically leverage free work out of private companies, with no intent to repay the original developers, even according to the standards of the Open Source community itself. they want easier competition, not a chance to participate.
i don't think the idea of Open Source can legitimately be used to force someone into a disadvantageous position. if we're not willing to put up a critical mass of developers who'll work to Apple's benefit, i don't think our own standards give us the right to demand more than we're getting.
Seriously, though, the next few months will be very hard on a lot of Mac system admins, I suspect. Most of the ones I've had to deal with are people who got roped into doing it part time (since most places only have a few Macs, and even places that have a lot -- like certain government institutions -- still get by with one or two dedicated Mac techs, if that many). They know enough to install system software, but next to nothing about tuning a system, or knowing what needs updating and what should be left alone (or thrown away), and why having multiple copies of Acrobat Reader is not a good thing, especially when they're different versions.
People like myself, who saw the writing on the wall years ago, and who already had some Unix experience, will (hopefully) be in high demand as the complexity of the Mac OS goes up with OS X's release. But I fear many companies will balk at the thought of having to suddenly train and support their Mac staff. "But I thought they were easy to use!" Yeah, easy to use, but you still have to know how to administer them properly.
I suppose the benefit is that suddenly there will be a lot more people looking for Unix knowledge, and a lot more people trying to get it. I just hope Apple can find a way to support those of us who support them, by offering more training (the new AppleCare program is a start) or even...shudder...some kind of certification program, to separate the gurus from the weenies. Not that it's worked especially well with the MCSE...
I use Macs for work, Linux for education, and Windows for cardplaying.
I was elated when Apple announced the original Open Source Darwin initiative. I never would have guessed they would go for it, and I think it is a Very Good Thing.
Getting everything together for a public release is a very non-trivial task. I know the hassles we go through, and darwin is 100x the size of our codebase.
After all that work, including pressing CD's, it was met with a fairly resounding silence.
The darwin mailing lists were dead. It sometimes seemed like there were a grand total of a dozen people with darwin installed.
It was looking like this might go down as a large example of how going to the trouble of Open Source doesn't get you anything but hassle.
It didn't help that darwin was basically unusable by itself, because all you got was a single very slow text console with messed up key bindings. Not exactly a happy development environment.
(most of the active development work is done in the usable environment of OS-X server)
The general response that interested people gave as to why they weren't doing any development with darwin was that "everything is going to change in the next release" (the driver architecture was massively reworked).
Well, the new release is here now. There is still the problematic issue that you can't run ANY current gui on darwin 1.0. OS-X server and the developer seeds of OS-X client are both out of sync with the darwin codebase. All the excuses won't really go away until the next OS-X client release.
A couple months ago, I took on the porting of X windows to Darwin, so it could actually be considered halfway usable by itself.
I released the patches to get X windows running under MacOS-X server, which was basically the same core as the earlier darwin release.
I was then given the same excuse as other people -- why bother porting to the native darwin video and input drivers if everything is going to change soon?
As of now, I am actively feeling guilty about not finishing it. Everything is there for me now, I just need to find the time.
I had been spending my weekends on either GLX or darwin X server work after Q3 shipped, but my R&D "research" has shifted to "development" faster than I expected, and the past few weekends have been monopolized by new engine work. I'll get to it within the next month, but if someone wants to pick up first, feel free...
It may turn out that many of ESR's arguments just don't pan out for Apple, as far as having outsiders improve the core codebase. Even so, releasing the source will benefit Apple by giving application developers the "ultimate docs" on the OS.
I think Apple deserves a lot of credit for the step.
John Carmack
Very good. I like it. Personally I would probably prefer it over the GPL on first reading, I'd have to print it out and compare it clause for clause to really judge. But at first glance here are the benefits:
No royalties
Source MUST be included if you distribute it, whether modified or not
The license to use the code is automatically terminated if you violate it.
You can distribute it ON YOUR OWN, you do have to register mods but are not prevented from distribution
Apple does get full rights to use any of your code, but you still have full rights to distribute. Mods made for apple specifically are under whatever license apple wants, but personal mods are still under this one. Modifications are REQUIRED to be documented clearly.
This is a great thing. You could take Darwin and port say BASH, other necesary GNU utilities and throw X on it to make a full OS. The license specifically allows you to mix it with code from other licenses, with the sensible provision that code under the Apple license is clearly marked as such. I would have to look at the GPL more carefully, but Apple seems to have made a far better balance between the interests of the otiginal developer and the interests of OSS developers in the real world than the GPL does