Biodiversidade, parte 2
Algum (bastante) tempo atrás, eu, entre muitos outros, alertei sobre o risco que corremos quando adotamos computadores iguais rodando todos os mesmos programas. Alertei, particularmente, para o risco de uma plataforma completamente alheia à idéia de segurança ser a plataforma majoritária em nossa quase monocultura.
Bom...
Primeiro de abril chegou, passou e nada aconteceu. Confickers por todo o planeta passaram a se atualizar de uma forma diferente e um pouco mais complicada. Mas nada aconteceu.
Agora começam a chegar relatos de que eles estão baixando um pacote com suas funcionalidades. Ainda não há muita informação sobre o que ele é e o que ele faz, mas PCs - milhões deles - espalhados pelo planeta estão recebendo suas ordens.
Daqui do alto de um sistema operacional seguro eu poderia me apegar à ilusão de que eu estou cruzando a Mach 3, cinquenta mil pés acima das tempestades a que os usuários de outras plataformas estão sujeitos. O único problema é que isso não é verdade.
Embora meu notebook seja virtualmente à prova de vírus, eu ainda enfrento o bombardeio de spam, as cerca de 10 tentativas (fúteis) de invasão por segundo de meu servidor pessoal e compartilho minha banda com dezenas ou centenas de botnets que saturam os encanamentos da internet. 83% dos e-mails que batem em meu servidor são spam e apenas uma pequena fração deles vêm de data-centers de verdade.
Máquinas mal-administradas são um problema não só para seus donos, que têm suas contas roubadas, sua banda e seus computadores saturados porque estão fazendo coisas que não deveriam estar fazendo, mas de todos nós que sabemos como se faz para não ter nossos computadores invadidos. Não fomos nós que criamos o problema, mas teremos, ainda assim, que aturá-lo.
Máquinas inseguras são a causa de mais de 80% da "poluição ambiental" da internet.
Depois ainda me perguntam por que eu acho que deixar a própria máquina fazer parte de um botnet deveria ser crime...
Linux e desktops: casamento em crise?
Depois dessa, eu, com certeza, posso dar adeus à possibilidade de escrever para o IDG Now. É que dessa vez não deu pra aguentar a "sempistice" de um artigo que eu li. No artigo, "Linux no desktop: entenda por que esse casamento não vingou", se diz algumas verdades, algumas meias-verdades, um número razoável de mentiras que levam, por fim, a uma conclusão parcialmente incorreta. Eu nem mesmo fui o único a discordar do artigo.
É verdade que Linux no desktop não vingou.
O que também não quer dizer que ele nunca vá se tornar um ambiente importante para usuários de desktops.
Mas vamos ao artigo, suas premissas e suas conclusões.
Sistema de código aberto é usado em menos de 1% dos computadores
Será?
Todos os últimos cinco PCs que eu comprei, sem exceção, saíram da fábrica com Windows. A conta, então, apontaria 5 computadores com Windows (dois com Vista, inclusive), certo?
Errado.
Porque todos rodaram Windows apenas por tempo suficiente para fazer um back-up do HD. Imediatamente após isso, foram reinstalados com Linux. Essa história se repete para quase todos os usuários de Linux - pouquíssimas pessoas compram seus computadores com Linux instalado. A explicação é simples: tente ir à loja da Dell comprar um micro sem Windows. Vai ver que é difícil encontrá-los e que nem todos os modelos são vendidos assim. Mais fácil é fazer isso por telefone - os atendentes, segundo a minha experiência, são impressionantemente flexíveis quanto à configuração do computador que você quer comprar. Eu já consegui a troca do teclado ABNT por um "normal". Mesmo assim, nem todos os computadores podem ser comprados sem Windows.
E, comparado aos outros fabricantes de PCs, a Dell é um brilhante farol iluminando o caminho. Eu desafio o leitor a encontrar um bom computador sem Windows em menos de 15 minutos em qualquer loja do ramo. Eu não achei nada na HP e, na Lenovo, eu fui direto no low-end para encontrar uma única opção sem Windows. Contrastando um pouco, na IBM, os desktops mais poderosos não rodam Windows. Mas também não são PCs.
E isso é um outro problema. Como o Linux só vem instalado em micros de baixo desempenho, ele acaba sendo associado ao baixo desempenho deles. Isso porque ele voa mesmo em uma CPU modesta, como os Core Duo ou os Atom que vêm com muitos netbooks.
Aliás, não fosse pelo bundling de Windows em quase qualquer computador x86, o Windows Vista não teria vendido um décimo das cópias que vendeu e estaríamos lendo coisas como "Windows Vista e desktop, entenda porque esse casamento não vingou". Para a MS, eu sou dois felizes usuários de Vista.
Outro ponto importante aqui é que é praticamente impossível verificar a penetração de mercado de um produto que é gratuito e que pode ser baixado e distribuído livremente. E, uma vez que a maioria deles está disponível em torrents também, nem mesmo o número de downloads podemos conseguir facilmente.
"As interfaces de Linux são ruins e mal acabadas"
Eu preciso começar esse tópico com um aviso: Érico Andrei é meu amigo. Eu respeito a opinião dele sobre um enorme número de coisas, mas, nesse caso, eu preciso discordar publicamente. É verdade que alguns programas típicos são bem complicados. Emacs, meu hoje editor de texto com IDE favorito, é um exemplo. Apesar disso, os atalhos de teclado para tudo, a programabilidade quase ilimitada e tantas outras amenidades fazem dele uma das ferramentas mais poderosas e eu recomendo a todos os que programam e tomam anti-inflamatórios que aprendam a usá-lo. Roda em quase tudo, de Windows CE a z/OS. A despeito disso, e, ao contrário dos IDEs que você encontra por aí, a interface dele não se parece com o painel de um ônibus espacial.
Mas voltemos au problema com a afirmação do Érico: conversando com ele, ele explicou que elas são ruins porque não permitem uma transição suave do Windows para o Linux e que são mal acabadas porque, por default, adotam settings mais conservadores do que o necessário. Um exemplo que ele mencionou é o do Compiz, que, para ficar ao gosto dele (e ao meu) precisa que seja instalado (via gerenciador de software) um painel de controle extra com as configurações avançadas (o painel padrão tem opções equivalentes a "desligado", "ligado" e "OMFG").
Eu discordo do "ruim". Se, para acomodar o "imigrante" vindo do Windows, for necessário replicar sua interface confusa (onde mesmo no painel de controle é que se liga ou desliga o compartilhamento de arquivos na rede?), eu estou fora. Um Gnome típico não é mais confuso do que um Vista ou um OSX para um recém chegado do XP. Na verdade, por esse aspecto, o Gnome parece bem mais lógico que o OSX.
Mas isso é questão de costume. Eu acho o Gnome lógico porque me acostumei. Usuários de Windows acham o WIndows lógico porque tiveram o "jeito Windows de fazer as coisas" tatuado em seus cérebros.
Eu também discordo do "mal acabadas". Não tenho nada contra ir ao painel de "Aparência" e escolher uma de três opções para ligar, desligar ou turbinar os embelezamentos da interface. Qualquer um que queira que suas janelas desapareçam em chamas quando fechadas pode muito bem educar-se sobre como fazê-lo (dica - dá pra fazer sem encostar no teclado uma única vez).
Hardware e drivers
Há também, no artigo, a afirmação de Stephen Kleynhans, analista do Gartner Group, de que "Com os outros sistemas, a maioria dos aparelhos são reconhecidos facilmente. Mas, com o Linux, você mesmo tem que procurar pela solução". Primeiro, que outros sistemas são esses? BSD? Solaris? Macs imprimem pelo CUPS, assim como quase todos os Unix-likes, logo, dá no mesmo. Segundo, alguém aí já tentou instalar um PC moderno, com HDs SATA e sem floppy, só com o CD de instalação do XP (também conhecido como "o úlimo Windows bom")? Alguém já tentou colocar uma placa de vídeo exótica no Mac? A regra é que, com Windows, o hardware que era comum antes do lançamento do sistema funciona, mas o que saiu depois depende de drivers que vêm em CDs do próprio fabricante ou de downloads que o usuário tem que procurar e instalar ele mesmo. Esses drivers serem cheios de "crapware" é outro problema. Algum leitor entende por que cargas d'agua um driver de impressora jato de tinta da HP precisa de 300 megas de programas? E desde quando isso, no Windows, não é ter que procurar pela solução? Alguém aí já resolveu alguma coisa ligando pro suporte da Microsoft (ao qual compradores de licenças OEM - aquelas que vêm com o computador - nem direito tem)? Nunca me aconteceu e, vejam bem, eu usei Windows todos os dias de 1990 a 2002.
Quanto à compatibilidade, eu preciso confessar que eu tenho tomado cuidado para comprar computadores que eu sei que não são incompatíveis com Linux. Meu notebook de trabalho, por exemplo, parece ser virtualmente à prova de Linux e, se dependesse de mim, jamais teria sido comprado. Eu ando por eventos de software livre e pergunto pras pessoas como foi instalar, o que pegou e coisas assim. Fico alerta para ver a marca e o modelo dos notebooks. Não sou um idiota de achar que a placa de rede esquisita que tinha o logo do Windows 98 na caixa e três contatos a menos no PCI vai funcionar de primeira no Linux. Se você tiver dois neurônios e um mínimo de cuidado, é fácil comprar computadores e periféricos que funcionem perfeitamente com o Linux. Me surpreende que um analista do Gartner não atenda ambas as exigências.
"alguns programas não estão disponíveis para todos os sistemas operacionais"
Não. Não estão mesmo. Se seu negócio são jogos, o Windows é o certo pra você e não se discute. Ou ele ou um Playstation. Ou um Xbox, Ou um Wii. Pra quem usa computador pra coisas sérias, a presença ou ausência de joguinhos não é importante. Se você precisa muito do Photoshop ou do InDesign, você precisa ou de um PC com Windows ou de um Mac (faça-se um favor e compre um Mac nesse caso - os banners dessa página podem ajudar nisso).
Existem mesmo algumas grandes lacunas no mercado de software para todas as plataformas que não são Windows.
Pode ser, por exemplo, que seu programa de controle de estoque não rode sem o Windows. Pode ser que ele não possa ser usado com o Wine (que eu uso para um monte de coisas e que, em muitos casos, funciona muito bem). Até mesmo alguns jogos funcionam. De qualquer modo, vários programas feitos para rodar em Windows não funcionam. Muita gente prefere desenvolver para Windows porque acredita que o mercado maior compensa o fato dele estar saturado. É verdade: se você pensa em fazer um programa de prateleira para, digamos, video-locadores, vai enfrentar muitos competidores. Folha de pagamento? idem. Mala direta, nem se fala. Uma vez feita a venda, o único método seguro de manter seus usuários fiéis é tornar quase impossível migrar os dados deles para o produto de um competidor.
Por outro lado, um sistema como esses feito para Linux teria o mercado (um mercado menor, verdade) quase que totalmente para si. E, dependendo das necessidades dos seus clientes, seria trivial portar sua aplicação Linux para Solaris, AIX ou qualquer sabor de Unix, livre ou não. Até OSX, se seus usuários não ligarem para uma interface menos Mac do que o habitual. E ainda, se precisar mesmo rodar com Windows, você pode rodá-lo debaixo do Cygwin.
Ainda assim, o artigo tem razão: até que os programas certos estejam disponíveis no mercado, quem depende de software que só roda em Windows não ter opção e vai continuar usando Windows até se livrar do programa ou até ele ter uma versão mais, digamos, civilizada.
Patentes
Nesse ponto, o artigo realmente descamba para a repetição de um FUD já bem antiguinho.
O risco de usuários finais do Linux serem processados por violação de patentes é virtualmente desprezível. Na pior das hipóteses, se isso realmente preocupa você, há empresas especializadas em vender seguros de responsabilidade civil que cobrem violação de patentes. A maioria das distribuições de Linux fica do lado seguro e evita distribuir, por exemplo, decoders MP3, no CD de instalação, mas, pelo menos no caso do Ubuntu, o próprio sistema se encarrega de baixar e instalar o decoder certo para o arquivo que você quer ouvir (ou ver) sem que você tenha que quebrar muito a cabeça com isso. Você precisa apenas aceitar um aviso que diz que você está baixando uma coisa que, dependendo das leis do seu país, você pode eventualmente não tem permissão de uso. Aliás, em se tratando de suporte indolor a codecs, o Linux é imbatível: até formatos obscuros são suportados com total suporte até na interface de usuário. Quer tocar um .flv que você salvou do YouTube? Sem problema. DivX? Idem. Tudo com direito a thumbnails certinhos no desktop. Windows tem isso? Mac tem isso? Até tem, mas você vai ter que pesquisar, baixar e instalar um programa que você não sabe bem de onde veio.
A Microsoft mais de uma vez bateu no peito e disse que o Linux viola alguns milhares de patentes deles. Eu truco. Se tivessem alguma coisa, já teriam mostrado. Não têm e não mostram. Enquanto isso celulares, computadores e equipamentos de rede saem de fábrica com Linux. Se eles tivessem mesmo alguma coisa crível, alguém acredita que eles não teriam usado até agora? Estão esperando o que? Windows 7?
O fato é que, no momento em que ela agir ofensivamente contra os interesses de empresas como IBM, HP, SGI, Intel, Google e outros pesos-pesados da indústria, ela será aniquilada por um exército de advogados brandindo onerosos contratos de licenciamento que ela não terá opção senão assinar se quiser que seus produtos continuem sendo vendidos.
E isso sem nem mesmo pensar no que a Comissão Européia pensaria de uma hostilidade assim. A MS já recebeu a maior multa da história diretamente das mãos deles.
A MS não vai se atrever a fazer algo tão estúpido enquanto tiver algum produto no mercado.
Quanto à questão geral das patentes, é muito difícil encontrar uma patende de software que seja sólida. A maioria é excessivamente vaga, óbvia ou pode ser anulada por alguma descrição anterior ao pedido. O USPTO (órgão responsável pela emissão de patentes nos EUA) funciona tão mal que a idéia de uma reforma profunda no sistema de patentes deles é considerada necessária mesmo pelos detentores de grandes portfolios e (deu no Slashdot terça) a Suprema Corte dos EUA deve, em breve, apreciar a Bilsky decision, em que uma outra corte menor determinou que patentes devem ser sobre ou uma máquina ou sobre a transformação de matéria física (efetivamente anulando patentes de software). Elas só funcionam porque, muitas vezes, é mais barato pagar a licença do que as custas dos advogados.
Esse demônio não tem dentes. Lamento pelos FUDistas que vivem disso.
A conclusão incorreta
O artigo peca ao concluir que o casamento do Linux com o PC desktop não vingou. Bobagem. Primeiro, porque ninguém tentou esse casamento. Linux é uma ferramenta poderosa e nem todo mundo precisa de ferramentas poderosas. Seria como dizer que motosserras são um fracasso porque não são o produto mais vendido no Wal-Mart.
A história do Linux no desktop também mal começou: é cedo demais para afirmar que "não vingou". O Windows foi lançado em 85 e não foi antes de 98 que a imensa maioria dos computadores passaram a vir com ele instalado. Demorou uma eternidade antes que ele fosse um sucesso de mercado.
Mas então, por que?
Não há um motivo único que justifique a baixa penetração do Linux no segmento de desktops. Há sim uma combinação de fatores:
- Inércia: Muita gente não sabe nem quer saber que sistema operacional veio no seu micro. Como a Dell, a HP e a Lenovo decidiram que seria Windows, elas usam Windows. A maioria dos que compram Macs, usam MacOS porque a Apple decidiu que assim seria. A grande presença do Internet Explorer 6 é um indício forte de que o usuário mediano de PC nem mesmo faz upgrades regulares, muito menos troca de sistema operacional.
- Desconhecimento: Artigos como esse do IDG não ajudam nada. Continuam batendo em teclas velhas dizendo como o Linux não funciona pro usuário comum, blá blá bla. Minha mãe usa Linux e está feliz da vida com um micro que não pega vírus. Está tão feliz que, volta e meia, me manda um arquivo powerpoint com mensagens edificantes que ela recebeu de alguma amiga. Minha esposa usa MacOS e está feliz da vida. Outro dia, quando o Mac não queria se desligar, eu ensinei ela a abrir o terminal e dizer "sudo shutdown -h now". Ela adorou o superpoder de realmente mandar no computador.
- Crapware: Quando você compra um micro qualquer com Windows, ele normalmente vem com uma versão capenga do Nero, um anti-vírus que vai se manter atual por três meses e mais um monte de inutilidades bestas que, cedo ou tarde, vão pedir que você faça o upgrade para uma versão "oficial" para você poder continuar usufruindo da sua inutilidade. Os fabricantes do crapware pagam bem pelo espaço e, com isso, o custo do software da máquina vai caindo até ficar negativo. Isso mesmo: colocar um Windows OEM em um PC junto com um monte de crapware muitas vezes engorda a margem de lucro do fabricante. É por isso que PCs nem vem mais com um CD de instalação do Windows: os fabricantes de crapware pagam mais se for complicado pro usuário "tirar o lixo" do sistema. Em um mercado de margens estreitíssimas, essa conduta se tornou um padrão.
- Costume: Isso foi abordado no artigo. O usuário de Windows está acostumado com o Windows. Até aí, nada de surpreendente. Meu amigo Érico afirma que "Quando elas abrem o Linux e os itens de menu não estão no mesmo lugar, elas querem voltar ao Windows", o que é a mais pura verdade. O usuário típico de Windows não entende de computador, não quer entender e nem mesmo gosta de computador. Gosta de Hotmail e de Orkut. Gosta também de mandar animaçõezinhas no MSN. Há alguns que se acham usuários sofisticados, gostam do Windows ardorosamente e que, sem dúvida, vão se ofender com isso. Azar deles.
E o que podemos fazer?
Eu? Não pretendo mover um dedo.
Até porque, não há nada quebrado aqui que precise mesmo ser consertado. As pessoas usam o que querem. Pouca gente se importa com que sistema está usando. Pouca gente sequer sabe que existe opção. Quem sabe e se importa se dá o trabalho de escolher. Eu me importo e escolhi a melhor opção pra mim.
Eu adoraria que o Linux fosse mais usado. Isso faria com que fosse mais fácil encontrar computadores já configurados com ele (não que eu não raspe e instale tudo do zero como eu sempre fz minha vida toda), mas, de verdade, eu não ligo tanto assim. Seria mais difícil encontrar hardware completamente à prova de Linux, como meu notebook de trabalho. Mas, como eu disse lá no meio, isso não é um impeditivo pra mim - eu sei que hardware funciona tranquilo e eu tento não comprar errado.
Se por acaso eu comprar e não rodar, eu devolvo. Não rodar Linux é um defeito sério pra mim. Micro que só funciona direito com Windows, pra mim, é micro quebrado.
Com menos usuários de Windows, também teríamos menos spam - a maior parte do spam vem de máquinas invadidas que fazem parte de botnets que, por sua vez, dependem de falhas de segurança do Windows para existir e se propagar. De novo, isso não é mais, graças a maravilhas como o Spam Assassin e ao Gmail, um problema pra mim. Meus domínios, inclusive, contam com "honey pots", contas feitas para receber spam. Assim, meu Spam Assassin aprende sozinho. Um problema a menos pra mim.
E ele está bem esperto. Barra mais de 2000 mensagens indesejadas por dia. Deixa passar menos de 1% delas. Volta-e-meia eu vou até a pasta à caça de um falso positivo (que não acontece há muito tempo) e para me divertir com as novas táticas que spammers inventam para tentar driblar meu anti-spam. No Gmail, spam nunca foi problema meu - e esse é todo o ponto de não administrar seu próprio servidor de e-mail.
O meu servidor de e-mail é outro que agradeceria por um mundo com menos Windows. Ele recebe mais de 10 tentativas de invasão por minuto, muito provavelmente vindas dessas mesmas botnets. Há uma, inclusive, que está crescendo a olhos vistos e que já passou de 10 milhões de máquinas. De novo, não é meu problema. Eu só sei disso porque o firewall dele gera logs que são analizados regularmente e porque eu recebo um SMS quando alguma coisa realmente sai do normal.
Se você usa Windows e não liga pra essas coisas, OK. Isso é com você.
Se você que gosta do Office me mandar um arquivo .doc, eu abro com OpenOffice. Você vai conseguir ler quando recebê-lo de volta quando eu devolver. Se não conseguir, pode baixar o OpenOffice (ou o BrOffice, aqui no Brasil) e ler qualquer arquivo que eu criar aqui. Até os em MS Open XML (que de "open", no fundo, não tem nada) abrem no OpenOffice mais novo. Se seu site só abrir em IE, eu não visito. Ou, se precisar muito, vou tentar com Epiphany. Ou com Konqueror. Ou com IE rodando debaixo do Wine (dói um pouco, mas é possível) ou, ainda, com o IE 8 no Windows 7 dentro de uma VM (sou beta-tester do Windows 7 e tenho um no meu netbook, dentro de uma VM, claro).
Mas, talvez, o mais importante em não termos mais um SO dominando o mercado seria trazermos de volta a diversidade a esse segmento.
Programas seriam escritos para padrões. Padrões seriam abertos, para que qualquer um pudesse seguí-los ou implementá-los. E esses padrões seriam genéricos o bastante para que fossem implementados de formas diferentes. Ganhariam - e muito - os fabricantes de software, que não dependeriam mais da boa vontade de uma única empresa que, mais de uma vez, destruiu mercados inteiros quando decidiu competir neles. Essa portabilidade entre sistemas existe: o mesmo programa que roda no Linux pode rodar no OpenSolaris, no BSD e no MacOS. Todos os 4 são profundamente diferentes um do outro, mas, ainda assim, muitos programas rodam sem problemas bastando serem recompilados. E eles nem ligam muito se o processador é x86, MIPS, SPARC, PA ou PowerPC, se é de 32 bits ou 64. O bash que eu rodo no meu iMac (com PowerPC rodando OSX) é o mesmo que eu rodo no meu netbook (x86 rodando Linux) e na minha Sun Blade 1000 (SPARC rodando Solaris). Livres de barreiras entre plataformas, estaríamos finalmente tirando o pé no freio que o Windows e o x86 têm representado há mais de uma década.
Não é possível (na verdade é - é apenas indesejável) que o OSX, Windows, Linux ou Solaris sejam o ponto máximo da evolução dos sistemas operacionais. Para quem já viu (ou leu sobre) Plan 9 ou qualquer um das dezenas de sistemas operacionais que foram desenvolvidos nos anos 70, 80 e 90, mais um Windows ou mais um Unix são muito chatos. Se daqui a 20 anos eu ainda estiver usando um descendente do Unix da AT&T em um x86, eu vou ficar muito desapontado.
Afinal, já não era hora de termos algo diferente?
Nota: Esse texto também foi publicado aqui, no Webinsider.
Além do x86, Parte 2
Uns dias atrás eu estava comentando sobre as coisas interessantes que existem fora do mundinho x86. Digo "mundinho" não com uma conotação negativa, mas por ser um espaço relativamente pequeno em que soluções muito parecidas umas com as outras competem por problemas que, não raro, não conseguem resolver direito. Na última vez eu falava de um computador da Sun e hoje vou falar de outra máquina bem mais exótica.
Além do x86
Uma das coisas que mais me desagrada no atual estado do mercado de servidores (e de desktops também) é a predileção dos fabricantes pela plataforma x86/amd64 e a falta de imaginação dos usuários, que faz com que plataformas muito interessantes fiquem relegadas a nichos estreitos.