Páginas

sexta-feira, 8 de janeiro de 2021

25. A misteriosa história da Licença MIT

Em 2019, David Humphrey fez uma pergunta aparentemente simples no Twitter.

Quando foi criada a Licença MIT? Eu não consigo encontrar nenhuma fonte que dê um ano.
Digo "aparentemente simples" porque a Licença MIT é uma das licenças mais populares usadas por software de código aberto. A licença MIT, a licença Apache e a licença BSD são as principais licenças permissivas, um termo que contrasta com as licenças recíprocas como a GPL, que exigem que o código-fonte seja disponibilizado quando o software for redistribuído.

Dada sua popularidade, você pensaria que o início da licença seria bem documentado. Encontrei várias pistas que apontavam uma data no final dos anos 1980, mas nada definitivo. No entanto, Keith Packard e Jim Gettys entraram na discussão para oferecer relatos em primeira mão da criação da licença. Além de fornecer exemplos iniciais da licença, a ajuda deles também me deu o contexto para entender melhor como a licença evoluiu ao longo do tempo.

A data? A melhor resposta única é provavelmente 1987. Mas a história completa é mais complicada e até um pouco misteriosa.

Esta história começa com o Projeto Athena no Massachusetts Institute of Technology (MIT). "O Projeto Athena foi um projeto conjunto do MIT, da Digital Equipment Corporation (DEC) e da IBM para produzir um ambiente de computação distribuído em todo o campus para uso educacional", diz a Wikipédia. Lançado em 1983, deu origem a importantes softwares que acabariam sendo amplamente utilizados, incluindo o X Window System e o Kerberos.

O X Window System fornece especificamente a estrutura básica para "desenhar e mover janelas no dispositivo de exibição e interagir com um mouse e teclado", diz a Wikipédia. A versão 1 do X foi lançada em junho de 1984. O software alcançou a versão 11 em 1987 (portanto, "X11", como todas as versões subsequentes foram chamadas). Versões menores usam nomenclatura como X10R4 ou X11R7.7.

O X estava originalmente sob uma licença proprietária, mas, de acordo com Packard, o que é chamado agora de licença de código aberto, foi adicionada ao X versão 6 em 1985. (Eu digo "chamado agora" porque o termo "código aberto" só foi cunhado por Christine Peterson em 1998.) De acordo com Gettys, "Distribuir o X sob licença tornou-se tão complicado que argumentei que deveríamos simplesmente dá-lo". No entanto, descobriu-se que apenas colocá-lo em domínio público não era uma opção. "A IBM não tocaria em código de domínio público (qualquer coisa sem uma licença específica). Fomos aos advogados do MIT para elaborar um texto para torná-lo explicitamente disponível para qualquer finalidade. Acho que Jerry Saltzer provavelmente fez o texto junto com os advogados. Lembro-me de ter aprovado o resultado", acrescentou Gettys.

Há alguma ambiguidade sobre quando exatamente a linguagem inicial da licença se estabilizou; como escreve Gettys, "não éramos muito consistentes nas palavras". No entanto, a licença que Packard indica que foi adicionada ao X Versão 6 em 1985 parece ter persistido até o X Versão 11, Release 5 em 1991. Uma versão posterior da linguagem da licença parece ter sido introduzida no X Versão 11, Release 6 em 1994.

Essa mesma versão de 1994 foi mantida pelo "The Open Group", sucessor do "X Consortium", até a Release 6.4 em 1998. Essa versão, no primeiro parágrafo apenas removeu as aspas de "as is" e adicionou algumas vírgulas, e no quarto parágrafo removeu a palavra "sale" (venda). A remoção das aspas, a adição de vírgulas, e a remoção da palavra "sale" não alteraram em nada o sentido jurídico, até porque "sale" se subentendia em "advertising or otherwise to promote the use" (publicidade ou de outro modo promover o uso). Ou seja, na prática o "mesmo" texto.

Portanto, há um bom argumento a ser feito de que a Licença do MIT, também chamada de X Consortium ou X11 na época, se cristalizou com o X11 em 1987, e essa é a melhor data para usar. Você pode argumentar que foi criado em 1985 com possíveis ajustes nos anos seguintes. As licenças frequentemente evoluíam de forma incremental naquela época. Por exemplo, Gettys observou que embora a licença GPLv1 tenha sido oficialmente lançada em 1989, o Emacs de Richard Stallman foi distribuído anteriormente sob uma licença semelhante à GPL.

Mas a história não termina aí. Se você olhar para a licença usada no X11 e a licença MIT aprovada pela Open Source Initiative (OSI), elas não são iguais. Semelhantes em espírito, mas significativamente diferentes nas palavras usadas.

A Licença MIT "moderna" é a mesma licença usada na biblioteca de analisador XML da Expat começando por volta de 1998. A Licença MIT usando este texto fazia parte do primeiro grupo de licenças aprovadas pela OSI em 1999. O que é peculiar é que, embora a OSI a tenha descrito como "A licença do MIT (às vezes chamada de 'Licença X Consortium')", na verdade não é igual à licença do X Consortium. Isso porque a Licença MIT da OSI omitiu o quarto parágrafo, usado no já mencionado X11R6.

Como e por que essa mudança aconteceu ‒ e mesmo que tenha acontecido por acidente ‒ é desconhecido. Mas está claro que em 1999, a versão aprovada da Licença do MIT, conforme documentada pela OSI, usava linguagem diferente da Licença do X Consortium. Esta é a razão pela qual alguns, incluindo a Free Software Foundation (FSF), preferem evitar totalmente a terminologia de "Licença MIT", visto que ela pode se referir a várias licenças relacionadas, mas diferentes. "A FSF gosta de reclamar de nomes.  Justo eles, 'Linuxers'.  Melhor não se preocupar com essas coisas...", diz Gettys. 

(A Licença MIT não é a única em tal inconsistência. Por exemplo, existe uma Licença BSD de 3 cláusulas e uma mais antiga de 4 cláusulas, embora não haja versões explícitas.)

Então, aí está. Escolha sua data: as licenças precursoras de 1985, a variante de 1987 do X Consortium (ou X11), ou a licença Expat de 1998, difundida pela OSI desde 1999.

Obrigado aos participantes neste tópico do Twitter por tornar este artigo possível.

__________
Por Gordon Haff <https://twitter.com/ghaff>, publicado em The mysterious history of the MIT License em 26/04/2019, sob licença CC BY-SA 4.0.

Tradução por Daniel Dias Rodrigues <danieldiasr@gmail.com> em 08/01/2021, sob licença CC BY-SA 4.0.

NOTA DO TRADUTOR: como o artigo foi distribuído sob CC BY-SA 4.0, que permite modificações desde que cite o autor e compartilhe sob a mesma licença, então tomei liberdade de modificar algumas poucas coisas, mas tomei cuidado para indicar claramente o que alterei: (1) mudei alguns links, mas sem alterar o sentido de nenhum. Alguns apontavam para o Web Archive, que estava desatualizado, outros apontavam para um repositório sem indicar diretamente o arquivo de copyright, então mudei isso. Adicionei outros links para ajudar nas pesquisas do leitor; (2) mudanças no texto são indicadas em [laranja claro]; (3) adições ao texto são indicadas em [verde claro].

Nenhum comentário:

Postar um comentário