Afinal, qual a relação do macOS com o Unix?

Se você já ouviu que o macOS tem relação com o Unix e o FreeBSD, saiba que é verdade; tudo começou quando Steve Jobs saiu da Apple

Emerson Alecrim
Por
Afinal, qual a relação do macOS com o Unix? (imagem: Guilherme Reis/Tecnoblog)
Afinal, qual a relação do macOS com o Unix? (imagem: Guilherme Reis/Tecnoblog)

Era 24 de março de 2001 quando o macOS, então sob o nome Mac OS X, foi lançado. O sistema operacional chamou a atenção por trazer a Aqua, uma interface gráfica bastante inovadora para a época, com direito a efeitos de transparência e animações. Mas outro aspecto interessante não era visível aos olhos: a proximidade do sistema da Apple com o Unix.

Esse detalhe faz o macOS compartilhar algumas características com sistemas baseados em Linux e BSD. Você vai entender essa história nos próximos parágrafos.

O “não” de Linus Torvalds (“pai” do Linux)

Você sabia que Linus Torvalds recebeu um convite para trabalhar na Apple de ninguém menos que Steve Jobs? Era o ano de 2000. Naquela época, o “pai” do Linux trabalhava na Transmeta, empresa de semicondutores que não existe mais.

De acordo com a Wired, Torvalds aceitou o primeiro convite: o de visitar o campus da Apple, em Cupertino. Mas o segundo, o pedido de Jobs para que ele se juntasse à companhia, foi recusado.

O motivo da recusa não é nem um pouco surpreendente: Linus Torvalds teria que deixar o desenvolvimento do Linux. “Ele [Steve Jobs] queria que eu trabalhasse na Apple fazendo coisas não ligadas ao Linux”, disse mais tarde.

Torvalds pode não ter aceitado o convite, mas Jordan Hubbard topou. Esse é o nome de um dos criadores do FreeBSD, sistema operacional que, tal como o Linux, tem as suas raízes no Unix. Pouca gente sabe, mas é neste ponto que a história do macOS começa a ganhar forma.

Antes do começo

Se você já assistiu a algum filme sobre a Apple ou leu sobre a história da companhia — a biografia de Steve Jobs escrita por Walter Isaacson é ótima para isso —, sabe que, em 1985, Jobs foi demitido da empresa que ajudou a criar.

Jobs não era de se conformar. Usando US$ 12 milhões tirados do seu próprio bolso, ele criou, também em 1985, uma empresa de computadores chamada NeXT. As máquinas da marca nunca foram um grande sucesso de vendas. Mas a vida é cheia de ironias. Mais tarde, esses computadores ajudariam a tirar a própria Apple de uma crise.

Bom, não exatamente os computadores NeXT, mas o sistema operacional deles. Falo do NeXTStep, cuja prévia foi liberada em 1988 e, a primeira versão final, em 1989.

O vídeo a seguir mostra um computador NeXT Cube, de 1988, em ação com o NeXTStep:

YouTube video

É óbvio que, para os padrões atuais, esse é um sistema arcaico. Mas, na época em que surgiu, o NeXTStep tinha uma interface gráfica amigável e uma estrutura orientada a objetos (quando componentes trabalham em conjunto para executar uma tarefa).

Mas a parte mais interessante estava debaixo do capô. O NeXTStep foi desenvolvimento em cima de dois projetos baseados no Unix: o Match e o Berkeley Software Distribution (BSD). Ele era tão avançado para a época que foi usado em vários outros projetos. Os jogos Quake e Doom, por exemplo, foram desenvolvidos no NeXTStep.

Nem tudo era perfeito, porém. Apesar de bastante funcional e, de certa forma, revolucionário, o NeXTStep tropeçava no preço das máquinas da NeXT. Sofisticadas, elas chegaram a custar cerca de US$ 6.500, enquanto, na época, já era possível encontrar computadores mais simples custando por volta de US$ 700.

Com um volume de vendas nada animador, a empresa passou a se focar no que sabia fazer de melhor: software. Nem Jobs sabia, mas esse era o caminho que o levaria de volta à Apple.

O bom filho a casa torna

A NeXT passou a trabalhar só com software em 1993, portando o seu sistema para plataformas como x86 (Intel) e Sparc (Sun Microsystems). No mesmo ano, a Apple estava em uma situação ruim. Seus produtos não convenciam. O PDA (sigla em inglês para Assistente Pessoal Digital) Newton MessagePad, por exemplo, até hoje é sinônimo de fracasso.

Era necessário encontrar novos rumos, afinal, a situação não melhorou nos anos seguintes. Foi aí que o radar da Apple localizou a NeXT. O produto desta poderia ser uma resposta à altura para um rival agressivo: a Microsoft, que já colhia os frutos do lançamento do Windows 95.

Em 1996, a Apple fechou a compra da NeXT por US$ 429 milhões. Mas o detalhe mais interessante é que, com o negócio, Steve Jobs voltou para a Apple.

Quake foi desenvolvido no NexTStep (imagem: John Romero)
Quake foi desenvolvido no NexTStep (imagem: John Romero)

Os últimos momentos do Mac OS clássico

É óbvio que, ao comprar a NeXT, a Apple passou a ser dona do NeXTStep. Mas esse sistema não entrou para o universo do Mac de imediato. Algum tempo após o negócio, a companhia anunciou o Mac OS 8.

Era julho de 1997. Pouco mais de dois anos depois, a Apple lançou o Mac OS 9, a última versão clássica, que remetia ao System 1. Esse é o nome do primeiro sistema operacional para Macintosh, lançado em 1984, razão pela qual também é considerado a primeira versão do Mac OS.

O Mac OS 8 e o 9 trouxeram aprimoramentos. Mas, nos bastidores, a Apple já trabalhava no plano de substituir o sistema operacional por outro mais moderno.

Sim, é neste ponto que o NeXTStep entra em cena. Ou quase. Não bastava simplesmente instalar o sistema operacional com uma nova roupagem em um Mac. Era preciso adequá-lo ao ecossistema da Apple, fazer uma trabalho de “lapidação”, não só visual, mas estrutural.

Está aí o porquê de, por volta do ano 2000, Steve Jobs ter convidado Linus Torvalds para trabalhar na Apple. Ele criou o Linux que, como você sabe, também tem raízes no Unix. Isso significa que Torvalds saberia o que fazer para deixar o kernel (núcleo do sistema) do futuro Mac OS do jeito que a Apple planejava.

Um icônico iMac G3 rodando o Mac OS 9 (imagem: Flicker/Hanul)
Um icônico iMac G3 rodando o Mac OS 9 (imagem: Flickr/Hanul)

O “sim” de Jordan Hubbard (“pai” do FreeBSD)

Com Torvalds ou não, a Apple tinha que tocar o projeto. Em setembro de 2000, surgiu a primeira prévia do icônico Mac OS X, já trazendo a estrutura do sistema operacional da NeXT.

Se o Mac OS X tem alguma coisa de NeXTStep como base, tem também de FreeBSD. Sabendo disso, Jordan Hubbard comprou o seu primeiro Mac só para testar o sistema, tanto que ele disse “sim” à Apple. Ou algo perto disso — de certa forma, ele é quem procurou a companhia.

Empolgado com o projeto, Hubbard entrou em contato com um amigo que trabalhava na empresa. No ano seguinte, em 2001, ele também já era funcionário da Apple, liderando o grupo que cuidava de BSD.

Não é que, de uma hora para outra, Hubbard tenha simplesmente se apaixonado pelo Mac. Mas, ao trabalhar na Apple, ele viu a chance de realizar algo que não tinha sido possível com o FreeBSD.

Se você não sabe, fique sabendo agora: o Unix é um sistema operacional criado nos anos 1960 que se caracteriza por ser portável (pode rodar em várias arquiteturas diferentes), multitarefa e multiusuário.

Saiba também que BSD é a sigla para Berkeley Software Distribution. Trata-se de um projeto de software originado na Universidade da Califórnia, em 1977, que tem justamente o Unix como base.

O ciclo continuou. Se o Unix serviu de base para o BSD, o BSD serviu de base para o FreeBSD, sistema operacional desenvolvido por Hubbard em parceria com Nate Williams e Rod Grimes.

Não foi por mero capricho. Na época, o trio estava frustrado com as muitas versões do Unix disponíveis e idealizaram um sistema de código aberto capaz de funcionar consistentemente até em computadores com chips Intel, que ganhavam cada vez mais espaço.

Deu certo. O FreeBSD é usado, até hoje, em servidores e plataformas embarcadas, por exemplo. Mas não é muito popular em desktops e notebooks, apesar de poder rodar nessas máquinas.

O vislumbre do FreeBSD rodando em desktops contribuiu para, em julho de 2001, Jordan Hubbard virar funcionário da Apple.

Enfim, surge o Mac OS X

Bem que a Apple tentou, durante os anos 1990, modernizar o Mac OS clássico (relembrando, o sistema operacional dos seus computadores na época). Mas os esforços foram infrutíferos, o que levou a companhia a comprar a NeXT, como você já sabe.

Além de trazer Steve Jobs de volta ao time, o negócio serviu para a Apple ter em seu universo um sistema operacional promissor. Mas é um erro pensar que o Mac OS — ou macOS, nos dias atuais — é simplesmente o NeXTStep coberto por uma interface bonitinha.

Era preciso que o novo sistema fosse tão ou mais amigável quanto a versão clássica. Além disso, o projeto precisava abraçar tecnologias novas ou em vias de ganhar mais espaço no mercado.

No começo de 1997, durante o evento MacWorld (que foi realizado até 2014, três anos após o falecimento de Steve Jobs), a Apple anunciou o projeto Rhapsody. Meses depois, durante a WWDC daquele ano, o sistema operacional foi demonstrado pela primeira vez.

Sim, sistema operacional. Rhapsody foi o codinome do Mac OS X durante a fase de desenvolvimento. O novo e revolucionário sistema da Apple, já com o nome definitivo, foi lançado em 2001, mas também foi lançado dois anos antes.

Calma que eu explico. Antes de o sistema operacional ser liberado para usuários finais, a Apple lançou, em 1999, o Mac OS X Server 1.0. Esse sistema era uma espécie de mistura do OPENSTEP com o Mac OS 8.6.

Repare que o Mac OS X Server 1.0 tinha um visual "primitivo" (imagens originais: Toasty Technology)
Repare que o Mac OS X Server 1.0 tinha um visual “primitivo” (imagens originais: Toasty Technology)

Apesar de ser voltada a servidores, digamos que a versão Server 1.0 serviu de campo de prova para o lançamento do Mac OS X 10.0, em 2001 — a primeira versão realmente oficial do novo sistema.

Repare que eu mencionei OPENSTEP, não NextStep. Se a história já era um pouco confusa, ela fica ainda mais a partir deste ponto. Mas já estamos quase no final, não desista agora.

OpenStep é o nome de uma API oriunda de uma parceria entre NeXT e Sun Microsystems para permitir a implementação de um ambiente semelhante ao NextStep em sistemas operacionais diferentes. Para você ter ideia, houve até uma versão para Windows.

A parte mais interessante é que a NeXT usou o OpenStep sobre o kernel Mach (que, lembre-se, também é baseado no Unix) para ter a sua própria implementação do projeto. Este recebeu o nome OPENSTEP (assim mesmo, todo em letras maiúsculas) e acabou sendo considerado o sucessor do NextStep.

Em resumo: o projeto Rhapsody tem como base o OPENSTEP, que tem como base o NextStep e o Mach, que têm como base o BSD. Isso tudo, mais algumas características do Mac OS 8.6, evoluiu para o Mac OS X Server 1.0, em 1999.

Faltava só levar o projeto ao desktop, para uso pessoal. A versão beta pública do Mac OS X foi lançada em 2000. Em março do ano seguinte, a versão final, batizada de Mac OS X 10.0 (Cheetah), foi finalmente anunciada.

Olha o Mac OS X 10.0 aí; repare no efeito "gota d'água" em alguns elementos (imagem: reprodução/MacRumors)
Olha o Mac OS X 10.0 aí; repare no efeito “gota d’água” em alguns elementos (imagem: reprodução/MacRumors)

One more thing: o projeto Darwin

Não foi uma estreia muito tranquila. Se por um lado a elegante interface Aqua do Mac OS X 10.0 tinha um “efeito uau”, por outro, queixas sobre compatibilidade com softwares e desempenho do sistema não eram raras.

Mas a Apple tinha Jordan Hubbard. E Jordan Hubbard estava satisfeito por, de certa forma, o então novo sistema operacional da Apple ter ajudado o FreeBSD a chegar ao desktop. Não por acaso, ele contribuiu bastante para lapidar o sistema nas atualizações seguintes.

Tão ou mais importante foi o trabalho de Hubbard no projeto Darwin. Trata-se de um sistema operacional básico para chips PowerPC e x86 que reúne os principais elementos da estrutura do Mac OS X, incluindo o núcleo XNU. Este último, por sua vez, tem como base a já mencionada combinação de elementos do Mach e do FreeBSD.

Porém, o Darwin não incorporou algumas características notáveis do Mac OS X, como a interface Aqua, a API Cocoa e ferramentas como o QuickTime, afinal, esses recursos permaneceram com o código-fonte fechado. Em compensação, a Apple manteve o Darwin como um projeto de código aberto por bastante tempo, tanto que alguns projetos derivados surgiram, como o PureDarwin.

Hoje, o Mac OS X é muito diferente. Para começar, o nome mudou. Desde 2016, é macOS (e antes disso, era somente OS X). Além disso, o sistema operacional evoluiu muito para suportar novas tecnologias — incluindo os chips Apple Silicon — e aprimorar a segurança.

macOS 13 Ventura (imagem: Emerson Alecrim/Tecnoblog)
O macOS 13 Ventura de hoje (imagem: Emerson Alecrim/Tecnoblog)

Mas o kernel XNU continua lá, com as suas raízes no BSD e, automaticamente, no Unix. Ele está presente não só no macOS como também no iOS.

Quanto ao Darwin, a Apple já não mantém o projeto como um sistema operacional à parte. Pelo menos a companhia disponibiliza um repositório de códigos abertos do projeto.

Com informações: Wired, John Romero, FreeBSD, Business Insider.