Pré-FISL em São Paulo

Acabei de sair do evento Pré-FISL em São Paulo, organizado pela 4Linux.

Foi ótimo. Com palestras e palestrantes de alta qualidade. Confira:

  • Josh Berkus, do PostreSQL, esclareceu a evolução do projeto e comunidade. Contou que a versão 8.3 do PostreSQL vai suportar DBs de vários terabytes, e que a performance da versão 8.2 atual já é comparável com o MySQL. Contou também que os nichos do PostreSQL e do MySQL são diferentes. O primeiro está focado em grandes bancos, enquanto o MySQL tende a usos exóticos ou a bancos pequenos ou até em RAM. Sobre suporte a XML do PostgreSQL mostrou os primeiros passos, mas explicou que não chegam nem perto do DB2 nesse ponto. Outro gráfico interessante é a relação do custo-benefício comparado a um “banco de dados proprietário” de cor vermelha: 80% do benefício por 15% do custo total de propriedade.
  • Maddog fez uma apresentação de tom idealista sobre thin clients, contando como terminais burros eram usados antigamente e a vida das pessoas era mais fácil. Argumentou que o projeto One Laptop Per Child é bonito mas o que importa não é o hardware e sim a conectividade em todo lugar. Quando questionei que muitas empresas já usam thinclient mas em Windows, e que o que falta é uma abordagem de mudança cultural menos infraestrutural e mais no nível das aplicações (convertendo-as para web ou para padrões abertos), ele disse que é só uma questão de volume. Quero ver… Seja como for, nós adultos também queremos um laptop conectado !
  • Jomar Silva, diretor geral da ODF Alliance Brasil, falou por uns minutos sobre ODF e sua importância para os usuários, empresas e desenvolvedores de aplicações.
  • Cezar Taurion falou pela IBM com uma palestra entitulada “Renascimento 2.0”, onde usou seu raciocínio claro e pragmático para explicar o modelo Open Source, e como ele se encaixa num modelo empresarial. Falou sobre o conceito Long Tail e como ele está relacionado a era do Mundo de Pontas.
  • Kristian Kielhofner falou sobre o Asterisk. Muito interessante. Mas a maior sensação foi seu celular Nokia que suporta SIP. Ou seja, para qualquer contato de sua lista telefônica, ele pode fazer uma ligação normal (por GSM) ou por VoIP, gastando bytes de seu plano IP (mais barato) e economizando minutos de seu plano de voz (mais caro). Segundo ele, os aparelhos Nokia da linha E e N estão anos a frente de qualquer outro fabricante por sua integração com VoIP. Ele consegue rotear seu ramal do trabalho, ou seu telefone de casa para seu celular, não por followme, mas por IP — Nokia é o celular dos geeks. Mostrou também um gadget que parece um isqueiro com porta ethernet: trata-se de um computador com WiFi que tem 256MB de RAM e AstLinux já instalado, boota em segundos com Linux, Asterisk e um firewall, e lhe serve como uma central telefônica portátil para viagens.
  • Amauri Zavatin, da Caixa Econômica, impressionou todos contando como o banco social está aos poucos usando Linux em todos os lugares. Dentro de um ano, todos os terminais dos caixas e ATM serão thin clients Linux. BrOffice.org já está sendo massivamente usado, com ordem da presidência, e há prazo de 6 meses para desinstalar o MS Office. Intranet foi toda redesenvolvida em Java e Zope, e está servindo como piloto para a próxima Internet do banco. Diminuiram em 70% os gastos com impressão porque começaram a controlar seu uso com ferramentas open source. Des-terceirizaram todo o negócio das casas lotéricas (por causa das notícias de corrupção) redesenvolvendo todas as aplicações internamente com Java e Linux, e o projeto saiu por uma fração do que foi previsto. Etc etc etc. Esta palestra serviu como um termômetro do uso de Open Source de forma corporativa, responsável e séria.
  • Louis Suarez-Potts, da Collab.net, fez uma palestra emocionada sobre OpenOffice.org e ODF, convocando mais colaboradores para os diversos projetos atrelados ao OOo. Explicou que pode-se contribuir para a suite em sí, mas também para os subprojetos de marketing, empacotamento, artwork, testes, plugins e extensões.

O evento fechou com um coquetel informal onde reencontrei velhos amigos como o Luiz Blanes e outros.

A casa estava cheia, e espero que o evento se repita ano que vem. Tem tudo para se tornar tradição em São Paulo.

Segurança em Open Source

Cezar Taurion, excelente consultor e colega de trabalho, engatou seu blog no developerWorks. Gostaria de complementar seu artigo da Linux Magazine de dezembro de 2006 com algumas aspectos sobre segurança.

Não há como afirmar que Open Source é mais seguro que Closed Source, ou que Closed Source é mais seguro que Open Source. Quem o afirma, geralmente faz por religião e não por análise fria.

Considero-me especialista em segurança, mas evito ao máximo tocar neste assunto ao falar com clientes em geral, quando o âmbito é Open Source. Só quando eles perguntam. Simplesmente porque cada um terá uma opinião, e porque nehuma opinião pode ser verdadeiramente constatada.

Vamos dividir o mundo Open Source em dois blocos. No primeiro desfilam as escolas do grupo 1, campeões de audiência como o Apache HTTP Server, Samba, boa parte do Kernel, Bind, OpenSSH, DHCP, Firefox, OpenOffice.org, libc, que são arrasadoramente populares, e literalmente seguram a festa da Internet no ar. A lista não é muito maior que essa.

E no grupo 2 ficam todos os outros projetos Open Source, disputando um lugar ao sol e na passarela das distribuições Linux. Aqui estão as dezenas de milhares de projetos abandonados do SourceForge.net, e também projetos longe da criticidade das do grupo 1, mas já um pouco mais usados, como Gnome, KDE, X.org, a outra parte do Kernel, OpenLDAP, NAS, VNC, ImageMagick, Bash, Gimp, Kopete, Gaim, libc++, libxml, ntp, e mais todo o resto que não aparece no grupo 1 mas que está instalado aí no seu computador.

Enquanto pensamos que no closed source podem haver pontos inacessivelmente inseguros e backdoors, devemos também nos perguntar se há realmente pessoas analisando todo Open Source que interessa, com enfoque em segurança. Pense no grupo 2.

Sobre segurança em Open Source, a única coisa que podemos afirmar é que o código se mantém aberto para quem quiser auditá-lo (característica que o closed source não tem e nem quer ter). Mas novamente, isso não é garantia de que suas falhas serão achadas.

No grupo 1, dos superpopulares, a estória é outra. Eles são naturalmente submetidos a stress massivo e constante do mundo real. E a dependência que muitas empresas e indivíduos tem desse grupo os leva a se relacionar de forma simbiótica com sua evolução. Usam o fato de ter o fonte disponível para auditar e contribuir melhorias.

A separação entre os grupos não é tão nítida. Usei só para ilustrar. A fronteira é na verdade uma larga faixa de projetos Open Source com diferentes graduações de popularidade, stress e uso.

É preciso ter a soma de dois aspectos para se ter a melhor segurança: código fonte aberto + extrema popularidade, sendo o último mais importante (e mais difícil de alcançar) que o primeiro.

Um closed source também tem sua chance de ser seguro. Basta a empresa que o fabrica cuidar bem de seu produto. Se ele for popular, ela tende a cobrar menos para executar este trabalho. Se for menos popular, mas ainda desejado pelos clientes, seu preço tende a ser mais alto.

Open Source na Prática

O primeiro a propor a idéia de Open Source Software (OSS) foi Richard Stallman na década de 1970, que a formalizou, com a ajuda de alguns advogados, na famosa licença GPL.

Ninguém se interessou ou sequer ouviu falar sobre isso, até que em meados da década de 1990, tudo mudou com a vertiginosa popularização do Linux, sistema operacional OSS.

O termo popular “Software Livre” não é a melhor tradução de Open Source Software, cujo correto é Software de Código Fonte Aberto. É importante notar isso porque muitas vezes o termo é erradamente associado a idéia de não-proprietário, ou não-comercial. A verdade é que um software pode ter seu código fonte aberto mas ser comercial e/ou proprietário e vice-versa, portanto são conceitos que não devem ser confundidos.

A idéia é simples: eu escrevo um programa e você pode copiá-lo à vontade sem nem sequer me notificar. Pode inclusive modificá-lo e redistribuí-lo, contanto que também mantenha suas modificações abertas e informe qual a origem e os autores anteriores do software.

Isso não quer dizer que teremos diversas versões desconexas do mesmo software, num dado momento. Cada modificação passa por um processo muito bem organizado de aceitação ou rejeite, onde boas melhorias retornam à base e são incorporadas à nova versão do software. Na verdade, hoje, a maioria dessas contribuições não é mais feita por indivíduos, mas por empresas de tecnologia.

É comum — e errado — pensar que OSS significa a morte de todo software de código fechado. Isso não acontece porque a tendência é que as grandes inovações continuem a ser exploradas pelo modelo fechado. Imagine um mundo hipotético que ainda não conhece editores de planilhas. É natural que, ao lançar esse produto, seu inventor opte pelo modelo de código fonte fechado, para maximizar seus lucros através do total controle de sua invenção. Contudo, conforme essa invenção se populariza, desenvolve um mercado e adquire concorrentes, OSS surge como uma das formas — a mais inovadora — para repensá-la. OSS inova ao reimplementar o que outros inventaram e exploraram anteriormente. Recentemente, porém, a indústria começou a usar OSS diretamente para lançar certas inovações, justamente pelo seu poder de agregar comunidades e criar ecossistemas.

Também é comum — e errado — acreditar que se o software em si é gratuito, elimina-se por completo os gastos. Mas sempre haverá a necessidade de um suporte confiável. OSS altera o eixo do valor agregado do software, movendo-o do software em si (que não custa nada), para o serviço de suporte.

Open Source, Open Standards relacionados a TI

Em seu processo de amadurecimento, a única diferença prática entre um software OSS e outro de código fonte fechado é a ordem em que as coisas acontecem. Um fabricante comercial terá que criar estrutura e suporte regional antes de vender o produto. Já no OSS, ofertas de suporte só surgem (espontaneamente) depois que ele goza de uma boa gama de usuários. Mas seja qual for a ordem, a única coisa que garante maturidade a qualquer software ou produto é um ciclo de desenvolvimento–uso–suporte, que estimula mais desenvolvimento. Somente essa maturidade garante a aceitação do produto em empresas responsáveis. E hoje, OSSs como Linux, Apache, OpenOffice.org, Samba, e outros já gozam desse ecossistema cíclico de uma forma vasta, global e vigorosa.

Hoje, OSS tem aplicações mais maduras em infraestrutura e alguns nichos de middleware. Por sua vez, os softwares de código fonte fechado apresentam maior desenvoltura mercadológica nas funcionalidades de maior valor agregado ao negócio (ERPs, CRMs ou processos empresariais). Isso porque estas funcionalidades têm uma amplitude menor de usuários, o que inviabiliza o surgimento de suporte espontâneo — fator vital para a maturidade do OSS.

A indústria tem buscado um balanço saudável para misturar componentes fechados com OSS, a fim de maximizar o seu benefício sem abrir mão da maturidade de ponta a ponta. Prova disso é que tem sido cada vez mais comum a implantação de ERPs maduros — geralmente de código fechado — sobre plataformas abertas maduras — como distribuições Linux com suporte.

A receita para o melhor balanço é insistir no uso de Padrões Abertos. Por garantirem uma interoperabilidade fácil entre camadas abertas e de código fechado, o uso de padrões amplia as escolhas e a liberdade da empresa que compra TI para compor a melhor mistura do momento, com opções OSS e/ou de código fechado.

Wireless iPod

AirPlay2Tentando me desfazer dos anti-sociais-fones-de-ouvido, fui na onda de comprar um transmissor FM para o iPod que ganhei de aniversário.

Para quem não sabe o que é isso, trata-se de um dispositivo que se pluga ao iPod e que transmite o que ele toca para um rádio, por ondas de FM.

Minha dica é: não perca seu tempo com isso. Testei vários e todos são ruins. Sim, você consegue ouvir no rádio o que o iPod toca, mas sempremuito chiado, e só funciona a poucos centímetros do rádio, o que não é prático.

Irritei-me e devolvi hoje para a loja.

Choosing a Linux Distribution

It is important to begin by saying that all Linux distributions, including commercial — Red Hat Enterprise Linux, SUSE, Xandros, etc — as well as non-commercial — Debian, Slackware, Gentoo, etc — are all good and are technically able to fulfill most real world needs. To choose amongst them is more related to personal taste of the people who already knows it than to functionality. But a company must think about other aspects — not only taste — to guarantee making the right strategic choice for long term benefits.

Support and Certification

All Linux distributors package, in one way or another, mostly the same set of Open Source softwares (the Kernel, Apache, Samba, libraries, Gnome, KDE, etc). But only the so called enterprise distributions include support services together with their product.

For a user, support really means:

  1. A partner available now and in the long term to transfer operational risks.
    This is the most important point. Companies don’t want to take risks — specially the Open Source risks — for themselves.
  2. Fast access to quality updates.
    Companies in general have limited resources to compile, test and apply OSS updates.
  3. Access to a large set of certified hardware (IHV) and software (ISV) vendors, and availability of pre-tested complex solutions.
    A critical part of any IT project is the support and certification connections between its components (hardware, storage, middleware, etc). The most important and valued function provided by a distributor, even more so than the embedded technology in the OS, is its ability to build ecosystems of certified Independent Hardware and Software Vendors.

Price for a License Versus Subscription Business Models

Companies that sell commercial software (as Microsoft, IBM, Oracle, etc) allow somebody to use their products only after buying the rights to. This “buyable rights” are refered to as a commercial license.

The software provided in any Linux distribution is free of charge. The developers of these softwares have licensed their work under the GPL, BSD, Mozilla Public, IBM Public or some other Open Source licenses, which grants anyone the rights to use and redistribute the software without having to pay any money.

It is a misnomer to say that you are “buying� some Linux distribution (or a license for it to be used). You can’t buy it. It is already yours, in practical terms. It is like saying a user is buying the content of some web site. There is nothing material to acquire. On the other hand this user can subscribe to a service that provides hot line support, access to updates and access to an ecosystem of interoperable certified products and solutions – the support points outlined above.

So enterprise Linux distributors (such as Red Hat, Novell, Xandros) sell these services, and not the software, because the last is free of charge.

Choosing the Best Distribution

There are two responsible and effective ways to use a Linux distribution as part of a company’s IT operations:

  1. Acquire a global commercial Linux subscription such as Red Hat Enterprise Linux or Novell SUSE Linux Enterprise Server.
    A subscription ties together the Open Source software and its global scale support, providing a stable environment for a certified ISV and IHV flourishing ecosystem.
  2. Use free distributors such as as Debian or Slackware and buy support services from an independent local company.
    Free distributions may introduce more risk due to non-global support operations, in addition to a loose integration between software and support, which leads to a weak ISVs and IHVs ecosystem.

In terms of technical flexibility and vendor choice — points that influence cost —, both options are equal. All the benefits of the second option are present in the first, while second lacks the ecosystem aspects.

Thus the conclusion is that it is more reasonable to directly acquire a product that directly ties the support to the software, than manually integrate them at the regional level.

RHEL versus SLES comparison

Companies should look at the following points, in this order, when choosing a Linux distribution to run their business applications:

  1. Which distribution vendor do I have closer commercial relationship?
  2. Who has best pricing model for the value provided?
  3. Which distribution does my technical staff have more experience with?
  4. Which distribution is supported and certified by my providers of hardware and software?
  5. If you are unsure, be responsible and use an enterprise distribution.

There are two enterprise Linux distributors that have a strong ecosystem and penetration in the market: Red Hat Enterprise Linux and Novell SUSE Linux Enterprise. They have differences that every year continue to converging and diverge. See the table for a comparison.

Other Enterprise Distributions

There are several Linux distributions with business models similar to the one adopted by Red Hat and Novell. Most well known are Ubuntu (technically based on Debian), Mandriva (Conectiva and Mandrake fusion), Xandros (also based on Debian.) They are focused on building a product that can scale globally in such a way that support services can be delivered automatically or as a self-service.

There is an intrinsic market law that seeks equilibrium by providing two options in which to choose. One option may be good (there is actually no option when only one path is available), two mature options is better, and three or more options are too much for the market to handle. It appears that the market has already defined its two mature options: Novell and Red Hat.

Even if these other enterprise distributors have better products, they’ll have to spend a considerable amount of energy developing an ecosystem of ISVs and IHVs. More than that, ISVs and IHVs will have to take a break in their operations to listen to what these new distributors have to offer.

Ecosystem is everything. A product with a good ecosystem can easily become much better than an excellent product without an ecosystem. This is probably the most important aspect a company should consider when choosing a Linux distribution.

One cannot say that a certain distribution is better than all others. When searching for a distribution one should be pragmatic in striking a balance between the distribution’s functions and how well it meets the goals of the company or specific project.

Unbreakable Linux: Mais uma Distribuição Enterprise

A Oracle anunciou a distribuição Unbreakable Linux na semana passada. Ela será tecnicamente idêntica ao Red Hat Enterprise Linux (RHEL), com excessão da logotipagem e trademarks da Red Hat, incluindo — conforme anunciado — um suporte de preço inferior ao da Red Hat.

Unbrekble LinuxO mercado ainda não entendeu o que este passo significa, e muitos interpretaram (e celebraram) como um suporte mais amplo ao RHEL por parte da Oracle. Na verdade a Red Hat se pronunciou em seu Unfakeable Linux.

Por que copiar o Red Hat Enterprise Linux? Porque é uma distribuição muito popular e porque desde sempre foi desenhada para ser genérica, ou seja, é muito fácil tirar a logotipagem da Red Hat e colocar o seu próprio nome. O resultado é uma distribuição idêntica (bit a bit) ao Red Hat Enterprise Linux (com exceção dos logotipos), e que se comporta exatamente da mesma forma que o RHEL se comportaria ao interagir com diversos hardwares e softwares: a compatibilidade do hardware e software catalog da Red Hat é tecnicamente herdada, mas não leva o carimbo formal de certificação da Red Hat.

Essa idéia não é nova e outras iniciativas já faziam isso antes: WhiteBox, CentOS, Scientific Linux. Isso é possível graças a tecnologia Open Source chamada RPM que “documenta” numa linguagem de máquina todo o processo de compilação, integração e instalação dos softwares, a ponto de ser facilmente reproduzivel em qualquer ambiente. Já havia explicado este processo antes a partir deste slide, nesta apresentação.

Como o software é idêntico, os bugs também são herdados, e é ai que começa o problema. As iniciativas sem suporte (CentOS etc) declaravam em alto e bom som que não fornecem suporte, e por isso não tem nenhum vínculo de responsabilidade com seus usuários. Elas podem se dar ao luxo de esperar a Red Hat lançar uma atualização para só depois se atualizarem.

No caso de um contrato de suporte comercial da Oracle, ela terá um cliente impaciente do outro lado da linha que quer ter seu problema técnico resolvido. O luxo da espera não existe mais, e a Oracle terá que resolver os bugs por si só.

Na pior das hipóteses, ao longo do tempo é possível que o Unbreakable comece a divergir tecnicamente do RHEL, mesmo tendo a Oracle um desejo latente de sempre se sincronizar com o RHEL — conforme anunciado. E teremos uma terceira distribuição Enterprise forte. Foi assim que nasceram algumas distribuições, como Conectiva e Mandrake, que no começo eram basicamente uma cópia traduzida do Red Hat (não enterprise) Linux. Mas hoje o ecossistema de Linux é bem diferente do da época em que essas distribuições surgiram.

Arrisco também um palpite favorecendo uma hipótese bem melhor, onde o Unbreakable e o RHEL continuarão idênticos e sincronizados, cooperando entre sí como verdadeiros projetos Open Source. E ao longo do tempo o RHEL realizará a façanha inédita de consolidar um sabor universal de Linux corporativo. Coisa que o Linux Standard Base está longe de conseguir.

Só o tempo dirá, e é essa constante incerteza a maior inimiga de uma adoção em massa de Linux no mundo corporativo.

Cabe aqui uma salva de palmas para a Oracle que teve a coragem de inovar comercialmente sobre algo que já era tecnicamente e legalmente possível.

Mágica dos Decimais

Multiplique 37 por múltiplos de 3:
3 x 37 = 111
6 x 37 = 222
9 x 37 = 333
12 x 37 = 444
15 x 37 = 555
18 x 37 = 666
21 x 37 = 777
24 x 37 = 888
27 x 37 = 999

Trapézio:
1 x 9 + 2 = 11
12 x 9 + 3 = 111
123 x 9 + 4 = 1111
1234 x 9 + 5 = 11111
12345 x 9 + 6 = 111111
123456 x 9 + 7 = 1111111
1234567 x 9 + 8 = 11111111
12345678 x 9 + 9 = 111111111

Outro Trapézio:
1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321

E mais outro:
0 x 9 + 8 = 8
9 x 9 + 7 = 88
98 x 9 + 6 = 888
987 x 9 + 5 = 8888
9876 x 9 + 4 = 88888
98765 x 9 + 3 = 888888
987654 x 9 + 2 = 8888888
9876543 x 9 + 1 = 88888888
98765432 x 9 + 0 = 888888888
987654321 x 9 - 1 = 8888888888
9876543210 x 9 - 2 = 88888888888

Conta bonita:
111.111.111 x 111.111.111 = 12.345.678.987.654.321

Migro meu Blog para o WordPress ?

Hoje sou um relativamente feliz usuário do Blogger, do Google. Mas me faltam coisas como categorizar posts, mais controle sobre os posts e comentários, etc.

Muita gente usa o WordPress, e queria saber: migro p/ o WordPress ou não ?

Vocês usam o WordPress no WordPress.com mesmo (com configurações limitadas), ou baixaram o software de WordPress.org e insatlaram no site de vcs ?

Não vi forma alguma de usar o serviço do WordPress.com e ter o blog no meu domínio. É isso mesmo ?

Tentei fazer testes de importação dos posts e comentários do Blogger, e não consegui: deu pau com mensagens estranhas. Confere ?

Onde há um diretório de templates PHP supimpas para escolher ?

Obrigado pelas dicas !

Desenvolvedores versus Programadores

Achei ótimo este ensaio comparando programadores e desenvolvedores. Está dividido nas seguintes partes:

  • Desenvolvedores são de Marte, Programadores são de Venus
  • Desenvolvedores tem algum conhecimento do escopo e do negócio
  • Desenvolvedores se preocupam com manutenções de mais
  • Desenvolvedores sabem que métodos de trabalho são mais importantes que cortadas técnicas
  • Programadores acham que a solução para todos os problemas é programar
  • Desenvolvedores procuram repetição, programadores gostam de heroísmos singulares
  • Programadores gostam de complexidade, desenvolvedores favorecem simplicidade
  • Desenvolvedores se preocupam com os usuários
  • Desenvolvedores gostam de satisfazer uma necessidade, programadores gostam de terminar
  • Desenvolvedores trabalham, programadores brincam

Quando eu faço pelestras, insisto em enaltecer a importância dos desenvolve/programadores, e como o autor, vou trocando de termo para não soar repetitivo. Vou prestar mais atenção de agora em diante.

Você, leitor, é um programador ou um desenvolvedor ?

Diga-se de passagem, vou começar a acompanhar esse blog Hacknot. Quase anônimo, ele tem uma aura de mistério atraente, e é muito bem escrito.

Aspirina para a Febre Ubuntu

Nunca usei o Ubuntu, mas todo mundo diz que ele é facinho facinho de usar.

Legal. Fico feliz por ele.

Mas encontrei com um cara recentemente, bem famoso na comunidade Linux, que tem uma visão bem madura das coisas e bem antenado na história do Debian e Ubuntu. Contou que a empresa Ubuntu é do fundador da Thawte — que foi vendida a preço de ouro para a Verisign. Ai ele pegou esse monte de dinheiro e foi se divertir montando a Canonical (empresa que desenvolve o Ubuntu).

Ele apontou enormes pontos de interrogação na estratégia do Ubuntu. Tipo, como eles mandam CDs de graça pra todo mundo ao redor do mundo? Como eles dão suporte de graça bastando ligar para eles? Afinal, como eles ganham dinheiro? Etc.

Resumo da ópera, o modelo de negócio do Ubuntu como empresa é muito duvidoso, se é que tem lá um modelo de negócios.

Então para se divertir, em casa, etc, usar o Ubuntu é legal, e eu incentivo muito. Mas para usa-lo numa empresa, de uma forma responsável, de jeito nenhum por enquanto.

Eu ainda sou da linha que técnicos devem usar em casa, para aprender, uma das 2 grandes distribuições: Red Hat ou SUSE. Não quer comprar a subscrição? Não precisa. Use gratuitamente o Fedora ou CentOS para usar o sabor Red Hat, ou OpenSUSE para saborear SUSE.

PVFS, GFS e IBM GPFS

Descobri hoje o PVFS (parallel virtual filesystem). Parece ser a única coisa arquitetonicamente semelhante ao GPFS da IBM.

A característica que acho a mais atraente nesses filesystems é que pode-se monta-los com um cluster de computadores simples, desta forma:

  • Cada um deles doa parte de seu storage interno para a célula do filesystem, por exemplo, uma partição
  • Os servidores (que podem ser clientes também) são membros da célula
  • Um servidor (ou serviço) de metadata define políticas para distribuir os arquivos fisicamente pelos computadores
  • Um nó que precisa acessar com mais freqüência um certo arquivo, terá ele (ou um cache dele) em seu storage local

Isso garante paralelismo, porque todos os membros acessam um único filesystem lógico que na verdade é uma núvem espalhada por todos os nós. E garante performance, porque coloca o dado (ou arquivo, ou parte dele, ou um cache) mais perto de quem mais precisa dele no momento.

Em contrapartida, o GFS da Red Hat é centrado no storage físico (geralmente externo), ou seja, não implementa esse conceito de nuvem espalhada pelos membros do cluster. Ele está mais preocupado em administrar o acesso físico simultâneo ao storage.

Dando uma rápida olhada, o PVFS me pareceu precisar ainda de uma polida. Seus comandos são feios, e configuração não muito intuitiva e não bem integrada ao sistema operacional, mas é Open Source. O GPFS por outro lado é um produto maduro, já usado nos maiores clusters computacionais do mundo mas é pago.

Acompanho esse mundo de filesystems desde a época do AFS (bela arquitetura mas muito complexo), passando pelo DFS (mais complexo ainda), Coda (vapourware), Inter-mezzo (vapourware), até os de hoje. Eles tem potenciais muito interessantes em aplicações de grandes escritórios distribuidos e de clusters de alta performance. Aqui na IBM, internamente temos algumas células AFS, mas gradativamente estamos migrando para uma nova arquitetura batizada de GSA (Global Storage Architecture), baseada em GPFS, mas acessível por Samba, NFS, etc.

Acabou Tudo

Fábio Gandour toca o time de Novas Tecnologias na IBM Brasil e publicou um artigo interessantíssimo na Intranet, que reproduzo aqui, para depois comentar. Não se engane com a linguagem que ele usou. O público alvo do artigo é uma população enorme de gente de todos os tipos e idades, e por isso forçou uma linguagem simples.

Acabou tudo. Ou então… estamos começando de novo

Por Fábio Gandour

Há 260 semanas, em todas elas, estamos aqui falando de ciência, tecnologia, pesquisa, idéias, inovação, vanguarda e coisas de igual sabor. Uma delícia! No entanto, sabendo vocês ou não, a acomodação não ajuda a evolução cultural do homem. Por mais delicioso que seja, contentar-se com o mesmo banquete, ainda que com pratos variados, não promove o avanço do saber universal. Nem em extensão e nem em profundidade. E é esta desacomodação, este desarranjo, este distúrbio, subversão até, que a gente quer criar hoje. E criar bem aí, na cabeça de vocês.

Pra começar, imagine uma situação em que tudo o que se disse e se fez a respeito de ciência, de repente estivesse inválido. Mas… não inválido porque estivesse errado e sim porque simplesmente perdeu o valor. Assim… num instante, percebemos que acabou tudo! Sim, tudo que foi feito na ciência continua aí, mas perdeu o valor, a utilidade. O conhecimento, de repente não é mais capaz de resolver os problemas. Meio maluco, né não?!? Pois é, apesar de meio [ou muito, concordo :-)] maluco, talvez a gente esteja mais perto desta conclusão do que você [e eu também, confesso :-)] podemos imaginar. E a razão desta súbita perda de utilidade de tudo que se sabe não vai ser por conta da perda de valor intrínseco do conhecimento. O que pode acontecer é que a complexidade do mundo tende a aumentar tanto que o pensamento científico atual não tenha mais instrumentos teóricos e práticos para resolver os problemas. Viu como isto pode estar mais perto do que vocês imaginam!?!

Bem… peraí, não vai sair correndo desesperado que você pode assustar os vizinhos :-). O mundo não vai acabar por causa disso!!! Até porque tem gente que já percebeu a existência desta possibilidade e vem tentando evitar que o pior aconteça. O principal destes caras chama-se Stephen Wolfram [biografia, publicações, cores prediletas e número do sapato, tá tudo aqui – querendo mais, o site do cara é bem este].

O cara é fera. Publicou o primeiro trabalho científico aos 15 anos e concluiu o PhD aos 20 [sentiu?]. Durante 10 anos, dedicou-se a escrever um livro. Só um. O livro se chama “A New Kind of Science”. Não tem em Português. E também acho que não vai ter porque… o livro é imenso [tem mais de 1200 páginas] e duro de ser lido [depois de 2 meses, estou na página 115, onde começa o capítulo “Sistemas Baseados em Números”]. E como sabemos que é pouco provável que alguém vá ler o livro do Wolfram, contamos o fim do filme: no fim, o livro indica que estamos muito perto do problema falado aí em cima.

Dito de maneira assim bem simplezinha, o cara afirma que a ciência universal, baseada na álgebra árabe e na lógica que nasceu na filosofia e foi importada pela matemática, não vai dar conta do recado. E se isto não vai funcionar, todo o resto, da física à literatura, vai servir pra muito pouco. Grave, não?!? Tem mais: o Wolfram só aponta a existência do problema, mas não dá uma solução completa. Portanto, acabou tudo. Ou então, é hora de começar de novo. Começar lá no fundo, lá atrás. Criar uma nova abstração, uma nova noção de quantidade e de medida, um outro sentido para a percepção das coisas.

É, eu sei, tá meio confuso, mas… eu falei que ia gerar desacomodação, desarranjo, distúrbio, E claro que este assunto não termina aqui. O artigo sim, termina. Mas o assunto vai longe, muito longe… É bem provável que você nem veja o desdobramento disso tudo, mas seu neto [ou filho, vá lá :-)] vai ver. E poderá até dizer que o vovô tinha razão. Paro aqui. Qualquer hora eu volto nisso.

P.S.: Conheci o Stephen Wolfram. Foi demais!

Achei interessante o problema que Wolfram está estudando.

Sou um espiritualista e acredito que a mente humana tem limitações de alcance. Não é tudo que se pode explicar com matemática, ou as leis da física, ou da ciência. Seria muito prático se fosse assim, mas talvez o mundo seria um pouco sem sabor. E olha que eu me considero um cientista.

A ciência está chegando nos limites do macro e do micro, e os cientistas quebram o escopo das leis do mundo em duas partes: as do mundo atômico e as do grande universo. A busca por uma única lei que explica tudo, elegante e universal, como desejava Einstein, está mais longe de terminar do que nunca.

Apesar disso, acho que a ciência pode e vai um dia abranger tudo, mas até lá o conceito de ciência terá que mudar, e terá que ser menos mental e mais intuitiva (algo que está além da mente). É vasto o número de relatos de ioguis que vão para um “além-mundo” em suas meditações, e quando voltam sempre contam as mesmas coisas sobre suas experiências:

  1. Tem-se a nítida sensação de que o mundo físico que julgamos ser real, é completamente irreal.
  2. É um “lugar” de incomensurável paz e de infinita inteligência, onde tem-se uma conciência universal maior e infinita (sempre usam as palavras paz e inteligência).
  3. A mente é incapaz de entender esse “lugar”.

E é engraçado que eles tem essas percepções justamente quando dizem estar com a “mente vazia ou anulada”.

A resposta para tudo está dentro de nós.

Software como indicador de desenvolvimento socioeconômico

Jorge Sukarie Neto, presidente da ABES, nos enviou um estudo encomendado ao IDC, sobre o mercado brasileiro de software.

Cruzei alguns dados do estudo com a população dos respectivos paises, e deu isso:

Brasil
Australia
Canada
Italia
França
População
186.405.000
20.155.000
32.268.000
58.093.000
60.496.000
Volume de SW (US$ bi)
7,23
16,2
17,9
16,9
36,8
Volume per capita (mi)
38,78
803,77
554,73
290,91 608,3

Ou seja, mesmo com uma população quase dez vezes maior que a desses países (que não são tão expressívos assim), o Brasil consome e produz software dezenas de vezes menos que eles.

Parece-me que software é um tipo de indicador de desenvolvimento social.

Das duas uma: ou o Brasil está realmente bem atrás, ou pirateia-se muito por aqui. Ou das duas, as duas são afirmações corretas.

ODF e OpenXML: ecossistema, sorte e poder

A sorte está lançada entre ODF e OpenXML.

O que vale mais?

Um padrão universal e em franco crescimento de aceitação, mas ainda pouco usado, resultado do melhor capital intelectual aberto que a Internet é capaz de fabricar, ou um formato fechado de documentos, com política de royalties, e amarrado ao produto mais usado desse segmento?

Por outro lado, se meus CDs tocam em qualquer CD player, porque MEUS documentos vão funcionar somente em UMA suite de escritório? CD (e sua independêndia do CD player) está para música, assim como ODF (e sua independência de suite de escritório) está para documentos.

Quando tivermos o resultado dessa interessantíssima briga, os mais emotivos dirão que foi sorte de um e azar do outro. Mas não tem nada a ver com isso, e sim com poder de construir ecossistemas de cada um desses polos.

Ecossistema é tudo.

Mas paixão e vontade de realizar vem em segundo lugar. E essas forças movem montanhas. E ecossistemas.

Baixando Música da Internet

É muito controverso se é ilegal ou não baixar música da Internet. A lei e licença de uso do fonograma (faixa de um CD) ou não é clara ou ninguém nunca explicou isso direito.

Permalink desta parte Entenda o Contexto Primeiro

Outro dia conversei com um músico profissional que fazia faculdade de produção musical, e ficaram claros alguns aspectos:

  1. As grandes gravadoras prestam um serviço para a sociedade desta forma: encontrando talentos, patrocinando a produção e gravação do fonograma, produzindo um encarte bonito, divulgando o produto na TV, rádio, revistas, outdoors e novelas, e depois operando a logística de distribuição física do CD, além de em paralelo investir na própria evolução da tecnologia do CD, tudo isso para você poder ouvir música de alta qualidade técnica, e fácil de encontrar na loja perto da sua casa. Então nada mais justo que as gravadoras serem remuneradas por todo esse trabalho.
  2. Por isso, em geral a gravadora é dona do fonograma, e não o músico ou compositor. Isso significa que é ela quem decide quando, quanto e como vai publicar as canções (publicar significa prensar CDs e por nas lojas). O músico não pode pegar o fonograma, gravar um CD e sair vendendo, a não ser que ele compre os direitos sobre o fonograma, que são em geral muito caros.
  3. As gravadoras não estão defendendo os direitos dos artistas, mas seus próprios interesses. De fato, muitos artistas não gostam que as gravadoras digam que estão defendendo os direitos deles.
  4. Nesse processo todo, os músicos ganham os direitos autorais (que segundo alguns músicos que conheço, é pouco), que recebem de uma instituição independente, que por sua vez vem da gravadora e de outras fontes. Essa regra não vale para estrelas que tem poder (e agentes) para negociar contratos melhores com uma gravadora.
  5. O músico quer que sua arte seja conhecida e ouvida o máximo possivel.
  6. Músicos profissionais ganham mais dinheiro em shows e performances ao vivo, e menos em venda de CDs das gravadoras, que levam a sua obra.
  7. Pessoas só vão prestigiar os músicos num show (e pagar ingresso) se sua obra for boa e conhecida.
  8. Muitos bons artistas não tem penetração no mercado, dinheiro ou disposição para gravar um CD independente. Esses são os chamados “alternativos”.
  9. Excelentes músicos e lindos fonogramas podem ser pouco conhecidos ao ponto de ser comercialmente inviável dar-lhes espaço numa concorrida prateleira de loja de discos. Por isso é dificil encontrar gravações antigas ou as chamadas “alternativas” nas lojas: ou as pessoas já mudaram de gosto, ou há pouquíssimos compradores. A situação é pior para as gravações que são ao mesmo tempo antigas e alternativas.
  10. Eu estimo o custo de 1 CD — incluindo o plástico, encarte, trabalho artístico, pagamento do direito autoral, veiculação etc — em menos de R$5.
  11. Ouvi dizer que a lei proibe a redistribuição de fonogramas em meio físico (gravar um CD ou fita e sair vendendo ou comprando).
  12. A Internet não é considerada um meio físico. Por isso, nesse raciocínio, não é proibido usar a Internet como meio de distribuição de música, pelo menos para fonogramas produzidos/gravados/publicados antes da era Internet, o que inclui tudo antes de mais ou menos 1997. Depois disso, fonogramas começaram a ser produzidos com uma licença (os termos legais que definem o que é permitido ou não fazer com o fonograma) revisada que incluia a Internet — junto com CDs piratas, fitas caseiras, etc — como um meio ilícito de distribuir música direta e livremente.

Seja como for, baixar música da Internet leva tempo, vem sem o encarte — que conté muita arte gráfica e informações valiosas e é controverso se é ilegal ou não. Por outro lado, já foram vistos artistas e suas discografias completas disponíveis ao ponto de parecer irracional não baixar.

Você decide se vai seguir o que a mídia diz defendendo seus interesses — e não a dos artistas —, ou se vai prestigiar um músico e sentir tudo o que seu potencial criativo pode fazer com suas emoções.

Permalink desta parte Como Baixar: Método Fácil

Há diversos blogs em que amantes da música publicam albuns completos para serem facilmente baixados através de serviços como RapidShare, 4Shared, Badongo, etc. São geralmente albuns antigos, raros, que não se acha em lojas. Coisa de colecionador.

Os albuns vem geralmente comprimidos no formato RAR, que é um tipo de ZIP, e é necessário o software da Rar Labs para descompacta-los.

Segue uma lista de alguns blogs:

Na barra lateral desses blogs há sempre uma lista de links para outros blogs similares, então este método é de difícil procura, mas de fácil download. O método de BitTorrent abaixo é de procura mais fácil, mas de download mais complexo.

Permalink desta parte Como Baixar: Método Mais Eficiente, com BitTorrent

Abri espaço neste blog para um conhecido relatar como se faz. Este método usa a tecnologia Bit Torrent e estes são passos para usa-la com sucesso:

  1. Baixe e instale algum cliente Bit Torrent como o BitComet (só para Windows) ou o Azureus (Mac, Linux, Java, Windows). Estes softwares são seguros, não instalam spyware nem virus, e seu uso é totalmente legal.
  2. Use o site www.isohunt.com para procurar músicas por nome, artista, etc. Ele pode ser usado também para procurar outros tipos de arquivos. Você pode também procurar na Internet por outros sites the provem “torrents”.
  3. Procure por, por exemplo, “Mozart” ou “Bach“, etc (clique nesses links para ver um resultado de busca do exemplo).
  4. Você vai encontrar coleções completas de artistas, etc e arquivos muito muito grandes, que as vezes demoram dias para baixar. Os primeiros resultados que ele mostrar são os downloads mais ativos, e por isso mais rápidos para baixar.
  5. Selecione o ítem que você quiser, ele vai se expandir, e então clique no link chamado “Download Torrent” para começar a baixar.
  6. Isso vai disparar o programa de Bit Torrent (BitComet ou Azureus acima), que vai te perguntar onde você quer gravar o download. Escolha um diretório que você vai lembrar depois.
  7. Antes de dar OK, você pode ver a lista (enorme, se for coleção completa) de arquivos que serão trazidos, e pode selecionar para baixar só os arquivos que te interessam, ou tudo.
  8. Monitore a atividade do download e garanta que você está baixando em boa velocidade. Se estiver constantemente muito lento (pode haver períodos de maior lentidão), é melhor cancelar e procurar outro download.
  9. Mesmo baixando muito rápido, um download grande pode demorar dias para se completar.
  10. Depois de terminar o download, se você usa Linux, use o Musicman para organizar seus MP3.

Seja responsável e boa sorte !

Developers for Increased Openness Ecosystem

I’m proud to say that Rogério Oliveira, IBM Brazil General Manager, said a phrase that I keep saying inside IBM for at least 4 years.

If we build relationships with our customer’s development teams, we’ll be able to detect opportunities at least 6 months earlier than when talking only to customer’s IT infrastructure teams

Rogerio Oliveira, IBM Brasil General Manager

Development teams role in the IT environment of some customer is to be the closest point to the line of business a technology provider like IBM can and should effectively reach.

The Best Linux Distribution

Check this presentation to business and technical people about Linux Distributions. There is an article outlining the same topics that can work as a transcript for this presentation.

The topics included are:

  • What makes a Linux distributions to be what it is
  • The ingredients for success and for market failure
  • Core technologies inside a distribution
  • Important points to consider when choosing “the best distribution”
  • What “support” is, its importance, and what customers should really look for when considering comercial support for a Linux distribution
  • High level comparation between Red Hat Enterprise Linux and SUSE Linux Enterprise Server in flavor, standards adherence and stability
  • Highlights on other non-comercial distributions as Fedora, OpenSUSE, Debian, Slackware etc, and the weak-ecosystem ones as Mandriva, Ubuntu, etc
  • Colorful details about how Linux distributions work with and package Open Source software
  • The new generation of “semi”-comercial distributions

Availability:

Check also an interview I gave in a Linux World event right after presenting this:

Segurança em Software de Código Aberto

  • — Quem acha que software de código fechado é mais seguro? – perguntou o palestrante.

Uns poucos gatos pingados levantaram a mão.

  • — E quem acha que software de código aberto é mais seguro?

Outros poucos ouvintes acreditavam que essa última era a afirmação verdadeira.

Mas a esmagadora maioria ficou passiva, sem saber o que responder.

Senhoras e senhores, estamos diante de um dos maiores dilemas da TI pós-Internet. É assunto para horas de discussão na mesa do bar, que tem grande chance de dar em nada, se for tratado de forma religiosa. Mas vamos tentar ser frios, relembrar algumas histórias e não nos perder em crenças infundadas.

 

Tudo gira em torno de segurança por ser (código) público versus segurança por ser fechado. A comunidade de programadores de código aberto tem a cultura do mérito e respeito, então é natural que seus membros tomem mais cuidado ao programar. Além disso, é comum o trabalho de um ser revisado e auditado pelo outro. Outra vantagem é a velocidade com que correções são escritas. Foi o caso de um problema descoberto na implementação TCP/IP de qualquer sistemas operacional, em 1996. A correção para Linux foi publicada em 20 minutos, enquanto que para outros sistemas demorou 2 dias úteis. Há dezenas de casos semelhantes.

Mas aqui vale um ponto de atenção: o sistema operacional Linux é um caso muito especial de software de código aberto, simplesmente porque ele é muito usado e tem um ecossistema enorme de programadores e empresas interessadas em sua estabilidade e progresso. Em outras palavras, ele tem uma infinidade de observadores, e isso não é verdade para qualquer software livre. Ou seja, só quando um software aberto usufrui de muitos usuários e desenvolvedores é que terá pessoas cavando e corrigindo problemas rapidamente em seus fontes.

O modelo de código fonte aberto de desenvolvimento de software não é uma garantia de segurança. Contudo, softwares livres populares como o Linux, Apache, Samba e muitos outros tem tido seus códigos examinados por vários especialistas de segurança.

Por outro lado, software de código fechado tem a garantia de que ninguém pode vasculhar falhas em suas entranhas. Ironicamente também garante que se o fabricante decidir implanatar um backdoor, ninguém poderá encontra-lo. E foi exatamente o que aconteceu quando a Borland liberou o código do Interbase: eles esqueceram de remover um trecho do código que abria um backdoor de administração. Foi descoberto e removido assim que outros começaram a olhar seu código fonte, e motivo de vergonha para a Borland.

Outro aspecto é que certas coisas são muito difíceis de desenvolver corretamente quando somente poucas pessoas tem acesso ao código fonte. É o caso de boa criptografia e de protocolos de comunicação seguros. Só uma densa auditoria multicultural e independente pode analisar a fundo cada detalhe do código.

No âmbito de ferramentas de segurança, o mundo livre dispõe de uma lista sem fim de coisas como OpenSSL, OpenSSH, PAM, PKI, OpenLDAP, Tripwire, Kerberos, SELinux, etc, todos possuidores de um forte ecossistema de usuários e desenvolvedores.

 

O pensamento saudável para essa questão é que software aberto e fechado tem vantagens e desvantagens que muitas vezes se completam. Nenhum modelo é garantia de segurança, mas ter o código aberto dá pelo menos a chance de um certo software poder ser auditado. Além de que uma falha detectada pode ser corrigida por qualquer pessoa a qualquer hora, e não ser tratada como “característica do software” que o fabricante não acha que deve corrigir.

A fórmula do sucesso, para balancear custos e benefícios, tende a usar software livre nos elementos mais infraestruturais do data center, enquanto que software fechado vai melhor nas camadas relacionadas a lógica de negócio, sempre abusando do uso de padrões abertos para garantir a interoperabilidade. Um exemplo prático desse bom balanceamento é rodar seu ERP corporativo (de código fonte fechado) sobre um sistema operacional de código fonte aberto, mas que tenha suporte comercial no mercado, como Linux.

Tudo que você precisa saber sobre Criptografia

…e tinha medo de perguntar

A palavra “criptografia” vem do grego e significa “escrita escondida”. Bem, ainda não temos a tecnologia dos filmes de fantasia onde um pergaminho aparentemente em branco revela um mapa do tesouro quando exposto ao luar, mas a criptografia simula isso transformando a informação em algo ilegível ou aparentemente sem valor. Muito fácil: se eu rabiscar bem um cheque de R$100.000,00 ele também perde seu valor por ficar ilegível.

O difícil é o inverso: tornar legível o ilegível, e é aí que está a magia da criptografia.

O primeiro lugar onde alguém antenado pensaria em usar criptografia é na guerra, para comunicar estratégia de movimentação a tropas distantes, espionagem, etc. Se o inimigo intercepta essa comunicação, principalmente sem o primeiro saber, ganha a guerra. Por isso quem primeiro estudou técnicas de criptografia foram os militares, governos e instituições de pesquisas secretas. Focavam em duas coisas: como criptografar melhor e como descriptografar as mensagens do inimigo (criptoanálise).

Na nossa Era da Informação e Internet, criptografia tem um papel central porque viabiliza comunicação segura. Mais até: não teríamos uma Era da Informação se criptografia não fosse de uso dominado por qualquer cidadão, simplesmente porque o mundo comercial não entraria nessa onda de trocar informação (e fazer negócios) por redes abertas se não houvesse um meio de garantir confidencialidade.

Trata-se de um tema muito vasto, fascinante, com muitos desdobramentos tecnológicos. Então vamos somente nos focar em entender aqui o vocabulário desse mundo.

Criptografia de Chave-Simétrica

Criptografia digital já era usada secretamente desde 1949 por militares e governos. Em meados da década de 1970 a IBM inventou o padrão DES (Data Encription Standard) de criptografia, que passou a ser largamente utilizado até os dias de hoje. A partir daí tudo mudou.

Como exemplo de seu funcionamento, se a Paula quer enviar uma mensagem secreta para Tatiana, ela deve fazer isso:

Mensagem + ChaveSimétrica = MensagemCriptografada

Então MensagemCriptografada é enviada para Tatiana por uma rede aberta, que para lê-la terá que fazer o seguinte:

MensagemCriptografada + ChaveSimétrica = Mensagem

Uma analogia a essas equações seria como se ambas trocassem caixas que abrem e fecham com uma chave (a chave simétrica), que contém cartas secretas. Para a Tatiana abrir a caixa da Paula, terá que usar uma cópia da chave que a última usou para fecha-la.

O que representamos pela soma (+) é na verdade o algoritmo de cifragem (ou o mecanismo da fechadura) que criptografa e descriptografa a mensagem. Hoje em dia, esses algoritmos tem geralmente seu código fonte aberto, e isso ajudou-os a se tornarem mais seguros ainda, pois foram limpos e revisados ao longo dos anos por muitas pessoas ao redor do mundo.

A Chave Simétrica é uma seqüencia de bits e é ela que define o nível de segurança da comunicação. Ela deve ser sempre secreta. Chama-se simétrica porque todos os interessados em se comunicar devem ter uma cópia da mesma chave.

O DES com chave de 56 bits pode ser quebrado (MensagemCriptografada pode ser lida sem se conhecer a chave), e outros cifradores de chave simétrica (symmetric-key, ou private-key) mais modernos surgiram, como 3DES, AES, IDEA, etc.

O maior problema da criptografia de chave simétrica é como o remetente envia a chave secreta ao destinatário através de uma rede aberta (e teoricamente insegura). Se um intruso descobri-la, poderá ler todas as mensagens trocadas. Mais ainda, comprometerá a comunicação entre todo o conjunto de pessoas que confiavam nessa chave.

Criptografia de Chave Pública

Esses problemas foram eliminados em 1976 quando Whitfield Diffie e Martin Hellman trouxeram a tona os conceitos da criptografia de chave pública também conhecida por criptografia por par de chaves ou de chave assimétrica. Trata-se de uma revolução no campo das comunicações, tão radical quanto é o motor a combustão para o campo de transportes. Eles descobriram fórmulas matemáticas que permitem que cada usuário tenha um par de chaves de criptografia matematicamente relacionadas, uma privada e outra pública, sendo a última, como o próprio nome diz, publicamente disponível para qualquer pessoa. Essas fórmulas tem a impressionante característica de o que for criptografado com uma chave, só pode ser descriptografado com seu par. Então, no nosso exemplo, Paula agora enviaria uma mensagem para Tatiana da seguinte maneira:

Mensagem + ChavePública(Tatiana) = MensagemCriptografada

E Tatiana leria a mensagem assim:

MensagemCriptografada + ChavePrivada(Tatiana) = Mensagem

E Tatiana responderia para Paula da mesma forma:

Resposta + ChavePública(Paula) = RespostaCriptografada

Ou seja, uma mensagem criptografada com a chave pública de uma, só pode ser descriptografada com a chave privada da mesma, então a primeira pode ser livremente disponibilizada na Internet. E se a chave privada da Paula for roubada, somente as mensagens para a Paula estariam comprometidas.

O cifrador de chave pública tido como mais confiável é o RSA (iniciais de Rivest, Shamir e Adleman, seus criadores).

Criptografia assimétrica permitiu ainda outras inovações revolucionárias: se Tatiana quer publicar um documento e garantir sua autenticidade, pode fazer:

Documento + ChavePrivada(Tatiana) = DocumentoCriptografado

Se um leitor conseguir descriptografar este documento com a chave pública da Tatiana significa que ele foi criptografado com a chave privada da Tatiana, que somente ela tem a posse, o que significa que somente a Tatiana poderia te-lo publicado. Nasce assim a assinatura digital.

Infraestrutura para Chaves Públicas

O PGP (Pretty Good Privacy) foi o primeiro sistema de segurança que ofereceu criptografia de chave pública e assinatura digital de qualidade para as massas. Ficou tão popular que virou o padrão OpenPGP e posteriormente recebeu várias implementações livres. É largamente usado até hoje, principalmente em troca de e-mails. Sua popularização exigiu que houvesse uma forma para as pessoas encontrarem as chaves públicas de outras pessoas, que muitas vezes nem eram conhecidas pelas primeiras. No começo dos tempos do PGP, haviam sites onde as pessoas publicavam suas chaves públicas para as outras encontrarem. Talvez esta foi a forma mais rudimentar de PKI ou Public Key Infrastructure. PKI é um conjunto de ferramentas que uma comunidade usa justamente para a classificação, busca e integridade de suas chaves públicas. É um conjunto de idéias e não um padrão nem um produto. Conceitos de PKI estão hoje totalmente integrados em produtos de colaboração como o Lotus Notes da IBM, e seu uso é transparente ao usuário.

Certificados Digitais

Como Tatiana pode ter certeza que a chave pública de Paula que ela tem em mãos, e que está prestes a usar para enviar uma mensagem segura, é realmente de Paula? Outra pessoa, agindo de má fé, pode ter criado uma chave aleatória e publicado-a como sendo da Paula. Podemos colocar isso de outra forma: como posso ter certeza que estou acessando realmente o site de meu banco e não um site impostor que quer roubar minha senha, e meu dinheiro? Não gostaria de confiar em meus olhos só porque o site realmente se parece com o de meu banco. Haveria alguma forma mais confiável para garantir isso ?

Em 1996, a Netscape, fabricante do famoso browser, atacou este problema juntando o que havia de melhor em criptografia de chave pública, PKI (através do padrão X.509), mais parcerias com entidades confiáveis, e inventou o protocolo SSL (Secure Socket Layer ou TLS, seu sucessor), e foi graças a este passo que a Internet tomou um rumo de plataforma comercialmente viável para negócios, e mudou o mundo.

Para eu mandar minha senha com segurança ao site do banco, e poder movimentar minha conta, o site precisa primeiro me enviar sua chave pública, que vem assinada digitalmente por uma outra instituição de grande credibilidade. Em linhas gerais, os fabricantes de browsers (Mozilla, Microsoft, etc) instalam em seus produtos, na fábrica, os certificados digitais dessas entidades, que são usadas para verificar a autenticidade da chave pública e identidade do site do banco. Este, por sua vez, teve que passar por um processo burocrático junto a essa entidade certificadora, provando ser quem diz ser, para obter o certificado.

O SSL descomplicou essa malha de credibilidade, reduzindo o número de instituições em quem podemos confiar, distribuindo essa confiança por todos os sites que adquirirem um certificado SSL.

Na prática, funciona assim:

  1. Acesso pela primeira vez o site de uma empresa que parece ser idônea.
  2. Ele pede o número de meu cartão de crédito.
  3. Se meu browser não reclamou da segurança desse site, posso confiar nele porque…
  4. …o site usa um certificado emitido por uma entidade que eu confio.

Pode-se verificar os certificados que o fabricante do browser instalou, acessando suas configurações de segurança. Você vai encontrar lá entidades como VeriSign, Thawte, Equifax, GeoTrust, Visa, entre outros.

Segurança Real da Criptografia

Quanto maior for a chave de criptografia (número de bits) mais difícil é atacar um sistema criptográfico. Outros fatores influenciam na segurança, como a cultura em torno de manter bem guardadas as chaves privadas, qualidade dos algoritmos do cifrador, etc. Este último aspecto é muito importante, e tem se estabilizado num bom nível alto, porque esses algoritmos tem sido produzidos num modelo de software livre, o que permite várias boas mentes audita-los e corrigir falhas ou métodos matemáticos ruins.

A segurança real de qualquer esquema de criptografia não foi comprovada. Significa que, teoricamente, qualquer um que tiver muito recurso computacional disponível pode usa-lo para quebrar uma mensagem criptografada. Teoricamente. Porque estaríamos falando de centenas de computadores interconectados trabalhando para esse fim. Na prática, hoje isso é intangível, e basta usar bons produtos de criptografia (de preferência os baseados em software livre), com boas práticas de administração, e teremos criptografia realmente segura a nossa disposição.

Apresentação IBM Linux

Aqui você vai encontrar minha apresentação sobre Linux e padrões abertos da IBM.

O conteúdo engloba:

  • Como medir maturidade de Software Livre
  • Diferença entre Linux e Software Livre
  • Padrões Abertos
  • De que forma Linux e Padrões Abertos ajudam empresas a reduzir custos
  • O caminho certo para começar a usar Linux numa empresa
  • Posicionando Linux e outros padrões para soluções de desktop
  • Arquiteturas de desktop, como PC Multiusuário, Workplace, etc
  • Arquiteturas não-convencionais com Linux: clusters, para-virtualização com Xen, SELinux, etc
  • Linux na estratégia On Demand da IBM
  • Linux no mercado, números, TCO
  • Comprometimento da IBM com Linux

Há muito conteúdo nesta apresentação, então costumo usar somente partes de acordo com o público.

Esta apresentação usa fontes que não estão por default numa instalação Linux. Se você vai usa-la em Linux, baixe e instale o pacote de fontes webcore-fonts.

Quando apresento, costumo mostrar também algumas animações flash e filmes para quebrar o gelo. Clique com o botão direito e salve o link:

Por que Linux é Melhor que Windows ?

A resposta quase automática e superficial para esta pergunta seria: Ora, porque Linux é livre e aberto, desenvolvido pela comunidade !

Linux tem demonstrado desenvoltura excepcional em ambientes corporativos, trazendo reais benefícios financeiros diretos, e também indiretos através de melhoria da operação de TI das empresas.

Deixando de lado o altruísmo de ser aberto e a moda do software livre, vamos analisar por que isso acontece.

 

Primeiro é importante lembrar que existe diferença entre software livre e Linux. O primeiro é qualquer tipo de software que tenha seu fonte aberto, e que tenha uma licença de uso que respeite certos padrões. Linux é um pequeno conjunto de alguns desses softwares que atingiram uma maturidade tal que podem ser usados até em ambientes críticos, com a tranqüilidade exigida pelo mundo corporativo. Linux não é sinônimo de software livre, nem tão pouco representa todos os softwares livres do mundo.

Linux é desenvolvido com base em padrões abertos. A evolução desse padrões são regidos por organizações independentes, como o W3C, OASIS, JCP etc, que visam o bem comum. Nenhuma entidade com interesses comerciais detém poder sobre eles. Os Padrões Abertos são um patrimônio da humanidade, e por isso podem ser usados livremente por qualquer pessoa ou organização.

Na prática isso se reverte em um consenso automático de como produtos e softwares falam entre sí e interoperam. Mais ainda, dá ao usuário a escolha de trocar facilmente produtos por outros que respeitam os mesmos padrões. Não que o usuário faça isso todo dia, nem todo ano. Mas o simples fato de ter escolha lhe dá um enorme poder de negociação com seus fornecedores. E isso faz os fornecedores reduzirem seus custos e melhorar a qualidade de seus produtos.

Concentrar-se numa camada de padrões tecnológicos abertos, promove ainda uma flexibilidade que permite fazer novas combinações criativas. Exemplo consagrado disso é Linux rodando em zSeries (mainframe), que permite aplicações baseadas em padrões abertos serem consolidadas numa plataforma em que não há desperdícios como tempo ocioso, mais fácil de ser gerenciada, e em que o custo total é menor. Isso é válido também para outras plataformas, pois a flexibilidade do Linux o faz presente em todo tipo de hardware: desde um simples relógio de pulso, até o zSeries.

Há também estudos sobre ganhos indiretos do uso de Linux e Padrões Abertos, mostrando que as empresas que os adotaram, começaram a descobrir uma nova gama de possibilidades que não estavam na prancheta do projeto inicial.

 

Há ainda a teoria de que Linux exige serviços mais caros. A mão de obra para Linux é conhecida como mais avançada, com mentes mais aguçadas, e que com pouco é capaz de fazer mais. Enquanto não se experimenta na prática essa força de profissionais, não é possível entendê-la na teoria. Sem dúvida existem também profissionais que deixam a desejar, como em qualquer especialidade, mas em geral são mentes que tem uma compreensão técnica das coisas que vai além do mero cotidiano de clicar botões na tela. Tudo é uma questão de o quanto se paga pelo tanto que se recebe.

O esforço da comunidade, aliado a intransigência de provedores de tecnologias proprietárias, fez surgir opções de softwares livres que interagem com softwares proprietários. Caso do OpenOffice.org, suite de escritório avançada que lê e grava documentos também nos formatos proprietários das outras suites.

Seja como for, o mercado de TI é grande o suficiente para conter todas as coisas. E o verdadeiro valor que produtos e tecnologias tem para seus usuários deve ser medido mais pelo benefício que lhes traz de fato, do que por relatórios de mercado ou teorias financeiras, que servem meramente para nortear. Dentro deste cenário, não podemos dizer que Linux é melhor. Mas é evidente que o mercado tem aceitado-o como uma ótima alternativa.

Uma coisa é fato: se Linux entra numa empresa, não sai mais.

Pense Aberto, Seja Livre

Linux vem ganhando cada vez mais espaço no mercado corporativo, mas ainda há dúvidas sobre até onde os sistemas abertos podem ser usados.

Ainda é comum encontrar grupos que defendem a idéia de Open Source para utilização sem qualquer restrição e que lutam por esta proposta com toda a força, mas nem sempre com um bom embasamento. Há ainda os CIOs que entendem que, deixando de lado tudo o que o movimento representa, Linux é somente um sistema operacional.

Começa a ficar claro que quanto mais específica é a funcionalidade de um software, mais restrito é o número de pessoas e empresas que trabalham nele. É a antítese do Open Source. Pense por um lado numa aplicação que atende somente a algum setor industrial. E por outro, algo de uso genérico como um sistema operacional, que no sentido mais primitivo do conceito, gerencia recursos de hardware, participa da rede, é seguro e confiavel (como Linux). Por ser de uso absolutamente essencial, este último possui sólida infra-estrutura de suporte. Já o primeiro, por ser de nicho, terá suporte muito bem pago, e protegerá seu capital intelectual com mecanismos legais. Antes, sistema operacional era uma necessidade de nicho, hoje é um commodity. Linux é um commodity.

Correlação entre Closed e Open Source

A segunda maior preocupação das empresas no campo de TI — a primeira sempre é redução de custos — é automatizar ao máximo sua cadeia de processos, ou seja, reunir seus processos de negócio como as pessoas os entendem e transformá-los em um “programa de computador”. E quando uma empresa faz isso de uma forma centralizada ela andou 80% do caminho em direção aos Web Services. Então, como executar esta operação de forma universal, libertando a empresa das amarras de um monopólio, com suporte profissional condizente com o negócio, com liberdade para a escolha da plataforma? Compra-se um ERP? Desenvolve-o internamente? A resposta a estas questões é: Não importa, se você estiver usando Padrões Abertos, que é o ponto de equilíbrio entre o closed e o Open Source. O resto se torna uma planilha de custos que definirá qual é a configuração mais barata.

Os grandes pilares do e-business

Pela primeira vez na história da computação, temos um conjunto de ferramentas abertas e universais que podem nos atender para qualquer necessidade: Linux como plataforma, XML e WebServices para comunicação e integração de aplicações, HTML e HTTP para interação com usuários, e o mais importante, Java Enterprise (ou J2EE), para o âmbito das aplicações de negócios. Os quatro são padrões abertos, sem dono, mas com suporte total de toda a indústria (com excessão de uma só empresa). Os quatro são um patrimonio da humanidade.

Arquitetura de um servidor de aplicações J2EE

J2EE, é um framework universal que provê uma série de serviços para aplicações de negócio: acesso a bancos de dados, ambiente transacional, segurança, separação da camada de apresentação, persistência de sessão, mensageria, componentização, serviços de nome, páginas web ativas (JSP), processamento XML, e por aí vai, sem parar de crescer. Isso permite que um processo de negócio seja convertido em software usando padrões, com a garantia de que rodará em qualquer lugar onde houver um servidor de aplicações J2EE, que tem vários fornecedores, Open Source ou comerciais. A implementação da IBM, por exemplo, é o WebSphere Application Server.

A especificação J2EE é desenvolvida por uma comunidade aberta que tem como membros a IBM, Sun, Oracle, SAP, Apache Software Foundation, Laboratórios Dolby, num total de mais de 600 entidades, que contribuem abertamente com o que cada um tem de melhor. Ela evolui seguindo o Java Community Process, que define o que entra ou não na especificação.

Usando sempre tecnologias abertas, uma empresa tem o conforto de aproveitar do mercado o que for mais importante para ela, levando em consideração nível de suporte, disponibilidade de skills etc. Foi isso o que a Internet mudou. Não tem nada a ver com a forma como compramos eletrônicos ou roupas, pois continuaremos indo às lojas. A Internet abriu o mundo permitindo a livre conversa entre as pessoas. Nem Linux nem padrões abertos existiriam sem a Internet. Bem vindo ao mundo livre, aberto e de todos.