• Nenhum resultado encontrado

3. A PRODUÇÃO DE SOFTWARES E CONTROVÉRSIAS

3.1. O SOFTWARE, O SOFTWARE PROPRIETÁRIO E O FECHAMENTO

3.1.1. O software em discussão: código-fonte …

A atual “sociedade da informação”, ou “sociedade em rede”, caracteriza-se pelo uso intensivo da comunicação. Baseada na expansão das redes informacionais, que são constituídas por máquinas de processamento da informação, a sociedade contemporânea é crescentemente pautada em intermediários tecnológicos, como protocolos e softwares.

Como observamos no capítulo anterior, a expansão da internet foi possível devido à criação de protocolos comuns de comunicação que permitiram que uma rede de computadores compreendesse os dados enviados por uma outra rede.

Assim, a comunicação em rede não é possível sem a existência de protocolos, pois são eles que especificam o formato dos dados e um conjunto de regras que possibilitam a conexão, comunicação ou transferência de dados entre dois sistemas computacionais. Não obstante, a comunicação em rede é realizada sobre a infra-estrutura baseada em computadores e a relação entre computadores e usuários, assim como entre as próprias pessoas na rede, ocorre através dos softwares.

Protocolos e softwares compõem um processo de comunicação que, por sua vez, exigem uma linguagem comum. Assim, devido às características da sociedade da informação ou em rede, “softwares e protocolos adquirem o papel de linguagem

não-natural, básica e essencial” (SILVEIRA, 2005, s/p).

O software enquanto linguagem

Softwares são códigos. Na medida em que acessamos os meios digitais, seja o computador, o telefone celular ou o próprio micro-ondas, lidamos com o “resultado do código”. Ou seja, somos condicionados a instruções previamente estabelecidas pelo “código-fonte” sobre o qual essas tecnologias digitais estão baseadas.

Para lembrarmos: os softwares são constituídos de um código executável (binário, um conjunto de dígitos zero e um, linguagem que o computador

“compreende”) e de um código-fonte (rotinas e instruções escritas pelo programador em uma linguagem mais legível aos humanos). Depois que o programador finaliza o código-fonte, o computador o “compila”; a linguagem do código-fonte (humana) é traduzida para a linguagem do código executável (máquina).

Deste modo, o que importa para o computador é o código executável.

Entretanto, o que relaciona o computador ao programador é o código-fonte. É o código-fonte que permite o entendimento do código executável. É o código-fonte que permite o acesso e o estudo de como o software foi desenvolvido; é através do acesso ao código-fonte que as modificações do programa podem ser realizadas.

[…] em uma analogia explicativa, o código-fonte funciona como o conjunto de instruções que permite o estudo e o entendimento do conjunto de instruções que constituem a essência de um software. Nesse sentido, seria como a receita de um bolo. Com o acesso à receita, é possível entender o conjunto de processos pelo qual o bolo foi feito. Sem a receita, é até possível entender esse mesmo processo, mas isto dependerá de uma série de experimentações de tentativa e erro, que podem ou não levar à replicação perfeita do resultado alcançado75. (FALCÃO et al, 2005, p. 4)

Se para usarmos a escrita é preciso necessariamente dominar o alfabeto e as regras de uma língua, na comunicação mediada por computadores é exigida a habilidade para utilizar um conjunto de comandos atribuídos ao computador. Nesta direção, “a definição deste conjunto limitado de ordens é que permite a comunicação do humano com a máquina e através da máquina com uma rede, e através de seus protocolos com outro humano que utiliza uma máquina contendo um software”

(SILVEIRA, 2005, s/p.). Não obstante, os softwares, assim como os protocolos,

75 O conjunto de experimentações para a compreensão de como o programa foi desenvolvido é denominado

“engenharia reversa”.

permitem a comunicação humana sem que necessariamente saibamos os seus códigos-fonte. Assim, ao mesmo tempo que este fato torna possível a popularização da comunicação em rede, gera um novo tipo específico de linguagem: uma linguagem perita.

Esta linguagem perita é compartilhada e vivenciada pelos programadores e desenvolvedores de softwares. Neste contexto perito, na medida em que compreender o código-fonte possibilita a realização do software, compreender o software possibilita a realização das tecnologias digitais. Neste sentido,

[…] é evidente que o software como sistema tecnológico socialmente produzido, como intermediário fundamental da comunicação mediada por computador, como linguagem básica da sociedade em rede, concentra em seu desenvolvimento decisões de grande impacto social, cultural e político.

(SILVEIRA, 2005, s/p.).

Código-fonte fechado ou aberto?

A questão que se coloca neste campo de saber perito, constituído por programadores e desenvolvedores de softwares, pode ser resumida como “código-fonte fechado ou aberto?”. Em última análise, esta é a questão que permeia a discussão deste trabalho. É a partir da controvérsia “abrir ou não o código-fonte” que são instituídas as distinções entre a a produção e comercialização do chamado Software Proprietário, e a dos chamados Software Livre e Software de Código aberto.

O desenvolvimento de Software Proprietário – baseado no código-fonte fechado – consolidou-se historicamente como modelo hegemônico. Fruto de acordos e alianças entre empreendedores da informática, o Software Proprietário tornou-se um padrão da indústria de softwares, cujo maior exemplo é o sistema operacional Windows da MICROSOFT.

O desenvolvimento de Software Livre e de Código Aberto – baseados no código-fonte aberto –, embora realizados desde os primórdios da computação, paulatinamente consolidam-se como dois modelos alternativos. É a partir da década de 1980 que vemos a configuração de um coletivo que acentua a discussão em torno de como um software “deve” ser produzido e comercializado. Esta discussão encontra-se latente nos dias de hoje.

Deste modo, se em algum momento as controvérsias em torno do software

foram minimizadas ou dissolvidas, pelo amplo uso e comercialização do Software Proprietário, estamos diante da efervescência de novas (talvez nem tanto) controvérsias. Estamos presenciando a abertura (ou a reabertura) desta caixa-preta.

Portanto, vamos primeiramente compreender a conceituação do Software Proprietário.