Apple Releases macOS 10.12 Sierra Open Source Darwin Code (9to5mac.com)
An anonymous reader writes:Apple has released the open source Darwin code for macOS 10.12 Sierra. The code, located on Apple's open source website, can be accessed via direct link now, although it doesn't yet appear on the site's home page. The release builds on a long-standing library of open source code that dates all the way back to OS X 10.0. There, you'll also find the Open Source Reference Library, developer tools, along with iOS and OS X Server resources. The lowest layers of macOS, including the kernel, BSD portions, and drivers are based mainly on open source technologies, collectively called Darwin. As such, Apple provides download links to the latest versions of these technologies for the open source community to learn and to use.
I know several friends plagued with the latest macbook and looking for an alternative, but dont want to sacrifice the reliability of the OS. BSD is an excellent choice, and Darwin helps to inform the more inquisitive mac user that there are alternatives if you can tolerate reimaging the machine, or buying different and sometimes less sexy hardware.
Good people go to bed earlier.
Open source is fine and dandy, but the real killer feature is being able to easily fix a bug in the OS yourself, deploy and test to yourself, and share with others.
How easy is it to do that with Apple's OS these days?
That makes two retarded shit-filled idiots. Apple does not have to release the vast majority of the code that they have. Very little, if any, is released under the GPL.
Like they've done with every version? Of course it's only the code they have to release.
Not true. They don't have to release a lot of it; for example, the XNU kernel is licensed under BSD licenses, the BSDish license under which Mach was released, or the APSL, none of which oblige Apple to release any of it.
There are already some projects based on Darwin, and you can build your own GNU/Darwin (or whatever userland you prefer/Darwin) distro if you have the patience.
However, you need to set you expectations right. What Apple is giving you is basically the equivalent of a Kernel + some core system utilities and drivers. This does not include the graphical stack (the equivalent of Xorg or Wayland). It should be possible to run Xorg on a GNU/Darwin system, but don't expect any Mac applications to run at all. You'd have to re-implement the Mac graphical API (cocoa, I believe it is called).
Still, it is interesting that Apple released this.
Must stop skim reading.... I read that as "Apple just open sourced sex"
"She's furniture with a pulse"
Yeah, I'll admire them more when they publish the source code of Quartz as open source.
There are already some projects based on Darwin, and you can build your own GNU/Darwin (or whatever userland you prefer/Darwin) distro if you have the patience.
However, you need to set you expectations right. What Apple is giving you is basically the equivalent of a Kernel + some core system utilities and drivers. This does not include the graphical stack (the equivalent of Xorg or Wayland). It should be possible to run Xorg on a GNU/Darwin system, but don't expect any Mac applications to run at all. You'd have to re-implement the Mac graphical API (cocoa, I believe it is called).
Still, it is interesting that Apple released this.
BSD released a compat layer for linux programs years ago. To compile a great deal of the essential opensource software that runs on linux distros you need this layer on the BSD. I can't see why this cannot be done for the Darwin kernel seeing that there are a more limited number of hardware drivers something which makes coding for Macs a more sensible platform in some ways. Essentially forgetting about involving the proprietary guis of the Mac windowing environment and using cloned opensource ones.
Actually, most of those things should be true. Charities wouldn't be necessary if government properly taxed the wealthy and provided a universal basic income. Voting should be mandatory. I can't think of a single valid reason why organ donation shouldn't be mandatory, you're dead, you're not using it any more, you and your family members should have no say whatsoever. And vaccinations should absolutely be mandatory unless they're medically contraindicated.
And it should be illegal to sell software without source code.
I mean, fair enough, the OS code they release is only the code they "have" to release, but that's not to say that Apple isn't contributing heavily to open source.
There's tons of source code they've released that they didn't have to: ...
clang
swiftc
cups (yes, they own it now, they absolutely could close it if they wanted to)
ALAC
GCD
Their CalDAV server
The GPL doesn't force anyone to do jack shit. If you don't want to release source code, either use non-GPL code as a base, or don't release anything. You're never forced to use GPL'd code as a base in the first place, how can it possibly be forcing you to do anything?
You are not alone. This is not normal. None of this is normal.
GNUStep has been working on FOSS clones of a lot of NextStep derived technologies. They're not all the way there yet, but it's worth checking out.
You are not alone. This is not normal. None of this is normal.
Apple pie is a perfectly suitable dessert on Thanksgiving as well!
Browsing at +1 - no ACs, I ignore their posts. So refreshing!
Forget about the closed GUI frameworks and software - Apple closed up a number of mandatory kernel extensions needed in order for XNU to boot since Darwin 9 (OS X 10.5) - this is one of the main reasons why the PureDarwin project has pretty much halted.
If you want to make an open source version of Darwin then it involves some very extensive reverse engineering. A number of tarballs for the kernel extensions that they still provide are completely outdated and many things have changed since then. The current Darwin version is 16.
The extent of the XNU source code these days is used for adding AMD CPU support for osx86.
Yeah, I'll admire them more when they publish the source code of Quartz as open source.
No business case for that, in fact probably a negative one from clones and knock-offs. Like several have pointed out, Apple doesn't have to do this. They do it because it helps to split development costs between them and a bunch of companies using BSD tools/kernel for routers, firewalls, NAS, embedded, web servers etc. and reduces divergence so it's less work to maintain and incorporate patches from others. No real competitor to Apple's consumer products (iPhone, iPad, Macs) uses it and it's unlikely that anyone will. They got zero interest in helping anyone else make Mac-like GUIs.
Live today, because you never know what tomorrow brings
Understand that the MacBook OS is a BSD kernel
Well, Mach+BSD, but both are open source.
the GNU OS (tool chain)
Some of userland is GNU (and some of it may be GNU in various of the *BSDs). Other parts of userland are also from BSD, or written by Apple, or code from various other places. The toolchain, if by that you mean "the compilers, the assembler, and the linker", aren't GNU any more or were never GNU. The assembler and links are from Apple (some possibly ultimately from NeXT); the compilers used to be from GNU, but they're now from the LLVM project.
No one forces you to use GPL code that other people have written.
I never understood why people consider this "the freedom to take away freedom" (or the related problems often termed "tolerance of intolerance") argument to be compelling. "Boo hoo, this society is so repressive! I'm not allowed to punch random people in the face!" It's entirely reasonable to insist that people who want to use open sourced software for their own ends not change the license. There are multiple real-life examples showing us of how this can go badly for permissive and multiple real-life examples of how GPL enforcement can lead to very worthy projects appearing.
Major corporate-sponsored permissive-licensed OSS didn't even take off until years after the GPL had established itself, as a reaction to the GPL. Google doesn't Apache license Android userland stuff out of the goodness of their hearts or because they think permissive freedom is "real" freedom. They did it and do it because the GPL was already well established in the Linux ecosystem and they really didn't want to see any competing GPL projects emerge.
The anti-GPL / pro-permissive position is, for the most part, completely disconnected with reality.
This is an interesting argument. On the one hand, getting something for free can lead to laziness and complacency. Yet, somehow we let children go for nearly 18 years sometimes without earning a paycheck. Oh, sure -- some get an allowance for chores or get a paper route -- some even flip burgers in their teens, but really it's not enough to live on. It's as if we let their wealthier parents take care of all their basic needs, but they can go out and earn discretionary income if they're motivated enough! Why, it's pure Leninist Communism on the family-scale!
Or, you know. Maybe in a world where human physical labor is obsolete and even many white collar jobs are now obsolete, maybe we should prepare for a world where just about every job is obsolete, and the rich, wealthy owners of the land and corporations can afford to use the immense wealth built on robot labor and Artificial Intelligence to let everyone have their basic needs tended to with a tiny bit of discretionary money to buy their products so that the whole system doesn't collapse under its own weight. Because if you have an AI/robot workforce and so does every other company on the planet, no one has a real paycheck to buy products, so the economy collapses and your AI/robot infrastructure crumbles b/c it's useless to make things for people that can't afford your products.
Hyperbole? Nope. China is replacing their human workforce with robots. Read that again and let it sink in a bit. China, where workers are paid less per year than many Americans make in a week has decided to replace thousands upon thousands of human beings with robots... b/c it's cheaper. Self-driving cars are going to be a thing in the next 5 to 10 years -- so much for those 2 Million American trucking jobs plus another few million taxi drivers... and Uber/Lyft. I've seen whole departments shelled out to the core to be replaced with automated systems. The other day, I saw a robot tattoo artist! Seriously, it scans your body, preps the needle, and will do a complete sitting for a tattoo given the design. There is no job that's safe. Legal Clerks are being replaced with automation. Nurses, pharmacists. Even surgeons. The more creative and nuanced the job, the longer the hold-out... but it's coming. The information age made globalization possible, but the AI age will make global massive joblessness a reality -- Who would hire a human being if an AI and/or robot could do the job cheaper, faster, for longer, and more reliably?!?!? Most kiosks cost around $30K -- and McDonald's is rolling those out nation-wide to replace people that used to take your order (or at least prevent them from having to hire more than a couple people capable of taking your order per site) Many auto-manufacturing robots are cheaper than union labor. In the USA, we have union workers sitting in seats on robot arms and the arm moves the worker to the place for them to screw the bolt in. In foreign plants... that human is replaced by a robot hand that does the job better. How long before the unions break down and let the USA plants do the same?
Look kids. Get over the small minded philosophical hangups. Understand that the MacBook OS is a BSD kernel + the GNU OS (tool chain) + Plus the NSstuff that Next brought. That's it. The vast majority of code is already open, because it has been developed by the community over 30 years.
the XNU kernel is an evolved version of the XNU kernel from NextSTEP that uses some BSD components, CMU Mach microkernel components and C++ I/O Kit which replaced NextSTEP's ObjC DriverKit. It's not a "BSD kernel" per say. the toolchain is definitely not GNU at all. LibSystem uses no GNU code at all. It uses the BSD standard library libc, not glibc. clang is the compiler, not gcc as that's something they got rid of many years ago. They do still use some software preinstalled that are under GPL but it's no "toolchain". See Apple’s great GPL purge.
A number of important components are completely closed which are needed to boot XNU on its own, like PlatformExpert. So you're not exactly correct in your statement here.
Like they've done with every version? Of course it's only the code they have to release.
Not true. They don't have to release a lot of it; for example, the XNU kernel is licensed under BSD licenses, the BSDish license under which Mach was released, or the APSL, none of which oblige Apple to release any of it.
Not to mention all the work their doing with LLVM/Clang. Given it's license, they could have gone closed source (especially after hiring the original creator/s in 2005).
They also hired the main CUPS guy, and while it's GPL, could have insisted that he only do in-house stuff, but they still have him to open source stuff.
That makes two retarded shit-filled idiots. Apple does not have to release the vast majority of the code that they have. Very little, if any, is released under the GPL.
I really wish people would do their homework before slinging around words like 'retarded', 'shit-filled' and 'idiot'. Slinging obscenities just makes you look like one of those cocky foulmouthed gopniks who proved to be so thick and insolent that your mother wrote you off and gave up on teaching you good manners. As for code, it does not have to be released under GPL to be open source and modifiable. I have been told many times by all kinds of pundits that macOS open source code is released under the express condition that you are do not modify it which is complete bullshit. The Apple Public Source License was approved by the Open Source Initiative and the Free Software Foundation. I have downloaded OS X code, fixed bugs that pissed me off, compiled and installed the resulting binaries on my system more than once. The biggest problems I've had with this entire process is getting the nimrods at Apple support to take me seriously when I file a bug report complete with a roadmap of how to fix the error but that does not change the fact that you can actually fix bugs in a whole lot of macOS code yourself if you are willing to bother. The one thing Apple has not done yet is sue me for modifying the code they released under APSL.
Linus was using a Mac for Linux at one point. I don't know if he still is?
If you have the money, why not buy the hardware you like and run the your preferred OS on it?
Jumpstart the tartan drive.
Lenin openly advocated terrorism. He advocated the execution of economic speculators, etc. I don't understand what people in the modern era mean when they call things like a 'universal basic income' Leninist. Typically, they are people who have never, ever, read anything written by Lenin.
The biggest problems I've had with this entire process is getting the nimrods at Apple support to take me seriously when I file a bug report complete with a roadmap of how to fix the error
That is NIH (not invented here) syndrome. Everything good comes from Apple, and if it doesn't come from Apple it must be bad. Except for things they steal, of course, which is most of the big things like the GUI, Mouse, etc.
I mean, fair enough, the OS code they release is only the code they "have" to release
Actually, as I said in another post, they don't even "have" to release all of the OS code.
There's tons of source code they've released that they didn't have to: clang ...
...XNU, the C library, a bunch of kernel extensions, and so on.
I remember about 15 years ago when I downloaded the darwin ISO and installed it on a machine. It was a basic unix-like system, similar to installing a NetBSD base install. Probably pkgsrc would be portable to it, so it could be a complete freenix solution to install and just use.
But my understanding is that Apple quit supporting or even allowing an installable Darwin ISO. So this is just bits and pieces out of their code repository that you can look at but not do much with unless you buy their stuff.
I'm sure I have that old darwin ISO stored away somewhere in my large collection of media (I save everything, so I even have Windows 2 shareware and applications stuck somewhere on an archived DVD) but it's about fifteen years old.
I'm pretty sure I have a NextSTEP CD install set, but it's for the PA-RISC hardware (Hewlett Packard desktop workstations, which are LOOONG gone) I wish I had an x86 NextSTEP installer, but those go for huge $$ when you can even find them, on the collector's market.
OpenDarwin was killed by Apple ages ago. This 'Open Source Darwin Code' is a joke.
There is no choice, that has been taken away.
No, a choice has been given where no choice existed before. Go try to modify and redistribute non-Darwin bits of OS X (assuming you can find the source) if you don't believe me. Copyright law being what it is, the default is zero freedom. If the GPL FORCES people to do stuff (or if it's "viral", though you haven't mentioned that word yet), how would you characterize proprietary code? Surely, the verbs and adjectives there must be much more dire.
Apple has for example been dumping GPL for BSD (etc) licensed software
Because it gives them an easy kill switch, or other flexible control down the road. Likewise, the only reason Google prefers Apache is so they (and their OEM partners) retain the ability to easily break compatibility and enhance lock-in in arbitrary ways. This isn't theoretical. Their licensees have done it already, repeatedly. The further balkanization of Android / Linux is a good thing, is it? The world needs more piddling, shitty, mutually incompatible walled gardens, does it?
Further, I do not think of BSD-based OS X and iOS as having been particularly good things for humanity[1]. I definitely don't think that 90s Microsoft was good for humanity, when they reportedly fixed their buggy network stack using BSD code. If I'm working on an open source project, I think it's very reasonable to insist that my work is not used to unilaterally screw people over by large for-profit entities looking to build their own private lock-in walled gardens on the backs of volunteer coders.
"Choice has been taken away!" --> Yes yes, your 'choice' to do assholish stuff with code someone else wrote has been taken away. I'm heartbroken for you.
1. I don't particularly want to debate this point into the ground (done so recently) if you're an Apple enthusiast, but for the iOS at least it is worth noting Android and WebOS and Maemo/Meego and Angstrom family distros and even OpenMoko were all the verge of bringing touchscreen awesomeness to phones, and Apple was forced to copy some of their best features moreso than the other way around.
No It does not compile due to unreleased source code.... Thanks Apple!
GNUstep has been out there for a bit, but I'm not sure that it has all the features and applications that NeXTstep had. Like, say, AppBuilder, or NewsReader. If they have a GNUstep that has that - be it free or paid, I'd concede it's done. As for Quartz, if they can do something that enables a Hackintosh builder to install an FOSS OS X like OS that can run on PCs not bought from Apple, that would help people trying to flee Windows, but not having the technical expertise to play w/ Linux.
FTFY
You are welcome on my lawn.
Unless you're one of the under-taxed wealthy OP was referring to, he wasn't talking about you.
Apple's still sitting on serious bugs. Examples: One that's been around for many revisions of the OS is the abjectly borken UDP implementation; Apple's version of a supposedly broadcast protocol... that can only have one listener... brilliant. Linux and windows handle this just fine, too. One new in 10.12 is they borked Qt's tooltips and menus, which have worked since 10.6.8 through 10.11... and are now blank. There are plenty more. Those are just recently (and still) irritating here, so they're on my mind.
They leave bug reports untouched for months and years, but they always have time to flatten our fucking icons and implement idiotic crapola like "App Nap", don't they?
Fucking borken shit. I'm learning to really despise them. Apple: If you can't fix what you HAVE, then for Christ's sake, don't move on to a new version. All you're doing is producing a trial of borken shit. Which then the damn developers, who are SUPPORTING YOU, YOU IDIOTS, have to spend multiply redundant sets of wasted time trying to work around.
Damn it. They're going to turn my sorry ass back into a Windows developer if they don't straighten up and fly right.
Compulsory voting just means Mickey Mouse gets a higher percentage of the result, and creates make-work bureaucracy for fining / jailing non compliant citizens.
Ask Australia how well compulsory voting works.
Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
People like to bash Sculley (and Cook along with him). But, honestly, Sculley did a good job of running Apple. While it's not entirely a fair comparison, I'd point out that up until around 2008 or so, Apple's largest market-share was during Sculley's tenure. Products like QuickTime and Hypercard were released during his tenure. Apple machines weren't as distinctive, I'll admit, but the designs weren't horrible.
That said, one of the smart things that Sculley did was bring Jean-Louis Gassée over from Europe. Sculley, like Cook, was not a product guy as much as he might try to be (Remember the "Knowledge Navigator?") At the moment, I don't really see anybody at Apple in a similar capacity. Jony Ive is too heavily into style over substance, IMHO, and he's the closest Apple has to a "product person."
I guess English isn't your first language. Or you're just as stupid as the idiots I originally replied to. Apple doesn't have to release most of the source they have released, because it's either their code to begin with (e.g. Objective-C runtime), or licensed such that they have no such obligation (e.g. BSD, MIT). Therefore, the vast majority of code they released is code they didn't have to release. That makes them into the "Good" Guys for the sake of this discussion.
1. I don't particularly want to debate this point into the ground (done so recently) if you're an Apple enthusiast, but for the iOS at least it is worth noting Android and WebOS and Maemo/Meego and Angstrom family distros and even OpenMoko were all the verge of bringing touchscreen awesomeness to phones, and Apple was forced to copy some of their best features moreso than the other way around.
While Apple has copied features from other sources, as have those other sources copied from others, that sentence is so wrong, it's almost as if you live backwards in time.
First iPhone: June 2007
First Android phone: October 2008
First WebOS phone: June 2009
First Meego phone: October 2011
It's also worth noting that, prior to the iPhone release, Android's UI was a BB clone. Google had to completely redo it to match the iPhone.
I'm guessing you're just a deluded fool.
Best if you dont. It sounds like you might not like the answer: very well.
What part of "a well regulated militia" do you not understand?
Major corporate-sponsored permissive-licensed OSS didn't even take off until years after the GPL had established itself
Nonsense. Major BSD UNIX vendors were actively working with upstream sources for BSD-licensed programs back in the '80s. Sun developed and open sourced NFS under a permissive license in 1984. Version 1 of the GPL was released in 1989. Sendmail and Bind both predate the GPL and were developed with commercial backing, as were most of the pieces of software that made the Internet possible.
The anti-GPL / pro-permissive position is, for the most part, completely disconnected with reality.
Pot, meet kettle.
There are multiple real-life examples showing us of how this can go badly for permissive and multiple real-life examples of how GPL enforcement can lead to very worthy projects appearing
And then there's the one that the FSF spent a decade shouting about, where they forced NeXT to release the source for their Objective-C compiler code in GCC (but not the Objective-C runtime, without which it was useless), only to discover the code was absolute crap that they'd never have accepted upstream if they'd had it contributed, but which they then had to accept for political reasons. In contrast, the code in Clang for doing the same thing is far cleaner, more modular, and supports multiple runtime implementations.
No one forces you to use GPL code that other people have written.
And that's the core of the issue. If your choice is using a GPL'd library or program or writing something in-house, a lot of companies will pick the latter. Often you can persuade them to open source it (it's not usually anything that gives them a competitive advantage) and if it's permissively licensed then others will contribute upstream too. I've come across several companies that will hoard their changes to GPL'd projects that they use internally (which they're allowed to do, as they're not distributing it) because they're afraid of legal repercussions, but at the same time will push all of their changes to BSD-licensed projects upstream.
I am TheRaven on Soylent News
You're right about Meego, but it's worth noting that Meego was a descendant of Maemo. I had a Maemo device in 2005. It was pretty crappy, but it did predate the iPhone by a couple of years.
I am TheRaven on Soylent News
I'm not sure that it has all the features and applications that NeXTstep had
GNUstep aimed to implement the OpenStep APIs. Related projects have implemented various apps, but GNUstep itself is a developer platform. GNUstep has been tracking Cocoa, rather than OpenStep, for over a decade now. Some things are mature, others are missing (CoreAnimation is the big omission, unfortunately).
I am TheRaven on Soylent News
Mac OS X's libc is so far behind what's in NetBSD or FreeBSD it's almost laughable. There are a so many missing function calls–– I write software that's portable to Linux, NetBSD, and FreeBSD; it won't build on MacOS without major extra effort to close the gaps.
What were you missing? There's been some slow movement inside Apple to start treating FreeBSD libc as an upstream vendor platform, to push their changes upstream, and do a new import. I'd be interested in what they're lacking, as it would probably help push this along a bit.
I am TheRaven on Soylent News
I've done it - I have a Mac Mini which i just found to be unreliable as shit . I purchased it to try out some of the Mac Music / Audio software. After finding it a pain in the ass to use and half of my hardware being incompatible (PC keyboard, Midi Interface , External USB Audio ) I gave up and started using it as a Plex Media server. It ran ok for a while but after a few incremental updates it just became unstable.
So I was - fuck this for a laugh - wiped it and installed Linux and Kodi - and now its useful again.
Go figure . MacOS isnt what its cracked up to be for my use case ,and the hardware compatibility is a complete joke unless you buy into the whole ecosystem, fuck that.
Electronic Music Made Using Linux http://soundcloud.com/polyp
I can't think of a single valid reason why organ donation shouldn't be mandatory, you're dead, you're not using it any more, you and your family members should have no say whatsoever.
It's called Organlegging. China executes thousands of people every year, packs them off in death vans, and their family never gets to see the body again. The total number of people murdered by the state is a state secret. Do you really want to encourage nations to kill people for parts? Because that's what you're asking for.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
You are an AC who has never used Linux or has so little experience with it you don't know how to choose a decent window manager. With 30 years+ in the field, and having used all the major OSs extensively, I can ASSURE you Linux has the best desktop experience BY FAR.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
He was referring to the license of LLVM/Clang -- Apple could have made their own closed-source version of LLVM/Clang, as it is BSD-Licensed. Instead, Apple not only kept it open, but they hired the team to keep developing it as open source.
Apple isn't anti-open source; they contribute a lot of code to many projects.
-- Sometimes you have to turn the lights off in order to see.
The iPhone 1 was highly overpriced and under-speced. No MMS (at the time the ONLY way for most people to send/receive pictures), no 3G (?!) but forced data plan (!!). It was a gamble to make people think that Apple had done something incredibly innovative, when in reality they just rushed something half-assed to market, slapped a ridiculous price tag on it, blitzed the marketing and crossed their fingers that their brand name would carry the day. And it did. But it wasn't at all daring from a design point of view; the writing was on the wall. The basic icon grid UI and fullscreen app approach was in common use pretty much everywhere; all Apple did was add some power-hungry glitter to it. (And their glitter wasn't nearly as nice as the N900's.)
Also worth remembering iOS's app marketplace was a locked down piece of shit until competition from Android forced them to open it up.
It's also worth noting that, prior to the iPhone release, Android's UI was a BB clone. Google had to completely redo it to match the iPhone.
You say that like it was a good thing.
I've used an N900 and let me tell you, Maemo's UI kicked the crap out of both Android and iOS even on a resistive screen. (A quality resistive screen is actually quite nice to use, being much more precise than the capacitive touchscreens of the day as well as more durable, the only downside being that zooming is a little slower due to it being one-finger) And Maemo predated the iPhone 1. Shame on Nokia for hesitating putting Maemo on an actual phone, although on the flip side I suspect that people would not have forgiven Nokia for the horrible battery life if Apple hadn't done it first. (People forget about the days when reviewers would complain if you didn't get 5+ days of standby time without recharging.)
They could have can kept CUPS development in-house because CUPS was originally dual-licensed (much like Qt).
When you have the source code under a proprietary license, you aren't obligated to release the code. That's why many commercial projects are dual-licensed.
Apple could have easily killed the GPL'd distribution, and used the proprietary license for CUPS that they bought, and only maintained their own version going forward. Apple even hired the developer of CUPS - so they had everything they needed to close it.
CUPS wasn't exactly a vibrant project with many contributors. There would technically be the ability for a "community" fork of CUPS from the last GPL'd release, but it would likely have died and alternative would have taken its place.
The important point, however, is that Apple didn't close CUPS development, even though they had the opportunity and ability. Instead, Apple hired the developer, and had him continue to develop and release the GPL'd version.
-- Sometimes you have to turn the lights off in order to see.
Nonsense. Major BSD UNIX vendors were actively working with upstream sources for BSD-licensed programs back in the '80s.
We appear to have differing definitions of "major" and "corporate-sponsored". Also, if I recall correctly, the precise legal status of BSDs still wasn't settled in the 1980s.
And then there's the one that the FSF spent a decade shouting about, where they forced NeXT to release the source for their Objective-C compiler code in GCC
Although I do think Obj-C is a bit underrated, I've a hard time giving much of a crap. What's your alternate history here? Apple was always going to end up completely dominating Obj-C development.
Meanwhile, I've been using *WRT firmware for a decade and it's great stuff. Linksys did not want to release that firmware; they were forced to.
I've come across several companies that will hoard their changes to GPL'd projects that they use internally (which they're allowed to do, as they're not distributing it) because they're afraid of legal repercussions, but at the same time will push all of their changes to BSD-licensed projects upstream.
Translation: Morons exist and/or fearmongering about the GPL exists.
If your Maemo device was pretty crappy then either the UI changed a lot over the years or the slow hardware in 2005 was a limiting factor. The N900 was amazing, easily a much better UX than Android or iPhone despite (or perhaps even because of) having a resistive touchscreen.
Why bother?
I'm serious. Why. Bother.
Quartz is a great piece of software, but even if Apple open sourced it, it would probably never make its way into any Linux distribution. The reason: "Not Invented Here" happens whenever humans are involved.
Throwing out yet another composited framebuffer to the community isn't going to magically drive adoption. It'd take a ton of effort to adopt Quartz, and the developers of X.org, Wayland, and Mir are more likely to say "Meh, we already do that" or "Why would we want that? Ours is (or will be) better with the same effort." - You know, "Not Invented Here"
The fact of the matter is Apple has open sourced a number of things that weren't well received -- and the community instead made poorly re-implemented versions. ("Not Invented Here" yet again.)
Case in point: launchd.
launchd is Apple's replacement for init, and many other daemons. Sound familiar? Both upstart and systemd were started to re-implement launchd's functionality as GPLv3 licensed code. (And this was after Apple re-licensed launchd from the Apple Public License to the Apache 2.0 License, to get more adopted by Linux & *BSD).
-- Sometimes you have to turn the lights off in order to see.
Jony Ive is too heavily into style over substance, IMHO, and he's the closest Apple has to a "product person."
I don't think anybody can honestly argue that consumers can be expected to maintain their system properly. Virtually every consumer is unable to make the correct decision anyway. If clicking on a link can open malware or compromise your customer's system, your product is shit. That goes for everybody - including Apple.
There are exceptions, but designing for the 0.1% that can actually maintain a computer is a loser's strategy.
People may complain about not being able to service their devices, while being completely two-faced about it.
Go ahead and try to find somebody who fixes TV's. Try to find somebody who fixes a $5,000 home theatre amplifier. Try to find somebody who fixes a refrigerator. And even if you do find one, compare the repair cost against a replacement.
Mass production inevitably marches to the point where it's more expensive to repair than to replace, and automated production is accelerating the trend.
Once you accept that, features for human maintenance and replacement (ie. user-replaceable RAM and Hard Disks) start to make no sense.
-- Sometimes you have to turn the lights off in order to see.
Lenin advocated for revolution, which is the problem. Communism, as loaded as that word is, boils down to an economic model that may or may not work. Mostly, it doesn't, because there are too many opportunities to cheat, and too few incentives to play ball. But communes exist, here and there, among like-minded individuals who take it upon themselves not to fuck each other over. But on a broad scale? I wouldn't bank on it.
But none of that matters. Because large-scale communism has never existed. Not because communism is evil... it's because communist revolution is evil. The revolution part gave Lenin, Stalin, Mao, Pot (Pol), Kim, whomever, the carte blanche to do whatever to whomever they decided were enemies of the "revolution" (i.e., their rise to power). Even today, years after they've been established, the enemies of the "communism" they supposedly practice in China and N. Korea are called "counter-revolutionaries", because once in place, the "revolution" is never finished. The goal of the "worker's paradise" is never accomplished because of this enemy or that enemy, foreigners abroad or traitors among us. And as N. Korea has shown, it can perpetuate down three whole generations of decadent leadership without an end in sight, even when the citizens are literally starving to death.
Why the fuck are we talking about this? This thread is supposed to be about open-source Darwin from Apple. But I've seen the light. Communism, real actual "communism" as an economic model, is not "evil"... let alone, it will just fade away for the inefficient, unworkable mess that it is (unless your Amish, or hippies, or some other group of super-like-minded individuals who just get up each day and make it work). Revolution is the evil. The U.S. got real lucky with theirs, having only to defeat an enemy a continent away after centuries of working, civil self-governance behind it. But lots of innocent heads rolled in the French Revolution before they got that all sorted out. Since then, every "revolution" I can think of has become a complete fucking blood-bath that propped up a tyrant, and it didn't matter what the reason was... communism, socialism, Islam, cultural purity, racial purity, even (the promise of) democracy. As soon as some leader shouts "revolution!" waving an axe-handle or an AK-47, that's code to angry young men for NO RULES! Loot, rape, kill, pillage, turn-on-your-neighbor, eat-your-children, shave you head, run for the hills, complete fucking ANARCHY. All is us vs. them (and you, probably, ain't in the "us" department).
In the end, like a wildfire, it burns itself out, since revolutionaries generally SUCK at producing anything, especially things that take time (and therefore capital), like food. Sometimes it takes a few generations (U.S.S.R., N. Korea), sometimes it takes less than one (watch... the days of ISIS are numbered, particularly as they lose control of those oil fields, the only source of hard currency they need to buy shit like ammunition and... food). China has been successful because Mao died and his successors have largely let the population do what they've done well for millennia... get shit done, and occasionally throw a bone at whoever is occupying the Forbidden Palace THIS time.
So, don't get your panties in a bunch over trip-wire words like "communism" or "socialism". That's just people thinking people oughta chip in a little, for the good of everyone. Get real suspicious of the guy who cries "revolution" or "overthrow", or anything else that gives him some self-authority to kill people and set himself up as herr Führer who will lead all proper people to paradise by eliminating the riff-raff. THAT's the guy who's gonna fuck everything up.
Take it easy, Charlie, I've got an Angle...
Say what? There is nothing wrong with a Unix desktop. Hell, I ran Solaris 10 with GNOME 2 on my laptop for a while and never had any issues with it - and that was when there was much less of everything on the web. We've come to the point that the actual desktop doesn't make as much difference as it used to, but some how they are getting worse with time. I can't stand macOS (vs say 10.4-10.6), Windows 8-10 (vs Windows 2000-7), or KDE 4-5 (vs 3 and older). Things just get more bloated, more complex, less user friendly and more in the way somehow. Personally, I've grown to like GNOME 3, Unity isn't bad, and I still like TDE, MATE, and XFCE. For a faster experience (especially for outside of Linux/BSD), CDE and 4DWM (or MaXX on Linux) are just fine to work with, and have about the same level of attractiveness as the flat world of Windows has become.
I'm starting to think GNU is the problem with "GNU/Linux" these days.
It's not actually a surprise that you are a douchebag, but thanks for trying to surprise us!
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
This time has come, and passed.
Do you think computer programming is a "real job"?
It didn't exist until new technology allowed it less than 100 years ago. It's in high demand. It earns a high wage if done right, and a survivable wage if done barely adequately.
Nevertheless, I bet there were plenty of people alive a century ago and more who would call it pure leisure. It's not physical labor. It doesn't require you to breathe poison gas, or wrestle with criminals. You don't have to deal with inclement weather, hard travel, biting insects, or constant humiliation. You get health coverage. Pure luxury, my lad.
And yet, money changes hands on a massive, massive scale for this practice, because you have to train like a mad motherfucker all the time to do it well.
And that spells out the crucial factor that will always make the hierarchy form: Those who put in the time, to get the training, to learn how to get a larger slice of the pie, will do so. And there will be jobs for ever and ever, hallelujah, amen.
You're right that its unsustainable, but every business that automates will only be thinking about their own bottom line and not about society as a whole. If they don't automate, they will be uncompetitive against others that do.
Consumers would need to vote with their feet and opt for the more expensive non automated suppliers in order to discourage the trend, but people wont because again they only think about their own bottom line.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Apple doesn't have to release most of the source they have released, because it's either their code to begin with (e.g. Objective-C runtime), or licensed such that they have no such obligation (e.g. BSD, MIT). Therefore, the vast majority of code they released is code they didn't have to release. That makes them into the "Good" Guys for the sake of this discussion.
They're as much good guys as Microsoft are good guys for releasing parts of .NET under permissive licenses. There are sound business reasons for doing so, even though neither company is much of a fan about the open source way of doing things (either permissive or GPL.) In Apple's case, it was also probably a deliberate image-building decision back when they were much more niche / underdog than they are today.
It's not a bad thing that they're releasing open source stuff, but let's not kid ourselves about their motives for releasing the Obj-C runtime or the overall importance of the Darwin codebase in the grand scheme of things (meh).
I think it's just stupid that POSIX programs don't always work the way you expect or are missing (e.g. umount -> diskutil unmount )
umount's still there, and it works the same way it does on other UN*Xes - i.e., if some program has a handle (file descriptor, mapped file, etc.) on the volume to be unmounted, it fails (unless you use the -f flag, to forcibly invalidate those handles and unmount the file system). "diskutil unmount" sends a "hey, could you please let go of any handles you have for this?" request before the actual unmount() call is done, and waits a while for "OK, I've released it" replies before it attempts to unmount.
Unfortunately, a lot of stuff in macOS holds onto those handles - and some stuff just grabs them for the lulz as soon as something's recognized as having been mounted - so, as the umount(8) manual says, "Due to the complex and interwoven nature of Mac OS X, umount may fail often. It is recommended that diskutil(1) (as in, ``diskutil unmount /mnt'') be used instead."
(And it's not in POSIX; it's considered an administrative tool and UNIX(R) systems are allowed not to have it or to implement it as they choose.)
Mostly it was the RAM. 64MB of RAM meant that the OOM killer ran a lot and always managed to pick the app with the most unsaved data to kill. It was great for running vim in an xterm, not so good for anything else.
I am TheRaven on Soylent News
Charities wouldn't be necessary if government properly taxed the wealthy and provided a universal basic income.
Yes, because the only purpose of a charity is to give money and food away. /sarcasm
Yeah, exactly, they are there to funnel other people's money to politicians who can help you.
Of course news about a fake are Fake News.