News for hackers. Stuff that matters.
Re:Darwin-xnu: The Darwin Kernel by diminish on Saturday September 30, 2017 @11:49AM (#15373407)
So is it a totally new story that iOS kernel is open sourced?
Re:Darwin-xnu: The Darwin Kernel by cucumberferity on Saturday September 30, 2017 @12:02PM (#15373492)
It's a story that (a) the iOS bits are included and (b) it's posted to GitHub instead of dumped at opensource.apple.com. We'll see if Apple accepts pull requests.
Re:Darwin-xnu: The Darwin Kernel by earenndil on Saturday September 30, 2017 @12:11PM (#15373538)
I doubt they will. Actual commits aren't going to github, just version snapshots.
Re:Darwin-xnu: The Darwin Kernel by cucumberferity on Saturday September 30, 2017 @12:52PM (#15373731)
That's frustrating.
Re:Darwin-xnu: The Darwin Kernel by crawshaw on Saturday September 30, 2017 @01:32PM (#15373955)
Github is nice, but there is (and should be) far more to the open source world than just Github.

I am happy they are making sources available. It would be wonderful if Apple started developing their kernel in public (I would like to read those code reviews). What tools they use should be up to the developers.

Re:Darwin-xnu: The Darwin Kernel by josteink on Saturday September 30, 2017 @01:43PM (#15374012)
I think he refers to the fact that we don't get the real version history, with informative commits which may provide context for the code in question, but instead just get snapshots for particular versions.

I'm not saying it's useless, but it's certainly much less useful than a proper version-history, and very much a declaration that it is in no way intended to be a collaborative project.

But I guess that shouldn't surprise anyone either. It's Apple, after all.

Re:Darwin-xnu: The Darwin Kernel by smitherfield on Saturday September 30, 2017 @02:49PM (#15374408)
Apple's made some pretty big genuine contributions to open-source: WebKit, LLVM[1]/clang, Swift, OpenCL.[2]

[1] Yes, technically "not Apple" in the sense that Node.js isn't Joyent.

[2] Admittedly partial credit at best since they've orphaned it in favor of their proprietary Metal API. I'd guess however that Metal will get open-sourced pretty soon.

Re:Darwin-xnu: The Darwin Kernel by bemused on Saturday September 30, 2017 @03:22PM (#15374585)
webkit was based on khtml (LGPL) - not much of a choice for apple
Re:Darwin-xnu: The Darwin Kernel by gsnedders on Saturday September 30, 2017 @05:19PM (#15375038)
For a long time, they just did source-code dumps whenever they made a binary release (i.e., did what is required by the LGPL). They actively chose to move it to being run as an open-source project, with public history, public bug tracking, and public contributions.
Re:Darwin-xnu: The Darwin Kernel by smitherfield on Saturday September 30, 2017 @04:46PM (#15374903)
They could've written a rendering engine from scratch, or (in 2001-2002) acquired Netscape or Opera for a song.
Re:Darwin-xnu: The Darwin Kernel by Fnoord on Saturday September 30, 2017 @06:42PM (#15375358)
Did Apple have a lot of cash in 2001/2? IIRC that is before the iPod hype.
Re:Darwin-xnu: The Darwin Kernel by mindcrash on Saturday September 30, 2017 @02:45PM (#15374373)
No, because this thing, darwin-xnu AKA the OSX/iOS microkernel, was already opensourced through https://opensource.apple.com/ for both iOS and OSX (to be precise, the source tarballs can be found here: https://opensource.apple.com/tarballs/xnu/)

What is new however is that Apple is now seemingly actively using GitHub to publish their opensource contributions.

Re:Darwin-xnu: The Darwin Kernel by willstrafach on Saturday September 30, 2017 @03:51PM (#15374706)
> No, because this thing, darwin-xnu AKA the OSX/iOS microkernel, was already opensourced through https://opensource.apple.com/ for both iOS and OSX

This is not true. iOS components were always stripped out until now.

Re:Darwin-xnu: The Darwin Kernel by joshumax on Saturday September 30, 2017 @07:35PM (#15375539)
This, while probably seemingly unimportant to a lot of people, is extremely great news for a project I'm a part of!

We're working on a full iPhone emulator based on QEMU, and currently, while we are able to boot into early userspace from an unmodified iOS image, the release of the iOS-specific code will be quite helpful in speeding up bug elimination and the development of the virtual graphics hardware that can get us past a basic graphical framebuffer.

Re:Darwin-xnu: The Darwin Kernel by FractalNerve on Saturday September 30, 2017 @08:33PM (#15375771)
wow, interesting! Where can I find your project?
Re:Darwin-xnu: The Darwin Kernel by KGIII on Saturday September 30, 2017 @09:48PM (#15375969)
Probably this:

https://github.com/joshumax/QEMU-s5l89xx-port

Or this:

https://github.com/nvsio/qemu-ios

Found sort of via this:

https://www.reddit.com/r/jailbreak/comments/6crw5t/question_...

I assume they won't mind my sharing. They posted it publicly with the same username and have public Git pages.

Re:Darwin-xnu: The Darwin Kernel by joshumax on Monday October 02, 2017 @11:13PM (#15389844)
Actually, you saved me a post! Thanks!

Although quick note, a lot of work is being done in a private repo until it passes the "clean room" test, after which it will be pushed to the public repos. :)

Re:Darwin-xnu: The Darwin Kernel by FractalNerve on Monday October 02, 2017 @11:02AM (#15384295)
You've incredible search skills! Thank you very much =))
Re:Darwin-xnu: The Darwin Kernel by lobster_johnson on Saturday September 30, 2017 @03:37PM (#15374651)
Minor correction: XNU is not a microkernel.
Re:Darwin-xnu: The Darwin Kernel by fnj on Saturday September 30, 2017 @05:09PM (#15374994)
XNU is a hybrid kernel incorporating large elements of Mach (microkernel) as well as BSD (monolithic kernel).
Re:Darwin-xnu: The Darwin Kernel by atombender on Saturday September 30, 2017 @05:27PM (#15375070)
The term "hybrid" is not a particularly useful concept, since the whole idea of a microkernel is to achieve stability and extensibility by placing only a minimal kernel in kernel space, and have everything else (drivers, file system, etc.) live in userland.

XNU is built on Mach (initially 2.x back when it was NeXTStep/OpenStep, later 3.0 for OS X), but everything runs in a single address space. Mach ports are retained throughout the OS as a communication mechanism, including userland, but all the core stuff is in the kernel, and Apple has transitioned many Mach port IPC responsibilites to more traditional syscalls to work around the fact that ports are comparatively slow. For example, all POSIX operations such as read and write are BSD syscalls that correspond to entrypoints in the kernel; they're not IPC messages.

Re:Darwin-xnu: The Darwin Kernel by justsid on Saturday September 30, 2017 @10:03PM (#15375996)
That‘s true, but it‘s also important to note that most of the BSD subsystem is actually a shim over Mach. So once your BSD syscall has made it to the kernel, chances are you‘ll get a mach IPC call from the BSD shim.
Re:Darwin-xnu: The Darwin Kernel by the_why_of_y on Sunday October 01, 2017 @07:17AM (#15377317)
The term "hybrid kernel" means it elegantly combines the disadvantage of a Mach microkernel (slow IPC based interfaces) with the disadvantage of a monolithic kernel (no fault tolerance due to single address space).
Re:Darwin-xnu: The Darwin Kernel by JimDabell on Saturday September 30, 2017 @03:06PM (#15374509)
Apple using GitHub isn't new, they've been doing it for at least a couple of years. ResearchKit was their first GitHub repository I think.
Re:Darwin-xnu: The Darwin Kernel by AlphaSite on Sunday October 01, 2017 @12:26AM (#15376388)
Isn’t it Swift?