Novo endereço do blog

Olá,

Me animei e resolvi comprar um domínio para colocar o blog! A partir de agora o endereço é: http://www.rodrigocarvalho.blog.br.

Abraço!

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

Antes de mais nada, devo dizer que este artigo é uma preparação para a apresentação que irei fazer no II GNUGRAF e é baseado na excelente palestra do professor Eurico Zimbres, da faculdade de Geologia da UERJ, grande ativista do software livre no Rio de Janeiro. Então segue o artigo e espero seus comentários a respeito, para que a palestra fique mais rica.

O que é software?

Quando alguém fala em software, qual a primeira coisa que lhe vem a mente? A grande maioria das pessoas pensará em algo útil para executar uma tarefa no computador. Desenvolvedores de software, poderão pensar também em como ele foi feito – no seu código-fonte. Vejamos então a definição provida pela Wikipédia:

Software ou logiciário é uma sequência de instruções a serem seguidas e/ou executadas, na manipulação, redirecionamento ou modificação de um dado/informação ou acontecimento.

Resumindo de uma forma bem simples, software é como se fosse uma “receita de bolo” escrito de forma que o computador entenda. Assim, o resultado final (o “algo útil” citado anteriormente) seria exatamente o “bolo” feito pelo computador. Veja um exemplo de programa escrito na linguagem C:

#include <stdio.h>
int main(void)
{
    int count;
    for(count=1;count<=500;count++)
        printf("Conhecimento tem que ser livre!");
    return 0;
}

Para você que não entende a linguagem, este programa escreve na tela do computador 500 vezes a frase “Conhecimento tem que ser livre!”. Melhor dizendo, este programa é uma “receita” que, ao ser lida pelo computador, diz a ele como escrever a frase 500 vezes. Obviamente, esta não é a única forma de se fazer isso! Você pode escrever em outra linguagem que o programador tenha mais fluência ou adicionar mais tempero (escrever o texto colorido) ou ainda gastando mais ingredientes (gastando mais memória para fazer a mesma coisa).

Agora vamos fazer uma pequena brincadeira – leia o seguinte texto, escrito em Alemão:

Meiner lieber Seele, der vergangen is
So frueh aus dieses Leben, unzufrieden,
Ruehe in den Himmel ewig
Und lebe Ich hier auf dieser Erde immer traurig

Se você é fluente em Alemão tanto quanto é na linguagem C, então a dúvida foi a mesma :) . Mas, se traduzirmos o texto para o português:

Alma minha gentil, que te partiste
Tão cedo desta vida descontente,
Repousa lá no Céu eternamente,
E viva eu cá na terra sempre triste.
Luís de Camões

Assim como a literatura, software e receitas de bolo são expressões de conhecimento. Uma receita de bolo foi feita com o conhecimento gerado de uma pessoa entendida sobre fabricação de bolos. Por isso, quando você vai à casa de um amigo e come um delicioso bolo feito por ele, você prontamente já pede a receita, afinal, com ela em mãos, você poderá fazê-lo e adaptá-lo ao seu gosto, deixando-o ainda melhor. Para o software é a mesma coisa! Desta forma, chegamos à nossa primeira conclusão:

“Software é conhecimento!”

Nosso programa exemplo foi bastante simples, mas imagine a quantidade de conhecimento que existe num software como o GIMP, o Inkscape, o Ardour e tantos outros!  O problema é que, infelizmente, o código-fonte de vários softwares não está disponível, restringindo todo o conhecimento a um pequeno grupo de pessoas. Para resolver esta situação que foi criado o software livre, mas isso será o assunto da segunda parte do artigo. Não deixe de ler!

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 ;)

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 “copyright”;
  • 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 (visto que , 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 “copyright”, 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!

Task Coach: ótimo software de gestão de tarefas

Ultimamente tenho usado em meu trabalho um programinha muito interessante para medir gestão de tarefas: o Task Coach. Ele é livre, feito em Python (ou seja, multi-plataforma), bastante completo e simples de usar. Aí alguém vai perguntar: “mas qual é a diferença dele para o ótimo site Remember The Milk?” Remember The Milk é imbatível para tarefas que tem um prazo para serem concluídos, até por ser web, e estar disponível em qualquer lugar, e suas excelentes opções de notificação. Isso é algo que o Task Coach também faz, mas seu principal atrativo (na minha opinião) é contador de esforço.

O contador de esforço é algo especialmente importante no trabalho, pois nos permite ver quanto tempo estamos nos dedicando a cada tarefa. E seu funcionamento é muito simples:

  1. Na primeira vez que abrir o programa, feche a janela “Categories”;
  2. Clique no menu “View”, “New Viewer” e na opção “Effort” (é aí que as coisas começam a ficar interessantes);
  3. Se preferir (como eu), coloque a janela “Tasks” do lado esquerdo;
  4. Cadastre todas as suas tarefas (inclusive “Ler e-mail/Notícias no Google Reader” :) );
  5. Para começar a contar o esforço, é só clicar no botão “Start tracking effort” (com ícone de um relógio);
  6. Para parar de contar, clique no botão ao lado “Stop tracking effort”;

Para ficar ainda melhor, vá em “Edit” -> “Preferences”:

  • Na seção “Window behavior”, habilite as opções “Hide main window when iconized” e “Minimize main window when closed”: isto fará com que ele fique sempre aberto, sem incomodar como uma janela aberta;
  • Na seção “Files”, habilite a opção”Auto save after every change”: isto fará com que ele salve as informações a cada ação.

Utilize como um software de produtividade pessoal  ao invés de pensar nela como “a arma que seu gerente precisava”. Ainda estou me acostumando a contabilizar corretamente todas as minhas atividades, mas a praticidade da ferramenta ajuda muito!

Cursos da SL-RJ no Free Software Rio 2008

O SLRJ, grupo do Software Livre do Rio de Janeiro, marcará presença na edição 2008 do Free Software Rio, que acontecerá nos dias 08 e 09 de Dezembro, no Centro de Convenções Bolsa do Rio, Praça XV de Novembro, 20 – Centro.

Como não poderia deixar de acontecer, estaremos  ministrando mini-cursos no local. A taxa de inscrição é de R$ 40,00 e será feita no dia do evento. O grupo disponibilizará ingressos gratuitos do evento para os inscritos nos mini-cursos. É uma grande oportunidade para que o público tenha contato com as mais variadas vertentes do Software Livre. Contamos com a sua presença!

Hora Dia 8 Dia 9
9h às 13h Introdução ao Python -
Luiz Guilherme Aldabalde
Inkscape -
Carlos Eduardo (Cadunico)
14h às 18h Shell Script -
Júlio C. Neves
Autoria de Aplicações Multimídia para TV Digital Brasileiro -
Rafael Carvalho


Deluge: meu novo software de torrent preferido!

Há algum tempo venho procurando um bom cliente BitTorrent para usar no Ubuntu. Utilizava o Azureus, que tinha bastante recursos e diversos plugins, mas ele é excessivamente complexo de configurar e muito pesado. Com o Ubuntu Hardy Heron, o Transmission foi trazido como o padrão, mas ele não vinha com opções de criptografia, necessárias na luta contra o “traffic shaping” da NET. Foi então, que nas “naveganças” pela Internet que encontrei o Deluge sendo bastante elogiado. Então resolvi testá-lo.

Seguindo bastante a linha dos programas GTK, o Deluge tem a interface bastante “clean”, que torna o aprendizado fácil e uso agradável. Sua organização é tão boa que sem abrir nenhuma janela, apenas mudando de abas na parte inferior da tela, conseguimos ter todas as informações do download. Além disso, ele tem diversos plugins a disposição. Quem usa Linux com interface Gnome (como o Ubuntu), aconselho o teste.

Denúncia: manobra para aumentar o preço dos ônibus!

Não sei se acontece em outras cidades além do Rio de Janeiro, mas já repararam que sempre, antes de um aumento no valor dos ônibus, há um aumento da frota? Pois é, venho reparando há alguns anos este fato e parece que vai haver um novo aumento nos próximos meses.

Desde segunda-feira (22/09/2008), parece que todas as linhas tiveram sua frota quase que dobrada! É fácil encontrar na rua seguidos veículos da mesma linha juntos, mesmo vazios. Até linhas famosas por suas condições sub-humanas de lotação (como 457) têm andado com uma quantidade de passageiros bem diferente do que se costuma ver.

Minha interpretação desta situação é que, com o aumento da frota, as empresas começam a ter prejuízos. No entanto, elas alegam que a razão para este prejuízo é o valor da passagem estar baixo demais!

Não me interpretem mal, pois acho que vale a pena pagar alguns centavos a mais para pelo menos andar com um mínimo de conforto no transporte público (acredito que somente isso poderia melhorar o trânsito da cidade). O problema é que, após o aumento, a frota volta a circular na sua quantidade regular, ou seja, voltam os ônibus lotados que demoram muito a passar.

Já enviei o texto acima para a imprensa, mas acredito que, como tudo no Brasil, isto não dará em nada…

Abraço!