Magenta — реализация Darwin/BSD поверх ядра Linux, полностью бинарно совместимая iPhone OS 5.0 (использует тот же бинарный формат), работает на любом процессоре ARMv7.
Разработчик Кристина Б. взяла Darwin (основа iOS, опубликован под свободной лицензией APSL) и попыталась заменить все остальные проприетарные компоненты iOS свободными альтернативами.
На данный момент Magenta содержит следующие библиотеки:
- CoreFoundation
- libstdc++
- libobjc
- libc++abi
- libicucore
- libncurses
Как часть libSystem:
- libmath
- libunwind
- libsystem_blocks
- libC
Все библиотеки скомпилированы под Darwin, а не под Linux, за исключением libC, которая работает как мост.
В перспективе разработчик Magenta ставит цель воссоздать стек iPhone OS 1.0 с помощью свободных библиотек. Теоретически, это выглядит вполне реальным, учитывая количество возможных альтернатив, например:
CoreGraphics -> Cairo, FreeType, libpng/jpg
Celestial -> разные декодеры
UIKit -> Chamelleon
«Это очень странный проект. Вы спросите меня, зачем я это делаю? Ответ: вообще без понятия», — пишет Кристина, и такие слова напоминают исторический анонс Линуса Торвальдса.
Исходный код Magenta опубликован под свободной лицензией на сайте Кристины, на github она идти не хочет, говорит, что не любит CVS (кстати, и Торвальдс тоже так говорил).
Автор: alizar