Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MacOS 10.12 Open Source Components (opensource.apple.com)
349 points by Lwrless on Nov 24, 2016 | hide | past | favorite | 159 comments


I have been drafting an 'Ideas' post about the following idea, but it's not done yet and this looks like as good a place as any to look for some early feedback. This might not have as much clarity as I'd like.

The general idea is to have a site that can track various projects that release their own copy of GPL (especially, but other licenses as well) software. So Apple ships their version of {bash, etc.}, and so does your router, and someone else's refrigerator. And this site ("GPL Hub?") just links to all the places that are hosting their own version of {bash, etc.}. Maybe it could even show how they've diverged, although that might not be so easy.

Recently it has become very trendy to host all code in one centralized location like GitHub. But GitHub isn't really that great at showing you the "forks graph" anyway. Many companies that ship GPL code have archives like this available on their own websites. This could help increase visibility and give users an easier time finding the source code. I'd love to know how many copies of different GPL projects are out in the wild. Maybe for the companies that don't publicly host their GPL code, someone who makes a successful GPL request could share the code on this same site.

Those are some of the ideas, I'd still love to finish the post sometime but it's a bit too vague for me to say anything concrete yet. Any direction to related works or explanations of why this is a bad (or good) idea would be much appreciated!


I really like the idea. Where free licenses are concerned, I believe this would help “cross-pollination” among projects and facilitate the progress of open source.

It could also work as a (perhaps curated) reference. Sort of like Rosetta Code, but for more high-level features ­– “how have projects X and Y chosen to implement this feature?”

Besides, it could serve an archival function. A quick search on the web reveals a couple of projects on this vein, but they tend to rely on storing official releases. The way I see your idea, it could be made to work in a way closer to what archive.org does for the web, archiving everything it’s permissible to, with the addition of meta information about the projects, their relationships, etc.

Not a small undertaking, but a very inspiring one!


https://www.softwareheritage.org/ launched recently to do for software something like what archive.org does for the web.


That sounds like a pretty good idea. What about using this as a central place to track GPL violations? I have a feeling that there are quite a few products out there in the wild that use GPL software but don't confess to it. Maybe a site like this could persuade them to become compliant with the license.


This could be very very useful for embedded devices. You'd be better off linking to repos where possible - some vendor dumps are gigabytes in size.

Happy to chat more. Details are in profile.


Dito. My email address can be found in my profile.


Heh, I went spelunking through the bsd/mach layers of the code, was quite a bit of fun.

Looks like they've only released the x86_64 and x86 versions of the code? I don't see any ARM in there.

Anyways, found gems like this [1]:

  /*
   *	File:	sched_prim.c
   *	Author:	Avadis Tevanian, Jr.
   *	Date:	1986
   *
   *	Scheduling primitives
   *
   */
I hope to leave a legacy like this someday, hopefully someone will appreciate the author's comments 30 years later!

[1] https://opensource.apple.com/source/xnu/xnu-3789.1.32/osfmk/...


They are never releasing the full source code. Apple strips the ARM architecture, blocks of code for features they do not want to be open source, and the internal documentation before throwing these dumps over the wall.

Here are some hints of what they are doing to process the original sources:

https://opensource.apple.com/source/hfs/hfs-366.1.1/make_ope...


Thanks, quite interesting:

    # Check for remaining bad file names
    BADFILES=`find . \( -name "*.arm*" -o -name "arm*" \) | xargs echo`;
    ...
    # Check for remaining bad file contents
    if grep -iEr '([^UD_]_?_OPEN_SOURCE_|XNU_HIDE_SEED|XNU_HIDE_HARDWARE|CONFIG_EMBEDDED)' .; then


BTW some of their open source code (like XNU, the kernel) is on GitHub: https://github.com/opensource-apple/xnu


> https://github.com/opensource-apple

> MIRROR ONLY, UNOFFICIALLY

Someone took it and uploaded it to GitHub. This was not published by Apple. Also has not been updated in years.


It was updated two months ago in September 15th 2016: https://github.com/opensource-apple/xnu/pull/4


Okay, right. I was mislead as all commits use a different author (opensource-apple is only the committer), so the activity graph on the profile is mostly empty.


For giggles, here are some comments I grepped from the WinNT kernel: https://gist.github.com/turbo/75f0905275c29a3049f983cfe273ea...


Oh man, this is hilarious!

../tdi/tcpip/tcp/tcpsend.c:// STUPID FUCKING COMPILER generates incorrect code for this.

../fastfat/allocsup.c:// God knows what state we left the disk allocation in.

../dd/histgram/cmd/perfhist/perfhist.c:// the heck? we are gods anyways!

../nthals/halntp/mips/xxinitnt.c:// to the HAL by the NT god. Hail Caesar!

../w32/ntgdi/client/dcquery.c:// if cjotma == 0, this is HONEST to God unicode font, can not convert

../w32/ntgdi/fondrv/tt/ttfd/fontfile.h:// honest to God msft unicode font

../w32/ntgdi/fondrv/tt/ttfd/tt.h:// uint16 reservedPad; // only God knows why

../se/ctlpcqos.c:// Appease the compiler Gods.

../cntfs/create.c:// Here is the "M A R K [REDACTED]" hack from hell.

../afd/disconn.c:// Hack-O-Rama. TDI has a fundamental flaw in that it is often impossible

../afd/disconn.c:// Yet another hack to keep it from crashing

../fastfat/read.c:// Deal with stupid people who open the volume DASD with

../afd/recvdg.c:// Bomb off if the user is trying to do something stupid, like


These are hilarious, thanks.

> to the HAL by the NT god. Hail Caesar!


where did you get the source to grep through?


Just look a few comments below.


The kernel was open sourced?


  /*
   *	Author:	Avadis Tevanian, Jr. */
   */
Avie Tevanian did go on to leave quite a legacy. He was Apple's software CTO up until 2006 and was responsible for much of the Mac OS X we know today!


Avie was one of the lead developers of Mach at Carnegie Mellon as well, so his legacy extends beyond macOS and NEXTSTEP.

But I'd argue that beyond code, probably his most important Apple role was establishing a steady release schedule. After the disasters of the Pink (later spun off as Taligent), Copland and Gershwin megaprojects, Avie managed to get Apple to focus on making small steady releases.

And while MacOS X was a megaproject, it too was released in steady steps: Rhapsody, Mac OS X Server 1.0, MacOS X Public Beta and then finally Mac OS X 10.0



From the source with a false `CONFIG_SCHED_DEFERRED_AST` flag :)

/* We don't support deferred ASTs; everything is candycanes and sunshine. */


Long time ago, they used to also publish a bootable ISO of Darwin + all of those OSS packages.

They did publish an updated Darwin core / kernel a few releases back, but it seems to be closed again.

Too bad, I think someone with some determination could have gotten am hypervisor based container tech running on this. Of course the test would not run, but APIs shims could have made whole software compile (but not link). This in itself would have been very useful for a lot of people. Being able to compile in a container then link in the "real" macOS could also have been implemented, making this much more useful.


If Apple open sourced all of macOS maybe that would put more pressure on Microsoft to intentionally[1] open source Windows.

[1]: It has been open sourced in the past:

https://torrentfreak.com/microsoft-takes-pirated-windows-nt-...

http://www.theinquirer.net/inquirer/news/1030335/leaked-wind...


Leaked source code is not open source dude. Open source is software licensed under terms compatible with these rules: https://opensource.org/osd


Both the Windows Server 2003 x86 and the Windows XP amd64 kernel source code have been available for academic purposes. They are governed under the WRT License, which forbids re-distribution outside of the academic use. But yes, MS provided that source code with full documentation on how to build and debug each kernel.

I've built the WinXP kernel a few months ago just for nostalgic purposes, here's a VM running the custom kernel with a KDBG hook on NTQSysInfo [1]. The neat thing is that you can debug on the system itself, or via a serial port.

I also know that some people had success merging the /base/ code from the above licensed kernel (but the x86 version) and the leaked WinNT4 code. One even got so far as to manage a recompile of the NT setup, building a custom NT OS from scratch. Though that's violating the WRK and NT license left and right.

[1] http://i.imgur.com/BeiME5X.png


You're talking about cool things, no doubt about it, but code made available for academic purposes only is still not open source.

This isn't just pedantry, we are scientists from different countries, with many of us having learned English as a second or third language (I'm from Romania, hi), so it's better to be precise in language.

And in this instance "open source" is a good term to be precise about, because the OSI definition specifies exactly what you can and cannot do with it. And in particular (1) you can use it for any purpose, even for evil ones and (2) you can fork it and modify it in any way you wish.

So when I hear "open source", I don't have to go and read the license and validate that these requirements are true, because OSI has already done that for me and they have lawyers that know how to read licenses. This saves me time, headaches and money.

And academic, non-commercial licenses do not qualify. Microsoft itself has introduced an alternative term for such academic, non-commercial licenses and I think it's a good one: Shared Source. Lets use it.


> So when I hear "open source", I don't have to go and read the license and validate that these requirements are true...... This saves me time, headaches and money.

Most of us have some vague understanding about Licenses.

Eg: MIT/X11 specifically says "...FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT..." but it is "open source"

That is, if you earn too much money from some MIT License software, the author itself is free to sue you the way he/she can (eg, patents). One example could be dotNet from M$.

So better stick to software pieces that are licensed under GNU [A]GPLv3 or Apache v2 (If you care patent issues). Also, note that you can trust "free software" guys more than "open source" ones.

edit: Also note that this can also be a reason why Apple didn't update any GNU packages once they were relicensed to GPLv3+. (The main reason could be the GPLv3 requirement that the user should be able to replace the software if [s]he wish to. Apache doesn't have this requirement, and Apple used that for swift)


> the author itself is free to sue you the way he/she can (eg, patents). One example could be dotNet from M$.

That's not actually true. In law, at least in the US, there's such a thing called Estompel [1], and licenses like BSD / MIT do have an implicit patents grant [2], unless the software is also accompanied by an explicit patents license (like Microsoft is doing), in which case that license takes precedence.

Of course, you can't be totally safe with an implicit patents grant, because its applicability depends on jurisdiction, plus it's always unclear if you can also count on it for derived works, etc. But then again, this is why GPL v2 is still safe. Remember that the Linux kernel is licensed under GPL v2? So what, are we all screwed?

> note that you can trust "free software" guys more than "open source" ones.

With all due respect, but many "free software" guys tend to be zealots and I can't take them seriously anymore. Not when the FSF starts doing stupid shit, like preventing Emacs on MacOS from supporting emoji just because the "free operating systems" would be at a disadvantage. Talk about crazy.

Also, in my opinion AGPL does not pass the OSI definition and it was probably accepted only because it would have brought out the crazy, but that's a personal opinion.

[1] https://en.wikipedia.org/wiki/Estoppel

[2] http://en.swpat.org/wiki/Implicit_patent_grant

[3] https://github.com/emacs-mirror/emacs/blob/emacs-25.1/etc/NE...


> One example could be dotNet from M$.

If you ignore the patent grant, sure.


The complete disregard for any legalities has certainly resulted in some very interesting and even useful software. It reminds me of the (largely Asian) community that formed around modding/hacking/cracking Windows in various ways, and the products that resulted: CDs and DVDs with a dozen different versions of Windows on them, liveCD/USB/DVDs, and chimeric combinations of OSes. If I remember correctly, Vista and later had significantly increased the number of integrity checks in the OS, arguably for security reasons, which made this sort of experimentation more difficult; but in the 2K/XP/2K3 days, it was pretty open.

Those in the scene may recognise the names Roy and Wengier, 911cd, and the China DOS Union.

Here is an interesting article from those days: http://pasotech.altervista.org/mirrors/michael_kh_au-yeung/n... (file links are mostly dead though)


> [1]: It has been open sourced in the past:

I am really hoping that you were joking.


You got it. Was missing the air-quotes.


OS X and Mac OS X 10.0-10.6 _ARE_ open source. Most services (including Quartz, the display server) are not. macOS could be once there is a new code drop, if they ever bother.


People who are downvoting you into the pavement are misguided, I think. Your point is still interesting even if the terminology you used is wrong.


I downvoted because stating that Windows has been open sourced in the past is misinformation and should be marked as such.


I meant "open sourced". I was being sarcastic. I "absolutely love" how literal all of you are. See that? I used quotes that time. Happy F'ing Thanksgiving.


Oh, how I miss having a working USB stack...

https://opensource.apple.com/source/IOUSBFamily/IOUSBFamily-...

They re-wrote IOUSBFamily (or at least they said they did) and it's buggy as all heck whenever you try use a USB 3 hub (since the 10.9 rewrite).

I'd fix it myself, but it's no longer open source. Plus, to really rub salt in the wound, there's no longer a USB debugging kext. Yay, Apple...


I’m similarly displeased with the disappearance of the pthread subsystem in 10.9! I had to debug quite a nasty kernel bug, and was absolutely surprised when I discovered that all pthread syscalls are now stubs into a private kext.


I have some short USB 2.0 extension cables that I use to plug between the Macbook and USB 3 devices - to reduce them to USB 2.0. Because if I for example try to copy more than a few MB to a USB 3 external HD, the Mac freezes. Every single time. So that's working well then.


Try different powered hubs. Last week I discovered a USB key that eats so much power it won't run without a powered hub! Numerous external hard drives and optical drives are in this camp, too.


Does the power requirement change between USB 2.0 and USB 3? If not, I don't see why more power would change anything.

I also don't think a power problem on an attached USB device should give my computer a kernel panic.


I wonder why they still write "OS X". Intentional or just due to somebody's lack of attention to detail?


'macOS' is just too much of an affectation to ask for in styling capitalization. You'll notice a lot of people resisting it, defiantly writing 'MacOS'.


Traditionally "Mac OS" -> "[Mac] OS X" -> "macOS"

It was often compacted to MacOS for various reasons, like brevity, keyword searchability and tagging.


I dunno, it's hard to get better search ability than what we had with "osx". Among other things, there are a lot of code bases with Mac OS 9 code hanging around in directories named "macos".


Apple has now standardized the names: iPS, tvOS, watchOS, macOS.


OK, but this page is made by Apple.


When you have a name for over a decade, you tend to have it hard coded in a bunch of places...


On the other hand, the official name was 'Mac OS X' until 2012.


Sure, but it was nearly always just referred to as "OS X", so the official renaming in 2012 was just moving it in line with how people already referred to it.


Yeah, my company moved offices a few months back and we had the old location in a surprising number of places around the codebase.


Not really. "iOS" is standard and no resistance has been noted.


So if one thing is true then other similar things must be true!!!


No resistance is overstepping, as far as I remember a few had a hard time foregoing iPhone OS initially. But that's maybe not what you're talking about.


Lowercased i titles are / were / have been common and comfortable though. Some of them even before iOS.


I always preferred OS X over any of the similar names... I hate that they changed it back to MacOS


I develop Mac software and support my software via email. The problem I always had with "OS X" is that users who don't know what an "OS" is, didn't seem to parse "OS X" at all (they would reply back as though it didn't appear in the sentence). They certainly didn't associate it with their Mac – apparently thinking it was just some weird sigil that the geek in the internet computer machine had included for no reason. I always had to say "Mac OS X Lion" (or whatever the big cat name of the year was) to get any level of understanding.

"macOS", for all its initial lowercase goofiness is at least understood by most users.


OS X has always suffered from all-to-common misreading, however. They traded that for a likely-to-be all-too-common miscapitalization/misspacing.


I always thought it was pretty clear to say "os ecks" myself, but I've heard internally / correctly people say "oh es ten". It's hard to break the habit after 5+ years though.


Last vestiges of Roman enumeration :). Saw an article the other day that said "Part I of V". I shook my head.


Why? "Part I of V" is crystal-clear. It's the nineth part of a 22-part series, preceded by "Part H" and succeeded by "Part J". :)


This is such a good example of the difference between Strongly typed and Stringly typed.


It was never really meant to be "OS 10", despite what the 'correct way' to say it was. Pure marketing.

If it was really meant to be "OS 10", then they wouldn't have versions like "OS X 10.6", they'd just have "OS X.6" or "OS X.VI". How many people do you hear saying "OS ten ten point six"?


>The current version of Mac OS is Mac OS X (pronounced "Mac O-S ten").

https://support.apple.com/kb/TA22541?locale=en_US


I think he meant that it was not supposed to be "Mac Oh Es Ten Ten Nine Two", but rather "Mac Oh Es Ten Nine Two" when referring to Mac OS X 10.9.2. Do you think people said "Mac Oh Es Nine Nine One", or "Mac Oh Es Nine One" for Mac OS 9.1?


I think you write (and say as /ten/) "X" as the major version if you're also using the non-numeric minor version: "Mac OS X Snow Leopard"; but you omit it when using the numeric minor version so as to also use the Arabic major version: "Mac OS 10.6". You say /ten/ either way and never twice.


People seem to quite commonly write "Mac OS X 10.6", which duplicates the 10. News articles and Wikipedia included. I don't remember what the machines themselves reported, though. I don't have anything pre-Sierra anymore.


I'm pretty sure it was meant to be OS 10 the whole time. It succeeded OS 9.


I've heard employees try to avoid using the dot notation when they speak in favor of just saying the codename.


One issue with the "OS X" name was that you have to use a non-breaking space (alt+space) between OS and X to prevent awkward line breaks in the middle of the brand, which in turn made it harder to search for "OS X" in dumb text editors.


probably CBF updating the page to say macOS


Is there a functional, recent way to build this on VirtualBox and use it for cross-compiling command line and server apps for Mac OS (macOS/X whatever)?


Except for launchd, which remains re-closed-source.


I didn't realized they'd closed that back up. Lame. When/why did they do that?


subsumed it into XPC which has never been open.


no USBAudio? Again? So much for open source


No IO80211Controller (the bane of all Hackintosh developers...) either, but not surprising since Apple are probably only open-sourcing code that they are legally obligated to by license, or for which they feel the release of "doesn't negatively affect their core philosophy and business model", to use a vague yet suitable phrase that I've heard of as justification for other source releases.


Either they don't want to release it or they can't (a third-party contract/NDA), at least right now. Open sourcing is often seen by big-businesses as potentially "helping" competitors undermine, replicate, sue, make interoperable wares which may threaten the "Golden Goose." It sucks, but that's the situation... lawyers can't force them to release other code unless they're caught TiVoizing some GPL 3 code or something similar.

You'd think Apple would want to invent the next cool kids bandwagon, maybe invite some community goodwill and crowdsource maybe some new features like fixing time synchronization to have a high-precision ability or working on another actual replacement for HFS+, or adding Windows compatibility. Maybe developer pressure could sway them, and wouldn't it be a good PR move to eventually relent after a long, drawn-out public debate which buys some time for the Apple Car or whatever else is cooking next to be readied? Ive and Cook have massive shoes to fill, which they and the Apple team helped fill, but many people don't think that right now, at least not yet.


I can't believe this is a serious comment.

The majority of open source is crap, like 80% of it. People build what they need and forget about it. Often the code has no cohesion to the rest of the project and often it is of poor quality. Not to mention the ego's and lack of sociability of most projects.

Apple didn't become the most valuable company by following that principle. Instead it took the approach of an egotistical maniac who demanded perfection and required that all the pieces fit together as part of an elegant puzzle. No small feat and not really replicated today -- except for Tesla and SpaceX.

If I'm missing something, please name one other company today has has a "hit" product that unanimously loved (aka has insane sales and really high ratings) to the extent of the iPod, iPhone, Model S, etc..

Furthermore, I'd challenge you to name one open source project that can be shipped AS-IS as a product. Don't even say the Linux kernel, that has like what 2% market share?

No doubt the majority of HN folks are sharp but there is a huge lack of emotional intelligence. I've found this at many tech companies except Apple. Even when talking with Apple engineers I find myself talking to another HUMAN who happens to appreciate technology and understands it isn't the be all end all. Its sad to see such a company lose it soul but it was inevitable.

Disclaimer: I'm a kernel developer and contributor.


> Don't even say the Linux kernel, that has like what 2% market share?

87% on mobile. Surely majority on servers. Lots in routers etc.

I don't reslly see your point, though. If something is available for free, obviously it won't sell a lot. If that must be your definition of success, it seems you just have a preconcieved notion.

Also, ovviously 99 % of all open source is garbage. But who cares? No one is forcing me to use it all.


> 87% on mobile.

Using Java and a subset of POSIX APIs that make it irrelevant which kernel Android is actually using, to anyone but driver writers.

Google likes this so much that Brillo has even less layers and Fuchsia is being built with their own inhouse micro-kernel.


> Furthermore, I'd challenge you to name one open source project that can be shipped AS-IS as a product. Don't even say the Linux kernel, that has like what 2% market share?

GitLab. Postgres. Atom. Docker (debatable). I could go on, but to be fair I am a bit of a hoarder of interesting oss.

Re the Linux kernel: isn't it way higher than 2% if you count commercial and industrial usage? Also Android devices.


WildFly, Apache httpd and Tomcat, git, Mercurial, LibreOffice for most cases, Darktable, Hexchat, Pidgin and the list goes on and on :)


I could have an Android device using another kernel and the majority of PlayStore apps wouldn't notice.

For the NDK ones, using the set of official APIs would be also enough.

The only ones that would fail, would be the ones that try to bend the rules of official APIs.


Calling Android devices Linux is not productive.


He was referring specifically to Android's use of the Linux kernel. He was not calling Android "Linux", though I think doing so would be fair in a general sense.


Well, then open source is well above average, seeing as 90% of everything is crap.[0]

[0]: https://en.m.wikipedia.org/wiki/Sturgeon%27s_law


If 80% of open source is crap, that's very good. 99% of closed source is crap too, so open source has better stats then.

You might be interested in fact, that even Model S runs on Linux kernel ;)


> Don't even say the Linux kernel, that has like what 2% market share?

How are you a kernel developer and then go on to only count desktop and laptop installs? Linux installs dwarf the other major kernels. Not big on desktop, but big on servers, embedded, and mobile.


Most of everything is crap including user contributed comments, fitness to be shipped as someones product is a bizarrely narrow criterion for fitness, and emotional intelligence is a nebulous term with little meaning and less relevance.


> Instead it took the approach of an egotistical maniac who demanded perfection and required that all the pieces fit together as part of an elegant puzzle. No small feat and not really replicated today -- except for Tesla and SpaceX.

Off topic, but Tesla and SpaceX are definitely not "egotistical maniac who demanded perfection and required that all the pieces fit together as part of an elegant puzzle"


They are working on APFS to replace HFS+ and sierra ships a beta already, at least :)


> You'd think Apple would want to invent the next cool kids bandwagon

They don't care. Objective #1 is selling more iDevices. Objective #2 is selling more iDevices. Objective #3 is selling more iDevices. Everything else is a mean to that end. Take Swift: it only exists to make it easier to build iOS apps, so that they can sell more iDevices. APFS is being introduced so that flash-based systems can work better, so that they can sell more iDevices. And so on and so forth.

That's an admirable level of focus, mind; just don't expect they do anything because it sounds cool to geeks - Apple just doesn't work like that.


Outside of the UNIX loving geeks, there are many of us that find lots of macOS architecture stack cool.


Heh emacs-22.1.

Wonder where that's used. Scripting in elisp?


It's included so the there's a nice editor in Terminal by default (yes, I'm just kidding, I know vim is there). It's so old because it's the last version of Emacs released under version 2 of the gpl (and Apple hates version 3). It's the same reason the default Bash is so old.


Bash defaults to Emacs keybindings which also work throughout macOS since it began in the NeXT days. It is included because on macOS it is the universal text editor.


I am new to macOS and I was just recently surprised by that - noticed Ctrl+k worked in some un-expected places like a plain text box widget (not in emacs). I thought it was a nice touch.


> Apple hates version 3

Google as well.


As does any corporation with software distribution and a breathing legal team.

If you want your code to be usable by people who don't know what "fsf" stands for, don't use gpl3.


Having had to gather licenses for such legal teams, in corporations that never contributed a single comma change to any of the code they take for free, I bet in around 10 years FOSS advocates will start to miss the GPL.


I think you are absolutely correct.

I originally intended to point out more how people who use and invest in Mac OS X and claim they are for FSF are, in some part, contradicting themselves.


It was the default editor of the Apple (NeXT) Darwin UNIX distribution. Given how much effort they have put in this list in the last 15 years, I guess it just wasn't curated much unless legal said to do so.


emacs is distributed with the OS, so the GPL requires Apple to make the emacs source available. (Even if they haven't changed it.)


Only if you make such a request. Read the GPL.


Publishing the source like this is risk management for a company. By doing this they don't risk having to receive, vet and process 100's of requests for source at a random time - which could use up their legal department's resources at the wrong moment.


Can't the just point to the gnu repo?


No. They're distributing the binaries, so they have to provide the source code to users of the binaries on request. Publishing it like this satisfies that requirement.


I think you're mixing up the two options that GPL provides. My understanding is that you can either limit your distribution of source to the same parties to which you provide binaries (by "accompanying" the binary with the source), or you can require a request, but you must accept such requests from everyone.


Interestingly this is not yet linked from the top-level page of the open source site: https://opensource.apple.com/


I think Apple is missing out on both a lot of goodwill but also overall progress of their Unix core by being so closed.

Instead they should actively contribute source-code to the BSD-ecosystem. Apple has a lot to gain long-term from the BSD-ecosystem being healthy.

Also, the whole Hackintosh thing is completely overblown. So what if some intrepid coder gets it running on a non-apple machine. It won't affect their sales the tiniest bit.


Great news, this should also mean that Valgrind will soon be working again on Sierra!


Was macOS always open source I thought it was just Darwin.


You can hook exceptions in MACF now.


That title is clickbaity.


Having seen the Apple open source pages before, it was what I expected but even so I agree; with OP title it sounds like macOS 10.12 is open source in its entirety.

I suggest editing the title to the following: "Open Source Components of macOS 10.12"


Thanks, we updated the title from “MacOS 10.12 Open Source” a while ago.


Yeah, a page with a list of downloadable tarballs can hardly be called Open Source.

BTW, how useful is this code? Obviously you can't build anything with this. It's useful for auditing, maybe?


That code is not there in order to be useful to someone.

It's there to meet the liabilities that they have through the licenses for the used open source software. These licenses often say that if you use the software you also need to allow the public to retrieve it. Even more so if you make modifications to it.


That's only true of GPL'ed components shipped as part of Mac OS X/ OS X / macOS. A vast majority isn't - some are BSD and most are Apple originated software under an Apple Open Source License (APSL)


Yeah, that might be true. But if you are a big organization you probably want to have a standardized process on how to handle third party open source software (how to document it, where to store it, etc...).


You can build the code. Might take a little monkeying around with your build environment, but each program should be buildable.

I'm not sure what you think "open source" is or needs to be. We were passing around tarballs over ftp for almost all of our open source software in the past.


I would agree that there are obviously ways in which Apple could participate more in many of the open-source projects they use, but I don't really buy your point - it's literally source code which is open!

The idea is for Apple to release the source for components that are included in macOS, and the license requires publication. There is no obligation (or, I would argue, expectation) to do anything more.


Well. Okay. What I really meant to say is that Open Source - to me at least - can really call itself Open Source if there is a collaborative effort to maintain the code, ideally through a version control mechanism.

For example, Android is not Open Source to me because the code is dropped after the fact.

But fair enough. I'll take the downvotes.


I find the code very useful. I've checked the Core Foundation sources numerous times when I wanted to know how something was implemented. Apple's documentation is sometimes lacking, and it's great when you run into a problem and you can just read the sources.

Unfortunately, CF is always released pretty late (it's "coming soon" for months), and it would be nice if much more was Open Source.

But I'm happy about every bit of code that's public!


[flagged]


I'm not sure that is constructive to the topic in any way


You are right; I should have posted more of an explanation.

I am a longtime Mac user who has grown disenchanted and I suspect I am one of many.

After the back-toback announcements of the new Surface Book and the new Macbook Pro, I felt like maybe Microsoft was the more geek-friendly company and that their product was a higher end product that would meet my needs better.

So, I bought a Surface Book today and I am kind of nervous about the change.

This post happened to be the first thing I saw on HN while I was setting up the new machine.

That still may not be a constructive addition to THIS thread, but at least it isn't just brand religion.


And your reply is also not constructive.


How do you like the Surface Book? I'm very tempted to buy one.


Microsoft gave me one at the end of my internship.

It is ok. It feels really clunky when compared to a MacBook but overall I would give it a thumbs up. My biggest complaint is that it is really back-heavy, so it wants to fall over whenever I sit it on my lap. Also, the docking station has a lot of weird issues (e.g., it will just stop working sometimes if it goes to sleep until I unplug it from the wall).


Is that the first gen or the new one?

It is still a little back-heavy, but I suspect the bigger battery in the new base balances it out a little more.


I am a little nervous about this switch, but it is definitely a high quality machine with solid attention to detail.

Also, Windows 10 seems pretty solid.

I have a long way to go, but I am hoping that I can use the Thanksgiving break to get over the hump and be relatively productive when I get back to the office on Monday.

I am pretty committed to making the switch though. I am taking notes in case the transition is worth sharing later.


I am reluctantly thinking of jumping ship too. What is keeping me back is that, I remember, a little while after Windows 10 was released, there was a scandal because it sent users' data back to Microsoft, disregarding privacy settings. I haven't followed the story too much since, and could not find anything saying the issue was "fixed". Does anybody know how the story ended?


Unfortunately, the issue was never "fixed". Microsoft is still doing it. Some recent discussion here¹.

――――――

¹ — https://news.ycombinator.com/item?id=12957745


Yes. It still sends a lot of data back.


> I am taking notes in case the transition is worth sharing later.

I was going to bookmark your blog in case you shared those notes, but it looks like jaxn.org is no longer.


Yeah, I ran for political office earlier this year and took my blog down. I will probably post to Medium.


Any thoughts on why they wouldn't have released this under a Github repo?


Because not all open source software has to be distributed via GitHub.

Think about what happened to SourceForge, and be glad that the Internet hasn't become totally centralised around a few major websites yet.


Seriously the over reliance on Github is a systemic risk to the industry.


...just like over reliance on google.com to search internet?

some people say "yes", some people say "nonsense".


Who relies on google exactly, other than advertisers?

It works really well, but, if it fails... there's plenty waiting right there to take it's place.


Just this Tuesday I could observe, what happens when Google is down (their routers were throwing away packets from Prague peering).

So, without further ado:

- obviously, services like Search, Youtube, Gmail are unavailable. That includes searching from the address bar in your browser ;)

- people, who have their DNS set to 8.8.8.8 should reconsider their settings,

- too many web pages use assets hosted on Google CDN, including analytics or fonts, and when unavailable, the pages will load very slowly, waiting for timeouts from CDN.

- Android phones will say, that Internet is unavailable, even if it is.

Otherwise, everything is fine.


Also anything that uses Recaptcha was mostly unusable, including government services.


Yup, it's an actual issue.


Is it? Every repo contains the complete history, github crashing tomorrow would be more of an inconvenience than a disaster.


It doesn't contain the bug tracking, the wiki or the project sites. It doesn't include the team organization and access control. It doesn't include the bot integration. And it doesn't include the merging workflow that people are really starting to rely on.

GitHub going down would be a major inconvenience.


Project sites are already github repos. Bug tracking etc should be backed up (https://backhub.co/), or did we forget how to make backups?


I get really annoyed by comments like this. The comments was that there may be a systemic risk. Pointing out that there are mitigating controls available is simply not sufficient to refute the concern. To refute it you'd need to show that enough repos do have sufficient backups and are capable of recovering adequately from the loss of github.

If I asked a colleague at work if a project was properly backed up and they said 'well there's an enterprise backup solution that is appropriate for it', I'd metaphorically kick their but into next week. I'd want to know that they are actually backing it up and that the backups have been verified, not that they could be backing it up.

If you'd said something like 'there are options available to mitigate the loss of github and projects should be taking advantage of them, and here they are' that would be a good and useful comment, but I don't think a practical concern can be reasonably dismissed with a theoretical counter. I find it dismissive and lazy.


The point is the risk is the same as it's always been and the mitigation steps are the same. And that git mitigates some of the worse effects naturally.


If project sites were still mostly individually hosted using a wider variety of services and software, then a single outage wouldn't be a big deal.

Now, an outage at github would be difficult because you would not only have to get your stuff available again, but you might also have to track down a long list of dependencies that are also hosted at github.


Personally, I'm not a fan of centralising all open-source software on GitHub and think it's good that Apple host it themselves.

Of course, being open-source, you're more than welcome to put a copy there.


They've been publishing their source code using their own portal since before GitHub existed.


Inertia, probably. You can find older releases at that URL too: https://opensource.apple.com/release/os-x-1010.html


All the way back to 10.0, which was released in 2001 -- long before Git was even a thing, let alone Github.


Someone made an unoffical github repo, but it's not been kept up-to-date: https://github.com/unofficial-opensource-apple

The tool they used to create it is here: https://github.com/n-b/tatin

Not sure if it still works, but it's was pretty handy for doing diffs, etc...


Someone should implement Vulkan for it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: