sábado, 19 de abril de 2008

push @FISL9, $segundo_dia

Chegamos à PUCRS pouco antes das 9h e fui direto assistir ao YAPC::SA::2008. Cheguei lá e só vi o Randal Schwartz ($JAPH[0]) mexendo no seu laptop. Cumprimentei-o e fiquei esperando algo acontecer. Dez minutos depois chegaram o Eden e o Wallace, mas nada do Flávio Glock, que é quem normalmente lidera o encontro.

Tinha pouca gente quando o Wallace começou sua apresentação sobre o DBIx::Class, que é um módulo que implementa um mapeamento objeto-relacional. Eu não conhecia nada e fiquei um pouco decepcionado com a sua verbosidade... posso estar enganado ou comparando coisas diferentes, mas creio que já vi métodos mais diretos em Ruby.

O Eden seria o próximo a falar sobre Catalyst, que me interessava mais. Mas o Mac dele não tinha adaptador de vídeo pro projetor e ele levou uns 20 minutos pra conseguir transferir sua apresentação pro laptop do Wallace, usando meu pen drive. Tive que sair ainda no início da apresentação pra ver a do Ganeti. Na saída da sala fui tirar uma foto do grupo, que a essa altura já estava bem maior, e consegui um positivo do Randal.

Às 10h fui assistir à palestra sobre o Ganeti, proferida pelo Michael Hanselmann, do Google. Trata-se de de um cluster de virtualização desenvolvido em Python. Eu já havia assistido outra palestra sobre ele no CONISLI 2007 e cheguei a dar uma olhada. Na época, pareceu-me que ainda era um tanto imaturo. Segundo Michael, o Ganeti é usado na implementação dos serviços corporativos do Google, nos seus diversos escritórios, e não para implementar os serviços do Google.com. A arquitetura básica atual usa 20 servidores de 64-bits em um rack iniciando umas 80 instâncias, que é o termo que ele usa pra falar das VMs. Esses clusters são usados pra suportar serviços como DNS, DHCP e NTP, mas não serviços com maior demanda de desempenho, como servidores de arquivos, por exemplo.

Depois da palestra conversei com ele e perguntei qual era o problema que impedia a utilização do Ganeti pra serviços de alto desempenho e ele me disse, como eu já suspeitava, que basicamente isso se devia à ineficiência do mecanismo de sincronização de discos que ele usa atualmente, o DRBD. Eu perguntei se eles não têm planos de suportar outros mecanismos para sincronização de storage e ele me disse que estão trabalhando num backend baseado em arquivos e que, desse modo, os arquivos poderiam ficar num storage mais rápido, como uma SAN. Pra mim isso pode não ser o suficiente, pois o Xen, que é a tecnologia de virtualização que ele usa, trabalha com melhor desempenho usando raw devices. Além disso, para que os arquivos sejam acessíveis por mais de um nó do cluster eles vão precisar usar um sistema de arquivos de rede, como o NFS, ou um distribuído, como o GFS da Red Hat, mas isso só impõe mais barreiras ao desempenho geral. A melhor opção pra ganhar desempenho, a meu ver, seria implementar um backend que possa utilizar LUNs de uma SAN que sejam visíveis por todos os nós da rede. Imagino que com a maturação do código do Ganeti a implementação de uma coisa assim não seja complicada.

O roadmap para a evolução do Ganeti contempla algumas funcionalidades interessantes para a versão 1.3 que deverá sair até o final do ano. A mais interessante delas me parece ser o live migration que permitirá mover as instâncias sem precisar reiniciá-las. Além disso, eles pretendem implementar o failover automático, pois hoje ele ainda tem que ser feito manualmente.

Às 11h fui assistir à apresentação da Justiça do Trabalho sobre a migração que estão fazendo para o BrOffice.org. Pelo que entendi a migração ainda está no início, mas eles já têm várias varas de justiça pelo Brasil que já começaram a usar o BrOffice.org por conta própria, e estão usando a experiência adquirida pra diminuir os riscos da migração total, para a qual não mencionaram nenhum cronograma.

Em termos de complexidade, são 43 mil usuários com 40 mil máquinas distribuídos em 1600 varas, 26 regiões e o TST, em Brasília. Segundo Luís Fernando Pontello, que apresentou a palestra, os fatores críticos para o sucesso do projeto são divulgação, treinamento, equipamentos e patrocinadores. É importante que os usuários que irão migrar de aplicativo não sintam um impacto forte relacionado ao desempenho do novo. Por isso é importante que a diferença entre o velho e o novo seja avaliada e que os usuários recebam máquinas adequadas pra trabalhar com o novo. Os patrocinadores a que ele se refere são pessoas escolhidas a dedo dentro de cada vara que já tenham alguma afinidade com o software livre. Eles devem ser os primeiros a serem treinados e devem ser "trabalhados" para que "comprem" a idéia do projeto e funcionem como pontas de lança para a migração.

Alguém perguntou como é que eles conseguiam minimizar as "resistências" dos usuários e ele disse que o mais importante é ser bastante claro em apontar as razões da mudança, mostrando que não se trata de fazer um "voto de pobreza" e de apenas trocar um software bacana por um gratuito. É importante mostrar as economias, mas também é fundamental mostrar as outras razões de cunho estratégico e técnico pra mudança.

Pontello mencionou também outros projetos da Justiça do Trabalho relacionados ao software livre. Segundo ele, o TRT de Campinas tem um projeto chamado "estação livre" ou algo assim. Vou procurá-lo pra ver se obtenho mais detalhes a respeito.

Às 12h fui assistir à palestra "O Ministério da Saúde Mental adverte: onde há fumaça de trabaco é fogo", do Alexandre Oliva. Como sempre ele usa uma grande metáfora pra nos ajudar a pensar a questão do software livre e do software proprietário. Como eu temia, ele não conseguiu superar a do ano passado, mas não deixou de ser interessante. Durante a apresentação ele citou dois filmes e um livro que falam sobre o problema da indústria do tabaco e que servem de forte paralelo para a indústria do software proprietário: "Obrigado por Fumar", "O Informante" e o livro "O Juri". Preciso conferir o primeiro.

Às 14h assisti à palestra do Rasmus Lerdorf: Large Scale PHP. Confesso que fui levado mais pela eminência do palestrante que pelo tema da palestra. Afinal, não sou fã de PHP, mas dada a sua participação no mercado de linguagens para desenvolvimento web, seu autor deve ter muitas qualidades... e realmente tem.

O Rasmus começou dizendo que entende um pouco de português porque morou por algum tempo em Porto Alegre em 1991, quando trabalhou por aqui em uma empresa local. Isso foi uns três anos antes de ele criar o PHP... A história da criação do PHP já deve ser bem conhecida e ele fez um resumo.

Na primeira parte da palestra ele demonstrou algumas ferramentas muito interessantes pra fazer profiling de aplicações PHP: YSlow, Siege e Valgrind. A última delas é bastante famosa mas eu nunca a tinha visto em ação e fiquei bastante impressionado com a qualidade da apresentação e com o poder que ela confere ao desenvolvedor para analisar um programa C.

A segunda parte da palestra foi ainda melhor. Ele abordou a questão da segurança, ou da falta dela, nas aplicações web em geral. Sua mensagem foi clara: "nunca clique num link". Escrevendo assim não parece muito convincente, mas ele conseguiu convencer a todos mostrando um conjunto de exemplos aplicados a alguns sites daqui de Porto Alegre que ele obteve Googlando. Eu me lembrei de já ter ouvido um podcast com ele há alguns meses no qual ele falava das mesmas coisas. Alguém da platéia perguntou se a ferramenta que ele havia usado para detectar as vulnerabilidades "ao vivo" era uma tal ferramenta que ele havia desenvolvido mas que decidira não disponibilizar. Ele confirmou e explicou que não a disponibiliza basicamente porque não gosta de advogados... e teme ser acionado judicialmente caso uma leva de script kiddies passe a usar sua ferramenta pra invadir 99,9% dos sites da Internet... É... o problema é tão sério assim. Ao final da palestra ele foi ovacionado e formou-se uma enorme fila de tietes que queriam tirar fotos com ele. Sendo bastante simpático ele suportou com galhardia toda a tietagem e ficou vários minutos atendendo seus fãs. Gente fina o cara.

Às 15h assiti à palestra "The economic impact of FLOSS", do Rishab Ghosh que é membro da Open Source Initiative. Eu já havia lido o resultado de alguns de seus estudos e tinha idéia de que seria uma boa palestra. Ele procurou argumentar que o modelo de desenvolvimento colaborativo do software livre não é, como se costuma pensar, uma coisa de hobbistas e pessoas altruístas. Pelo contrário, há uma componente forte de auto interesse que pode ser estudada pela economia sem ter que apelas para modelos explicativos alternativos. Como primeiro exemplo ele citou um resultado específico de seus estudos. 70% dos entrevistados consideram que em relação ao software livre eles mais se beneficiam do que já existe do que são capazes de contribuir em retorno. Já quando são questionados sobre o que pensam dos demais participantes do movimento, menos de 50% considera que a maioria contribui mais do que obtém de retorno. Isso significa que há uma percepção equivocada de que a maioria das pessoas envolvidas com software livre sejam altruístas, mas a realidade é que a maioria delas tem a percepção de que a participação no movimento traz mais benefícios para o participante.

Outro ponto importante é a questão sobre como os desenvolvedores de software livre podem viver já que não conseguem vender o produto de seu desenvolvimento. Ocorre que apenas 6% dos desenvolvedores do mercado norte-americano trabalham produzindo software para ser vendido. Todos os outros 94% ou trabalham no desenvolvimento de software interno ou de software customizado para terceiros. E nesses dois modelos de negócio, o valor de venda do software produzido é função do tempo de desenvolvimento e não da exploração de um mercado aberto para seu produto. Por isso, ele argumenta que o impacto do software livre é insignificante em relação ao impedimento da venda do software e positivo para um número muito maior de desenvolvedores que podem contar com componentes livres para acelerar e melhorar a qualidade do produto que eles desenvolvem, permitindo que aumente a margem de lucro de venda simultaneamente ao barateamento do produto final.

Ainda outro ponto interessante é a avaliação do valor de todo o software livre disponível na Internet. Segundo ele, um estudo estimou em 12 bilhões de Euros e em 163 mil pessoas-ano o valor de todo o software livre disponível em 2005. A estimativa para 2010 era muito maior mas eu não consegui anotá-la. No todo foi uma palestra rica em informações e muito interessante, apesar de um tanto monotônica... o que fez o Mario quase roncar ao meu lado. :-)

Às 17h assisti à seção de perguntas e respostas sobre o kernel do Linux com o Theodore Ts'o. Eu já havia assistido a uma palestra dele em 2005 e confiava que seria interessante. Alguém começou perguntando pra ele se o Linux já era feature complete e quanto tempo levaria ainda para ser. Ele retrucou perguntando se o Emacs já é feature complete. :-)

Outro perguntou o que faz com que o kernel tenha um modelo de desenvolvimento tão escalável enquanto projetos bem menores às vezes entram em colapso. Em primeiro lugar, ele disse, o código do kernel é bastante modular, o que permite o desenvolvimento em paralelo e sem grandes interferências. Em segundo lugar, a utilização de ferramentas distribuídas para controle de versão de código, começando com o Bitkeeper e agora com o git, dá um poder muito grande de gerência da evolução do código para todos eles. Em terceiro lugar, milhares de desenvolvedores do kernel adquiriram uma cultura de discutir os problemas em uma lista de email que consegue suprir a falta de uma proximidade maior.

Ainda outro perguntou o que ele achava do OpenSolaris em geral e do dtrace e do zfs em particular. Ele elogiou a equi de desenvolvedores da Sun mas disse que eles ainda não conseguiram cativar um número significativo de desenvolvedores de fora da Sun, visto que a maioria dos commits do projeto ainda são realizados por engenheiros da própria Sun. Em relação ao dtrace ele disse que o Systemtap do linux está quase tão poderoso quanto seu irmão mais famoso, estando faltando apenas um maior envolvimento da comunidade para a construção de probes reutilizáveis por leigos. Em relação ao zfs, ele citou o BetterFS que é um novo sistema de arquivos sendo desenvolvido para o Linux e que deverá ser ainda melhor que o zfs.

A última palestra do dia foi uma debate muito didático e elucidativo (pelo menos pra mim) sobre a situação legal das concessões de espectro de frequências de ondas eletromagnéticas no Brasil. Aprendi que o marco regulatório brasileiro é da década de 1940 e que há muita sujeira e corrupção envolvida nas concessões. O Sergio Amadeu "levantou a galera" com seu jeito rápido e eloquente e eu gostei muitíssimo das intervenções do Gustavo Gindre, a quem eu não conhecia. Gostei particularmente de quando ele argumentou que a tecnologia não é neutra na definição dos impactos sociais que ela pode causar. Ele usou pra isso o exemplo das leis de Isaac Newton. Segundo ele, na época de Newton já existia o conceito da conservação da energia, embora isso ainda não fosse consenso entre os cientistas. Ocorre que a igreja anglicana não via com bons olhos esse princípio pois ele parecia indicar que não haveria mais lugar pra Deus na natureza. Como Newton era bastante ligado à igreja, ele fez questão de elaborar suas leis numa forma em que não precisasse invocar esse princípio. Achei muito interessante e vou procurar saber melhor sobre essa história.

Saímos da PUCRS e pedimos uma dica ao motorista de táxi que nos levou para a galeteria Via Veneto. Eu gostei muitíssimo das carnes e das massas. Quando estávamos de saída vimos chegar um grupo grande do FISL, dentre eles o Maddog Hall e o Felipe van de Wiel, do Debian.

Desta vez voltamos de táxi pro hotel. No caminho eu lhe disse que ontem havíamos voltado à pé e ele exclamou: "pelo amor de deus!".

4 comentários:

  1. Gustavo, sugiro que voce divida o seu post em duas metades: manhã e tarde pois o post ficou muito grande.

    ResponderExcluir
  2. Ide, a palestra do Rasmus está publicada aqui.

    Acho que no site do FISL eles vão publicar todas as palestras, mas não encontrei ainda.

    Quanto a dividir os posts... vai ter que ficar pra próxima. :-)

    ResponderExcluir
  3. Achei um post do Cezar Taurion http://www.ibm.com/developerworks/blogs/page/ctaurion?entry=impacto_econ%C3%B4mico_do_open_source
    falando sobre o impacto economico do Software Livre/Aberto e cita o estudo em http://ec.europa.eu/enterprise/ict/policy/doc/2006-11-20-flossimpact.pdf. São só 280 páginas. Vale e pena conferir

    ResponderExcluir