hisham hm

O ruído de fundo constante na mente

Uma observação interessante. Nessa Copa do Mundo, como eu estou assistindo a tantos jogos seguidos na Globo, um efeito colateral é que fazia muito tempo que eu não assistia tantos comerciais, e tantas vezes os mesmos comerciais. Cada comercial individualmente nem me irrita, e vários são até divertidos, mas perceber essa repetição constante, com os jingles e slogans ecoando na cabeça, é bem desconfortável.

Fiquei pensando agora em quem assiste, por exemplo, novela ou o mesmo telejornal todo dia, seis vezes por semana… assistindo aos mesmos comerciais. Só agora que eu me desacostumei a ver comerciais, eu pego a dimensão do ruído de fundo constante na mente.

Quando eu vejo alguém usando a internet num computador sem ad-blocker instalado, eu tenho o mesmo choque. As pessoas são aparentemente “anestesiadas” a ver sites carregados de propagandas. Quando eu aponto pra elas e recomendo ad-blocker, elas dizem que “nem reparam” ou que “não incomoda”. Mas eu pessoalmente duvido que isso não tenha efeito (ou então uma empresa como o Google não seria multibilionária apenas na base de propagandas, como é).

Fico feliz por mim, por me dar conta que eu consegui achar uma maneira de viver livre de algumas dessas fontes de ruído mental, mas triste sempre que relembro que esse ruído é tão disseminado.

Anatomy of a (failed?) free-software fundraiser

UPDATE 2014-05-02: The fine folks at Bountysource extended the fundraiser for a few more weeks! Hurry up!

After more than 10 years developing free software (htop, GoboLinux, LuaRocks), this month I made my first organized attempt to get some funding for a project. Or rather, am making, since the fundraiser is still up at the time of this writing. But with 2 days to go and 22% of the funding goal met, I think it’s already a fine time to take a closer look at the experience and see what we can learn from it.

The idea, in short

htop is a text-mode process viewer. The backend code is Linux-specific, so unlike most free software, it’s not a portable project. Still, some people run it unmodified on FreeBSD (and GNU Hurd!) by using Linux emulation layers. There’s no such layer for Mac OSX, so one user ported htop by replacing its backend with a native implementation. There’s nothing wrong with that, of course — the source is open precisely to allow this kind of thing!

The problem is that, due to the way this fork was done, it couldn’t easily be merged back. So, it hasn’t kept up with the development and bugfixes of htop over the years. This hasn’t stopped it from making its way to Homebrew, through a series of forks. They’re all based on that version of htop 0.8.2 from five years ago, though. The result is that I keep getting bug reports from Mac users, some of them for very old bugs!

My time for free software is short as I usually take on lecturing and freelance jobs in addition to my PhD, so I though that, if there was enough interest, I could take on solving this situation as this season’s “freelance job”. I had just learned about BountySource through the neovim fundraiser so I thought “why not”, and created a fundraiser titled “Mac OS X support in the official htop 1.x tree”.

First contacts

I went through Github and searched for every fork of AndyA’s original htop-osx repository (when this fork was made my own htop repository was still in SourceForge, so his fork is not a “Github fork” of mine) and contacted every author to make them aware of my project. I also looked at the update history of the htop-osx formula in Homebrew and contacted everyone mentioned there. My goal was to reach everyone connected to htop-osx, let them know about the fundraiser (I didn’t want it to look like a “hostile fork” (even though I’m the original author!) ) and ask them how to better reach the OSX community.

Everyone was fine with the idea and nice to me, but unfortunately nobody had any tips on how to reach out to the audience. Fork authors suggested contacting Homebrew; Homebrew told me to contact the “htop-osx project”. Having had already contacted both, that didn’t take me far.

The general advice was to go through word-of-mouth. The thing is, I’m a Linux guy, and so I tend to gravitate around that universe in my online communities. I posted links on Twitter and I’ve got some pledges from friends, who were sure not that interested in the port but wanted to help out (thank you!). Then I posted in the htop mailing list, from which I also got some pledges, as shows of support.

Trying to reach wider audiences, I posted on a few Mac-related subreddits, where I got some pledges from /r/apple (and also on Hacker News, where it instantly tanked of course). After a couple hundred dollars in initial pledges the first few days, the fundraiser sat mostly dormant.

I wondered what else I could do to shake things up, but at the same time I couldn’t dedicate a lot of time to promote the fundraiser, between preparing classes and other commitments. This is a sign of a classic mistake: I didn’t do any planning beforehand. In particular, I was taken by surprise that once went through the BountySource fundraiser signup process, there was no option to set the duration of the campaign (yes, that means I didn’t read the fine print carefully; I guess I just skimmed it to see what was the percentage of their cut — 10%, by the way). It was only when I was up and running that I realized I only had one month to go. With only one month, I’d probably have set a lower goal.

BountySource has since remodeled its site to deemphasize “fundraisers” and focus more on developer teams and “bounties”, which are feature/bugfix requests for which one can set a value but, as I understand, can stay open with no time limit. I think that’s a better model.

An unexpected gift

Things were pretty quiet for a while, when I got a notification from none other than the original author of the Mac fork, AndyA. He got my email early on but could only respond a few weeks later. He apologized about the bug reports that were sent my way (mostly because htop’s segfault handler outputs a message directing the user to report bugs at the main htop website — something that none of the various Mac forks actually changed!) …and was extremely generous to pledge $500 to the fundraiser, which essentially doubled the amount I had raised at that point!

That was really kind of him, and it made me especially happy to know that my porting project had full support from the author of the original Mac fork. With that spur of motivation, I rushed to put to practice an idea I had a few days earlier. I thought of the best way I know to make the userbase of a free software project take notice, which is…

Making a release

htop is a mature piece of software, over ten years old by now. It had been over a year since the last release. There were some new features, bugfixes and performance improvements already sitting in its repository, that I had implemented and merged from contributors over the last year. So, I combed through the bugtracker fixing other pending issues and packed version 1.0.3.

I announced it at the usual places and made a post on /r/linux where it got a quite nice reception. That didn’t translate considerably into pledges, but at that point I didn’t really expect it would shift the fate of the fundraiser.

I even got a comment saying “I do not need a MacOSX version so I donated a few bucks on the regular site”.

What was learned

That comment above sums up a lot of what happened in this fundraiser. My userbase consists of Linux users, not Mac users, so they weren’t really engaged by this project.

Also, there were some fundamental problems with the idea of turning this Mac port into a fundraiser:

With that in mind, I think the fundraiser would have had much better chances if it were aimed at Linux users and proposed cool features, such as

Those are things I keep meaning to do at some point, but they require care in their implementation, in order to keep htop focused and lightweight.

What now

Even though the campaign hasn’t reached its funding goal, I think it has been a positive experience and a learning process (and the raised money is surely welcome, especially because there’s a particularly nice feeling in being compensated from developing free software). And at the very least, if I get new Mac bug reports in the future, I can point them to this and say “I tried!”

Aside from the mistakes listed above, I think the main thing I did right was contacting everyone related to the htop-osx fork. Not because the largest donation came from that, but because it opened a positive channel of communication with other developers, which will hopefully be fruitful for the project in the future.

With the current level of funding I will still have to take other freelance jobs this season, so I won’t have the time to produce a full Mac port. But the raised money will be used in sponsoring the development of the platform abstraction layer, which is the first step. Once I isolate the Linux-specific parts, it should be easier for the Mac development community (some of whom I was able to reach out in this project) to contribute a native backend and hopefully we’ll get the situation of htop on the Mac sorted out sooner rather than later.

UPDATE 2014-05-02: The fine folks at Bountysource extended the fundraiser for a few more weeks! Hurry up!

Sobre meritocracia e igualdade, na sociedade e no software livre

Meu amigo Evandro postou o link para um belo texto, a que ele precedeu com o seguinte epigrama, cirúrgico:

Meritocracia individual vs meritocracia social.

Desvendando a espuma: o enigma da classe média brasileira

Recomendo bastante a leitura.

Acho bem interessante levantar essa questão do significado de “meritocracia”. É uma palavra cuja conotação foi mudando em tempos recentes.

Há alguns anos o termo definitivamente não estava na ordem do dia. Eu nunca tinha ouvido ninguém falar.

O primeiro contato que tive com o termo era dentro de comunidades de software livre, pra explicar como as coisas funcionam lá. Ali, eu achei uma ideia ótima. Sempre fui defensor.

Recentemente, teve essa inversão. A tal “classe média reacionária” de que o texto fala começou a defender o status quo de qualquer desigualdade. E fazer isso sempre em nome da tal meritocracia. Aí as coisas começaram a ficar estranhas pra mim. Não demorou pro pessoal de esquerda abraçar o discurso “abaixo a meritocracia!”. Eu, que não nego que sou de esquerda, fiquei olhando com uma cara de “ei, peraí, mas mas…”

Aí o texto (e o preciso destaque de cinco palavras do Evandro) desata esse nó claramente. Tem uma diferença fundamental entre as meritocracias do parágrafo anterior e a do anterior a esse. A meritocracia no mundo do software livre é uma meritocracia entre membros que têm condições iguais. Todo mundo ali é programador, tem formação, acesso a computador, internet, etc. Dadas todas essas condições, aí realmente fica aquela coisa do “quem contribui mais, apita mais”. Na outra, é uma “meritocracia” onde muito poucos têm sequer chance de mostrar algum mérito. E se a maioria está de fora, é mesmo o mérito que define quem está no topo?

Só que até na meritocracia bonita do software livre a coisa tem uns furos não totalmente aparentes. E nem estou considerando que estamos olhando só pro universo da informática, o que já é uma restrição. Quem não tem o perfil típico tem dificuldades pra entrar nas “panelas”, não importam seus méritos. Vide os casos de sexismo em conferências e comunidades de desenvolvedores, por exemplo. Cadê a meritocracia? Outro ponto foi levantado por um amigo no Twitter. “Open-source development is not as much as a meritocracy as it is a have-enough-time-ocracy”… Acaba que os mais presentes/insistentes muitas vezes “vencem pelo cansaço” as discussões.

Igualitarismo é às vezes visto como o contrário do culto ao mérito. Afinal tem o problema do “freeloader” que se encosta no “sistema”, etc. Mas o que eu acho é que estruturas como a do software livre geram condições mais igualitárias por design. Considere o conceito do copyleft, por exemplo: “usou o código aberto, agora abre o seu código também”. Isso acaba abrindo mais espaço para o verdadeiro mérito se destacar, uma vez que o “campo de jogo” está mais nivelado. Software livre sozinho não resolve, vide os problemas que apontei. Além disso há modelos mais e menos simétricos de software livre. Mas acho que aponta um tipo de modelo possível. É diferente do igualitarismo “top-down” de Estado. Infelizmente, vejo essa ideia expressa muito pouco em outros lugares.

É preciso, como disse o texto, criar uma outra cultura do mérito. Além disso, precisamos de novos conceitos de igualdade. Afinal, ambos estão em falta.

Neutralidade da rede: a discussão é global, a Europa vota amanhã

Esses dias, alguém me perguntou se a defesa da neutralidade da rede também tem sido discutida em outros países.

SIM! A votação similar no Parlamento Europeu está acontecendo amanhã. “Coincidência”, né?

Está rolando uma campanha forte para que as pessoas contactem seus representantes. (Alô amigos aí que têm dupla cidadania europeia!)

Esse debate do Marco Civil da Internet está acontecendo dentro de uma discussão em escala global. Não é uma mera picuinha em Brasília.

E o que nos interessam as leis da Europa? Em primeiro lugar, elas definem precedentes. Em tempos de Organização Mundial de Comércio, há muito não dependemos somente das nossas leis locais. O que se torna prática de negócio comum no mundo acaba chegando aqui via pressão na balança comercial. Em segundo lugar, o motivo dessas coisas estarem acontecendo agora em diferentes lugares não é coincidência, é pressão de lobbies das multinacionais de comunicação (ou seja, o lobby de lá é o mesmo lobby daqui). Em terceiro lugar, pela própria natureza da internet o que acontece na internet da Europa e na internet dos EUA nos afeta aqui.

A nossa política interna é sempre um pedacinho da geopolítica, muito mais do que aparenta. Pintar a nossa realidade puramente em termos internos (ou pior, partidários) é uma ilusão. Acompanhar política internacional não é uma “curiosidade”.


Marco Civil da Internet: o assunto é sério!

Das várias coisas discutidas dentro do Marco Civil da Internet, a principal questão em jogo é a “neutralidade da rede”. Isto é, é a ideia de que a internet é um condutor neutro de dados. O que isso significa em termos práticos? Significa que os provedores de internet devem prover acesso integral, e não filtrar conteúdos e cobrar a mais por eles.

Nos EUA já existe uma briga grande entre provedores de TV a cabo (que proveem internet através dos seus “combos”) e sites como Netflix. O Netflix usa a internet para prover um serviço de TV de melhor qualidade do que a própria TV a cabo. As operadoras não gostam de “carregar os dados para o concorrente”. Ao invés de prover um serviço melhor, elas querem silenciar a concorrência.

Aqui no Brasil já se começam a ver ameaças à neutralidade da rede. Começa com o “Facebook e Twitter grátis no seu celular pré-pago”. O que de início parece um ‘brinde’ na verdade é uma forma de começar a incutir a ideia de que “uns sites custam mais do que outros”.

Serviços de VoIP como Skype também já são detectados por operadoras de celular e cobrados em separado ou bloqueados. Como no caso do Netflix, é porque eles oferecem um serviço melhor do que a própria operadora.

A proliferação desse tipo de negócio põe em risco a estrutura aberta da internet como a conhecemos. Como diz o Gilberto Gil no texto da petição do Avaaz, não podemos deixar a internet virar uma “uma espécie de TV a cabo, em que se poderia cobrar a mais para podermos assistir a vídeos, ouvir música ou acessar informações”.

Além do mais, se o conjunto de sites e serviços provido aos usuários for restrito tem consequências. Na prática, isso pode até acabar virando monopólio ou censura, pois novos sites não terão oportunidade de surgir.

Cliquem na petição, leiam a descrição e façam parte.