Что для потребителей означает, что Apple выпустила ядро ​​MacOS как открытый исходный код?

17

https://techcrunch.com/2017/10/01/apple-open-sourced-the-kernel-of-ios-and-macos-for-arm-processors/

Означает ли это, что мы увидим, что другие компьютеры (которые не созданы Apple) работают под управлением MacOS?

Если нет, то что будет?

Насколько я понимаю, ядро ​​Unix тоже выпущено, и Linux был создан. Должно ли то же самое случиться с ядром Apple?

DrWongKC
источник
8
Linux не основан на ядре UNIX, это независимый проект (хотя он пытается воспроизвести API, чтобы быть более или менее совместимым с POSIX).
Руслан
6
На самом деле MacOS - это Unix, а Linux - это не Unix (Apple фактически платила деньги за сертификацию своей ОС как Unix)
slebetman
1
@DrWongKC blog.opengroup.org/2012/07/25/...
el.pescado
24
Новость здесь не в том, что ядро ​​с открытым исходным кодом; В самом первом предложении вашей статьи говорится: «Apple всегда разделяла ядро ​​macOS после каждого основного выпуска». Новость только в том, что они выпустили версию, написанную для ARM. По сути, эта статья является наживкой и могла закончиться после первого абзаца.
17
1
@JoshCaswell Это должен быть ответ, особенно потому, что он не нуждается в какой-либо ссылке, кроме статьи, связанной в вопросе.
IMSoP

Ответы:

34

Это ничего не значит. Ядро macOS / OS X всегда было открытым исходным кодом. Ядро - лишь малая часть полной операционной системы, поэтому оно не позволяет никому выпускать собственную версию MacOS.

Майк Скотт
источник
5
Кто-то может попытаться построить свою собственную ОС на основе ядра macOS, например. OpenDarwin / PureDarwin . Юср помнит, что большинство других частей, определяющих, что делает macOS, будет отсутствовать.
el.pescado
3
Кто-нибудь здесь успешно собирает xnu, который действительно идентичен установленному? Еще во времена Тигра я собрал свой собственный и увидел проблемы. Затем Apple сказала, что некоторые части намеренно отсутствуют и что невозможно построить ядро ​​с полным набором функций из того, что опубликовано. (Когда) это изменилось?
LаngLаngС
2
@LangLangC Нет, ядро ​​Дарвина до сих пор не завершено. То, что они выпустили сегодня, это просто уже выпущенные компоненты, но с небольшими изменениями для процессоров ARM, которые они используют в iOS и tvOS.
Адам Дэвис
34

Разъяснение:

Apple всегда выпускала ядро ​​MacOS в форме с открытым исходным кодом. Ядро называется Дарвин. Дарвин имеет цель x86. Его можно перенести на другие процессоры, но вариант Darwin с открытым исходным кодом, который Apple контролирует и выпускает, был доступен только для x86.

Тем не менее, iOS, которая использует процессоры ARM, использует Darwin с самого начала. Apple никогда не выпускала порт ARM от Darwin, хотя, очевидно, у них есть порт, поскольку он использует его на миллионах устройств iOS, уже находящихся в руках потребителей.

Это объявление о том, что Apple сейчас выпускает ARM-компоненты Darwin, которые они ранее удерживали.

Дарвин - это просто ядро, оно не включает в себя большую часть того, что заставляет MacOS или iOS работать так, как ожидает от них потребитель. Ядро не является полной операционной системой.

Кроме того, Дарвин не является полным ядром. Apple не выпускает много его частей.

Что для потребителей означает, что Apple выпустила ядро ​​MacOS как открытый исходный код?

Не очень, изначально. Это не повлияет на доступность аппаратного или программного обеспечения, обновлений и, вероятно, не окажет существенного влияния на джейлбрейк или аналогичное альтернативное использование устройств Apple.

Означает ли это, что мы увидим, что другие компьютеры (которые не созданы Apple) работают под управлением MacOS?

Это не влияет на доступность не аппаратных устройств Apple, работающих под управлением программного обеспечения или операционных систем Apple. То, что уже доступно, не станет более или менее доступным или более или менее законным.

Если нет, то что будет?

Наиболее вероятное объяснение и то, как потребители получат выгоду, исходит от более раннего выпуска кода, который Apple обычно держит близко к груди: « Apple подтверждает, что код ядра iOS намеренно оставлен незашифрованным », что предполагает:

Apple начала сдвигаться в сторону большей прозрачности, особенно в вопросах безопасности, после своей борьбы с ФБР за разблокировку iPhone, используемого стрелком из Сан-Бернардино. Когда ФБР попыталось заставить Apple разблокировать телефон, генеральный директор Тим Кук написал редкое открытое письмо клиентам Apple, объясняющее его решение сопротивляться. «Мы считаем, что должны говорить перед лицом того, что мы считаем чрезмерным усилием со стороны правительства США», - пишет Кук. (ФБР, в конце концов, отклонило свой запрос после того, как заплатил третьей стороне за проникновение в устройство.)

Открытие кода ядра для проверки может ослабить рынок для недостатков безопасности, таких как тот, который, как предполагается, ФБР использовало для проникновения в iPhone Сан-Бернардино. Если недостатки будут обнаружены быстро и широко, это приведет к снижению цен правоохранительными органами, и черные рынки будут за них платить, и это может означать более быстрое исправление для клиентов Apple.

Таким образом, потребительское преимущество заключается в том, что больше кода, особенно исследователей безопасности, будет приковано к коду, и, надеюсь, это выявит слабые места в безопасности, предоставляя Apple возможность улучшить безопасность для клиентов, а не узнавать, что их безопасность нарушена, когда правительство или третье лицо может лишить кого-либо прав без надлежащей правовой процедуры.

Однако то, насколько это удастся, зависит от исследователей, желающих прочесать код.

Насколько я понимаю, ядро ​​Unix тоже выпущено, и Linux был создан. Должно ли то же самое случиться с ядром Apple?

Apple начала с исходного кода BSD, который, используя лицензию BSD, не требует, чтобы компании или отдельные лица сообщали о своих изменениях в коде людям, которым они распространяют скомпилированное программное обеспечение. Действительно, они предпочли это ядру Linux специально, чтобы они могли держать в секрете определенную интеллектуальную собственность (среди многих других причин, конечно).

Таким образом, они не имеют юридического обязательства обнародовать весь свой код. У некоторого программного обеспечения, которое они используют, есть и другие лицензии, такие как GPL, для которых требуется, чтобы они оставались открытыми. Многие из них уже доступны в Apple.

Это, однако, также указывает на другую возможность: выпущено много частей ядра, чтобы разработчики могли разрабатывать аппаратное и специализированное программное обеспечение MacOS. Это гораздо глубже в систему, чем разработчики приложений имеют доступ для устройств iOS.

Этот выпуск, таким образом, предлагает одну или обе из двух сильных возможностей (и это полная гипотеза):

  1. Apple готовит к выпуску компьютеры MacOS с использованием процессоров ARM серии A.
  2. Apple готовится позволить разработчикам создавать более глубокое программное обеспечение для устройств iOS.

Я бы сказал, что компьютеры MacOS, использующие процессоры ARM, более вероятны, так как новейший чип A11, используемый в iPhone 8 и X, превосходит новейший чип Intel i5 , используемый в Macbook 13 2017 года ». они могут заменить процессоры Intel по всей своей линейке, однако мы можем видеть, что через год или два компьютеры MacOS младшего класса с чипами A12 или A13 заменят ранее используемые чипы Intel.

Это даст Apple значительную выгоду (особенно ее итоги).

Однако без официального заявления невозможно узнать, по каким причинам Apple выпустила части ARM своего уже широко распространенного ядра Darwin с открытым исходным кодом.

На потребителя это повлияет очень мало, если вообще, и если да, то только косвенно.

Адам Дэвис
источник
Может быть, компьютер MacOS низкого уровня, как Mac mini? :-)
холме
1
@patrix Я знаю, что много людей ждут нового!
Адам Дэвис,
Легко лучший ответ; спасибо, что объяснили так четко!
Wildcard
1
Если бы только баллы Geekbench на самом деле означали что-то о производительности в реальном мире… ;-)
Коди Грей,
Очень удивительный ответ. Спасибо, что поделились своими знаниями.
DrWongKC
18

Одним из основных последствий было в области безопасности программного обеспечения. Ядро iOS ранее не было открытым исходным кодом: ранее общедоступные источники охватывали только платформы x86 / x64, без каких-либо компонентов ARM / ARM64, работающих на iOS. Ядро также было ранее зашифровано в прошивке iOS и его очень сложно извлечь, что ранее очень затрудняло выполнение оценки безопасности ядра iOS - своего рода «безопасность по незаметности».

Благодаря открытому исходному коду ядра и оставлению ядра незашифрованным, ядро ​​iOS теперь можно более свободно анализировать и проверять на наличие уязвимостей безопасности ( https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/ ). Это будет положительным шагом для безопасности ядра в целом, потому что это означает, что исследование уязвимости ядра iOS будет более открытым для обычных исследователей, которые могут сообщать о проблемах Apple, а не ограничиваться, например, финансируемыми государством участниками.

nneonneo
источник