BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Keynote do ApacheCon 2019: A jornada de James Gosling para o código open source

Keynote do ApacheCon 2019: A jornada de James Gosling para o código open source

Favoritos

No ApacheCon North America 2019 em Las Vegas, James Gosling palestrou sobre sua jornada pessoal ao código open source. As principais conclusões de Gosling foram: o código open source permite que os programadores aprendam lendo o código-fonte, os desenvolvedores devem prestar atenção aos direitos de propriedade intelectual para evitar abusos, e os projetos podem ganhar vida própria.

Gosling, o inventor da linguagem de programação Java, contou uma série de eventos sobre sua carreira, onde lidou com questões de código open source antes que o conceito fosse formalizado e o uso do licenciamento de código open source se tornasse algo trivial. Seu primeiro encontro com software de código open source foi na Universidade de Calgary, na década de 1970. A universidade recebeu uma fita magnética de Nicholas Wirth que continha o código binário e fonte de um compilador Pascal. A fonte era um arquivo único: "Era literalmente uma função", segundo Gosling. Foi a primeira experiência com um grande programa "escrito por alguém que realmente sabia o que estava fazendo". O código de Wirth era simples e compreensível. Gosling foi finalmente contratado para portar o Pascal para o sistema operacional Multics, que descreveu como:

Um fabuloso sistema operacional destruído pela estupidez corporativa... se o Multics fosse código open source e não tivesse sido tratado por palhaços, o Linux e o Unix não teriam sido desenvolvidos.

O próximo ponto da jornada de Gosling foi o Simula, a primeira linguagem de programação orientada a objetos (POO) do mundo. Gosling tinha uma cópia do binário do Simula em fita, mas o código fonte foi impresso em "uma pilha de papel com cerca de 20 centímetros de espessura", escrita em assembler. Usando o Simula, "se apaixonou" pela POO, e a leitura do código-fonte o ajudou a entender como funcionava. Por exemplo, o que era uma tabela de função virtual e como funcionava. Segundo Gosling, essas coisas estavam mal documentadas, a primeira tese de doutorado envolvendo POO, de Ivan Sutherland, continha um parágrafo descrevendo o que era o POO. A tese de doutorado de Gosling era "uma expansão macro de metade de um parágrafo da tese [de Sutherland]".

Gosling mudou-se para a Universidade Carnegie Mellon (CMU), que descreveu como "um lugar incrível". Enquanto estava na CMU, Gosling codificou uma versão do Emacs, porque se familiarizou com o editor ao trabalhar no Multics e descobriu na pós-graduação que "Vi era ruim". Com a adoção do BSD, o Emacs cresceu em popularidade, e Gosling começou a distribuir seu software em fita magnética. O Arpanet existia, mas os links de "backbone" de alta velocidade eram de 50kb/s.

Se temos um grande pedaço de código fonte ou um binário... uma fita magnética e os correios [ganhariam] da rede sempre.

Gosling não se importava em compartilhar seu trabalho, mas não queria que a generosidade fosse abusada. Contou que uma vez foi contatado por uma empresa que queria enviar o Emacs com os mini-computadores. "A carta que a empresa enviou para Gosling era quase literalmente: 'Você ficará famoso e rico com isso'". Eventualmente, Gosling decidiu que precisava encontrar alguém para manter o Emacs pois precisava se formar. Encontrou então dois codificadores para assumir o controle, mas assim como todo mundo, precisavam gerar uma renda. Gosling concordou que poderiam cobrar clientes comerciais, mas as universidades deveriam receber as cópias gratuitamente. Novamente, queria que seu código fosse compartilhado, mas também queria proteger os mantenedores de serem abusados.

Enquanto trabalhava no doutorado, Gosling construiu uma calculadora de planilha chamada sc como um experimento para entender e melhorar as regras de avaliação do Visicalc. Gosling passou uma semana nele e "jogou fora". O programa ainda está disponível no Linux, e sua versão mais recente foi lançada em 2018. Gosling observou que às vezes, projetos como esse fracassam, mas às vezes encontram vida novamente, tudo depende de quem os considera valiosos.

Gosling finalmente chegou à Sun Microsystems, e comentou, "De várias maneiras, a Sun foi criada com código aberto, apesar de ter sido difícil agradar os advogados corporativos em relação ao conceito". O sistema operacional Solaris da Sun era baseado no BSD, mas a princípio a Sun não lançou as próprias contribuições de software sob termos semelhantes. Gosling descreveu o Java como uma "estrada esburacada" do ponto de vista de código aberto. O Java foi lançado com o código-fonte "desde o primeiro dia", mas a licença era complexa e confusa. A licença foi uma tentativa de equilibrar o desejo dos provedores de plataforma de se diferenciar (na verdade, diz Gosling, de se tornar "persistente"), com o desejo dos desenvolvedores de que o código seja executado.

Eventualmente, o Java adotou a Gnu Public License (GPL). Gosling diz que isso foi "um salto de fé para a Sun", mas no final foi um sucesso. A organização aprendeu que o modelo de receita "serviço e suporte" poderia funcionar e que a alavancagem de marketing de código aberto era mais importante que a receita de licenciamento. A Sun acabou fornecendo tudo de código aberto, exceto o Solaris. Gosling afirma que o Solaris "não pôde dar o salto" devido a problemas de pessoas. Estava progredindo em direção ao código aberto, até a aquisição da Oracle. O Java, que era de código aberto, sobreviveu à transição, já a Solaris, não.

Gosling finalizou com uma lista das coisas que ama no Apache: a licença limpa, a comunidade forte e o Código de Conduta (CoC). Gosling elogiou especialmente o CoC por proteger a comunidade Apache de comportamento abusivo.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT