O Mac OS X é de código aberto?

37

Aprendi recentemente (no superusuário) que o Mac OS X usa o shell bash. Eu também sei que o OS X tem um núcleo UNIX.

Eu estava procurando informações sobre OS X e Open Source no google, mas o que encontrei foi este site que parece incluir o código-fonte do OS X.
Por exemplo, um dos links diz: Fonte do Mac OS X 10.5.7

Então, o OS X é de código aberto?

Há uma licença de fonte pública da Apple , mas sou péssima em entender o legal.

Além do kernel, e as várias outras peças? O servidor X? Gerenciador de janelas? Explorador de arquivos? etc. O que é código aberto e o que não é?

hasen
fonte
3
Tecnicamente OSX tem um núcleo BSD, não UNIX
Jeremy francesa
6
@ Jeremy French: Da Wikipedia: "Historicamente, o BSD é considerado um ramo do UNIX". Por silogismo, o OS X também é UNIX. Portanto, outra citação: "O Mac OS X 10.5 é certificado UNIX 03 enquanto é executado em processadores Intel".
22610 Nikhil Chelliah
@ Jeremy French: Não que isso prove que você está errado ou algo assim.
22430 Nikhil Chelliah
4
Esta questão é fantástica de muitas maneiras. +1
Raystafarian 7/12/12

Respostas:

43

Darwin é um sistema operacional de código aberto da Apple e é o núcleo do Mac OS X. Mas Darwin não possui uma interface gráfica com o Mac OS X.

  • Darwin é como Linux, FreeBSD, etc ...
  • A interface gráfica do Mac OS X é como KDE, GNome, etc ...
MicTech
fonte
11
Eu acho que uma analogia mais apropriada seria Darwin é para o kernel Linux como Mac OS X é para Ubuntu.
Sasha Chedygov
6
Esse é um bom conceito ao descrever a GUI, mas não tão bom quando se fala em código aberto. O Ubuntu é de código aberto (Gnome), enquanto o OS X não é (Aqua). Importante entender a diferença IMO.
churnd
11
XNU é o kernel do Mac OS X. Veja: github.com/opensource-apple/xnu
Lourenco
22

Outros já explicaram que Darwin é de código aberto. É o kernel do Mac OS X, semelhante a como o Linux é o kernel de uma distribuição Linux. O sistema de janelas do Mac OS X (chamado Quartz Compositor) não é de código aberto.

Você também pergunta sobre outras partes de código aberto do Mac OS X:

Além do kernel, e as várias outras peças? O servidor X? Gerenciador de janelas? Explorador de arquivos? etc. O que é código aberto e o que não é?

Um dos projetos de código aberto da Apple mais proeminentes é provavelmente o WebKit, que originalmente era um fork do KHTML e KJS. O WebKit é usado por um grande número de navegadores .

Outro projeto de código aberto da Apple que você pode ter utilizado, mesmo que não use o Mac OS X, é [Bonjour] ( http://en.wikipedia.org/wiki/Bonjour_(software)) , a implementação do Zeroconf pela Apple.

A Apple também possui o CUPS , um sistema de impressão usado por vários sistemas operacionais.

A Apple também possui vários outros projetos de código aberto, como um servidor de streaming , e eles contribuem para muitos outros projetos de código aberto, como o gcc. Você encontrará mais em opensource.apple.com e Mac OS forge . Além disso, o Mac OS X é fornecido com centenas de componentes de código aberto do Apache ao ZFS, a maioria dos quais não é de propriedade nem é mantida pela Apple.

LKM
fonte
2
Uau, o CUPS é da Apple ?! Notícia de que um para mim ...
Camilo Martin
11
@CamiloMartin - bem, a Apple comprou CUPS ...
AstroFloyd
13

O kernel é de código aberto; a interface do usuário e todos os aplicativos fornecidos com o SO não são.

A Apple mantém alguns projetos de código aberto, mas, na maioria das vezes, tudo, além do núcleo, é de código fechado. Por exemplo, o WebKit (o mecanismo de renderização HTML por trás do Safari, Chrome e outros navegadores) é de código aberto, mas o próprio navegador Safari não é. O Finder, o Spotlight e a maioria (se não todos) dos aplicativos que acompanham o sistema operacional são de código fechado.

Sasha Chedygov
fonte
5

O sistema operacional Darwin, no qual o OS X se baseia, é de código aberto, assim como o kernel XNU que ele usa. A Aqua GUI do OS X, no entanto, não é de código aberto. Isso efetivamente dá à Apple o melhor dos dois mundos: eles obtêm um sistema operacional que possui a estabilidade e a segurança de uma plataforma de código aberto, semelhante ao UNIX, além de terem a lucratividade de uma plataforma proprietária. É como a política do McDonald's de fornecer água gratuitamente e cobrar um quarto pelo copo.

wbr
fonte
5

Sim e não.

O Unix não é de código aberto e hoje em dia é uma certificação para uma família de sistemas operacionais que correspondem aos padrões comuns do Unix. Também existem sistemas operacionais que têm uma herança nas versões originais do Unix - Solaris e alguns dos BSDs, por exemplo. Nenhuma delas é licenciada GNU - a maioria das variantes do BSD é licenciada pelo BSD e algumas versões do Solaris estavam sob o CDDL.

O OS X é baseado em bits do FreeBSD, bem como em um microssistema chamado L7, e a Apple optou por manter a fonte aberta - já que eles têm a opção de fechá-la sob a licença BSD.

Aqui estão todos os componentes de código aberto da Apple .

O Darwin Kernel (baseado em BSD) está aqui - enquanto, em teoria, é possível criar um sistema operacional a partir dele - veja OpenDarwin e PureDarwin . Eu observaria que os dois projetos parecem mortos e você não possui muitos componentes da área de trabalho, como a área de trabalho e assim por diante.

Como tal, bem, é uma espécie de código aberto, mas não da mesma maneira que Linux ou BSD. Você não poderia criar um sistema funcional a partir do código da Apple, mas poderia fazer outras coisas e fazê-lo se não se importasse em perder grande parte da interface do usuário da Apple.

Editar - a partir de fevereiro de 2013, parece haver um novo lançamento do PureDarwin, que reivindica mudanças bastante importantes . Não faço ideia se isso significa que o projeto está vivo ou não. Também fiquei ciente de que Darwin foi lançado na forma compilada aqui , o que pode ser um ponto de partida útil para descobrir as coisas.

Journeyman Geek
fonte
11
None of these are GNU licensed - most BSD varients are BSD licensed,lendo este alguém poderia pensar que a licença BSD é mais restritiva do que GNU ...
Camilo Martin
É verdade, mas o cddl não é. Também mencionei que a apple tem a liberdade de fechar completamente, se assim o desejar, o que praticamente é uma grande diferença entre o licenciamento BSD e a GPL. Minha resposta também continua falando sobre como a fonte da maior parte do OS X é aberta, mas partes dele não são. Eu não estava indo para uma extensa discussão sobre os méritos, deméritos e relativa liberdade de várias licenças.
Journeyman Geek
Mas, mesmo que a Apple fechasse a fonte, as versões (antigas) com licença BSD ainda seriam "gratuitas", certo? Além disso, apenas o kernel não é "a maior parte do OS X" ... e eu diria que o kernel é bastante limitado (comparado ao Linux ou Windows), considerando a execução do OS X (oficialmente) em apenas um punhado de aplicativos de terceiros. computadores.
Camilo Martin
Infelizmente, os ISOs são equivalentes apenas ao OS X 10.4 (2005).
Daniel Beck
2

Algumas partes do OS X são de código aberto (principalmente o kernel do Darwin ) e ele usa muitos projetos de código aberto.

O título "Mac OS X 10.5.7 Source" é um pouco enganador - a página lista todo o código-fonte aberto usado no OS X (como Apache, Python, bash, etc.)

Muito do que você provavelmente considera "OS X" é de código aberto - é basicamente coisas subjacentes (por exemplo, o kernel ou o cliente / servidor SMB usado pelo recurso de compartilhamento de arquivos do Windows)

dbr
fonte
2
Darwin não é o kernel no OSX. O kernel é chamado Mach. Darwin é o nome de código para todo o ecossistema subjacente, como o sistema de arquivos, drivers, shell etc.
Matt H
1

O Classic Unix não possui uma licença GNU. Por fim, algumas partes do MacOS estão disponíveis ao público, mas não é "código aberto" ou "gratuito" de forma significativa.

A Apple usa muitos componentes de código aberto, em total conformidade com sua licença, no produto geral.

Daniel Pittman
fonte