• No results found

D Python code

D.1 Optical flow code

No início da década de 80 havia basicamente três tipos de usuários de computadores e suas respectivas linguagens de comunicação. Uma era a de usuários da ARPANET que utilizava máquinas PDP10 da DEC que com a linguagem de programação LISP; outra era formada pelos usuários do sistema operacional Unix que usava a linguagem de programação C; e o último grupo de usuários formado pelos usuários do computador pessoal que trabalhavam na linguagem BASIC. (CASTELLS, 2003: 39)

O avanço contínuo em desenvolvimento tecnológico e a abertura cada vez mais comum de redes de computadores em universidades americanas forçou a necessidade do uso de uma mesma

linguagem de programação. O sistema operacional escolhido pelos usuários da ARPA foi o Unix por se mostrar um sistema operacional potente, confiável e capaz de rodar em diversas máquinas. O

Unix atendia a necessidade crescente de convergência de linguagem entre as máquinas. Como ele

foi desenvolvido com verba pública[9] ele foi distribuído com o código fonte aberto para universidades e laboratórios de pesquisa apenas pelo preço de custo. O software era reescrito constantemente para se adaptar às necessidades especificas dos laboratórios e instituições de pesquisa. Só que em 1982 a AT&T é desmenbrada, a subsidiária que desenvolveu o software virou uma empresa privada (Bell Laboratories), e resolveu cobrar direitos de propriedade sobre o mesmo. O ambiente de trabalho entre os pesquisadores academicos e institutos de pesquisa tecnológico era dominado pelo que CASTELLS (2003) denomina cultura hacker, ou seja, uma comunidade que compartilha uma cultura de solidariedade entre seus pares socializando em rede as descobertas e aperfeiçoamentos mais recentes relativos ao uso de softwares.

nesse sentido a cultura hacker diz respeito ao conjunto de valores e crenças que emergiu das redes de programadores de computador que interagiam on-line em torno de sua colaboração em torno de projetos autonomamene definidos de programação coletiva. Duas caracteristicas críticas devem ser enfatizadas: por um lado, a autonomia dos projetos em relação às atribuições de tarefas por instituições ou corporações; por outro, o uso da interconexão de computadores como a base material, tecnológica da autonomia institucional.” (CASTELLS, 2003: 38)

Portanto, a decisão da Bell Laboratories de reinvindicar direitos de propriedade sobre um

software que era modificado constantemente por programadores de acordo com as suas

necessidades foi um duro golpe no coração dessa cultura de compartilhamento e socialização do conhecimento técnico, denominado por Castells de cultura hacker. Diante dessa situação, em 1983 um programador do laboratório de inteligência artificial do Massachucets Institute of Tecnologies –

MIT – chamado Richard Stallman tomou uma decisão que mudaria os rumos seguido pela indústria

de softwares e da propria internet. Ele demitiu-se do emprego e decidiu investir no chamado projeto

GNU, que consistia em escrever um sistema operacional completo baseado no sistema do Unix, que

não fosse submetido ao seu copyright, e que tivesse o seu código fonte aberto para colaboração de qualquer um com conhecimento técnico em programação. O termo GNU é um acrônimo para

‘GNU’s is not Unix’.

Dessa forma Stallman lança um manifesto na sua lista de discussão conclamando hackers e programadores a doarem tempo de trabalho para a gigantesca missão de construir um sistema operacional totalmente livre de restrições jurídicas. O resultado foi a criação da Fundação Sofware

Livre que congrega esforços voluntários numa cruzada pela liberdade de expressão na era da

informação. Vejamos o relato de Stallman a respeito da decisão de cobrar copyright de softwares utilizados pela comunidade hacker:

“ A situação mudou drásticamente no começo da década de 80, quando a companhia Digital encerrou a fabricação de computadores da série PDP-10. Sua arquitetura elegante e poderosa para os anos 60, não escalava naturalmente para os espaços de endereçamento que se tornavam factiveis nos anos 80. Isso significava que todos os programas que comunham o sistema ITS (Incopatible Time Sharing System) ficaram obsoletos. A comunidade hacker do laboratório de inteligência artificial do MIT já havia há pouco entrado em colapso. (...) Quando o laboratório de IA comprou um PDP1-10 em 1982, seus administradores decidiram usar ao invés do ITS, o sistema equivalente da Digital, que não era livre. Os computadores modernos daquela época, como o VAX, ou baseados no processador 68020, vinham com seus proprios sistemas operacionais, mas nenhum deles era livre: tinha-se de assinar um termo de confidencialidade para obter a cópia de uma versão executável. Isso significava que o primeiro passo para se usar o computador era o de prometer não ajudar seu vizinho. Comunidades cooperativas estavam proibidas. A regra estabelecidade pelos donos de sistemas proprietários era: ‘se você compartilhar com seu vizinho, será pirata. Se você quiser alguma mudança no software, implore-nos para que a implementemos” (STALLMAN, 2002: 15-16)

Portanto, naquele momento, inicio da década de 80 a liberdade de compartilhamento cara à cultura hacker se viu ameaçada por estratégias empresariais que visavam a obtenção de lucro com o aprisionamento do saber técnico. Para entender melhor o significado da postura do movimento

sofware livre em manter o código fonte de seus programas aberto é preciso entender um pouco do

funcionamento técnico de um software em um computador.

Um software é um conjunto de rotinas matemáticas encadeadas logicamente. Pode ser entendida como um algoritmo, ou seja, um procedimento através de um conjunto de ações elementares determinadas e com uma duração limitada no tempo. (SILVEIRA, 2005: p. 20) Um

cadeia longa de códigos binários (zero e um) que é processada e entendida pelo computador. O código fonte é um conjunto de instruções desenvolvida por programadores em uma linguagem mais acessivel a humanos. Depois de finalizado a escrita de um código fonte é preciso convertê-lo em linguagem de máquina, ou seja, código binário, para que a máquina processe aquelas instruções. Esse processo é chamado de compilação. Portanto não disponibilizar o código fonte de um software significa disponibilizar apenas o código executável, que é a linguagem da máquina, impossibilitando mudanças nas rotinas executadas pelo software.

No inicio da década de 80 o que as empresas começaram a fazer foi fechar o código fonte de seus softwares transformando-os em propriedades suas. O que o movimento iniciado por Stallman reinvindica é o livre acesso ao código fonte dos softwares para a sua melhor utilização. Para a realização da tarefa de escrever um sistema operacional completo livre, Stallman começou o trabalho pelo mais difícil. Em linguagem técnica ele começou por compor o que se chama de biblioteca de dados, que inclui os aplicativos, compiladores, editores de texto, etc. Todo o trabalho era voluntário, cooperativo e divulgado em rede. Os primeiros resultados foram as ferramentas mais utilizadas pelos hackers naquele período, mas a tarefa de escrever um sistema operacional inteiro ainda estava longe de se realizar. Foi, então, em 1991 que o movimento recebeu uma ajuda extraordinária advinda do outro lado do atlântico, da gélida e pacata, Finlândia.

O estudante de Ciência da Computação de 21 anos, Linus Torvalds, atento ao que acontecia na América, resolveu desenvolver o que se chama de kernel (cerne) de um sistema operacional e disponibilizar o código fonte na rede. Para realizar tal tarefa Linus se baseou no sistema Unix mas teve que escrever do zero o kernel livre. Quando ficou pronto, ainda em 1991 a comunidade hacker o batizou de Linux (linus + unix). Como se vê o Linux é apenas o núcleo do sistema operacional. O trabalho pesado vinha sendo feito pelo Stallman no projeto GNU. Foi portanto da união dos esforços de Stallman na América e de Linus na Finlândia que surgiu o primeiro sistema operacional livre, chamado pela comunidade que o desenvolveu de GNU/Linux. A intensa participação de voluntários no projeto, doando tempo de trabalho para eliminar os bugs do sistema, acabou

tornando o GNU/Linux um poderoso sistema operacional já em 1993.

“divulgações rápidas, ampla cooperação e total abertura da informação permitiram a testagem extensiva e a depuração do código de tal forma que, em 1993, o Linux era um sistema operacional melhor que os Unix patenteados. Com o tempo, os sistemas Unix comerciais mais competitivos passaram a ser os que incluem o Linux em seu pacote, respeitando ao mesmo tempo as regras juridicas de sua fonte aberta” (CASTELLS, 2003: 41)

É preciso enfatizar aqui o caráter cooperativo e em rede do modo de produzir o sofware livre. Por exemplo um programador em São Luís-Ma pode estar participando do projeto de desenvolvimento de um aplicativo gráfico hipotético que chamaremos de netsãoluís. Ele começa a trabahar no

projeto logo após que chega do trabalho, por volta das 19:00 hs. Para isso ele atualiza o seu servidor

netsãoluís em sua máquina e recebe o projeto coletivo totalmente atualizado. Ele insere suas

modificações no pacote e envia para o servidor central netsãoluís nos computadores do projeto

GNU. Ele finaliza o trabalho por volta da meia noite e vai dormir com o sentimento do dever

cumprido. Nessa mesma hora, um outro hacker na Europa está chegando do trabalho e também está contribuindo com o mesmo projeto. Portanto ele atualiza o seu software netsãoluís já com as

modificações feitas pelo ludoviscense e começa a trabalhar a partir do laboro já desenvolvido pelos seus companheiros. Nessa espiral cumulativa do tempo de trabalho no desenvolvimento de

softwares livres, os softwares desenvolvidos ganham uma eficiência considerável devido ao

constante trabalho coletivo realizado mundo a fora pela comunidade hacker.

Isso só foi possível pela disponibilização de uma arquitetura de comunicação mediado por

computadores em rede que começou a se realizar em meados da década de 70 e se consolidou em fins da década de 80. O interessante é que essa configuração em rede ajudou a moldar a forma de produção coletiva do software livre e este ao mesmo tempo ajudou a moldar a internet com as suas características de uma arquitetura aberta e descentralizada. Portanto não poderíamos pensar o surgimento do software livre sem a existência de redes de comunicação entre computadores. Da mesma forma que não poderíamos pensar a internet como a vemos hoje sem as contribuições de vários sofwares livres que ajudaram a estabelecer o padrão aberto e descentralizado da rede. Castells analisa da seguinte forma essa situação.

“É uma lição comprovada da história da tecnologia que os usuários são os principais produtores da tecnologia, adaptando-a a seus novos valores e acabando por transformá-la. (...) Com a internet novos usos de tecnologias, bem como modificaões reais nela introduzidas, são transmitidas de volta ao mundo inteiro em tempo real. Assim, o intervalo entre o processo de aprendizagem pelo uso e de produção pelo uso, é extraordináriamente abreviado, e o resultado é que nos envolvemos num processo de aprendizagem através da produção, num feed-back intenso entre difusão e aperfeiçoamento da tecnologia.” (CASTELLS, 2003: 28)

Entretanto, o intenso esforço de hackers e programadores no contexto da Fundação

garantir a liberdade de livre acesso e modificação ao código fonte dos softwares criados pela Fundação. Pensando nisso é que a fundação cria uma licença jurídica chamada General Public

License (Licença Pública Geral) – GPL. Essa licensa garante à comunidade de desenvolvedores de

softwares livres que o trabalho gerido coletivamente não seja apropriado, licenciado, ou patenteado por alguma empresa ou pessoal física. O mecanismo pela qual a GPL garante essa liberdade é fruto de uma utilização engenhosa dos próprios princípios legais que fundamentam a tradicional legislação sobre direitos autoriais, propriedade intelectual e copyright. De que maneira? A GPL adiciona alguns termos ao direito de cópia do autor, termos esses que garantem a liberdade de cópia, modificação e manuntenção dos aperfeiçoamentos geridos coletivamente de forma a criar um efeito viral. Vejamos isso mais de perto.

Um software para ser considerado livre precisa estar licenciado formalmente por uma GPL e essa licença advoga quatro direitos fundamentais aos usuários de software livre.

1. Utilizar o software para qualquer fim

2. Estudar o código fonte do software 3. Modificar o código fonte do software

4. Redistribuir cópias do software aperfeiçoado, desde que seja licenciado por uma GPL.

Nessa licença o direito de cópia do autor é garantido, tal como no copyright. O que ela adiciona é que o autor do software permite legalmente ao usuário daquele programa estudar o código fonte do programa. Para isso é necessário livre acesso ao código fonte do programa. A licença garante também a liberdade de modificar o código fonte do software adaptando-os à suas necessidades. A quarta liberdade garante o direito de copiar as modificações e distribuí-las em rede ou suporte físico (CD’s e DVD’s rooms), desde que, e isso é o mais importante, licenciadas sob uma mesma licença GPL. Contida nessa quarta liberdade existe a forte restrição de obrigatoriamente os aperfeiçoamentos serem licenciados sob uma GPL. Essa forte restrição paradoxalmente é que

garante que o trabalho coletivo não seja apropriado por empresas ou indivíduos e que permaneça comum a toda uma comunidade de programadores interligados em rede.

A partir dessa licença surgiu nos EUA o conceito de copyleft em contraposição ao copyright. Poderíamos traduzir literalmente para o português como esquerdos autorais em oposição aos

direitos autorais. Mas na língua inglesa o verbo to left significa também deixar liberar, de maneira

que poderíamos traduzir o termo por deixar copiar. Evangelista (2005) em dissertação na área da lingüística sobre a semântica dos termos no universo de discussão do software livre escreveu:

“assim como as obras de arte e como qualquer trabalho intelectual, o software, se não houver um pronunciamento em contrário do autor, é imediatamente objeto de copyright. A licença criada por Stallman, bem como outras que vieram a seguir, estabelecem um meio termo entre o copyright e o domínio público (a permissão de qualquer uso sem restrições). Em contraposição ao termo copyright foi criado o termo copyleft, um trocadilho com as palavras direitos (rigths) e o verbo deixar, liberar (to left). Mas o termo também faz uma alusão interpretada por alguns como política, entre as palavras direita (rigth) e esquerda (left). Os dois termos indicam ainda a disputa de poder em nossa sociedade.” (EVANGELISTA, 2005: 14- 15)

Para SILVEIRA (2005) o copyleft é uma espécie de hackeamento da idéia de copyright por utilizar de sua lógica para subverter o seu princípio.

O copyleft pode ser entendido como um ‘hackeamento’ da idéia de

copyright ou inversão da lógica que a licença deveria proteger. O copyright surgiu

na Inglaterra e foi assumido pela Constituição norte-americana de 1787. (...) O movimento GNU irá utilizar o sistema de proteção formal do copyright para proteger o conteúdo e o processo de produção colaborativa” (SILVEIRA, 2005: 41)

Ainda para SILVEIRA a GPL contém um efeito viral por irradiar a qualquer tipo de modificação feita a necessidade de uso desta licença, que por sua vez obrigará a qualquer outro usuário que modifique o software e o disponibilize, a usar a GPL e assim por diante.

pois alterações efetuadas a partir de um código GPL não poderão ser licenciadas de modo proprietário, ou seja não poderão deixar de portar as quatro liberdades características do 'copyleft'” (AMADEU, 2005: 42)

Existem diversas outras licenças que flexibilizam o uso e alteração de softwares, mas podemos afirmar que a licença GPL é a mais restritiva por obrigar necessariamente o licenciamento numa mesma GPL de modificações feitas nos softwares. Por sua vez na Universidade de Berkeley na Califórnia, foi criada uma licença chamada BSD que tem como princípio a liberdade individual do usuário, dessa forma ela não obriga o licenciamento das modificações num padrão copyleft. Portanto as modificações feitas podem ser patenteadas por empresas ou indivíduos.

Atualmente encontra-se em discussão a versão 3 da GPL. Em abril de 2006 realizou-se em Porto Alegre, por ocasião do 7º Fórum Internacional de Software Livre – FIL 7.0, uma das rodadas mundiais de discussão do aperfeiçoamento dessa licença. Em breve será lançada oficialmente pela

Fundação Software Livre.