For me OS X is Unix, you say it's based on Unix. Who cares?
The distinction becomes vitally important when people say things like, "It's Unix and Photoshop runs on it, so Photoshop runs on Unix." False statement. Or things like, "It's Unix, so I can just recompile existing device drivers." False statement. Or "It's Unix, so I can write applications that use X11." False statement; while we do offer an X11 compatibility environment, we in the strongest possible terms implore our ISVs to deploy Quartz apps written in either Core Foundation or Cocoa instead. Or "It's Unix, so I can just edit the password file to add a user." False statement. Or "It's Unix, so I can just create an rc.d script." False statement.
The differences between Mac OS X and Unix are far more numerous than the similarities. The distinction is important because if you think Mac OS X is Unix, you're going to find yourself surprised by a lot of things. Pleasantly surprised, hopefully, but surprised nonetheless.
I was, of course, referring to the fact that we replaced the device driver model with IOKit. Yes, we include the/dev filesystem as a legacy compatibility layer, but the internals of Mac OS X device drivers are completely and radically different from Unix/dev device drivers.
We don't want to imply that our product is derivative. I have been told that when Mac OS X was first being marketed, there was a push to call it "evolved from Unix." (That's where I picked up the phrase.) It went hand-in-hand with calling our implementation of Unix "Darwin."
We dropped that idea (the story goes) because "evolved" has a pretty strong negative connotation for a lot of people, too.
So we went with the technically accurate but obviously befuddling "Unix-based."
You're right. He did. I never even noticed that. Either it was a slip of the tongue, or it was a pretty drastic divergence from the established company message. Given the circumstances and the fact that we've continued to stand firm on the "evolved from Unix, not Unix" message for the past (nearly) year, I'm gonna say it was just a slip of the tongue.
Now, let me lob the ball back into your court. In the face of overwhelming evidence both technological and descriptive that Mac OS X is an evolution of Unix and not Unix itself, are you comfortable holding out one impromptu statement made nearly a year ago in the context --in the same sentence even -- as a statement that directly contradicts it, and said in front of a giant slide that read "Unix-based?"
That's because by *every* measure but one, OS X is UNIX.
I don't see how that follows. The only way you could possibly accept that is if you either (a) have a shocking ignorance about Mac OS X (I have no reason to believe that yet) or (b) expand the meaning of "Unix" until it's so broad it describes virtually every computer operating system. I mean, is it still Unix if all it has in common with Unix is the command-line environment, X11 and libc?
Mac OS X evolved from Unix. It features many compatibility layers that make it possible to port Unix (including Linux) software. It is not Unix.
To be fair, if Apple had 90% of the market share, you'd have ridiculuous security problems too.
I keep hearing people say that. I haven't yet heard anybody explain why. You're sort of coming at it from the assumption that all operating systems are equal when it comes to security. I don't believe that's true.
Suggestion, Chuckles: Read the boldfaced type first.
No water was detected from the July 31 crash of Lunar Prospector into the Moon.
Or you could just read the actual release:
This lack of physical evidence leaves open the question of whether ancient cometary impacts delivered ice that remains buried in permanently shadowed regions of the Moon, as suggested by the large amounts of hydrogen measured indirectly from lunar orbit by Lunar Prospector during its main mapping mission.
Sorry, but indirect measurements of hydrogen do not add up to "there's water on the moon!" especially when the one experiment designed to actually detect water on the moon found... none at all.
Gosh, you are absolutely right. I stand corrected. I see by looking at the public link that my copy of the release notes is totally out of date. I guess I missed a draft or three. Wooops.
I'm sorry I came down on you so hard. I was working off of completely invalid information. My bad.
What he said was that Apple is the biggest vendor of Unix-based operating systems in the world.
The key word there is "-based."
(Parenthetically, I'm really shocked by how many presumably smart people can't seem to [or seem not to want to] grasp the difference between a thing and a thing that's derived from that thing. That really knocks me down. It's starting to make me think that we need to rewrite some of our marketing materials. Getting the idea out that Mac OS X and Unix are the same thing would be a disaster for us, because it would lead people who know Mac OS X to think that Unix is just as good, and it would lead people who know Unix to think that Mac OS X is just as bad. And it would lead people who know both to think we're idiots for saying they're equivalent.)
along with a logo that, while it may not have been an official trademark, read "UNIX"
The logo, depicting a metal plate with embossed letters, reads "Unix Based." We still use it. But please note the use of the word "Based." It's not just there for show.
Any reasonable customer is going to assume that when Unix is listed as one of the ingredients on the outside of the tin, that's what they're getting inside the tin.
Except that's not what's going on. If you'll pardon the unflattering analogy, the ingredients list reads "fruit flavors" and you think it reads "fruit."
We market the hell out of our Unix compatibility and portability features. We advertise prominently the degree to which we've included frameworks making it easy to port existing Unix (including Linux) applications. That's not the same thing as saying our operating system is Unix.
Look, the reason for this is very clear: The word "Unix" has a terrible reputation among half of our customers, and a sterling reputation among the other half. To scientific and technical customers, Unix means "better than Windows." To commercial and home users, Unix means "that hard thing that geek tried to get us to use that one time before we switched back to Windows forever."
Obviously we want customers to know that we've brought the good parts of Unix into the 21st century, but at the same time they have to know that we've left the bad parts behind.
It's a very tricky idea to try to get across in two words. We chose "Unix Based." Obviously this hasn't been without its problems.
What we can't let happen, though, is let the idea get out that Mac OS X is Unix. At the risk of sounding (even more) superior (than usual), Mac OS X isn't merely Unix. It's the next generation beyond Unix. It's a quantum leap ahead of Unix. Saying that Mac OS X is Unix puts it on the same plane as Linux, which is definitely not true and is something we want strongly to avoid in our communications.
the difference between Unix and Unix-based has been pretty meaningless
Well, there's only so much we can do with our company communications if people just refuse to understand what words mean, you know? To say that something "is" something and that something is "based on" something are two radically different things. Confusing the two is like (to use an analogy that might be meaningful to you) saying that C and C++ are the same computer language.
Imagine you've got a graduated cylinder, one that holds a cup of liquid. Fill it all the way up to the top. That's Linux's relationship with Unix. Linux is a file-by-file, folder-by-folder clone of Unix, all the way down to things that make no sense at all today like/proc and/dev.
There's a little bit of stuff that's been added to Linux that wasn't present in Unix, but these are basically just replacements for the various X windowing environments. As a proportion, there's very little new technology there.
On the Mac, on the other hand, there's only about a tablespoon of Unix in there. We've got the process model and some of the low-level APIs, sure. We've even got a terminal that offer Unix shells and command-line utilities. But we've stripped away massive parts of Unix --like init and the boot scripts, like cron, like/dev, like the various/etc files such as passwd and hosts --and replaced them with modern improvements, and then we've added tons of new stuff. Whole new runtime environments, like Objective-C. Core Foundation. The whole of Cocoa. IOKit. Core Graphics and QuickTime, lookupd and Open Directory. And so forth and so on.
So that's why I say that Mac OS X evolved from Unix.
Why do you think we call our implementation of Unix "Darwin?"
We've seen it streaming off the ass-ends of comets for centuries
This is why I bemoan the current state of science education in this country.
Yes, you can see something forming the tail of a comet. Do you know what it is? The theory of comets as volatile objects goes back to the 1700s. The idea has been bounced around ever since, notably coming up short when Schiaparelli announced his hypothesis that the Perseid meteors might be fragments of a comet.
We sent probes through the coma of Halley's Comet in 1986; we learned nothing about its composition. We sent Deep Space One through the tail of a comet, but again didn't sample it in any way except photographically.
So basically we know no more about the composition of comets today than we knew three hundred years ago.
A vitally important part of the practice of science is being able to distinguish between observations and suppositions. We have observed that visible matter streams off of comets in the inner solar system. We have made suppositions about what that matter might be. But that's all.
Mac OS X and Mac OS X Server are different products.
Yes, the names are confusing, but they date back way before my tenure here. Mac OS X Server 1.0 shipped way back in 1999, and had very little to do with what we would eventually ship as Mac OS X 10.0.
By now, the "Mac OS X" and "Mac OS X Server" names are so entrenched that we're kind of stuck with them, even though they're confusing to people who aren't familiar with our product lines.
A real server wouldn't be running Mac OS X. It's would be running Mac OS X Server, an entirely different product unrelated to what we're discussing here.
Yup. Exactly. If the machine you're using has a theoretical vulnerability and you're worried about it, the best solution is to disable the service that contains the vulnerability.
I know here at Microsoft we make patches available in a timely manner
Great. How's that working out for you? Have those nasty and irresponsible rumors about Windows computers being infested with spyware and viruses dried up yet in the face of your awe-inspiring ability to ship patches?
This "friend of a friend" stuff aside, when you do experience a crash, you are clicking the little "send report" button, right? All software has bugs and Tiger is no exception, but we can't fix 'em unless you let us know about 'em.
General admonishments aside, I can assure you that the problems you describe with Safari and iChat are certainly not typical. I'd be willing to bet you a big pile of money that, if you're really describing the situation accurately, your friend has some piece of unsupported third-party hackery in place, and that when that's removed, his problems will disappear.
And on the Cisco issue, I just don't understand that one at all. They've had our development builds for nearly 18 months, same as everybody else. Why they decided not to bother testing their product until we shipped is beyond me.
Here's a better suggestion: When you discover that your system is theoretically vulnerable from a buffer overflow or some similar flaw that's never actually been exploited in the wild, how about you simply disable the offending service until we ship a patch that we've taken the time to test?
The series of checkboxes you're looking for can be found in the Sharing pane of System Preferences.
Mac OS X is not Unix. It never has been. We've never applied to use the Unix trademark, nor are we the least bit interested in maintaining absolute parity with Unix.
However, Mac OS X evolved from Unix, and there are many Unix-like pieces left. In particular, many of the programming interfaces common to Unix are still available through a framework we call libSystem. We ship the Unix user interface, X11. We offer a command-line user environment that includes many Unix-like utilities. And so on.
So no, Mac OS X is not now and has never been Unix. But neither is it something entirely different from Unix with a Unix-compatitbility layer bolted on.
So you were simultaneously right and wrong. Neat, huh?
All of them are just theoretical. None of these fixes is in response to an actual event happening out there in the real world. They are all fixes for potential problems that could be exploited.
Digging up some complete assertion from Google is not the right way to persuade someone. I could find you an article stating unequivocally that the moon is made of green cheese. Doesn't make it true.
We've never been to Europa. We've never landed a robot on Europa. We've never even surveyed Europa from orbit. We don't have the foggiest idea what the surface of Europa is made of. A press release from 1995 stating without supporting evidence that Europa's got ice on it ain't gonna cut it.
For me OS X is Unix, you say it's based on Unix. Who cares?
The distinction becomes vitally important when people say things like, "It's Unix and Photoshop runs on it, so Photoshop runs on Unix." False statement. Or things like, "It's Unix, so I can just recompile existing device drivers." False statement. Or "It's Unix, so I can write applications that use X11." False statement; while we do offer an X11 compatibility environment, we in the strongest possible terms implore our ISVs to deploy Quartz apps written in either Core Foundation or Cocoa instead. Or "It's Unix, so I can just edit the password file to add a user." False statement. Or "It's Unix, so I can just create an rc.d script." False statement.
The differences between Mac OS X and Unix are far more numerous than the similarities. The distinction is important because if you think Mac OS X is Unix, you're going to find yourself surprised by a lot of things. Pleasantly surprised, hopefully, but surprised nonetheless.
I was, of course, referring to the fact that we replaced the device driver model with IOKit. Yes, we include the /dev filesystem as a legacy compatibility layer, but the internals of Mac OS X device drivers are completely and radically different from Unix /dev device drivers.
I guess I should have been even more pedantic.
I would suggest "Unix Derived"
We don't want to imply that our product is derivative. I have been told that when Mac OS X was first being marketed, there was a push to call it "evolved from Unix." (That's where I picked up the phrase.) It went hand-in-hand with calling our implementation of Unix "Darwin."
We dropped that idea (the story goes) because "evolved" has a pretty strong negative connotation for a lot of people, too.
So we went with the technically accurate but obviously befuddling "Unix-based."
You're right. He did. I never even noticed that. Either it was a slip of the tongue, or it was a pretty drastic divergence from the established company message. Given the circumstances and the fact that we've continued to stand firm on the "evolved from Unix, not Unix" message for the past (nearly) year, I'm gonna say it was just a slip of the tongue.
Now, let me lob the ball back into your court. In the face of overwhelming evidence both technological and descriptive that Mac OS X is an evolution of Unix and not Unix itself, are you comfortable holding out one impromptu statement made nearly a year ago in the context --in the same sentence even -- as a statement that directly contradicts it, and said in front of a giant slide that read "Unix-based?"
That's because by *every* measure but one, OS X is UNIX.
I don't see how that follows. The only way you could possibly accept that is if you either (a) have a shocking ignorance about Mac OS X (I have no reason to believe that yet) or (b) expand the meaning of "Unix" until it's so broad it describes virtually every computer operating system. I mean, is it still Unix if all it has in common with Unix is the command-line environment, X11 and libc?
Mac OS X evolved from Unix. It features many compatibility layers that make it possible to port Unix (including Linux) software. It is not Unix.
To be fair, if Apple had 90% of the market share, you'd have ridiculuous security problems too.
I keep hearing people say that. I haven't yet heard anybody explain why. You're sort of coming at it from the assumption that all operating systems are equal when it comes to security. I don't believe that's true.
No water was detected from the July 31 crash of Lunar Prospector into the Moon.
Or you could just read the actual release:Sorry, but indirect measurements of hydrogen do not add up to "there's water on the moon!" especially when the one experiment designed to actually detect water on the moon found
Gosh, you are absolutely right. I stand corrected. I see by looking at the public link that my copy of the release notes is totally out of date. I guess I missed a draft or three. Wooops.
I'm sorry I came down on you so hard. I was working off of completely invalid information. My bad.
What he said was that Apple is the biggest vendor of Unix-based operating systems in the world.
The key word there is "-based."
(Parenthetically, I'm really shocked by how many presumably smart people can't seem to [or seem not to want to] grasp the difference between a thing and a thing that's derived from that thing. That really knocks me down. It's starting to make me think that we need to rewrite some of our marketing materials. Getting the idea out that Mac OS X and Unix are the same thing would be a disaster for us, because it would lead people who know Mac OS X to think that Unix is just as good, and it would lead people who know Unix to think that Mac OS X is just as bad. And it would lead people who know both to think we're idiots for saying they're equivalent.)
along with a logo that, while it may not have been an official trademark, read "UNIX"
The logo, depicting a metal plate with embossed letters, reads "Unix Based." We still use it. But please note the use of the word "Based." It's not just there for show.
Any reasonable customer is going to assume that when Unix is listed as one of the ingredients on the outside of the tin, that's what they're getting inside the tin.
Except that's not what's going on. If you'll pardon the unflattering analogy, the ingredients list reads "fruit flavors" and you think it reads "fruit."
We market the hell out of our Unix compatibility and portability features. We advertise prominently the degree to which we've included frameworks making it easy to port existing Unix (including Linux) applications. That's not the same thing as saying our operating system is Unix.
Look, the reason for this is very clear: The word "Unix" has a terrible reputation among half of our customers, and a sterling reputation among the other half. To scientific and technical customers, Unix means "better than Windows." To commercial and home users, Unix means "that hard thing that geek tried to get us to use that one time before we switched back to Windows forever."
Obviously we want customers to know that we've brought the good parts of Unix into the 21st century, but at the same time they have to know that we've left the bad parts behind.
It's a very tricky idea to try to get across in two words. We chose "Unix Based." Obviously this hasn't been without its problems.
What we can't let happen, though, is let the idea get out that Mac OS X is Unix. At the risk of sounding (even more) superior (than usual), Mac OS X isn't merely Unix. It's the next generation beyond Unix. It's a quantum leap ahead of Unix. Saying that Mac OS X is Unix puts it on the same plane as Linux, which is definitely not true and is something we want strongly to avoid in our communications.
the difference between Unix and Unix-based has been pretty meaningless
Well, there's only so much we can do with our company communications if people just refuse to understand what words mean, you know? To say that something "is" something and that something is "based on" something are two radically different things. Confusing the two is like (to use an analogy that might be meaningful to you) saying that C and C++ are the same computer language.
Then what, pray tell, is this page all about?
I guess it would be too much to expect you to read the 48-point type at the top of the page? "Based on Unix," it says in giant black letters.
I'm not gonna repeat myself here. Just go read this.
I don't really like that characterization.
/proc and /dev.
/dev, like the various /etc files such as passwd and hosts --and replaced them with modern improvements, and then we've added tons of new stuff. Whole new runtime environments, like Objective-C. Core Foundation. The whole of Cocoa. IOKit. Core Graphics and QuickTime, lookupd and Open Directory. And so forth and so on.
Imagine you've got a graduated cylinder, one that holds a cup of liquid. Fill it all the way up to the top. That's Linux's relationship with Unix. Linux is a file-by-file, folder-by-folder clone of Unix, all the way down to things that make no sense at all today like
There's a little bit of stuff that's been added to Linux that wasn't present in Unix, but these are basically just replacements for the various X windowing environments. As a proportion, there's very little new technology there.
On the Mac, on the other hand, there's only about a tablespoon of Unix in there. We've got the process model and some of the low-level APIs, sure. We've even got a terminal that offer Unix shells and command-line utilities. But we've stripped away massive parts of Unix --like init and the boot scripts, like cron, like
So that's why I say that Mac OS X evolved from Unix.
Why do you think we call our implementation of Unix "Darwin?"
We've seen it streaming off the ass-ends of comets for centuries
This is why I bemoan the current state of science education in this country.
Yes, you can see something forming the tail of a comet. Do you know what it is? The theory of comets as volatile objects goes back to the 1700s. The idea has been bounced around ever since, notably coming up short when Schiaparelli announced his hypothesis that the Perseid meteors might be fragments of a comet.
We sent probes through the coma of Halley's Comet in 1986; we learned nothing about its composition. We sent Deep Space One through the tail of a comet, but again didn't sample it in any way except photographically.
So basically we know no more about the composition of comets today than we knew three hundred years ago.
A vitally important part of the practice of science is being able to distinguish between observations and suppositions. We have observed that visible matter streams off of comets in the inner solar system. We have made suppositions about what that matter might be. But that's all.
Mac OS X and Mac OS X Server are different products.
Yes, the names are confusing, but they date back way before my tenure here. Mac OS X Server 1.0 shipped way back in 1999, and had very little to do with what we would eventually ship as Mac OS X 10.0.
By now, the "Mac OS X" and "Mac OS X Server" names are so entrenched that we're kind of stuck with them, even though they're confusing to people who aren't familiar with our product lines.
Sorry, but Security Update 2005-004 is for Mac OS X only, not Mac OS X Server.
Maybe you're thinking of 2005-003, which came in both Mac OS X and Mac OS X Server versions?
There WERE macintosh ads that proclaimed it to be unix when it first came out.
I only assume you're referring to Mac OS X, not the Macintosh itself. Of course the Macintosh has no relation to Unix whatsoever.
Our marketing materials say that Mac OS X is "Unix-based." That's probably what threw you. Admittedly the term is confusing.
So if I am a e-commerce business I should just pack up and go home
If you're an "e-commerce business" running public servers with Mac OS X on them, you've got bigger problems than you think.
We ship separate desktop and server versions of our operating system for a reason, you know.
Sorry, that doesn't work for real servers
A real server wouldn't be running Mac OS X. It's would be running Mac OS X Server, an entirely different product unrelated to what we're discussing here.
You mean disable Apache?
Yup. Exactly. If the machine you're using has a theoretical vulnerability and you're worried about it, the best solution is to disable the service that contains the vulnerability.
I know here at Microsoft we make patches available in a timely manner
Great. How's that working out for you? Have those nasty and irresponsible rumors about Windows computers being infested with spyware and viruses dried up yet in the face of your awe-inspiring ability to ship patches?
Yes, because The Register is such a reliable source of journalism the rest of the time.
Oh, wait.
This "friend of a friend" stuff aside, when you do experience a crash, you are clicking the little "send report" button, right? All software has bugs and Tiger is no exception, but we can't fix 'em unless you let us know about 'em.
General admonishments aside, I can assure you that the problems you describe with Safari and iChat are certainly not typical. I'd be willing to bet you a big pile of money that, if you're really describing the situation accurately, your friend has some piece of unsupported third-party hackery in place, and that when that's removed, his problems will disappear.
And on the Cisco issue, I just don't understand that one at all. They've had our development builds for nearly 18 months, same as everybody else. Why they decided not to bother testing their product until we shipped is beyond me.
Here's a better suggestion: When you discover that your system is theoretically vulnerable from a buffer overflow or some similar flaw that's never actually been exploited in the wild, how about you simply disable the offending service until we ship a patch that we've taken the time to test?
The series of checkboxes you're looking for can be found in the Sharing pane of System Preferences.
You're right ... but you're wrong.
Mac OS X is not Unix. It never has been. We've never applied to use the Unix trademark, nor are we the least bit interested in maintaining absolute parity with Unix.
However, Mac OS X evolved from Unix, and there are many Unix-like pieces left. In particular, many of the programming interfaces common to Unix are still available through a framework we call libSystem. We ship the Unix user interface, X11. We offer a command-line user environment that includes many Unix-like utilities. And so on.
So no, Mac OS X is not now and has never been Unix. But neither is it something entirely different from Unix with a Unix-compatitbility layer bolted on.
So you were simultaneously right and wrong. Neat, huh?
All of them are just theoretical. None of these fixes is in response to an actual event happening out there in the real world. They are all fixes for potential problems that could be exploited.
Digging up some complete assertion from Google is not the right way to persuade someone. I could find you an article stating unequivocally that the moon is made of green cheese. Doesn't make it true.
We've never been to Europa. We've never landed a robot on Europa. We've never even surveyed Europa from orbit. We don't have the foggiest idea what the surface of Europa is made of. A press release from 1995 stating without supporting evidence that Europa's got ice on it ain't gonna cut it.