Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Last Subversion repository decommissioned – at last!

1 de Outubro de 2015, 19:28, por Nardol - 0sem comentários ainda

Today I completed the git migration of the last Subversion repository we still had online at Propus.

Nothing different from what we had done for all the rest, but this was an old repository, mostly with unmaintained code, modeled after “project-as-subdirectory” style… Good old days…

Two scripts – I am sure people can find somewhere else on the Internet – are worth pasting here:

First, I detected 3 revisions committed by root user. The first two matched the creation of first two projects (AKA directories), so I mapped the three of them to the same person (who had this bad habit of logging as root). It ended up I was wrong for the third revision: it was the beginning of a new project, but by a different person. Since the authors file maps one-to-one, “root” could only be one and the person.

So, after the migration, I just use filter-branch to fix that particular commit. Trivial, but worth a gist:

Lastly, there are some projects (mapped as subdirectories in the new git repo), that we’d like to split from the “archived” do keep using or adding to them. They will become active projects again. So, we cloned the whole repo again, and used filter-branch to the rescue:

Since that was the last Subversion repository still alive, I’d like to end this post with a thanks for all the years of good service! Time to move on…



Such a big directory…

17 de Setembro de 2014, 20:46, por Nardol - 0sem comentários ainda

There’s no easy way to list files in a 10-million-file directory. Our beloved find and ls will almost never do it without requiring your whole week. I know it’s a bad design to have such a beast in place, but hey… we don’t always control the design of things our customers like to deploy. And some customers seems to like to defy logic sometimes.

Anyway, having to work with such thing requires some special plumbing. I usually code something quick using getdents in C, but I always forget to put it around and end up coding everything again everytime. I was about to upload it to github this time, but I found something already there. So this is just a heads up if there’s anyone out there needing this.



Such a big directory…

17 de Setembro de 2014, 17:46, por Software Livre Brasil - 0sem comentários ainda

There’s no easy way to list files in a 10-million-file directory. Our beloved find and ls will almost never do it without requiring your whole week. I know it’s a bad design to have such a beast in place, but hey… we don’t always control the design of things our customers like to deploy. And some customers seems to like to defy logic sometimes.

Anyway, having to work with such thing requires some special plumbing. I usually code something quick using getdents in C, but I always forget to put it around and end up coding everything again everytime. I was about to upload it to github this time, but I found something already there. So this is just a heads up if there’s anyone out there needing this.



Simple CGI MJPEG Streamer in Bash

30 de Junho de 2014, 15:44, por Software Livre Brasil - 0sem comentários ainda

This is mainly just for reference. I am sending images captured in surveillance IP cameras via FTP to some hosting. This is for convenience, since any cheap surveillance IP camera has this facility. So, how to watch in near-real-time without having to refresh the browser or using some javascript trickery? Also, How to watch using common IPcam mobile clients?

Easy enough: just create a MJPEG stream and use a CGI-capable HTTP server for the job. Some quick hacking (and inotify abuse) gave me the following Bash script:

Now, I just have to figure-out how to kill the process afterwards :-)



O Movimento Software Livre Morreu. Longa Vida ao Movimento Software Livre!

9 de Junho de 2014, 22:02, por Software Livre Brasil - 0sem comentários ainda

Assistindo ao debate “Morreu o Movimento Software Livre no Brasil?”, do FISL15, resolvi compilar diversos pontos que foram marginalmente abordados no debate e que flutuam na minha cabeça há algum tempo, merecendo um aprofundamento nesse contexto.

Movimento Software Livre e Ideologias Alienígenas

O Movimento Software Livre é uma expressão, no âmbito técnico, do anseio natural de liberdade do ser humano. Foi o precursor de diversos movimentos de cultura livre que, de certa forma são mais antigos ainda que o próprio Software Livre, mas que até então não possuiam ferramentas coerentes para se desenvolver. No entanto, como todo movimento, é habitado por pessoas que têm aspirações diferentes e muitas vezes essas pessoas confundem suas próprias e particulares aspirações com as do movimento, levando a uma “identificação ideológica cruzada”, que acaba associando ao movimento Software Livre diversas outras ideologias de maneira até equivocada.

Embora o próprio Stallman não seja um comunista (expresso por suas ações ao longo da vida, mas literalmente também escrito por ele mesmo), o Movimento Software Livre acabou, em diversos lugares – inclusive o Brasil – sendo capturado pelo espectro da esquerda política. E isso só fez mal ao Software Livre. (Seria igualmente ruim se fosse capturado pela direita política, veja bem.) Isso fica amplamente evidente quando fazemos o contraponto entre Open Source e Free Software e identificamos isso como um embate entre capitalismo e comunismo, como foi feito no debate em questão. Nenhuma discussão poderia ser menos produtiva e mais equivocada do que essa! Especialmente porque não existe nenhuma incompatibilidade entre as 4 liberdades que definem um Software Livre e os 10 pontos da definição de Software de Código Aberto.

Exatamente. Para que fique bastante claro vou colocar em um parágrafo separado: não existe nenhuma incompatibilidade entre as 4 liberdades que definem um Software Livre e os 10 pontos da definição de Software de Código Aberto. Portanto, não há um conflito conceitual entre Software Livre e Software de Código Aberto, muito menos um conflito semelhante ao embate capitalismo versus comunismo.

A Catedral e o Bazar

Então, acredito que a percepção de que o Movimento Software Livre no Brasil esteja morrendo está associada a perda de tempo imposta por um debate entre capitalismo e comunismo enquanto o próprio Software Livre não tem identificação com nenhuma dessas ideologias da maneira como elas são entendidas atualmente. Se tivermos que caracterizar o Software Livre ele é muito mais libertário (e portanto capitalista clássico ou paleocapitalista), com seu estilo Bazar e com sua organização emergente de-baixo-para-cima do que comunista, com seu estilo Catedral e sua organização positivista de-cima-para-baixo.

Uma pequena digressão oportuna mas que preciso incluir nesse texto é que, no arcabouço legal atual, o Software Livre é um Software Proprietário. Ele é propriedade de seu autor, que nos autoriza o seu uso de acordo com uma licença. Assim, não existe um antagonismo entre Software Livre e Software Proprietário, como uma debatedora do público (que infelizmente não se identificou) parece não entender. O antagonismo é entre Software Livre (com as 4 liberdades) e Software não-Livre (sem alguma das 4 liberdades). O antagonista do Software Proprietário é o Software de Domínio Público, cujo autor abre mão da propriedade de forma explícita. Observe, no entanto, que se tornou corriqueiro tratar por “Software Proprietário” o Software não-Livre, provavelmente levando a confusão da debatedora. E é importante ressaltar essa confusão por que o termo “Propriedade” sempre remete ao contraproducente debate comunismo versus capitalismo que referi acima.

Nesse contexto, como acertadamente colocou o Frederico Guimarães no debate: a evolução natural dessas “espécies” de Software (Livre e não-Livre) vai levar a um equilíbrio ecológico na existência entre elas e esse panorama misto é o que podemos esperar. Enquanto proponentes do Software Livre temos de compreender que nosso papel é “hackear” o status quo de forma a fazer esse equilíbrio pender para o nosso lado. Por exemplo, não devemos atribuir mais importância à GPL do que ela de fato tem: hackear o sistema de direito autoral para fazê-lo trabalhar em prol do Software Livre. A GPL é um hack, não um fim em si mesma. O que gostaríamos de ver é a abolição desses sistemas artificiais que transformam bens intangíveis em tangíveis. Enquanto não conseguimos isso, vamos usando a GPL. Mas não percamos de vista o objetivo: a liberdade. Não dá para sacrificar a liberdade em prol do “bem comum”. Especialmente quando “bem comum” assume a forma que o interlocutor quiser.

Portanto, todo o debate sobre a utilização do Facebook e do Gmail e de qualquer outro produto “dos malvados capitalistas” serve apenas como um espantalho. O que um ativista da liberdade deveria estar fazendo é criar maneiras para que, mesmo que o Gmail seja utilizado, os seus usuários tenham a possibilidade de criptografar a mensagem e, portanto, escondê-la do Google (e da NSA e de quem quer que seja). Uma solução tão simples quanto esta também para a questão do Facebook não está no horizonte (ou talvez o Diaspora seja uma solução), mas deveria estar sendo perseguida por esses ativistas. Enquanto isso, como todos os debatedores disseram, simplesmente não utilize o Facebook se as consequências de sua utilização o incomodam – como também é o meu caso.

Só por Prazer

A segunda coisa que quero considerar é que, no fim das contas, a questão é simples: as pessoas vão fazer seja o que for que fizerem que, na sua percepção temporal individual, as levam de um estado de menor satisfação para um de maior satisfação. Enquanto hackear era algo legal e prazeroso, as pessoas o estavam fazendo simplesmente porque as levavam a um estado de maior satisfação. Quando isso deixou de ser prazeroso (e acredito que isso ocorra em grande parte porque os desenvolvedores passaram a ter de se embrenhar em debates infrutíferos enquanto tudo o que queriam era escrever código), as pessoas resolveram fazer outras coisas. Da mesma forma, pode voltar a ser prazeroso para aquele indivíduo em particular. Não é nenhuma surpresa que o livro que conta os bastidores do surgimento do Linux tenha o título de “Só por prazer” (ou “Just for fun” em seu original em inglês).

Sumarizar esses grandes movimentos da ação humana em uma dicotomia entre Open Source e Free Software é um falso dilema, especialmente se essa dicotomia é utilizada para explicar a suposta morte do Movimento Software Livre. O ponto de atrito entre Open Source e Free Software é um de valores: para o primeiro, um Software não-Livre é uma solução sub-ótima; para o segundo, um problema social (como pode ser lido aqui). Do ponto de vista prático, eles são aliados e é isso que importa, porque o inimigo é outro, está na outra trincheira e só ganha com esse falso dilema.

Facebook, esse vilão execrável

A terceira coisa que quero chamar atenção é um ponto levantado pelo Frederico Guimarães na seção de respostas referindo-se a uma palestra do Alexandre Oliva sobre o uso de drogas: o entendimento de Frederico e de Alexandre é que o problema das drogas não é resolvido atacando o usuário, mas que o problema são as empresas que lucram com isso (aqui provavelmente se referiu aos traficantes) e que essas sim devem ser atacadas.

No entanto, por mais impopular que isso possa parecer, não existe fornecimento do que quer que seja para o qual não exista demanda. Então, sendo puramente pragmático, o problema é sim o usuário (no caso de drogas). Caso não houvesse demanda, não haveria oferta. No caso das drogas, todo o tipo de consideração sobre o caráter viciante da substância pode ser feita, mas nada disso é desculpa para tirar do sujeito usuário de drogas (e usuário do Facebook, que era o contexto da afirmação do Frederico) a responsabilidade por usá-la. Só existe Facebook porque as pessoas demandam a sua existência. Esse processo de culpabilização do produtor (sim, o Facebook produz algo que as pessoas querem consumir) é uma confusão entre causa e consequência, com a qual não compactuo.

Acho que isso merece uma analogia para que fique bem claro. Da mesma forma como o Facebook é “viciante”, podemos dizer que a Internet é “viciante” (como qualquer mãe com um filho pré-adolescente pode atestar), ou que (em seu glorioso tempo) as BBSs eram viciantes (como a minha mãe pode atestar). Isso era verdade antes do Facebook! Se a culpa desse vício passa do viciado (no caso o adolescente) para o produtor (no caso o provedor de Internet), onde isso vai parar? Uma “guerra ao Facebook” é tão legítima quanto uma “guerra à Internet” (ou uma “guerra às drogas”). Toda a situação ética da utilização dos dados dos seus clientes da maneira como o Facebook faz pode ser considerada, mas ninguém é obrigado a usar o Facebook. O mesmo vale para a Internet (e para as drogas).

Ao vencedor, as batatas

A quarta coisa que gostaria de considerar é se essa percebida morte do Movimento Software Livre não é simplesmente um reflexo do momento em que nos encontramos. Uma enorme variedade de dispositivos roda Software Livre. O Desktop, que sempre foi a “fronteira final”, está lentamente morrendo, ficando cada vez mais irrelevante. As tecnologias que emergiram executam Software Livre em um nível sem precedentes. Mais do que isso, os programas que rodam sobre essa plataforma são atualmente desenvolvidos em linguagens livres, com compiladores livres e muitas pessoas (em uma proporção muito maior do que no passado) publicam seu código sob licenças livres. Bom, falta muito para um mundo totalmente livre… sem dúvida. Eu concordo com um dos debatedores do público (Marcelo, de Natal, um rapaz que trabalha com imagens médicas) quando ele diz que a coisa como um todo está melhor e que sempre existirão novas batalhas. Mais ainda: não pode restar dúvida de que esse é historicamente o melhor momento que vivemos. E de certa forma parece que tem gente achando que isso é uma derrota!

Acho que talvez sim, o movimento como o conhecemos tenha de fato morrido, mas simplesmente como resultado de termos atingido nosso objetivo (ou o mais próximo disso). Muita coisa precisa ser feita ainda, mas nada tão urgente que necessite de uma “evangelização” como nos primeiros anos. O que precisa ser feito, no entanto, é compreender esse momento e pensar no “E agora?”.

Por fim, me alio os que querem uma disseminação maciça do Software Livre, e não àqueles que gostariam que o Software Livre ficasse uma “coisa de geek“. E penso dessa forma por perceber que o Software Livre é uma oportunidade de recuperar aquilo que o Software não-Livre nos tirou: a possibilidade de entender como um computador funciona e se comunicar com ele. E daí que existam pessoas que não valorizam a filosofia por trás do que está na máquina? Apenas ao utilizar Software Livre ele já contribuiu, tornando-se mais um para formar a massa crítica que ajuda a disseminá-lo. E quem sabe aonde isso vai levar?