Follow falcon_dark on Twitter
Google

domingo, agosto 21, 2005

Quem tem medo do MacOS?

Estive pensando sobre como foi a história e o desenvolvimento dos sistemas operacionais para os computadores de pequeno porte. É engraçado ver que a única solução que obteve sucesso mercadológico continuado e que não era um UNIX ou um de seus likes foi o binômio DOS/Windows.

Falando de sistemas operacionais não UNIX:
- O OS/2 Warp era um bom sistema, mas um péssimo produto;
- O BeOS era muito bom e leve, mas foi pouco reconhecido pelo mercado;
- Os clones de DOS foram massacrados pela dupla IBM/Microsoft;
- O MacOS sempre foi um excelente produto mas um sistema controverso (pra não dizer ruim mesmo) até tornar-se um UNIX-like e cair nas graças da mídia;
- O MS-DOS/Windows é um excelente produto e um sistema sabidamente fraco;
- Outros sistemas apareceram aqui e ali mas não provocaram reações mercadológicas dignas de nota.

Então começo a ler boatos sobre o tipo de perturbação que um MacOS X (um UNIX-like mesmo pois baseia-se no kernel BSD) portado para x86 poderia causar no mercado Windows. Mesmo que a Apple diga que o futuro MacOS para processadores Intel não rodará em PCs me deparo com coisas como "hackers irão fazer o MacOS rodar em PCs e isto irá afetar o Windows e mais ainda o GNU/Linux". Só consigo pensar em uma palavra quando leio isso: besteira!!!

A começar pelo acordo entre a Apple e a Intel para que esta forneça processadores para os futuros Macs. Os rumores mais confiáveis que eu li até agora dão conta de que a Intel venderá chips Itanium para a Apple. O que significa que os futuros Macs não seriam PCs, nem aqui e nem na Lua. E isto faz sentido pois esses processadores usam um set de instruções que não é compatível com o x86, de 64bit, o que manteria o diferencial da marca Apple. A rigor nada mudaria para o panorama atual, pois o MacOS de PowerPC não roda em x86, assim como o MacOS de Itanium não rodará em x86. Portanto acredito mesmo que nada vá mudar.

Essa tese me parece a mais crível porque a plataforma Itanium está com a corda no pescoço. Nunca pegou na verdade e hoje o produto para servidores da Intel que realmente vende é o Xeon. Com a popularização de Opterons e Xeons de 64bit o Itanium é um elefante branco, que a Intel tem pouca (ou nenhuma) possibilidade de sustentar no mercado futuro. O Pentium4 é uma plataforma ruim, estagnada pelas limitações de clock que a engenharia da Intel criou, de fato, com mesmo clock, um Pentium4 é muito pouco melhor que um Pentium3. Assim a Apple estaria dando um tiro no pé usando Pentium4 ou Xeon, pois passaria a ser apenas mais um fabricante de PCs comuns, como a Dell, a HP, a IBM, etc.

Para a Apple, a única maneira de manter um produto diferenciado, como os que tem hoje, seria optar pelo Itanium. Esse negócio é maravilhoso para a Intel, pois viabilizaria sua plataforma mais morta-viva atualmente. E assim, como citei a pouco, o MacOS seria restrito aos Macs Itanium.

Mas supondo que eu esteja errado, e que a Apple e a Intel achem melhor negócio que o Mac torne-se uma máquina x86. O MacOS então teria uma versão x86-64 (o set de instruções criado pela AMD) e poderia ser levado a operar computadores x86 de outros fabricantes, certo? Talvez não. Talvez a Intel forneça uma versão específica do processador para a Apple, com um nível de versão único, e o MacOS possa verificar esse nível, recusando-se a rodar em outro processador. Talvez o chipset das novas placas, feito pela Intel sob medida para a Apple seja necessário para rodar o sistema. No final das contas o MacOS rodaria em x86, mas apenas no hardware especialmente adaptado para ser comercializado diretamente com a Apple.

Mas supondo que eu esteja errado novamente, e que o MacOS seja um sistema que possa rodar em qualquer x86 ou x86-64 e possa ser vendido em caixinhas como o Windows. Ou então que um hacker maluco consiga criar um modo de enganar o sistema e os Macs tornem-se disponíveis para nossos PCs. Se isso acontecesse, qual seria o real impacto para o Windows e o GNU/Linux?

O MacOS tornou-se um bom sistema, usando uma versão adaptada do kernel BSD. Agora ele tem multi-tarefa e é sólido como uma rocha. Mas o MAC tem uma interface pesada, que usa muito bem o poder de fogo dos PowerPCs que a IBM vende à Apple, e é feito sob medida para este hardware. Levá-lo para outra plataforma menos competente, como a x86, significa ter de abrir mão de algo para manter o bom desempenho geral. Ou sacrificar o desempenho premium em troca de perfumaria gráfica.

O primeiro caminho, abrir mão de recursos visuais para privilegiar o desempenho colocaria o MacOS em uma posição muito próxima a do GNU/Linux, e poderia decepcionar alguns fãs de data da marca da maçã. O segundo caminho, optar pela parte gráfica e pela facilidade de uso em detrimento à estabilidade e desempenho, o colocaria próximo ao Windows, em produto bem acabado, fácil de usar, mas cuja confiabilidade é uma lenda como o boitatá ou a mula sem cabeça. Milagres são para santos e não para engenheiros de software, a Apple não irá conseguir manter o MacOS como é hoje e levá-lo a ser competente (como sistema e como produto) em uma plataforma mais fraca que a atual.

Há que se levar em conta que boa parte do respeito que a Apple tem no mercado advém da parcepção de qualidade que a marca passa. Criar um produto meia-sola apenas para estar presente em um mercado não condiz com o que a Apple tem feito ao longo de sua vida. Um sistema que rodasse em hardware genérico poderia afetar a imagem da Apple e dificultar as coisas para um fabricante que é conhecido por ter os produtos mais caros do mercado. Com o passar do tempo o sistema poderia ter uma fama parecida com a do Windows, pois sabemos que má qualidade de hardware é um grande problema para qualquer sistema operacional.

Ainda existe a questão mercadológica. O Windows XP Professional custa hoje cerca de R$ 1000,00. Um MacOS 10.3 custa cerca de R$ 450,00, segundo a tabela da Apple. A batalha ocorrerá dentro daquela faixa de mercado que se dispõe a pagar essas quantias por sistemas operacionais. Um GNU/Linux pode ser comprado por preços muito menores, cerca de R$ 27,00. Windows e MacOS saem da caixinha com aplicativos básicos, não existe produtividade de escritório com Notepad. Enquanto um GNU/Linux após ser instalado já tem aplicativos Office, gráficos, e muitas outras coisas como servidores, e tudo mais que possa ser necessário para que o sistema entre em operação sem a necessidade de instalar outros aplicativos.

Mas o mais importante não é a questão monetária, já que nisso fica claro que o MacOS iria espancar o Windows até a morte se fosse oeferecido para PCs. Entre os três competidores desta arena imaginária apenas o GNU/Linux é software livre. O mercado ideológico do GNU/Linux (que é tão forte quanto o mercado econômico) é muito mais difícil de ser conquistado que o mercado de usuários Windows. Muitos não irão abrir mão das possibilidades do software livre e de código aberto, e prova disso é que existem muitas distros de GNU/Linux para Macs, ou seja o GNU/Linux (ao contrário do Windows) já vem competindo com MacOS há algum tempo.

Uma questão secundária é a disponibilidade de programas, e jogos (!) para MacOS, que é sem dúvida muito menor que a do Windows, e o colocaria em grande desvantagem em uma eventual briga com a Microsoft. Deste mesmo mal sofre o próprio GNU/Linux, que não conseguiu ainda uma penetração maior no mercado de PCs doméstico por ter um número pequeno de grandes e conhecidos programas e jogos disponíveis. Nesse quesito o MacOS e o GNU/Linux teriam o mesmo problema com relação ao Windows.

Por fim, e não sei se vale a pena comentar isso, um dos maiores acionistas da Apple é Bill Gates, isso mesmo, o Dick Vigarista em pessoa é um dos patrões de Steve Jobs (e Jobs achava que a IBM era o grande inimigo, hahahaha). Não vejo como Gates permitiria que Jobs chegasse com seu MacOS e ameaçasse o Windows desta maneira.

Mas mesmo com todas essas coisas, se a Apple decidir lançar o MacOS para x86 e tentar brigar com Windows e GNU/Linux, pode ser que a maçã ainda consiga êxito, proveitando-se de sua competência mercadológica e tradição de qualidade, mesmo que a altas custas. E se no final das contas o MacOS para x86 atrapalhar o desenvolvimento do GNU/Linux poderemos ainda, como forma de vingança, mostrar do dedo do meio para a Licença BSD e a OSI por permitir que desenvolvimento livre e aberto torne-se proprietário e não seja retornado como benefício para a comunidade que o criou.

Follow falcon_dark on Twitter
Google

sábado, agosto 20, 2005

Descobrindo o Plasma

Agora que imagens do novo desktop da Microsoft, chamado de Aeroglass, começam a aparecer na imprensa e na internet o público e a mídia especialzada descobriram que não há nada de fundalmentalmente novo por vir, ao menos na parte gráfica, no Windows Vista. John C. Dvorak, colunista de renome internacional com quem tenho minhas ressalvas, afirmou na última Info (Agosto de 2005): "Mas cada vez que leio sobre o Windows Vista fico sabendo que algum dos recursos prometidos foi cancelado. Parece até que não sobrou ninguém lá capaz de fazer coisas avançadas."

Parece que eu ganhei do Sr. Dvorak desta vez, porque em Março deste ano eu já sabia que seria assim. De fato isto é procedimento em uso dentro da Microsoft. Quando estiver preparando um novo lançamento, anuncie que ele terá muitos, mas muitos, recursos novos. Depois disto cancele dois deles a cada duas semanas e um mês antes do lançamento cancele o resto. Mude a interface gráfica, os nomes de algumas funções e o número de versão, e lance o mesmo produto novamente. Lembra-me a tática publicitária nazista: Minta, minta que alguma coisa ficará.

Então já que o próximo Windows trará muito pouca coisa de novo, comecei a pensar a quanto tempo os computadores são como são. E a quanto tempo nada muda de verdade. Hoje temos mais memória, mais HDD, portas USB, mas os sistemas operacionais ainda são muito semelhantes com o que havia antes. De fato pouca coisa mudou, principalmente nas interfaces gráficas, que hoje tem mais cores, mais resolução, e só. As pastas, o desktop, as bandejas de sistema, tudo está muito parecido com o que sempre foi desde que a Apple introduziu o Mac. Claro que muitas funcionalidades foram introduzidas, mas os conceitos globais por trás dos Desktops modernos ainda são os mesmos, e no geral o mercado copiou muitas coisas que a Apple introduziu em seus sistemas operacionais.

Então me deparei com a seguinte frase:

"Desktop computing has changed radically in the last 20 years, yet our desktops are essentially the same as they were in 1984. It's time the desktop caught up with us."

que em uma tradução livre minha seria algo como:

"A computação desktop (doméstica) mudou radicalmente nos últimos 20 anos, mas nossos desktops (dos sistemas operacionais) são essencialmente os mesmos que eram em 1984. É hora do desktop nos acompanhar."

Fascinado por essa frase, pois sempre pensei em maneiras diferentes de fazer as coisas funcionarem em uma interface gráfica mas nunca tive uma grande idéia fui ver o que era isso... e isso é o Plasma.

O projeto Plasma é um esforço de alguns desenvolvedores do KDE de modificar os conceitos de uso dos desktops (no sentido das áreas de trabalho dos sistemas operacionais) no sentido de torná-los mais elegantes, inteligentes e produtivos.

Fala-se em coisas como sensibilidade ao contexto, modularidade, criação de uma arquitetura de add-ons e algumas outras coisas que depois de citadas parecem óbvias ;-)

A sensibilidade ao contexto seria a capacidade do seu Ambiente de Trabalho de mudar sua forma, aparência e funcionamento de acordo com os programas que você abre, e as coisas que você faz. Seria como se você tivesse um painel aberto na esquerda da tela que mostrasse lançadores para programas de manipulação de arquivos quando inserisse um CD ou DVD de arquivos no computador. E que trouxesse lançadores de programas gráficos quando você alterasse o foco para uma aplicação de imagens. Mas isso seria uma das funções básicas. As cores, temas, e disposição dos paineis podem modificar-se dinâmicamente quando você muda o foco para outro aplicativo, para maximizar a visualização e permitir maior produtividade. O ambiente de trabalho seria então reflexo e adaptação das coisas que você faz no computador, mas em uma profundidade ainda não experimentada pelos usuários de computadores de hoje.

A modularidade permitira que pequenos aplicativos, em Java, Javascript e outras linguagens dinâmicas fizessem pequenas funções, como lembretes, agenda, sincronismo com dispositivos móveis, tudo enfim. E os aplicativos podem ser agrupados e separados da maneira que o usuário achar conveniente, e pode ser dispostos em qualquer lugar da tela, desde uma bandeja ou painel convencional até uma disposição totalmente livre e não-padronizada. A modularidade permitiria também agrupar pequenos scripts para executarem uma função complexa, do mesmo modo que fazemos com scripts BASH em shell. O conceito original do UNIX de pequenas ferramentas agrupadas para executar grandes tarefas estaria então extendido à interface gráfica, finalmente.

Tudo isso deixaria os programadores mais livres para implementar novas tarefas como permitir que você tenha mensagens instantâneas dentro de outro programa, ou mesmo sobre seu plano de fundo se quiser. Algo citado como exemplo das aplicações possíveis é o SuperKaramba que permite que usuários do KDE tenham diversos tipos de informação (desde a carga da CPU até e-mails no servidor e mais!) em uma mesma janela com um sem número de temas aplicáveis para customizar a interface. Seria algo muito semelhante à esse conceito, mas expandido para toda a interface do sistema operacional. Seria possível, por exemplo, abrir um shell BASH dentro de qualquer aplicação onde você já esteja trabalhando. Claro que muitas outras coisas ficam possíveis, basta que você tenha os add-ons corretos.

Esse conceito mudaria totalmente a maneira pela qual vemos e interagimos com as interfaces gráficas dos computadores e abriria campo para modificar de maneiras ilimitadas o comportamento dos nossos desktops.

O projeto Plasma já tem bibliotecas portadas para a Qt4 e está em fase de limpeza e organização de código, os próximos passos incluem criar o desktop em si, estruturar as lingugens de programação de scripts e desenvolver a documentação adequada, mas algum material para desenvolvedores já pode ser lido. O lançamento da primeira versão deve coincidir com o do KDE 4 que é esperado para algum momento ainda em 2005 ou começo de 2006. Se essa expectativa de lançamento se confirmar teremos uma interface revolucionária (ao menos conceitualmente revolucionária) em software livre muito antes que qualquer desenvolvedor proprietário. Isso provaria que o modelo de desenvolvimento livre permite uma maior agilidade e criatividade na implementação de novas idéias, a despeito de qualquer outro argumento que possa ser dado.

Parece então que está atrás da próxima esquina uma revolução no conceito de ambiente de trabalho computacional, e que ela será proporcionada por software livre. Vou dar uma procurada sobre isso para ver o que anda sendo feito no Gnome. Mas de qualquer forma fica minha pergunta: Alguém por aí acha que o Aeroglass será mesmo revolucionário como a Microsoft apregoou que seria?

Follow falcon_dark on Twitter
Google

quarta-feira, agosto 10, 2005

Dick Vigarista contra ataca!

Parece tática da Corrida Maluca: se não pode vencê-lo... jogue óleo na pista!

Prólogo
Parece piada mas é sério. Imagine-se como sendo uma empresa de software que tem o sistema operacional lider de mercado (na verdade praticamente o único no mercado por algum tempo) e que você tenha desenvolvido uma API de gráficos 3D para que jogos e programas gráficos rodem melhor em seu sistema.

Então imagine que existe um concorrente ao seu sistema, livre, grátis e de desenvolvimento aberto que em matéria de servidores transforma seu SO em uma piada de mau gosto. Depois de um tempo surge um consórcio que cria uma API 3d concorrente à sua, também aberta e livre. Então depois de um tempo essa API livre prova-se melhor que a sua em diversas situações. E os fabricantes de hardware de vídeo começam a pensar seriamente em fazer drivers 3d competentes para esta outra API 3d e para aquele outro sistema, justamente quando todos os seus clientes começam a se perguntar porque não testar essa outra solução já que ela custa tão pouco e todo mundo fala tão bem dela...

Isso tiraria seu sono? E se durante uma reunião, onde você perguntasse para seus gerentes o que fazer para impedir o avanço da concorrência já que todas as outras táticas parecem falhar? E se um deles respondesse "Vamos trabalhar para melhorar nossos produtos!" e outro dissesse "Vamos sacanear os produtos deles!"... qual você ouviria com mais atenção?

Ato 1

Sem ninguém para processar Dick Vigarista ordenou que Muttley e sua turma criassem uma campanha mentirosa sobre o GNU/Linux e para ganhar confiança do público e da mídia em geral (expressamente proibida por seu código de ética de publicar inverdades desonestas) chamou-a de Get the Facts (Veja os fatos). Mas isso logo deixou de surtir o efeito esperado quando o mercado percebeu que os resultados apresentados pelas campanhas eram um pouco diferentes dos obtidos na prática, digamos que eram um pouco tendenciosos.

Ato 2
No mercado de video-games sua maior rival, a Sony anuncia um console equipado com Linux que irá abrir as portas para que jogos de qualidade superior cheguem à plataforma rival.

Ato 3
Você então acaba com o suporte à API 3d concorrente, o OpenGL, em sua plataforma (ainda dominante no mercado SOHO) para obrigar aos fabricantes de hardware e desenvolvedores de aplicações e jogos a:
a) escolher entre uma plataforma ou outra; ou
b) arcarem com os custos de desenvolvimento dos mesmos produtos para dois sistemas distintos.

Clímax:
É isso mesmo. Dick Vigarista, Muttley e sua turma irão dar um golpe mortal no suporte à OpenGL na plataforma do Windows com a versão Vista. É o que está sendo comentado no forum de desenvolvimento do OpenGL (em inglês) depois que a Microsoft anunciou que na próxima versão do sistema da janelinha o OpenGL não será um sistema gráfico independente, mas rodará sobre DirectX.

É a velha tática da Microsoft de, para impedir um concorrente de crescer, sacanear seu produto. Ela já fez isso com o Java, quando adulterou as especificações da máquina virtual do Windows na esperança de que os desenvolvedores escrevessem especificamente para aquela plataforma e publicassem código incompatível com outras máquinas. Faz isso com todos os formatos de arquivos de programas concorrentes. E agora irá fazer isso com o OpenGL.

O OpenGL é uma API de desenvolvimento 3D livre e aberta que serve para que programas que precisem de uso extensivo de gráficos possam aproveitar-se dos recursos dos hardwares mais novos. A Microsoft irá escrever o OpenGL de seu sistema de uma forma que ele não controle diretamente as placas de vídeo, som etc. Todo código OpenGL no Windows irá ser traduzido para instruções DirectX antes de ser executado.

O que era assim:
Programa ou jogo -> OpenGL -> Windows -> Hardware
Ficará assim:
Programa ou jogo -> OpenGL -> DirectX -> Windows -> Hardware

O resultado é que o desempenho de aplicações escritas com OpenGL tenham uma queda de rendimento de até 50% (segundo estimado no forum do OpenGL). Desse modo as aplicações escritas em OpenGL perderão competitividade para as escritas em DirectX. Como o DirectX é fechado e proprietário e não pode ser levado para outras plataformas os desenvolvedores de jogos e softwares multi-plataforma deverão escrever versões DirectX dos seus programas (para rodar em Windows e talvez XBox360) e versões OpenGL para o resto do mundo. O mesmo ocorrerá com os fabricantes de hardware, que deverão otimizar seus produtos para ambas APIs.

Mas parece que a real intenção da Microsoft é tornar isso inviável para os desenvolvedores. Como o Windows ainda está presente em cerca de 95% das máquinas domésticas (aquelas que rodam jogos), Dick Vigarista espera que os desenvolvedores sintam-se desestimulados em investir para desenvolver para OpenGL e acabem abandonando a plataforma em prol do DirectX.

Como o XBox360 chegará ao mercado ainda esse ano, e o PS3 é esperado só para ano que vem, a Microsoft pode propor aos desenvolvedores de jogos que ainda não tenham assinado contratos exclusivos com a Sony que desenvolvam apenas para DirectX, lançando produtos para XBox e Windows sem pagar taxas extras por isso. Se as vendas de XBox360 forem grandes o bastante (como devem ser) e ao chegar o PS3 não consiga reverter o quadro a coisa pode ficar bem ruim para o OpenGL e o GNU/Linux.

Desfecho:
A Microsoft prepara um golpe duplo, com a mesma jogada atingirá o PS3 e o Linux, se conseguir que a API OpenGL perca força. Afetará os desenvolvedores que criam jogos para PS3 e impedirá a chegada de jogos classe A ao GNU/Linux. Parece que a Microsoft também acha que com bons jogos a penetração do GNU/Linux no mercado doméstico é uma grande possibilidade. A nós agora resta torcer para que Dick Vigarista e Muttley se enrrosquem de novo e não consigam atingir esse objetivo. E talvez escrever para as empresas de jogos pedindo que se posicionem em favor de padrões livres e abertos. Precisaremos de sorte...

Follow falcon_dark on Twitter
Google

terça-feira, agosto 09, 2005

Linux para Desktop

Foi postado um texto no Notícias Linux por Sergio Clemente onde discute-se a ausência verdadeira de um Linux para desktop. Seria agradável ver o GNU/Linux chegar definitivamente aos PCs domésticos da mesma maneira que já fincou sua bandeira no ambiente corporativo (a última pesquisa das 100 empresas mais "ligadas" da Info Exame mostrou que 75% das empresas usam Linux em algum nível em suas máquinas). Já comentei aqui no meu blog porque acho que isso não aconteceu ainda mas volto ao assunto para discutir alguns pontos desta questão levantados pelo citado artigo. As partes do artigo aparecem em itálico e cor azul e foram extraídas sem modificação do conteúdo.

"Falta para o linux uma interface com o usuário muito mais amigavel."

As interfaces disponíveis para o GNU/Linux possuem grandes funções e são, pessoalmente, muito amigáveis. Já vi usuários leigos utilizando KDE e Gnome (além de outras interfaces) sem problemas e pude constatar que aqueles usuários que não possuíam experiência anterior com outras interfaces (como a Luna do Windows) tinham muito pouca ou nenhuma dificuldade para encontrar as coisas que precisavam. Mas por ser esta uma questão muito pessoal deixo por aqui mesmo.

"O usuário comum só quer saber de rodar o programa e dar next no botão."

Em microondas precisamos selecionar o tipo de alimento, ajustar um tempo (quanto tempo é preciso para descongelar 1Kg de peixe afinal???) e apertar um Start. Em um telefone celular precisamos de vários comandos, menus, e cliques em botão para fazer uma chamada ou usar a agenda. Um forno de microondas serve apenas para preparar alimentos, e um celular para fazer chamadas telefônicas (entre outras coisas muito legais hoje em dia), porque então as pessoas querem usar um computador, que é algo muito mais poderoso e complexo e que tem muito mais utilidades distintas apenas apertando alguns botões? Essa idiotização do mercado doméstico de informática me irrita às vezes, pois faz o público crer que computadores devem ser fáceis de mexer.

As pessoas pensam que devem apenas sentar-se à frente de seus compuatdores e que sem nenhum tipo de treinamento ou leitura sequer poderão operá-lo sem problemas. Isso é uma mentira! Pensem quanto tempo demora até que você decore as funções do controle remoto de um televisor novo, e tudo isso apenas para mudar de canal e assistir TV! Quem acha que operar um computador é algo corriqueiro e que qualquer pessoa poderá fazê-lo sem o mínimo de treinamento ou conhecimento prévio engoliu a idiotização em massa típica do mercado de consumo, feita apenas para vender produtos nas maiores quantidades possíveis. E engana-se quem pensa que sistemas como o Windows XP proporcionam esse tipo de experiência. Amigos meus, leigos em informática, pedem-me com freqüência para ajudá-los a formatar suas máquinas e instalar programas em Windows, como anti-virus, anti-spywares, etc, pq na maioria das vezes eles nem sabem pra que esses programas servem afinal.


"Nenhum usuário comum quer abrir o console e ficar digitando comando naquela tela."

Acredito que já existam distribuições GNU/Linux onde os processos de administração do sistema, instalação de aplicativos e tudo mais necessário para o uso doméstico tenham versões gráficas e não precisem de comandos em console. Então para o usuário comum o console seria apenas um membro figurativo do cenário, que vai estar presente também no Windows Vista, portanto é melhor que estes usuários comuns acostumem-se com o console, pois ele não vai desaparecer, nem do GNU/Linux nem do Windows.

"Usuário comum não precisa entrar nas listas de discussões e sites afins para conseguir instalar o bendito modem ou a placa de som que insistem em não funcionar direito."

Já perdi a conta das vezes em que me vi brigando com o Windows para configurar dispositivos antigos ou com drivers mal escritos. Isso não é culpa do sistema operacional, mas do fabricante do hardware e do desenvolvedor do driver, há pouco para a comunidade de software livre fazer nesse sentido. Os fabricantes ainda resistem a publicar suas especificações para a comunidade livre e muitos dispositivos tem problemas mesmo nas plataformas da Microsoft. Volto à questão da busca por material para estudo sobre como os dispositivos funcionam para fazê-los funcionar da seguinte forma: suponho que os usuários comuns do texto também não precisem ir às bibliotecas de suas escolas e faculdades para procurar por literatura para estudar para provas e fazer trabalhos e tão pouco precisem de manuais de instruções para seus automóveis e eletrodomésticos, afinal em seu mundo tudo é tão auto-explicativo e fácil de usar que dispensa qualquer conhecimento prévio sobre o assunto, correto?

"Estas pequenas coisas que não tem no linux atrapalha e muito a sua ascenssão total para o mercado desktop."

Certamente que atrapalham, como atrapalham o PC de chegar à sala de estar e tornar-se o centro multi-mídia de uma casa, mesmo já substituindo telefones, TV, DVD, set top boxes de TV a cabo, controles de ar condicionado e etc. Um único computador poderia substituir tudo isso, se não fosse complicado demais para usar.

"A primeira providência a ser tomada seria a patronização total das distribuições, é complicado ter que tratar os codigos do slack de um modo, do debian de outro, o do red hat de outro etc."

Isso reverteria toda vantagem de usar o GNU/Linux no mundo corporativo. E não daria nenhuma vantagem pela briga no mercado doméstico. Havia apenas um OS/2 Warp, apenas um BeOS e nenhum deles conseguiu a penetração a longo termo que espera-se que o GNU/Linux vá conseguir. Então a padronização por si só não adiciona vantagens significativas mas cria riscos. Ter um Debian completamente diferente de um Red Hat e ainda poder rodar o mesmo programa em ambos é a virtude do GNU/Linux. Assim você pode buscar a melhor solução pro seu negócio, ou então o sistema que mais lhe agrada e ainda impede que um software malicioso explore um fraqueza específica para derrubar um grande número de sistemas. A diversidade é bela e é sempre buscada pela natureza, porque funciona melhor assim.

"E mesmo quem tem internet rápida o certo e você colocar o cd do programa no CD-ROM e com um auto run ele rodar e começar a instalar.

Nada de comandos rpm, apt-get, tarballs e afins."

Outra grande vantagem do GNU/Linux em suas distros mais atuais é a possibilidade de baixar a custo próximo de zero e de maneira quase autônoma softwares atualziados e compatíveis. Isso é considerado pela maioria dos usuários de GNU/Linux uma grande virtude, retirá-la seria a contra-mão dos serviços on-line, um grande erro!

"Por que eu tenho que entrar no console para poder tirar o máximo proveito do meu S.O ?!
Por que não implementar isto com janelinhas bunitinhas sem nenhum código para o usuário comum ?"

Porque o console (ou shell) é uma ferramenta de grande utilidade para quem estuda e aprende como usá-la. Grande parte do poder que tornou o UNIX um sistema famoso vem do seu modelo de operação com redirecionamento de entradas e saídas e pipes em console e as possibilidades que um shell poderoso trazem são infinitas. Tão infinitas que a Microsoft irá inserir um shell muito parecido com o do Linux em seu próximo Windows. Veja, o texto sugere que façamos o oposto do que a Microsoft está planejando fazer. Minha versão do aMule é um beta (um RC) e tem a péssima mania de fechar sozinha de vez em quando e reportar um erro no console. Eu queria que ela estivesse aberta o tempo todo, então escrevi um pequeno script BASH de 3 linhas que lançam o aMule e verificam o estado de fechamento do programa. Quando eu o fecho pela GUI, tudo bem, mas quando ele fecha sozinho é reiniciado. Para implementar isso com janelinhas bonitinhas e botõezinhos eu teria que escrever muito mais linhas de código e usar APIs da interface gráfica, o que geraria um programa mais pesado, que consumiria mais recursos e mais do meu tempo.

Usar o console é uma maneira de aproveitar melhor seu SO, claro, e é por causa do shell do GNU/Linux que sua fama como server é incrível, pois podemos deixar como servidor de http, ftp, e-mails, arquivos, impressão, mp3 pela rede, voip ou qualquer outra coisa uma máquina GNU/Linux sem interface gráfica, com muito menos consumo de memória RAM que qualquer outra solução usando hardware genérico (ou seja a baixo custo) coisas que com Windows é impossível de fazer. Retirar isso do GNU/Linux é retirar grande parte de seus pontos fortes.

"Vejam a Microsoft podem falar oque for do Windows mas ninguem abandona ele 100 %. Ele é o exemplo ideal para um S.O voltado ao usuário comum."

Abandonar algo 100% pode ser um erro. Devemos buscar usar todas as ferramentas disponíveis para as aplicações que queremos. Eu uso Windows toda vez que quero jogar Vice City em uma lan house aqui perto, fazer o quê? Mas se o Windows fosse o exemplo ideal de um SO voltado ao usuário comum não estaríamos tendo essa discussão agora, pois não estaríamos buscando uma alternativa para uma solução que fosse realmente ideal.


"Afinal é free e quem quiser fazer um S.O personalizado é facinho ..."

E é aqui que eu não entendo o texto e seu autor. Lá atrás criticou a existência de tantos padrões distintos de GNU/Linux e defendeu uma unificação e aqui diz que poderiam ser criadas diversas versões personalizadas, exatamente como é hoje!

O GNU/Linux é um ótimo sistema operacional, com alguns defeitos e algumas virtudes, mas um produto excelente de potencialidades magníficas. Basea-se em uma plataforma sólida (o UNIX) e está a cada dia mais nas graças do mercado. Mudá-lo radicalmente como o texto sugere é enxotar toda a comunidade que fez o GNU/Linux ser o que é hoje e estar publicamente designado para concorrer com o Windows. Chegar ao desktop é mais uma questão de manter a comunidade coesa e os rumos tomados agora, do que sair modificando tudo pra ver o que acontece. Afinal se o GNU/Linux perdesse o shell, sua diversidade e sua estabilidade para parecer-se mais com o Windows eu seria um dos que pulariam para o time do BSD.


Follow falcon_dark on Twitter
Google

sexta-feira, agosto 05, 2005

Efeito colateral e o mundo dos Scripts

Podem me acusar de ser cínico, ou sádico. Mas parecemos estar presenciando o primeiro efeito colateral da mania da Microsoft de anunciar com anos de antecedência as novas peculiaridades de seus produtos. Explico: no mundo do software livre existe uma cultura muito forte de apenas retirar o estatus de BETA de um programa após ele ter sido exaustivamente textado e debugado. Meu software de gravação de CDs é um beta, por exemplo. Só após muitos lançamentos públicos um software livre atinge a versão 1.0 e torna-se um programa considerado estável. O Debian é um exemplo muito bonito disso, pois o sistema fica vários meses em BETA antes de ser considerado estável. Não é raro encontrarmos um Debian unstable rodando em um servidor pois mesmo essas versões já diveram várias sub-versões para serem testados.

Poderíamos dizer até que é essa cultura a grande responsável pela fama que os softwares livres tem de serem mais estáveis e menos sucetíveis e erros e falhas que grande parte dos softwares de desenvolvimento fechado. Parece ser essa a opinião da Microsoft, pois ela está fazendo questão de liberar betas de seus futuros programas com uma antecedência muito maior agora do que antes. Estamos a um ano de distância do próximo Windows e ele já teve (2 se não me engano) betas públicos.

É bem verdade que a maioria dos recursos prometidos para o próximo Windows ainda não deram as caras nas versões de teste do Longhorn que saíram até agora. E pessoalmente duvido que elas estarão presentes no Windows Vista (nome oficial que o sistema terá lá em 2006). Mas para uma coisa essas versões beta já serviram: a criação de vírus conceituais!

Um vírus conceitual não é um vírus propriamente dito, ele é um programa malicioso mas que não tem por objetivo prejudicar os usuários de um sistema ou tecnologia. Geralmente um vírus conceitual apenas deseja provar que é ou será possível criar novos vírus para um sistema ou dispositivo. E foi isso que aconteceu com o Windows Vista, que ainda está longe de ser lançado mas que já ganhou seu primeiro vírus conceitual.

Se as coisas continuarem assim no dia em que o Windows Vista chegar oficialmente ao mercado após passar horas na fila para adquirir uma cópia o usuário poderá, em casa, feliz e contente inserir o CD ou DVD no computador para quando o sistema terminar de ser instalado encontrar a internet recheada de dezenas de vírus prontos para atacar seu sistema novinho em folha. [Que construção gramatical absurda, uma frase do tamanho de um parágrafo]

A busca de um programa extenso de testes beta talvez não leve à um maior refinamento do software, mas parece que irá levar ao desenvolvimento de diversos softwares maliciosos para atacar a nova plataforma. E isso pode acontecer também com o IE7 que até seu lançamento pode ter algumas vulnerabilidades exploradas por crackers.

Segundo o que foi publicado por alguns sites de notícias (veja aqui) as vulnerabilidades exploradas até agora no Vista (Longhorn) podem ser potencializadas por um novo componente do Windows, chamado MSH. O MSH (Monad Shell) é um novo interpretador de comandos que irá substituir o command.com(.exe) e o cmd.exe na família Windows. A razão para supor que esse novo shell deixará o sistema menos seguro é que ele será um shell muito parecido (e eu quero dizer muito parecido mesmo) com o BASH (Bourne Again Shell) tão conhecido no mundo UNIX.

O curioso é que um shell poderoso e flexível, como o BASH, é considerado como um dos pontos fortes da arquitetura do UNIX e seus descendentes como o Linux e o BSD. Esse mesmo poder e flexibilidade agora levados ao mundo Windows estão sendo vistos, ao menos nesse primeiro momento, como um perigo para a segurança e integridade do sistema. A microsoft sentiu a necessidade de incluir um shell mais poderoso no Windows para permitir que scripts (arquivos texto com sequências de comandos) mais complexos possam ser criados para automatizar a execução de tarefas, principalmente de administração. É a velha tática de copiar os pontos fortes do adversário.

Isso trás duas conclusões interessantes! A primeira é que o GNU/Linux atravessa um momento onde busca reproduzir características típicas do Windows, como configurações avançadas dentro da GUI e programas com interface mais elaborada de um modo geral, para permitir a penetração do sistema no ambiente doméstico, formado majoritariamente de usuários leigos. Enquanto isso o Windows procura reproduzir características típicas do UNIX como o shell complexo, um sistema modular construído sobre pequenos programas que podem ser encadeados e com estabilidade para administrar servidores em rede.

A segunda conclusão interessante é que a Microsoft não está só buscando reproduzir as funcionalidades do shell do UNIX, mas está fazendo seu MSH à imagem e semelhança do BASH. Não confie em mim sobre isso, visite a página sobre o assunto na MSDN e veja como a estrutura sintática e funcional do MSH está muito mais parecida com o BASH do que com C/C++ e outras linguagens. Os comandos são muito semelhantes aos do BASH e as variáveis e outras pequenas coisas são no MSH idênticas ao BASH.

Isso leva-me a pensar sobre algo. Não que eu queira acusar alguém ou empresa de atos ilícitos ou anti-éticos. Existem licenças de software livre que obrigam a qualquer software que use código livre regido por elas a permanecer livre e aberto, como a GPL. E existem outras licenças que não obrigam o código a permanecer livre mesmo que se use código livre para criá-lo, como a BSD. O que impediria uma empresa, como a Microsoft por exemplo, que pegar um shell UNIX regido por uma licença que não obriga a manutenção da liberdade, e levá-lo para o Windows como software proprietário aproveitando-se do trabalho (gratuíto) de pessoas que voluntariamente desenvolveram algo. É óbvio que esse não é o caso, já que a Microsoft jamais cometeria ato de tão baixa ética [minha veia humorística apareceu agora, não?] e, principalmente, porque o BASH está sob a GPL.

Mas só um momento! Se o software da Microsoft é proprietário e por conseqüência de código fechado, como saberíamos se esta pegasse o código do BASH e transformasse-o em seu MSH? A única possibilidade é a suspeita, e esta pode advir da semelhança entre a operação do MSH e do BASH. Sem querer levantar teorias da conspiração, estou brincando aqui, ok? Mas isso poderia servir para uma reflexão para os críticos da GPL e da FSF.

E tudo isto leva-me à questão final deste longo artigo: quem irá processar a Microsoft para que a justiça analise o código do MSH em buscar de plágio do código do BASH como a SCO fez com a IBM no caso do kernel Linux pouco tempo atrás? Te peguei, estou brincando de novo!

Follow falcon_dark on Twitter
Google

quinta-feira, agosto 04, 2005

A força dos Jogos

É nítido para qualquer um em contato com o mundo da tecnologia que o software livre como um todo avança cada vez mais dentro dos mais diversos nichos de mercado. De fato aonde os produtos do software livre não são líderes (como nos web servers onde o Apache é o principal representante há alguns anos) sempre existe um TOP 5 que mostra bons competidores de código aberto. São poucas as categorias de software, por assim chamar, que não possuem um representante OSS ou livre.

Um nicho que se tornou a vedete da imprensa especializada é o dos navegadores de web. Não raro podemos ver manchetes que dizem estar de volta a guerra dos browsers, termo que refere-se ao período (no final da década de 90) no qual a Microsoft e seu Internet Explorer vareram do mapa o pioneiro Netscape Navigator. A guerra agora estaria de volta pelas mãos da Mozilla Foundation (organização fundada pela própria Netscape para gerir a abertura de código de seus finados produtos o Navigator e o Communicator) e seu start up Firefox.

O panorama que cheira como um filme de terror para a Microsoft (com um ser retornando das tumbas transmutado de um Dinossauro vermelho para uma raposa flamejante) cria-se em um momento delicado para o software proprietário enquando modelo de comercialização de software. Já não bastava o Linux e o OpenOffice.org para atormentar os trabalhadores de Redmond, ainda aparece um programa para causticar a Microsoft no nicho onde ela ainda sentia-se inatacável, os browsers.

Não que não houvesse competidores à altura. O Opera está por aí há algum tempo e quem já usou sabe de sua indiscutível qualidade como software. Então o que mudou? Porque o Firefox e não o Opera estão colocando à prova a liderança do Internet Explorer no mercado de navegadores?

Poderíamos apontar o fato do Opera ser um programa pelo qual você deve pagar, cuja versão "gratuita" traz propagandas que ficam constantemente na parte superior da tela, um recurso não muito popular convenhamos. Mas creio ser mais provável que o Firefox tenha caído nas graças dos internautas por outros motivos. O primeiro deles é que muitos navegantes da "velha escola" (como eu) usaram no passado os navegadores da Netscape e por isso sempre olharam para o IE como um estranho e não acharam no Opera seu verdadeiro "eu cibernético". O segundo seria o fato do Firefox ser um projeto comunitário, aberto, que permite que os usuários influenciem bem mais rapidamente os recursos que estarão disponíveis nas próximas versões. E por último os problemas infinitos com spywares que instalam-se sozinhos no IE quando você navega por sites mal intencionados.

É claro que diante da nova guerra dos navegadores poderíamos esperar uma resposta à altura da Microsoft. E esta com seu marketing competente já alardeia aos quatro ventos que tipo de inovações seu novo navegador (em sua versão 7) trará. Mas após o primeiro beta chegar à público um sentimento de decepção instala-se na mídia especializada. Parece que a reação da Microsoft será menos forte do que o necessário para segurar o sentimento de euforia dos usuários e desenvolvedores do Firefox.

Eu bem que gostaria de instalar o beta do IE7 para testá-lo, mas como não há um beta para Linux (hehe) eu decidi não fazer isso. Entretanto o Bruno Torres em seu blog baixou e testou o primeiro beta so próximo navegador da Microsoft e relatou suas impressões. Como eu já sabia que aconteceria todas as promessas da Microsoft eram falsas, e é exatamente isso que acontecerá quando o Windows Vista (antigo Longhorn) chegar ao mercado ano que vem.

Então como o Windows continua a perder lugar (se não nos computadores mas principalmente nos corações e mentes de muitos usuários) para o GNU/Linux, o IE também parece fadado a continuar a perder cada vez mais mercado para os concorrentes, principalmente o Firefox. Agora que o software livre tem consolidado excelentes competidores em vários nichos do mercado a comunidade deve olhar a frente e começar a pensar no futuro.

O GNU/Linux já é competente o bastante para disputar a corrida cabeça à cabeça com o Windows no desktop doméstico. Não faltam bons programas, grandes empresas dispostas à investir e temos até diversas iniciativas educacionais em prol do GNU/Linux. Mas tenho a sensação particular de que uma categoria que ainda tem poucos representantes de peso é essêncial para o GNU/Linux emplacar de vez por todas no mercado doméstico: os jogos!

Desde que a id Software anunciou a liberação das engines de Quake sob a GPL (engines ou motores, máquinas em português são sistemas de software responsáveis pela mecânica gráfica e funcional de aplicativos completos) foi aberta a oportunidade para que jogos de ponta e livres fossem lançados para GNU/Linux e outras plataformas. Mas além do próprio Quake e versões do Unreal Tournment poucos jogos de peso chegaram à plataforma do pingüim.

Infra estrutura para isso existe, afinal os drivers de vídeo dos desenvolvedores de ponta como nVidia e ATI estão ficando melhores e mais próximos de suas versões para Win. O OpenGL (biblioteca para desenvolvimento de ambientes 3D) recebe constantes avanços e encontra-se muito próximo (em recursos e desempenho) ao DirectX. Boas suites de desenvolvimento para OpenGL em C/C++ e diversas outras linguagens estão aparecendo e muito próximas de seus equivalentes proprietários e mão de obra técnica não falta. O sistema GNU/Linux é muito bem estruturado para suportar jogos de alto nível, afinal um sistema que consegue ser servidor premiun e trabalhar em cluster pode ser adaptado para ser um video game de primeira linha. Então porque nenhum grande fabricante de jogos tentou lançar oficialmente jogos para GNU/Linux em larga escala?

A resposta para essa pergunta pode passar pelo fato de usuários de GNU/Linux (e software livre em geral) não manterem uma cultura de comprar programas em caixinhas, o que não é verdade. Acredito que a resposta esteja nos consoles ou video-games como costumamos chamá-los.

Quando a Microsoft anunciou sua entrada no mundo dos consoles, com seu Xbox para brigar com Playstation e GameCube ela o fez usando o hardware do PC: processador pentium, memórias DDR, HD, etc. O sistema adotado no console foi uma versão muito modificada do próprio windows, com uma API levemente reescrita e suporte extenso ao DirectX que já estava popular nos computadores. Para a segunda geração do Playstation a Sony optou por uma versão de Linux (segundo informações não confirmadas) e desenvolveu (se sobre a OpenGL ou do zero é uma incógnita) uma API gráfica própria totalmente escrita para sua plataforma proprietária.

O resultado dessas escolhas dos fabricantes é que a Microsoft com o Xbox abriu caminho para que as empresas adaptassem seus títulos de PC para o console e vice-versa. Enquanto a Sony confinou os desenvolvedores de jogos para Playstation em uma plataforma proprietária (e segundo alguns textos da internet de desenvolvimento mais complexo) cujo código precisava de muita reformulação para poder ser levado para outras plataformas.

Com a próxima geração de consoles na boca do forno podemos imaginar o panorama futuro para os jogos. A Microsoft irá usar no próximo Xbox processadores PowerPC (da IBM, os mesmos que a Apple abandonará em prol dos processadores Intel, que curioso) mantendo um certo parentesco com o DirectX existente no Windows. A Sony não divulgou informações sobre o Playstation 3 mas o mercado aposta em uma solução baseada nos processadores Cell (desenvolvidos por um consórcio entre a IBM, a Toshiba e a Sony). Acontece que IBM (que curiosamente estaria participando da tecnologia de ambos consoles), Toshiba e Sony já apregoam em seus sites que o Cell será a próxima geração de processadores para PCs domésticos e para eletrônicos de maneira geral, o que transformaria o próximo Playstation (se confirmadas as especulações) no primeiro representante de toda uma nova geração de eletrônicos de massa.

Se a Sony fizer a lição de casa e desenvolver para o PS3 um sistema baseado em Linux e OpenGL estará dando um passo para que as desenvolvedoras de jogos possam criar títulos portáveis para os PCs que usem essas mesmas APIs. Caso todo esse quadro confirme-se um grande passo para a adoção do GNU/Linux em sistemas domésticos estaria sendo dado pois vários títulos feitos para PS3 estariam a um passo de serem levados para o GNU/Linux dos PCs, o que colocaria em pé de igualdade o mercado de jogos das plataformas computacionais domésticas.

É claro o interesse da IBM (e de outras empresas de informática) de popularizar o GNU/Linux como alternativa ao Windows. A participação da IBM no desenvolvimento do PS3 é desconhecida, mas se estiver acontecendo nessa escala pode significar muitos jogos sendo escritos nativamente para as plataformas abertas nos próximos anos. E veríamos ir por terra a última barreira que separa Windows e GNU/Linux no mercado doméstico. Com títulos de peso sendo portados e vendidos para GNU/Linux haverá menos motivos que possam prender os usuários à plataforma proprietária da Microsoft.

Isso pode proporcionar uma oportunidade de ouro para a Sony manter sua hegemonia no mercado de consoles. Poderá ser a primeira vez que uma comunidade desenvolve de maneira aberta um jogo para um console. Poderemos, com a próxima geração de video-games e jogos, ver o software livre não só estabalecendo-se no desktop doméstico mas também cravando bandeira definitiva nos eletrônicos de entretenimento. Vamos torcer!

Follow falcon_dark on Twitter
Google

This page is powered by Blogger. Isn't yours?