9 ms·
OS X 10.10 – Source Code
- justcommenting 12y agofor a second there i was hoping to see that they had merged https://github.com/fix-macosx/ https://github.com/fix-macosx/
- Thesaurus 12y agoFat chance LOL, Timmy likes to spy on users.
- reubenmorais 12y agoHere's a diff between the 10.9 package list [0] and this one: https://gist.github.com/anonymous/014e71ac38a4776811f7 https://gist.github.com/anonymous/014e71ac38a4776811f7 Few changes, but some interesting things pop out, like the addition of libmalloc and libpthread and the removal of memcached and securityd. [0] http://opensource.apple.com/release/os-x-109/ http://opensource.apple.com/release/os-x-109/
- pilif 12y agoThe removal of launchd is a bit of a bummer.
- jzelinskie 12y agoespecially since someone had been working on porting it to FreeBSD for their Summer of Code project.
- gonzo 12y agoIt's already running. https://github.com/outbackdingo/launchd_xml https://github.com/outbackdingo/launchd_xml https://github.com/rtyler/openlaunchd https://github.com/rtyler/openlaunchd Works on 10.1
- lambda 12y agoNot running 10.10 at the moment; did they switch to something else, or just not release the source?
- reubenmorais 12y agoIt's still used, they haven't released the source.
- bigdubs 12y agolaunchd is still the launch agent for 10.10, they probably just removed the source for this version.
- calinet6 12y agoAh, the freedoms of permissive licenses... better than proprietary at least.
- cowsandmilk 12y agothey wrote launchd. Even if they released it under GPL, as the copyright owners, they would have the freedom to make future releases closed source.
- MagerValp 12y ago10.10 ships launchd 2.0 which is a complete rewrite: https://twitter.com/launchderp/status/528053818156527616 https://twitter.com/launchderp/status/528053818156527616 Apparently the launchd code got rolled into xpc, which is closed source.
- 0x09 12y agoI guess this puts the quiet removal of launchd from macosforge.org into perspective. http://web.archive.org/web/20120609100559/http://launchd.macosforge.org/ http://web.archive.org/web/20120609100559/http://launchd.mac... Unfortunate timing since it was finally getting a working port on FreeBSD.
- awalton 12y agoDiff isn't the world's best way to look at this. e.g. the source for securityd was still released, it's just under a different directory now (Security-57031.1.35/securityd/).
- jevinskie 12y agoNice, I'm glad they finally released libmalloc source after they separated it from Libsystem (or was it in Libc? Eh, one of those). It was not in the 10.9 releases when the split happened. I think most of libSystem.dylib (and its sub-dylibs) are once again open source. =)
- aktau 12y agoNot really, I still can't seem to find the SSE assembly versions of many functions that have been missing since OSX 10.9: http://stackoverflow.com/questions/25505371/where-did-osxs-x86-64-assembly-libc-routines-go http://stackoverflow.com/questions/25505371/where-did-osxs-x...
- preillyme 12y agoYeah, I'm for sure missing launchd and memcached. But I suppose they've got their reasons.
- duskwuff 12y agomemcached is still open source. Apple's just no longer redistributing source for it (probably because it's no longer included with the OS).
- RexRollman 12y agoDo they not create bootable, installable images of Darwin anymore?
- voltagex_ 12y agoFrom memory, this is the first release of the Darwin source in ages, but https://opensource.apple.com/ https://opensource.apple.com/ looks to have been updated. http://www.puredarwin.org/ http://www.puredarwin.org/ looks abandoned, and OpenDarwin disappeared long ago - http://www.applematters.com/article/opendarwin-dies-a-lonely-death/ http://www.applematters.com/article/opendarwin-dies-a-lonely...
- NSCFType 12y ago> From memory, this is the first release of the Darwin source in ages Ages? https://opensource.apple.com/ https://opensource.apple.com/ looks like it has for a while, except for the addition of 10.10 (I grab CFLite, libclosure, libdispatch, and objc4 whenever they're made available after a release).
- NSCFType 12y agoNot in a very long time. If memory serves, Apple last released a bootable image for one of the Darwin 8.x releases.
- eccstartup 12y agoswift is not open source?
- nkozyra 12y agoSome claim it will be, though there's been nothing official from Apple yet.
- deleted 12y ago[deleted]
- bobbles 12y agoim pretty sure the official comment was 'we don't know yet, but we'd like it to be if it makes sense'
- DerekL 12y agoNot currently. But it's a development tool, and not a part of OS X, so it wouldn't be listed here anyway. For instance, this page has Clang, GCC, Git, etc.: http://opensource.apple.com/release/developer-tools-51/ http://opensource.apple.com/release/developer-tools-51/
- beltex 12y agohttps://github.com/ksm/SwiftInFlux#open-source-possibility https://github.com/ksm/SwiftInFlux#open-source-possibility
- chrisBob 12y agoFor those of us who don't know what we are looking at, and just see the title of "OS X 10.10 - Source Code", is this just Darwin, or is there more here than that?
- codezero 12y agoThe kernel is in the xnu folder, this is a bunch of the underlying system, not just the kernel, but it's not the case that you can compile this all and get a working OS X Yosemite desktop (at least, I don't think you can but correct me if I'm wrong!)
- benwaffle 12y agoI think I did compile a kernel on 10.6 or 10.7
- thelibrarian 12y agoMy understanding (which may be out of date) is that this is the complete OS but without the GUI layer - it is the kernel, init system, shell, and user-space CLI utilities. It does not include the GUI shell (Aqua), the GUI libraries (Frameworks in OS X terminology), or GUI applications (iTunes, Mail, Safari etc.).
- pwnna 12y agoDoes this mean if you compile this and get it to work, you can get something like XFCE or KDE running on it?
- coldtea 12y agoSure. People have been doing that since 2000. http://www.puredarwin.org/ http://www.puredarwin.org/
- nathanvanfleet 12y agoKeep in mind that there are a lot more Frameworks other than just GUI related ones that aren't present as well. They have a lot more tools missing than just the "glitter"
- voltagex_ 12y agoA great, although sad post about the state of building (booting) Darwin: http://superuser.com/a/634080 http://superuser.com/a/634080
- deleted 12y ago[deleted]
- codezero 12y agoBummed they didn't fix the bug I submitted in vfs_syscall. In fsetxattr when key values are too long it returns EPERM instead of ENAMETOOLONG as described in the man page :( Bug is not present in setxattr: http://opensource.apple.com/source/xnu/xnu-2782.1.97/bsd/vfs/vfs_syscalls.c http://opensource.apple.com/source/xnu/xnu-2782.1.97/bsd/vfs...
- 3rd3 12y agoWhy is iOS only disclosed up to version 6.1.3? https://opensource.apple.com/ https://opensource.apple.com/
- JohnTHaller 12y agoI believe Apple stopped releasing any source for iOS at that point. The open source projects they pull from are BSD/MIT which permits and encourages closed source usage.
- colinbartlett 12y agoPresuming OS X pulls from the same licensees, why do they release those revisions but not iOS?
- 0x0 12y agoWild guess: while iOS' version of XNU is often one major version ahead of OSX, there is no way for 3rd party developers to write kexts on that platform (beyond jailbreaking). Maybe they don't want to help jailbreakers.
- saurik 12y agoWebCore and JavaScriptCore are LGPL, so they can't stop providing the source code for their mobile builds. I sent Apple a request for disclosure a couple days ago. In a week or so if I haven't gotten anything I will start escalating.
- orbitur 12y agoCan you not get to that stuff through the WebKit repo? edit: Looks like you can: https://github.com/WebKit/webkit/tree/master/Source https://github.com/WebKit/webkit/tree/master/Source This is where I was digging to find whether or not JavaScriptCore would still work with WKWebView. Spoiler: it won't.
- 12y ago
- chollida1 12y agoI opened one package at random http://opensource.apple.com/source/IOFWDVComponents/IOFWDVComponents-207.4.1/DVControlComponent.c http://opensource.apple.com/source/IOFWDVComponents/IOFWDVCo... I see this: #include <Carbon/Carbon.h> //#include <Resources.h> //#include <OSUtils.h> //#include <Components.h> #include "DeviceControlPriv.h" #include "IsochronousDataHandler.h" #include "DVVers.h" #include <stdio.h> #include <stdlib.h> //#include <syslog.h> // Debug messages It's good to know that I'm not the only one who has commented out code in their shipping code:)
- nkozyra 12y agoTrust me, you're among friends.
- themartorana 12y agoYou have no idea. I know git is supposed to mean I can delete code without fear of losing it. Still...
- knodi123 12y agoWhen I comment out code, I add a timestamp of when I disabled it. Then, when I come across commented code with a timestamp more than 6 months old, I go ahead and delete it. Best of both worlds!
- madeofpalk 12y agoOh lord. Best demonstration of Poe's Law right here.
- dshap 12y agoDoesn't "git blame" take care of your timestamps for you?
- gcb0 12y agono. vc will only take care if you have the history and know what you are looking. if you publish a final version only like this all that is lost. if you run a interpreted language you can't find the place of the old code while debugging at runtime. there are many reasons to leave code comments besides neglect. though in this case it's neglect :)
- jevinskie 12y agoThis inspires me to update my script that converted opensource.apple.com into Github repos [0] (even creating the repo using the Github API). It needed more work because some of the Apple source releases are messed up and include another copy of the source tree in a directory at the root of a tarball! I asked Github if it was OK to upload the tens of gigabytes of source that the entirety of opensource.apple.com is and I got a "Sure, why not?" response. =) I think the last time I updated these repos was around 10.7 or 10.8 [0]: https://github.com/Apple-FOSS-Mirror/ https://github.com/Apple-FOSS-Mirror/ Edit: I was always wondering how I could manipulate git such that anyone could checkout my scripts and create identical git repos (same commit hashes and all) with a single command. I am somewhat hesitant to update the repos now because it would involve rewriting old commits since I haven't solved this problem yet.
- voltagex_ 12y agoThat's a brilliant idea. Couldn't you test a newer version of your script against a new branch?
- jevinskie 12y agoYeah... once I find it on my old backups. =) Ironically, my script that produces git repos was not itself version controlled. Lesson learned (for the umpteenth time). I wasn't comfortable putting it public due to sloppiness and I didn't yet have my own GitLab server. I now have the latter and am motivated to fix the former (put the script itself on Github). =)
- voltagex_ 12y agoLet me know how you go. Contact details are in my profile. I've got way too many projects to finish right now, but I'd like to boot XNU in a VM at some point.
- malkia 12y agoYup. Great idea. Along with "github-backup" like tool (I use this one - https://github.com/joeyh/github-backup https://github.com/joeyh/github-backup) then I could spend days browsing and reading :)
- ahmett 12y agoAnd the good old shellshocked bash version 3.2 http://opensource.apple.com/source/bash/bash-94.1.2/version.h http://opensource.apple.com/source/bash/bash-94.1.2/version....
- 0x0 12y agoYou have to look for the vulnerable code, not just the version string. Supposedly it has already been patched.
- ctpide 12y agoa patch was released for OS X versions below 10.10 only, so I would assume it should be applied to OS X 10.10: http://support.apple.com/kb/HT6495 http://support.apple.com/kb/HT6495
- 0x0 12y agoI would assume that the patch has already been applied to the shipping final version of 10.10.0; installing system packages designed for older OSX releases sounds dangerous.
- redwall_hp 12y agoJust install a newer bash with homebrew ¯\_(ツ)_/¯ That's what I did, before Apple even released a patch for Mavericks.
- jammi 12y agoThat's not shipping or has patches added: --------- rutina:~/git/bashcheck@master$ uname -a Darwin rutina.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64 rutina:~/git/bashcheck@master$ ./bashcheck Testing /bin/bash ... Bash version 3.2.53(1)-release Variable function parser pre/suffixed [__BASH_FUNC<..>(), apple], bugs not exploitable Not vulnerable to CVE-2014-6271 (original shellshock) Not vulnerable to CVE-2014-7169 (taviso bug) Found non-exploitable CVE-2014-7186 (redir_stack bug) Test for CVE-2014-7187 not reliable without address sanitizer Found non-exploitable CVE-2014-6277 (lcamtuf bug #1) Not vulnerable to CVE-2014-6278 (lcamtuf bug #2)
- bingeboy 12y agoThis is a good step into making Star Trek law the real law.
- voltagex_ 12y agoAny idea what's up with the cert on https://opensource.apple.com/ https://opensource.apple.com/?
- cpach 12y agoIt works fine for me. AFAICT the cert they use is okey. [Fingerprint: 92 D3 F3 46 0E BA A5 FE D5 5E C8 AE 19 59 82 57 85 FE AE 88 A5 9D F7 BE FC 47 89 38 5F BC 4A E9 (SHA-256)]
- tkubacki 12y agoin recent years even MS is releasing more meaningful open source code than Apple (eg. asp.net vnext, PCL) or I'm missing something
- oblio 12y agoThey've also added support for Docker, contributed code to Linux and are including a package manager in Windows 10. The world is turning upside down :)
- lolo_ 12y agoNot sure they're releasing any OS code publicly though :-) internals still have to be somewhat guessed/reverse engineered at.
- Someone 12y agoThere are strings attached, but it is not that hard to get access to the Windows source code: http://www.microsoft.com/en-us/sharedsource/default.aspx http://www.microsoft.com/en-us/sharedsource/default.aspx
- lolo_ 12y agoNot sure they're releasing any OS code publicly though :-) internals still have to be somewhat guessed/reverse engineered at.
- adamnemecek 12y agoThe procmail source is something else https://opensource.apple.com/source/procmail/procmail-14/procmail/src/procmail.c https://opensource.apple.com/source/procmail/procmail-14/pro...
- astrodust 12y agoFor a real head trip, read Sendmail's.
- arunc 12y agoWhat version control does Apple use? Is this the same that is being hosted in the linking site as well?
- chicofarm 12y agodoes this mean we can compile Yosemite from the code here and install it on a modern Mac? Or is this just the Darwin kernel code? Are the aqua/user interface layer also included here? Any CONTEXT related to this source code would be greatly appropriated.
- mbel 12y agoIt seems those are only the free/open source components, that are used by OS X.
- 72deluxe 12y agoVast portions of code that makes it usable are missing; as someone above stated, Aqua is missing as well as core items like disk image mounting etc. I tried many years ago to use Darwin in the "haha I can run Mac OSX but not actually buy a Mac" sort of idea - it was an exercise in hard work (as I hadn't a clue what I was doing) and what I did managed to get to boot wasn't massively useful for "real" work (a CLI with no windowing layer) like development etc. or anything you do day to day. Quite interesting nonetheless, but not massively useful.
- jarin 12y agoIt's not intended to be used standalone, it's there for other OSS developers to be able to use.
- locomoco 12y agoNow will someone figure out a terminal command to turn off the MacBook Pro display for Yosemite? Like the following: http://osxdaily.com/2011/09/14/disable-the-internal-screen-on-a-macbook-pro-or-air-in-mac-os-x-10-7-lion/ http://osxdaily.com/2011/09/14/disable-the-internal-screen-o...
- dangayle 12y agoDoes anyone know what they're using Twisted for?
- jiyinyiyong 12y agoHi Ubuntu! How do you think about this?
- amaks 12y agoJust by glancing over the code overall looks like a poorly structured and inconsistent code, lacking centralized coding guidelines or practices. Pretty scary for a shipping product to have code like this.
- iunk 12y agoand they fixed a few Integer overflows - int size = inCapacity * sizeof(dictEntry); + if (inCapacity > (UINT_MAX / sizeof(dictEntry))) + return false; + unsigned int size = inCapacity * sizeof(dictEntry);