They wrote it, so they could close its source regardless of the license (which was actually Apache 2 and APSL before that).
It looks like 10.9 (released in 2016) was the last release on https://opensource.apple.com/ that included launchd. The original author left Apple in 2014, so maybe it had something to do with that (similar to why they abandoned MacRuby and CUPS), though one would think that they still update it internally.
They do. Launchd/Mach/xpc are still critical technology pieces that underlies every service and nearly every single framework (since most of them just delegate to a service).
It’s gotten smarter over the years. Launchd now supports complex Jetsam configuration parameters which let you specify RAM and CPU thresholds when your daemon is active and not (to be robust against memory leaks)
Here’s an interesting lecture from the primary developer of launchd (which “launch’d”, pun intended, on Mac OS X Tiger) discussing its design goals and implementation: https://youtu.be/mLwn_TbBntI
Yeah, I never really understood why you'd want to adopt launchd anywhere but macOS. It's pretty clear that launchd was designed for Mac OS X first and foremost, so a number of its semantics just don't really make sense anywhere else. As a toy it would be interesting to have around, but I doubt anyone would want to ship it in an official distribution.
15 comments
[ 2.9 ms ] story [ 69.4 ms ] thread(Some leeway is provided during the first few months of $CURRENT_YEAR.)
It looks like 10.9 (released in 2016) was the last release on https://opensource.apple.com/ that included launchd. The original author left Apple in 2014, so maybe it had something to do with that (similar to why they abandoned MacRuby and CUPS), though one would think that they still update it internally.
It’s gotten smarter over the years. Launchd now supports complex Jetsam configuration parameters which let you specify RAM and CPU thresholds when your daemon is active and not (to be robust against memory leaks)
Systemd took much of it's inspiration from launchd... at least I recall seeing this somewhere, but I could be wrong.