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.
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.
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.
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.
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.
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.
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.
One new in 10.12 is they borked Qt's tooltips and menus, which have worked since 10.6.8 through 10.11
You have always been able to spot Qt apps on OS X: they're the ones that look ugly and where even basic things such as text fields don't respect the HIGs (for years, they managed to have different keyboard shortcuts for skipping words / lines in a text field to every other OS X app), so you'll forgive me if I suspect that this is more likely to be Qt's fault.
I am TheRaven on Soylent News
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.
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.