O que significa para os consumidores que a Apple lançou o kernel do MacOS como código aberto?

17

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

Isso significa que veremos outros computadores (que não são fabricados pela Apple) executando o MacOS?

Se não, então o que aconteceria?

Pelo que entendi, o kernel Unix também foi lançado e o Linux foi criado. O mesmo deve acontecer com o kernel da Apple?

DrWongKC
fonte
8
O Linux não é baseado no kernel UNIX, é um projeto independente (embora tente reproduzir a API para ser mais ou menos compatível com POSIX).
Ruslan
6
Na verdade, MacOS é Unix, mas Linux não é Unix (Apple efectivamente pago dinheiro para obter seu sistema operacional certificada como Unix)
slebetman
1
@DrWongKC blog.opengroup.org/2012/07/25/…
el.pescado
24
A notícia aqui não é que o kernel seja de código aberto; a primeira frase do seu artigo diz "A Apple sempre compartilhou o kernel do macOS após cada versão principal". A notícia é que eles lançaram a versão escrita para o ARM. Basicamente, este artigo é isca de clique e poderia ter terminado após o primeiro parágrafo.
JSCs
1
@ JoshCaswell Essa deve ser uma resposta, principalmente porque não precisa de nenhuma referência além do artigo vinculado na pergunta.
IMSoP 23/10/19

Respostas:

34

Não significa nada. O kernel do macOS / OS X sempre foi de código aberto. O kernel é apenas uma pequena parte de um sistema operacional completo, portanto, não permite que mais ninguém libere sua própria versão do MacOS.

Mike Scott
fonte
5
Alguém pode tentar criar seu próprio sistema operacional com base no kernel do macOS, por exemplo. OpenDarwin / PureDarwin . Só lembre-se de que a maioria das outras partes que definem o que faz o macOS estará ausente.
El.pescado 23/10
3
Alguém aqui construiu com sucesso um xnu realmente idêntico ao que está instalado? Na época do Tiger, eu compilei os meus e vi problemas. Em seguida, foi informado pela Apple que certas partes estão faltando intencionalmente e que seria impossível construir um recurso completo do kernel a partir do que é publicado. (Quando) isso mudou?
LаngLаngС
2
@LangLangC Não, o kernel do Darwin ainda está incompleto até hoje. O que eles lançaram hoje são apenas os componentes já lançados, mas com pequenas alterações nos processadores ARM que eles usam no iOS e no tvOS.
Adam Davis
34

Esclarecimento:

A Apple sempre lançou o kernel do MacOS em um formato de código aberto. O kernel é chamado Darwin. Darwin tem um objetivo de x86. Pode ser portado para outros processadores, mas a variante de código aberto do Darwin que a Apple controla e libera estava disponível apenas para x86.

No entanto, o iOS, que usa processadores ARM, usa o Darwin desde o seu início. A Apple nunca lançou a porta ARM de Darwin, apesar de obviamente ter uma, uma vez que a está usando em milhões de dispositivos iOS já nas mãos dos consumidores.

Este anúncio é que a Apple está agora lançando as peças ARM de Darwin que elas anteriormente retinham.

Darwin é apenas um kernel, não inclui a maior parte do que faz o MacOS ou iOS funcionar como o consumidor espera. Um kernel não é um sistema operacional completo.

Além disso, Darwin não é um kernel completo. A Apple não libera muitas partes dele.

O que significa para os consumidores que a Apple lançou o kernel do MacOS como código aberto?

Não muito, inicialmente. Isso não afetará a disponibilidade de hardware ou software, atualizações e provavelmente nem terá um impacto substancial no jailbreak ou usos alternativos semelhantes de dispositivos apple.

Isso significa que veremos outros computadores (que não são fabricados pela Apple) executando o MacOS?

Isso não afeta a disponibilidade de dispositivos de hardware que não sejam da Apple que executam o software ou sistemas operacionais da Apple. O que já está disponível não se tornará mais ou menos disponível ou mais ou menos legal.

Se não, então o que aconteceria?

A explicação mais provável, e como os consumidores se beneficiarão, vem de um lançamento anterior do código que a Apple geralmente mantém perto do peito ", a Apple confirma que o código do kernel do iOS não foi criptografado intencionalmente ", o que sugere:

A Apple começou a mudar em direção a uma maior transparência, principalmente em questões de segurança, após a batalha contra o FBI pelo desbloqueio de um iPhone usado pelo atirador de San Bernardino. Quando o FBI tentou obrigar a Apple a desbloquear o telefone, o CEO Tim Cook escreveu uma rara carta aberta aos clientes da Apple, explicando sua decisão de resistir. "Nós sentimos que devemos falar diante do que consideramos uma superação pelo governo dos EUA", escreveu Cook. (O FBI acabou desistindo de sua solicitação depois de pagar a terceiros para invadir o dispositivo.)

A abertura do código do kernel para inspeção pode enfraquecer o mercado de falhas de segurança, como a que se presume que o FBI tenha usado para entrar no iPhone de San Bernardino. Se as falhas forem reveladas rápida e amplamente, reduzirá a aplicação da lei de preços e o mercado negro pagará por elas - e isso pode significar correções mais rápidas para os clientes da Apple.

Portanto, o benefício do consumidor é que mais olhos, especificamente pesquisadores de segurança, estarão no código e, com sorte, isso trará à tona fragilidades na segurança, permitindo à Apple a capacidade de melhorar a segurança para os clientes, em vez de descobrir que sua segurança está comprometida quando um governo ou terceiros podem tirar os direitos de alguém sem o devido processo.

Se isso é positivo, depende de pesquisadores se voluntariarem para vasculhar o código.

Pelo que entendi, o kernel Unix também foi lançado e o Linux foi criado. O mesmo deve acontecer com o kernel da Apple?

A Apple começou com o código BSD original, que, usando a licença BSD, não exige que empresas ou indivíduos liberem suas alterações no código para as pessoas às quais distribuem o software compilado. De fato, eles escolheram isso sobre o kernel do Linux especificamente, a fim de manter em segredo certas propriedades intelectuais (entre muitas outras razões, é claro).

Portanto, eles não têm uma obrigação legal de liberar todo o código. Alguns dos softwares que eles usam possuem outras licenças, como a GPL, que exige que sejam mantidas em código aberto. Muitos deles já estão disponíveis na Apple.

Isso, no entanto, também aponta para outra possibilidade: muitas partes do kernel são liberadas para que os desenvolvedores possam desenvolver hardware e software especializado do MacOS. Isso é muito mais profundo no sistema do que os desenvolvedores de aplicativos têm acesso permitido para dispositivos iOS.

Esta versão, portanto, sugere uma ou duas das duas possibilidades fortes (e isso é uma conjectura completa):

  1. A Apple está se preparando para lançar computadores MacOS usando seus processadores ARM da série A.
  2. A Apple está se preparando para permitir que os desenvolvedores criem software de nível mais profundo para dispositivos iOS.

Eu diria que computadores MacOS que usam processadores ARM são mais prováveis, já que o mais recente chip A11, usado no iPhone 8 e X, supera o mais recente chip Intel i5 , usado no Macbook 13 de 2017 ". A Apple ainda tem um caminho pela frente eles podem substituir os processadores Intel ao longo de toda a sua linha; no entanto, em um ou dois anos, os computadores MacOS low-end por chips A12 ou A13 substituem os chips Intel usados ​​anteriormente.

Isso traria benefícios significativos para a Apple (particularmente seus resultados).

No entanto, sem uma declaração oficial, não há como saber quais os motivos que a Apple tem para liberar as partes ARM de seu kernel Darwin, já amplamente aberto.

O consumidor será impactado muito pouco, se houver, e apenas indiretamente.

Adam Davis
fonte
Um computador macOS low-end como o Mac mini, talvez? :-)
nohillside
1
@patrix Eu sei que muitas pessoas estão esperando por um novo!
Adam Davis
Facilmente a melhor resposta; obrigado por explicar tão claramente!
Curinga
1
Se apenas pontuações Geekbench realmente implícita algo sobre o desempenho no mundo real ... ;-)
Cody Grey
Resposta muito surpreendente. Obrigado por compartilhar seu conhecimento.
DrWongKC
18

Um grande impacto foi no campo de segurança de software. O kernel do iOS não tinha código aberto anteriormente: as fontes públicas cobriam apenas plataformas x86 / x64, sem nenhuma das partes do ARM / ARM64 executadas no iOS. O kernel também foi criptografado anteriormente no firmware do iOS e é muito complicado de extrair, dificultando a execução de avaliações de segurança do kernel do iOS - uma espécie de "segurança pela obscuridade".

Ao fazer a fonte aberta do kernel e deixar o kernel não criptografado, o kernel do iOS agora pode ser analisado e analisado mais livremente em busca de vulnerabilidades de segurança ( https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/ ). Este será um passo positivo para a segurança do kernel em geral, porque significa que a pesquisa de vulnerabilidade do kernel do iOS será mais aberta a pesquisadores comuns que podem divulgar problemas para a Apple, em vez de apenas se limitar a, por exemplo, atores financiados pelo Estado.

nneonneo
fonte