Software (livre) é Conhecimento (livre) – parte 2

Esta é a segunda e última parte do artigo. Então, primeiro leia a primeira parte.

No fim da primeira parte, eu disse que o software livre resolve o problema do não compartilhamento de conhecimento que acontece com diversos softwares, mas vamos entender isto melhor.

O que é Software Livre?

Na definição da Free Software Foundation (Fundação Software Livre), um software é livre quando garante 4 liberdades:

  1. Liberdade de rodar o programa para qualquer propósito;
  2. Liberdade de estudar como o programa funciona e modificá-lo para que faça o que quiser (acesso ao código-fonte é uma precondição para esta liberdade);
  3. Liberdade de redistribuir cópias de modo que você possa ajudar o seu próximo;
  4. Liberdade de melhorar o programa e publicar sua versão modificada ao público, para que todo a comunidade possa se beneficiar (acesso ao código-fonte também é uma precondição para esta liberdade).

Todo o software (livre ou não) possui uma licença de uso – um software é livre quando sua licença de uso garante todas essas liberdades. E mais, um software livre não necessariamente foi criado desta forma. Existem diversos softwares que nasceram proprietários e tiveram sua licença alterada – é uma questão de escolha de seus donos. Veja alguns exemplos:

  • Linux: somente em 1992 Linus Torvalds mudou sua licença, abandonando a cláusula que proibia seu uso comercial e adotando a GPL (Licença Pública GNU);
  • Mozilla: criado a partir do Netscape e hoje evoluiu para o Firefox;
  • OpenOffice.org: criado a partir do StarOffice da Sun;
  • Blender: seu código-fonte foi comprado em 2002 diante da falência da companhia NaN.

História resumida do software livre

  • 1983 - Richard (Matthew) Stallman lança o Projeto GNU;
  • 1984 - Stallman abandona seu emprego no MIT para dedicação integral ao Projeto GNU;
  • 1985 - Fundação da Free Software Foundation, por Stallman;
  • 1991 - Linus Torvalds, desenvolve a peça que faltava para o sistema operacional GNU: o kernel (Linux), que, favorecido pelo ambiente colaborativo propiciado pela Internet, se desenvolveu muito rapidamente.

Podemos ver que num software livre (com as 4 liberdades garantidas), seu conhecimento não ficará restrito a um grupo pequeno de pessoas e poderá ser compartilhado com qualquer pessoa! Poderá ser melhorado ao gosto de cada um, como a receita de bolo compartilhada entre amigos. No entanto, se aplicarmos a regra do software proprietário às receitas de bolo, seria inaceitável um comportamento como pedir uma receita – você poderia ser preso por isso! Parece um absurdo completo, mas várias formas de conhecimento são tratadas desta forma. Alguns exemplos são: música, livros, filmes e software. Existem os direitos de cópia (copyright) e os direitos autorais, mas isso é assunto para outro artigo (teremos uma palestra sobre este assunto no GNUGRAF também).

Desta forma você pode pensar: “além das coisas cotidianas (como receitas de bolo) e do software livre, existe alguma forma de conhecimento nos dias de hoje que não seja restritivo?”A resposta é sim! A pesquisa científica vêm trabalhando há séculos com um modelo baseado em livre exposição de pensamentos, onde os autores são reconhecidos por mérito. Onde o trabalho de um acaba, começa o de outro e, assim, a humanidade foi evoluindo. Como disse Isaac Newton no século XVII:

Se vi mais longe foi por estar sobre ombros de gigantes.

Com tudo isso mostrado, podemos chegar à nossa segunda conclusão: Se software é conhecimento, …

“Software livre é conhecimento livre!”

Vantagens do software livre

Podemos entender os impactos positivos da produção e uso de software livre em quatro perspectivas: social, técnica, política e estratégica.

Do ponto de vista social (algumas vezes chamado de “filosófico” ou “ideológico”):

  1. Reaproveitamento de ideias;
  2. Conhecimento acessível a qualquer pessoa;
  3. Geração de trabalhos baseados;
  4. Colaboração entre pessoas;
  5. Ferramenta de estudo e pesquisa.

Do ponto de vista técnico:

  1. Permite evolução competitiva, rápida e sólida (correção de erros ou bugs);
  2. Maior segurança, por se saber o que está sendo executado;
  3. Software é evoluído por necessidades técnicas e não financeiras;
  4. Garante permanente compatibilidade entre os produtos das diversas versões, caso contrário, a continuação da versão anterior;
  5. Aderência a padrões abertos (como ODF, usado no OpenOffice.org, e HTML, usado para se fazer sites web).

Do ponto de vista político:

  1. Inclusão digital;
  2. Vantagens pedagógicas (transformando os alunos em produtores e não só consumidores, não obriga o aluno utilizar softwares pelos quais não poderá comprar e prega aos jovens uma visão de colaboração do mundo);
  3. Modelo economicamente sustentável;
  4. Desenvolvimento distribuído gera ganhos financeiros e tecnológicos localmente;
  5. Soberania nacional.

Do ponto de vista estratégico (empresas e governos):

  1. Independência de fornecedores;
  2. Economia (não necessidade de compra de licença de uso);
  3. Garantia de manutenção em caso de descontinuidade;
  4. Possibilidade de desenvolver funcionalidades que considera mais prioritárias.

Espero que tenham gostado e aguardo os comentários! Além disso, se morar no Rio de Janeiro, não deixe de ir ao GNUGRAF. É de graça e teremos diversas palestras e mini-cursos como profissionais de qualidade das áreas multimídia. Bem, eu vou ajudar no evento, mas não vou perder as atividades relacionadas à produção musical :). Grande abraço!

Software (livre) é Conhecimento (livre) – parte 1

Este artigo procura mostrar uma nova visão às pessoas de como elas enxergam o software. Software também é conhecimento e, como tal, deve ser livre para propiciar o desenvolvimento da humanidade.

Participe do II GNUGRAF!!!

Nos próximos dias 22 e 23 de agosto acontecerá no Rio de Janeiro a segunda edição do evento GNUGRAF. Este é um evento focado em profissionais e entusiastas das áreas de multimídia (como produção de áudio, produção de vídeo, edição de imagens, edição gráfica e animação 2D e 3D), onde serão apresentadas as opções baseadas em software livre. Na edição deste ano contará com algumas novidades, como os 12 minicursos que acontecerão simultaneamente com as 16 palestras e um espaço aberto com um projetor onde o próprio público pode fazer palestras que não estão no cronograma oficial.

Para maiores informações acesse o site http://www.gnugraf.org/ e não perca esta oportunidade de aprender a usar ferramentas de qualidade, gratuitas e livres, além de poder conhecer mais sobre software livre (palestra que eu apresentarei)!

Ganhando tempo livre com Clearcase

Qual sistema de controle de versão você usa? Subversion? Git? Você deveria usar o Clearcase – você terá muito mais tempo livre! Se você conhece a “velocíssima” ferramenta da IBM, deve estar se perguntando: “WTF?!”

Imagine-se desenvolvendo um software com o Clearcase. A cada operação, você tem que esperar por volta de 4 segundos para que ela termine. Como você deve desbloquear cada arquivo que irá modificar, você (esperto) já vai fazer de cara o desbloqueio (“checkout”) para vários arquivo de uma vez! Com o tempo desta operação, você já pode abrir o Firefox e ler algumas notícias.

Mas não é só isso! Além da sua “incrível” agilidade, seu down-time (tempo que fica fora do ar) é muito alto, por mais que a equipe de administração da ferramenta seja compentente. Desta forma, você pode criar uma conta no WordPress e praticar um pouco a escrita. Este artigo, por exemplo, foi escrito e revisado durante o tempo livre que ganhei com a ferramenta :)

Desta forma, quando for escolher sua ferramenta de versionamento de código, escolha o Clearcase ao invés das ferramentas open source que funcionam bem e são ágeis (além de serem mais baratas). Nenhuma outra usa o paradigma Slow Down (algo como “diminua a velocidade”), o que faz muito bem para a saúde. Além disso, sua cultura geral e português irão melhorar bastante, te preparando para o próximo concurso público ;)

Update: Se você gostou deste post, não deixe de ler sobre a Carreira em Lambda!

Diferença entre Google, Apple e Microsoft

Ontem vi o impressionante vídeo de apresentação do novo produto da Google: Google Wave. Pensando sobre a forma como a Google quer (ou pelo menos diz que vai) desenvolver o produto, como um software livre (open source) e baseado em padrões abertos, comecei a imaginar como seria se outros gigantes de tecnologia trabalhariam se tivessem inventado o mesmo produto.

Google Wave (o caso real)

**wave_logo
**

  • Software livre;
  • Web, baseado em padrões aberto da W3C, tornando-se multi-plataforma (roda em qualquer navegador, sistema operacional ou dispositivo com um navegador, como o iPhone);
  • Comunicação baseada em protocolos abertos e criação de novos protocolos abertos para suportar as inovações;
  • Disponibilização de uma API para desenvolvimento de softwares de terceiros;

“Apple iWave”

  • Software proprietário;
  • Aplicativo para iPhone;
  • Protocolos de comunicação proprietários e protegidos por patentes;
  • Disponibilização de uma API para desenvolvimento, baseada no SDK do iPhone (que só roda no MacOS X);

“Microsoft Wave”

Para começo de conversa não acho que a Microsoft é inovadora o suficiente para criar algo do tipo, mas vamos abstrair isso.

  • Software proprietário;
  • Aplicativo desktop, que roda apenas no Windows – nova versão do MSN Messenger;
  • Protocolos de comunicação proprietários e protegidos por patentes, baseados no protocolo do MSN;
  • Inicialmente não há disponibilização de uma API para desenvolvimento, para posterior disponibilização de uma API feita na plataforma .NET (que só roda no Windows);

E então? Qual sua opinião sobre os casos acima? Você imagina outro cenário? Comente!