The Coders

quarta-feira, maio 03, 2006

Mono, mais uma chance para o Monopólio?

Mono, mais uma chance para o Monopólio?


Esse artigo está em: http://200.211.78.140/taq/mono.php


Antes de mais nada, gostaria de explicitar aqui que a opinião expressa nesse documento é única e exclusivamente de minha responsabilidade, e que não estou tentando julgar, incriminar ou condenar ninguém, apenas expresso a liberdade de expressão à que tenho direito.
Não é minha intenção ofender ninguém com o texto, mas quero fazer as pessoas pensarem a respeito de uma situação potencialmente perigosa para o software livre, mesmo que alguns a possam julgar como “teoria da conspiração”.
As frases aqui mencionadas foram colhidas em documentos na internet e revistas, que tiveram seus nomes e números mencionados no final do texto.
Esse texto pode ser copiado livremente desde que mencionado o autor e a fonte do mesmo.

Também disponível em PDF

TaQ eustaquiorangel@yahoo.com
http://beam.to/taq/mono.html
01/01/2004

O que acontece?

Um dos “hypes” atuais, que está ganhando força em uma parte da comunidade do software livre é o projeto Mono (http://www.go-mono.org), liderado pelo não menos polêmico Miguel de Icaza, que está com algumas idéias estranhas atualmente.

Não consigo parar de fazer uma analogia ao nome do projeto, Mono, com a palavra monopólio, não importa que digam que deram esse nome ao projeto devido à palavra espanhola que significa macaco (que vem a ser também o símbolo da Ximian, a companhia de Icaza recentemente adquirida pela Novell), e é sobre isso que irei falar no decorrer do texto.

O Icaza tem uma idéia que, na teoria mais pura e inocente que podemos imaginar, é muito boa. Usar um ambiente para rodar programas em várias linguagens, e para várias plataformas. O problema é quem é o criador desse ambiente ...

Nossos “amigos” de Redmond

Como todos vocês devem estar carecas de saber, o criador da plataforma .NET é ninguém menos que a Microsoft, uma empresa bem conhecida por muitas das dores de cabeça que temos hoje no setor de tecnologia, mesmo para a esmagadora maioria de seus usuários. Que jogue a primeira pedra quem nunca teve uma “tela azul da morte” e perdeu alguma coisa que estava rodando ou foi atingido por alguma praga virtual sorrateira e tão rápida que nem dá para atualizar seu antivírus (isso se você tiver dinheiro para pagar por ele).

Não que a Microsoft possa ser considerada a besta do apocalipse, mas todos sabemos que eles são mestres na tática de “abraçar e extender”, abraçando um padrão e extendendo-o de uma maneira que muitos usuários vão querer usar extensões da própria Microsoft para esse padrão. Alguém aí se lembra do estrago com o HTML que o Internet Explorer fez ao ser distribuído gratuitamente, levando à sua adoção em massa, através de campanhas de marketing e práticas monopolistas (ele não podia ser desinstalado, pois era “parte do sistema operacional”) ? Até hoje se encontram sites para “ie only” perdidos pela net ... rídiculo! É a mesma coisa que construirem estradas somente para Volkswagens, por exemplo.

Pois bem, é a mesma coisa com o .NET agora. Para a Microsoft é interessante sua adoção em massa, para a criação de uma posição de mercado monopolista, ainda mais com alguém dando uma mãozinha em um ambiente que ela não domina, e que é seu maior inimigo e sua maior ameaça (não fui eu que disse isso, foi a própria Microsoft!), o Linux.

Mantenha os amigos perto, e os inimigos mais perto ainda

É interessante notar que para a Microsoft o Linux é seu inimigo, tanto tecnicamente como comercialmente. Para o Linux, no entanto, a ameaça da Microsoft no quesito técnico já foi provada como inócua há muito tempo. E isso não com suposições, são fatos, os programas são melhores, mais estáveis e dão ao usuário a liberdade e o respeito que eles merecem, e no campo comercial essa ameaça é inexistente, pois apesar de ter uma turminha bem entusiasmada para que aconteça a “morte do império”, não temos nada a ganhar comercialmente com isso, talvez mais mercado para os profissionais do software livre, mas nada que seja contábilmente palpável. Não deixa de ser tentatora a idéia de uma derrocada final da Microsoft, caindo do pedestal da sua arrogância e jogo sujo, mas para deixar claro a minha idéia sobre isso aqui, acredito que tem espaço para todos, mas agora é chegada a hora de colocar os pingos nos “is” e a Microsoft no lugar dela, não de líder “forçada” de tecnologia e empresa de política e poder, e sim como uma empresa de software, grande, enorme, mas ainda assim uma empresa de software.

E eles estão desesperados. Basta fazer uma retrospectiva desde os documentos Halloween até os dias de hoje, quando vemos a nojenta representação de Bill Gates e Steve Ballmer vestidos como Morpheus e Neo, alegando que a Matrix roda Linux, os programadores de software livre são os agentes a serviço da Matrix e a humanidade está sendo enganada pelo software livre. Agora só restou isso para eles, pois tecnicamente como mencionei acima o Linux é muito superior à qualquer colcha de retalhos que possa ser oferecida pela Microsoft, e eles perceberam que isso está sendo cada vez mais percebido pelo mundo todo e não há nada que eles possam fazer para mudar esse fato. É palpável. É um fato sólido e cada vez mais visível.

O problema é que, se eles não tem competência técnica para mudar isso, vão começar a jogar sujo, que é a coisa mais nojenta que eles podem fazer, e fazem. Nós temos todas as condições do mundo de sermos totalmente independentes da Microsoft, mas eles não se satisfazem e vem “cutucar” o nosso lado, mesmo que estejamos numa boa (principalmente se estivermos numa boa).

Fica apenas uma redenção registrada a favor da Microsoft por toda essa politicagem e jogo sujo, a de que eles são uma empresa que visa lucros, e ser político e jogar sujo no modelo de negócios comercial não é nenhum pecado, pelo menos até os limites aceitáveis de civilidade.

Levando tudo isso em conta, o Linux emergindo cada vez mais, a liberdade que isso propicia se espalhando a velocidades notáveis, o modelo de negócios da Microsoft agonizando, agora é a hora de dizer:

a) Microsoft, ponha-se em seu lugar e tente fazer alguma coisa que preste e receba seus méritos por isso
ou
b) Microsoft, sua hora chegou.

A posição de “liderança” do mercado de informática, em qualquer das duas alternativas, é perdida, e é isso que assusta a Microsoft. Como diria Mitchell Baker, do Mozilla team:
Entre as escolhas que precisamos, há a escolha de liderança. Nós estamos nos movendo rápido para um mundo em qual um volume muito alto de software e informação é controlado pela Microsoft, e em que um monte de inovações vão ser filtradas pelos planos de negócios deles. Open source é muito mais que um arranjo de licenças, é um solo fértil para inovação através de experimentação, e a saúde do sistema inteiro nos fazem procurar maneiras desses experimentos terem sucesso.

Prefiro a liderança mais justa, ética e competente do modelo do software livre, onde a inovação se faz presente e crescente, do que do modelo predatório do software proprietário.

Mas tem gente que pensa diferente ...

O free software e o software proprietário terão que viver juntos por muito tempo, isso é apenas o jeito que as coisas são. Mais ou menos em 1995, nós esperávamos uma dominação mundial liderada pelo Linux e pela substituição total do software proprietário pelo software livre. Agora sabemos que existem muitas forças envolvidas na escolha do tipo de software, na manutenção dele e isso torna a migração de usuários impossível. Por isso será melhor aprendermos a trabalhar juntos.1

Essa frase vem de Miguel de Icaza, o líder do Mono, e vale alguns comentários ... acho muita inocência ou mesmo arrogância imaginar que em 1995 poderíamos ter esse tipo de reação. O Linux era bem novo na época, (Linus postou sua famosa mensagem anunciando o Linux em um fórum de discussão em 25 de Agosto de 1991!) e quantos de vocês que estão lendo tinham uma conexão decente com a internet em 1995? Quantos não estavam prestando atenção no alarde que o Windows 95 estava fazendo?

A máquina de marketing da Microsoft estava a pleno vapor, a ponto de sufocar completamente qualquer outra tentativa de concorrência (vide o OS/2 Warp, da IBM, que sumiu do mapa rapidinho), e posso arriscar que uma grande parte do globo terrestre nem sabia o que era o modelo de desenvolvimento do software livre. Então como o Icaza pode dizer uma coisa dessas? Será que ele era (ou é) muito arrogante, ou inocente, na época (até hoje) ?

Sabemos hoje com nossa atual política aqui no Brasil que podemos ter algumas belas ilusões em relação à situações utópicas exageradas. Coisas que na teoria são a oitava maravilha do mundo, que em forma de bravatas funcionam muito bem mas na prática são impráticaveis pelo menos a médio prazo. Essa inocência política com altas expectivativas a cerca de um fato que chega quase aos extremos de ser religioso serve bem para explicar uma provável ansiedade da reação esperada pelo Icaza na época, mas não sei não, mesmo assim essa justificativa dele me soou muito exagerada e vazia.

Outro ponto interessante é a menção de “forças envolvidas na escolha do tipo de software” ... todos sabemos da pressão mercadológica que uma empresa de software comercial pode exercer em governos, empresas e até em usuários finais, mas agora não seria a hora da mudança? Vejam como muitos governos estão aderindo ao software livre, tanto pelo fato de ser melhor como por ser livre e gratuito. Essas forças envolvidas só tem a sua força expressa se nós aceitarmos, se não ela fica inócua!

Lógico que seria um estado utópico imaginar que podemos trocar tudo da noite para o dia, mas o fato é que podemos sim mostrar para as pessoas as vantagens do software livre, as vantagens da sua manutenção, que apesar que mais técnica hoje em dia não segue o padrão de “vamos ter problemas para podermos consertar e cobrar depois”, e a migração de usuários nunca vai ser impossível se tivermos a boa vontade de divulgar mais nossas idéias!

Eu trabalho em uma empresa onde só havia software proprietário, mas hoje em dia usamos muito software livre e para os usuários e para a empresa foi a melhor opção. Tenho orgulho de dizer que o modelo de software livre funcionou muito bem para mim, e se eu fiz, se muita gente já fez essa mudança, por que ela é impossível? O comentário do Icaza transmite muito derrotismo.

Quanto ao fato de aprendermos a trabalhar juntos, nada contra, o ecossistema da informática é muito rico e tem espaço para todos, desde que jogue-se limpo. O jogo sujo anula qualquer tentativa boa intencionada de uma boa vizinhança e convivência pacífica, tanto nesse nosso ambiente como em qualquer outro. Tentem lembrar daqueles desenhos animados onde havia uma corrida e o Dick Vigarista furava o pneu do outro carro ou jogava todo mundo num abismo para chegar na frente. Seria uma situação bem parecida.

A plataforma de desenvolvimento .NET é essencialmente uma nova e sólida base para o desenvolvimento que dá espaço à Microsoft para crescer nos próximos anos.2

Essa frase foi dita por Rafael Teixeira, membro fundador do Mono Brasil. O que vocês acham? Nesse caso foi explicitado uma boa intenção para com a Microsoft (tadinhos deles!), e boas intenções são louváveis, mas o teor seria o mesmo que esse papo aqui:

Luke Skywalker: “Yoda, posso falar com você um minuto?”
Yoda: “O que afligir você, jovem Jedi?”
Skywalker: “Sabe, o Darth Vader ... eu sei que ele fez muita coisa errada no passado, mas agora eles tem uma tecnologia de sabre de luz que eu achei interessante viu, pelo menos a parte que o Império liberou para o público ...”
Yoda: “Você saber que nas coisas do Império não poder confiar em”
Skywalker: “Ah, sei lá, a gente poderia usar essa tecnologia, tem muitos pontos técnicos bons lá hein”
Yoda: “Jovem Skywalker ver nada estranho em eles esconder coisas fato ser?”
Skywalker: “Para ser sincero tem gente por aí falando que eles podem desativar os sabres de luz por controle remoto quando eles quiserem.”
Yoda: “O que? E confiar você em sabres que desse jeito ser quando em batalha contra o Império estar?”
Skywalker: “Ah, esqueci de dizer, tem uma cláusula que diz que você não pode usar a tecnologia deles contra eles” (mais sobre isso vamos falar daqui a pouco!)


Levando-se em conta o que mencionei acima, essa acabaria sendo a terceira alternativa,:

c) Vamos dar uma mãozinha para a Microsoft a continuar se dando bem, mesmo arriscando o nosso modelo conquistado até aqui.

Isso foi bem apreciado por John Montgomery, diretor da gerência de produtos, plataforma de desenvolvimento e divisão de evangelização da Microsoft, que disse:

Um monte de gente do open source olhando para a .NET por causa da Ximian e do Mono é muito apreciado por nós.

Alguém aí se lembrou do Cavalo de Tróia? Imagino as possibilidades de venda do Visual Studio .NET para o pessoal que gostar de desenvolver no Mono ... eu não instalaria um software desses na minha máquina Linux “redondinha”.

O modelo do Dick Vigarista

Vou aproveitar a menção do Dick Vigarista (vocês se lembram dele, né, da Corrida Maluca?) para fazer uma analogia do que seria depender de uma solução como o Mono para implementar o ambiente de desenvolvimento e uso de uma empresa.

Imagine que você é um ótimo programador, o número 1 da empresa que trabalha e precisa de um framework para rodar lá.

O Dick Vigarista não é tão bom programador, é o número 2, mas é bom de papo. Ele convence você a usar um framework que ele desenvolveu (apesar de não ser bom programador, como foi dito, mas a coisa funciona aos trancos e barrancos) para basear todos os seus programas no framework dele (ao invés de algum baseado em software livre que estava ainda sendo desenvolvido), e você, muito inocente (ou burro) acredita que ele está sendo bonzinho com você e começa a usar o framework dele. Enquanto isso, ele começa a queimar seu filme com o seu chefe, sem você saber, dizendo que você está “pagando pau” para ele pois está usando o software dele, mas que ele tem receio que você possa fazer alguma coisa errada no futuro.

Após dois anos, você está com seus programas rodando perfeitamente, tudo correndo ás mil maravilhas quando de repente acontece alguma coisa que impede seus programas de rodarem. Você bota a culpa no framework do Dick e ele bota a culpa em você (o que ele continua fazendo na empresa após dois anos eu não sei, mas que isso acontece, acontece). Seu chefe não quer nem saber, quer o problema resolvido. Ele solta um “eu avisei” para seu chefe e, lógico, a batata-quente sobra para você. Após tentar alguns dias sem sucesso (oras, está tudo ok, não é possível, por que não funciona, quem já trabalhou com softwares proprietários conhece bem essas frases) seu prazo já estourou e a empresa está entrando em colapso. Nisso seu chefe vai desabafar com o Dick e te chama de coisas não-mencionáveis aqui, e o Dick pede uma chance para poder consertar o problema.

Seu chefe dá a chance para o Dick, que após muita enrolação e pouca mudança de código (ele fingiu trabalhar 5 horas e só trabalhou mesmo 10 minutos) põe a coisa para funcionar novamente. Seu chefe te manda embora, o Dick vira o número 1 lá, com todos os seus códigos que você se esforçou até tarde da noite para fazer, e você, no olho da rua, se pergunta por que não usou o outro framework, que agora já roda legal e tem toda a integridade que só o modelo do software livre pode trazer.

Olhem a opinião de Jeremy Allison, desenvolvedor do Samba:

O Mono é uma idéia muito ruim. De fato, uma idéia terrível. Fazendo isso eles ajudam o .NET se tornar um padrão, fazendo mais fácil a figura do monopólio da Microsoft. E fazendo isso no lado cliente, todo o lado dos servidores estará em apuros também. A Microsoft tem um caso contínuo de pegar o monopólio no lado cliente e migrar para os servidores. Se eles pensam que a Microsoft vai jogar limpo, eles estão loucos!

Um comentário interessante sobre o Jeremy Allison é sobre um almoço que ele teve com um dos altos “oficiais” da Microsoft (ao que parecem eles não mordem ou transmitem doenças infecciosas a curta distancia), no qual eles conversaram sobre a mudança do padrão de troca de senhas do Server Message Block, e a pessoa (a qual ele não quis identificar) lhe disse: “Você sabe que nós temos uma patente nisso, não sabe?

Quando perguntado sobre os perigos que uma situação similar de “take over” iguais a do Dick Vigarista pode oferecer, de a Microsoft der um golpe baseado nas patentes do .NET (iremos falar disso um pouco adiante), um dos desenvolvedores do Mono disse:

As funcionalidades básicas envolvidas existem hà muito tempo para serem envolvidas por patentes. Os componentes básicos do Mono são equivalentes tecnologicamente à tecnologia do Java, que está por aí fazem anos. Se a Microsoft patentear essas tecnologias, nossos planos são para (1) trabalhar em volta dele, (2) remover fora as partes patenteadas e (3) encontrar alguma prova de uso anterior à patente que a deixe inválida.

Pode ser muito bonito falar isso, mas vamos analisar ... a opção 1 é uma intenção, não uma estratégia, a opção 2 iria tornar o projeto inviável e a solução 3 seria uma saída burocratica e extremamente cara, pois a tentativa de inviabilizar uma patente tem altos custos com medidas jurídicas. Alguém acredita que haveria tempo hábil de sobra para essas manobras e para ter seu ambiente totalmente funcional a curto prazo? Ou chamariam o Dick para dar um jeito?

Uma frase de Derek Ferguson, diretor do .NET Developers Journal, nos faz pensar mais um pouco:

A Microsoft está com alguma vantagem de fazer as pessoas pensarem que o .NET é um padrão nos moldes do J2EE, talvez sem precisar ir para esse caminho realmente.” Bons de papo ...

Escolha consciente

Hoje em dia infelizmente uma situação dessas pode perfeitamente acontecer tanto no nível de pessoas como de empresas. Por isso é importante, como programador ou usuário de um computador, se ater à ferramentas e sistemas que sejam íntegros e não cerceiem sua liberdade em troca de poder ou dinheiro (as vezes são a mesma coisa). Se você pensar no futuro, vai ver que o modelo de negócio atual está falido e mudando, em qualquer coisa que represente qualquer meio digital.

Vamos pegar o exemplo da música, as gravadoras vendem tanto quanto antes? Não, pois o produto deles é digital, são CDs, perfeitamente passíveis de serem copiados com 100% de precisão. Não adianta qualquer tentativa de impedir a cópia, pois em questão de semanas essa proteção é “crackeada”. E o que as gravadoras fazem quanto à isso? Investem milhões de dólares em mais travas e aumentam os preços dos CDs até na estratosfera. Insistem em um modelo caduco de negócio ainda. Alguém está vendo algum resultado positivo nisso?

Em uma palestra, uma formanda de Ciências da Computação me perguntou por que eu mantenho meus códigos no modelo do software livre (por falar nisso, mantenho o phpreports http://phpreports.sourceforge.net), se ela estava lá se matando de estudar durante quatro anos, tendo em vista se formar e “desenvolver software para vender e ganhar dinheiro”. Respondi para ela que infelizmente se ela pretende ganhar dinheiro com software comercial, ela terá que ter uma estrutura enorme para isso, pois toda e qualquer coisa que ela desenvolver poderá ser copiada, distríbuida e até alterada pelo mundo todo. Injusto isso? Sim, mas é o jeito que funciona, mesmo se vocês deixarem de lado o modelo de software livre e pensarem somente no modelo de software de camelô vendido na esquina.

Quantos que estão lendo isso tem os programas originais? Se você tiver, parabéns, mas todos sabemos que uma boa parte do público não os tem. O jeito de ganhar dinheiro com software está mudando, hoje em dia para o mundo do software comercial está sendo mais importante o “market share” do que a venda de softwares propriamente dito, e a venda de serviços relacionadas à esses softwares.

É interessante notar que venda de serviços é a coisa que mais impulsiona o software livre no ambito comercial, com a venda de treinamento, manutenção e configuração dos softwares, que são gratuitos. A era do software comercial em relação as vendas está sendo deixada para trás, se aproximando do modelo de venda de serviços do software livre, mas com a diferença que no software comercial ela trás o poder, que pode mover empresas para o alto na bolsa de valores, do mesmo modo que vimos na “bolha da internet” anos atrás ... que não demorou a estourar. ;-)

A escolha mais consciente das suas ferramentas hoje em dia tem que levar em conta tudo isso.

Ignorância confortável

Um monte de gente interessado na .NET como tecnologia não ligam se ela foi inventada pela Microsoft. Todos tipos de problemas são diretamente resolvidos pela .NET. Pessoas não envolvidas com a .NET ou Mono talvez não tenham experimentado esses problemas que poderiam ser ajudados, ou estão felizes com as ferramentas de desenvolvimento atuais do Linux. Mas o Gnome é uma escolha perfeita para o que a .NET está tentando resolver.Miguel de Icaza

Infelizmente hoje em dia temos bastante pessoas que não se importam com isso mesmo, desde que possam fazer alguma coisa que no final do mês lhes renda um bom dinheirinho. É um mercado bem dinâmico, e as pessoas procuram se virar com o que tem na mão, as vezes sendo “o jeito mais fácil”, mesmo tapando o sol com a peneira ou pactuando com o diabo (não resisti a conotação ;-)). Essas pessoas podem ter dois tipos:

a) Os para quem essa “ignorância confortável” de motivos alheios ao que representa o seu salário no final do mês é o que os faz gostar das soluções da Microsoft, e ficar de cabelo em pé com qualquer outro tipo de solução, pois teriam que movimentar suas bundas e seu cérebros para longe dos happy hours e ter que estudar novamente, relegando a evolução profissional que isso poderia trazer. Parece um “cabresto”.

b) Os que estão pouco se lixando com o contexto todo, só querem programar e ganhar dinheiro.

O primeiro tipo é que me deixa mais triste, apesar de o segundo ser mais frio e calculista e mostrar estar pouco se lixando com o passado, presente e futuro, e ser do tipo, nasci, programei, ganhei dinheiro, morri, tchau. O primeiro tipo me leva a imaginar pessoas que não atingem 10% do potencial que a área tem para oferecer, e acabam ficando parados no tempo e xingando qualquer inovação que possa aparecer que exerça alguma pressão na bagagem que eles tem. Tem preguiça de estudar, tem preguiça de evoluir. Apesar que o segundo tipo seja os que tem altos conhecimentos técnicos e capacidade, ainda assim estão longe de serem considerados as pessoas com mais consciência dos seus deveres cívicos para com o seu próximo.

Milagres e “eu mando aqui”

Uma coisa interessante sobre esse comentário do Icaza é o lado milagreiro da .NET. Todos tipos de problemas são resolvidos? Isso me cheira marketing barato ... muito abrangente. Os problemas que talvez as pessoas não tenham experimentado talvez só estejam presentes no Mono e na .NET, o que acham? Agora mencionar o Gnome para uso com o .NET é uma coisa bem complicada. O Icaza chegou ao ponto de dizer que gostaria que o Gnome fosse desenvolvido todo usando o Mono e o padrão .NET, o que gerou comentários como:

Eu não posso acreditar que é sobre o Gnome que ele (Icaza) está falando, mas se for, eu não gostei disso. Eu não sabia que ele estava fazendo isso, eu acho muito difícil de acreditar nisso. Nós gostaríamos que ele viesse se explicar para a comunidade do software livre.Richard Stallman

Você não fala por mim e nem pela maioria dos desenvolvedores do Gnome que eu conheço.” Ian McKellar, mantenedor do GnomeVFS

Já deu para perceber que ele comprou uma bela de uma confusão.

O provável ataque da Microsoft

Já mencionei o fato de que o Linux continua sendo cada vez mais e mais visível como um produto de excelente qualidade e que a Microsoft não tem a capacidade técnica de argumentar contra isso. Alguém se lembra o que eles estavam rodando em seus servidores no último ataque maciço de uma praga na internet (disseminada essencialmente pelos seus próprios produtos), para se defender? Eles estavam rodando Linux no http://www.microsoft.com ! Atestado de competência do Linux mais sarcástico que esse não tem.

Então se eles não conseguem derrubar o Linux usando tecnologia, o que sobra? Jogo sujo e politicagem. Alguém notou o alvoroço que estavámos (e ainda estamos!) tendo em torno de patentes nos últimos meses? Pois bem, essa é uma cartada que a Microsoft pode ser guardando para o futuro. Falar sobre todo o impacto das patentes de software aqui não vem ao caso, pois geraria mais muita documentação, mas deixe me dizer que acredito que patentes são um freio na criatividade e na evolução, ao contrário do que pregavam seus defensores quando foram criadas (e dos que pensam assim até hoje), e que elas podem ser as novas grandes armas das grandes empresas e indústrias contra o cidadão comum.

Pois bem, o que isso tem a ver com o .NET e o Mono? Tudo. A tecnologia .NET está infestada de patentes, e o pouco que foi liberado para que possa ser utilizado em projetos como o Mono está todo cercado por limitações e licenças. Eles estão tentando criar patentes em coisas como metodologias de acesso á uma rede, tratar XML e gerenciar dados de múltiplas fontes, só para citar superficialmente. Patentes podem ser usadas para forçar um monopólio legal, eliminar um competidor, como fonte de renda e como uso defensivo e estratégico. Uma pessoa do World Wide Web Consortium (W3C), disse que é difícil comentar as patentes do .NET sem conhecer os planos específicos da Microsoft. Richard Stallman frequentemente menciona boicotes contra companhias que usam as patentes agressivamente.

O golpe das patentes pode ser dado quando (e se) a tecnologia do Mono estiver sendo utilizada em larga escala em servidores Linux. A Microsoft pode acionar seus advogados para inviabilizar todo o desenvolvimento já feito alegando a quebra de patentes e vendendo suas soluções para todos que forem processados e/ou que tiverem que regularizar sua situação. Isso inviabilizaria a utilização do Mono e consequentemente do Linux nesses ambientes, o que seria uma grande derrota para o modelo de software livre. E essa atitude por parte deles pode até demorar um pouco, por que eles ainda estão bem enrolados com os processos de anti-truste na justiça Americana, se eles dessem esse provável golpe agora seria mais uma dor-de-cabeça para eles.

Leiam aqui algumas opiniões e especulações sobre um provável golpe da Microsoft e suas patentes (e uma boa livrada de barra para o meu lado dos que vão me criticar dizendo que sou um chato, talvez até invejoso, sem 1/10 do que o Icaza já fez pelo software livre, querendo criticar ele ... então estou mostrando gente “de peso” com opiniões similares às minhas) :

Se eu fosse o Icaza, eu poderia me surpreender com patentes escondidas no .NET.” Brian Behlendor, desenvolvedor líder do Apache

O perigo real é que há patentes escondidas.” Eric Allman, Sendmail CTO

Eles estão sendo cuidadosos para patentear tudo relativo ao .NET ... eles vão esperar o caso do DOJ se resolver e vão cair com tudo na indústria do software livre. Apesar de não terem um comportamento passado de forçar suas patentes, nada os impede de fazer no futuro. Craig Mundie, vice presidente senior da microsoft disse que eles tem a intenção de forçar suas patentes ”. Bruce Perens

O risco que a Microsoft irá em um campanha de processos sobre suas patentes, feito mais para assustar potenciais usuários open-source do que efetivamente para paralisar os desenvolvedores é bem substancial”. Eric S. Raymond

Inclusive essa opinião do Eric Raymond já surte efeito hoje em dia. Tem pessoas que nesse caso nem pensam no Mono, se precisam de um framework similar ao .NET já vão direto para a plataforma .NET original com medo de ter dor-de-cabeça com processos mais tarde. Como vocês podem ver, se eu sou meio paranóico, tem mais gente, e gente de peso, no time.

Para tentar justificar o perigo das patentes, Icaza comentou:

Qualquer aplicação que rode no Linux pode estar infringindo patentes escondidas ou desconhecidas da microsoft.”

Então, que se dane fazer mais uma, mesmo com todo o perigo bem visível e explícito e todo mundo advertindo sobre isso, não? Se há alguma aplicação no Linux violando alguma patente, acredito eu que seja por desconhecimento do desenvolvedor (como verificar se a patente já existe é um processo bem complicado, que envolve até as chamadas patentes que estão sendo aprovadas atualmente e são secretas para qualquer tipo de consulta prévia) e pela tremenda boa-fé de disponibilizar seu software livre à terceiros.

Vamos analisar algumas opiniões do pessoal da Microsoft em relação às suas patentes:

A Microsoft vai seguir as regras de patentes da ECMA e ISO, que especificam regras de patentes racionais e não-discriminatórias, mas não necessariamente livres.” John Montgomery, diretor da gerência de produtos, plataforma de desenvolvimento e divisão de evangelização da Microsoft

Nós tentamos proteger nossa propriedade intelectual, e as patentes são um dos meios que o fazemos.” Doug Miller, diretor de estratégia competitiva da divisão do Microsoft Windows

É bem claro e simples para mim, a Microsoft tem um produto comercial, o CLR, e nós o tratamos do mesmo jeito que qualquer outro produto comercial. Ele é coberto por patentes, copyrights, trade secrets, trade marks e qualquer coisa que os nossos advogados possam sonhar.” Jim Miller, Microsoft

Nós temos em alta conta a propriedade intelectual e as leis criadas para a proteger.” Craig Mundie, vice presidente sênior da microsoft

Se alguém implementa um produto que está conforme a CLI, nós acreditamos que temos uma patente ou outra que são essenciais para implementar a especificação.” Michele Herman, diretora de propriedade intelectual da microsoft

Certamente haverá uma implementação da 'Common Language Runtime Implementation' para o Unix, mas será um subset limitado, para uso acadêmico apenas. Nós investimos muitos milhões no .NET, e temos muitas patentes no .NET que queremos cultivar.” Steve Ballmer, CEO da Microsoft

Esse comentário de Steve Ballmer (o maluco do “dance monkey boy” e do “developers, developers, developers”, lembram?) serve como gancho para mencionar que as partes enviadas para o standard ECMA são mínimas, comparadas com o resto do .NET Framework SDK. Para ter um sistema útil, é essencial implementar mais do que isso. As classes cobertas pelo ECMA são apenas 295 classes (até a presente estimativa), comparadas com milhares no total. Muitas pessoas argumentam que para se ter um sistema plenamente funcional e eficiente, são necessárias bem mais do que essas classes básicas. Agora, o que vocês acham que podemos esperar após os comentários acima? Coisa boa realmente parece que não é ...

Tchau, GPL

A GPL especifica que qualquer software que incorpore o código-fonte já licenciado sob a GPL vai por si mesmo se tornar sujeito à GPL. Quando o o software é distribuído, seu criador deve manter o código-fonte inteiro disponível gratuitamente para qualquer um. Esse aspecto viral da GPL é um problema para a propriedade intelectual de qualquer organização que faz uso dela. E também acaba com o setor de software comercial independente por que efetivamente faz impossível distribuir software em uma base onde os usuários paguem pelo produto e não pelo seu custo de distribuição.” Craig Mundie, vice presidente sênior da Microsoft

Pelo que deu para perceber a Microsoft não morre de amores pela GPL, e acredito que eles a consideram um ponto importante para atacar no modelo de software livre (engraçado como a SCO teve a mesma idéia na mesma época ...). Uma das cláusulas da licença royalty-free do .NET é a cláusula de proibição de sub-licenciamento, que estabelece que “ninguém pode licenciar novamente a patente ou transferir a licença que eles permitiram o uso para outro alguém”. Se um desenvolvedor de software livre concordar com essa licença e cláusula, a implementação resultante não pode ser distribuída e nem licenciada usando uma licença como a GPL. Com certeza temos outras licenças de software livre também, mas como disse acima, a GPL é um dos maiores pilares de toda a filosofia do software livre, e as outras licenças fatalmente estão incluídas nessa cláusula.

Então, se você fizer o seu código de software livre usando as licenças cedidas pela Microsoft, pode dizer adeus ás licenças que está acostumado a distribuí-los hoje em dia. Fatalmente vão estar “amarrados” com alguma licença de distribuição cheia de limitações que a Microsoft vai impor. Se imaginarmos que a coisa pegue, o que teremos daqui alguns anos? Isso não sei, mas sei que não teremos mais software livre da mesma maneira que temos hoje em dia.

Outra cláusula que podemos prestar atenção e que mencionei no papo do Luke Skywalker com o Yoda é a suspensão defensiva, que de uma maneira bem cara-de-pau especifica que a Microsoft vai lhe permitir usar a licença, mas se você a processar por qualquer motivo, ela tem direito de revogar a sua licença de uso. A comunidade legal ainda não entrou em acordo sobre quando é apropriado revogar uma licença, mas isso dá realmente a idéia de ficar algemado e incapaz de fazer mais nada contra eles, se você tem (e pagou!) e é dependente de um ambiente deles. A bomba só estoura para o seu lado, completando com o termo de reciprocidade que determina a Microsoft diz que vai permitir a licença royalty-free para as patentes essencias deles, mas em troca ela espera que o usuários licenceiem suas patentes na mesma base royalty-free para a Microsoft também. Pessoalmente acho a idéia de patentes um retrocesso, como expliquei acima, então não vejo muito problema nessa cláusula não, mas um detentor de patentes pode ficar numa situação complicada.

Ah, e temos também a limitação de campo de uso (que especifica que eles te dão o direito de usar a licença da patente deles apenas para o propósito de implementação do standard) que junto da proibição de sub-licenciamento são inconsistentes com as requisições da seção 7 da GPL, que especifica que se você não tem o direto de redistribuir o código como requerido na GPL então você não tem o direto de distribuir ele como um todo.

Considerações finais

Gostaria de lembrar todo o pessoal que trabalha, usa e/ou desenvolve software livre e que estão tentados a utilizar o Mono ou qualquer outra tecnologia de companhias de software comercial, especialmente a Microsoft, que analisem, re-analisem e pensem muito antes de tornar todo seu ambiente dependente de tecnologias que podem ter muitos cavalos-de-tróia escondidos, tanto como código, licenças e patentes. E hoje, diferente de 1995, o Linux é bem mais vísivel e maduro para que possamos mudar a situação em favor de uma política mais honesta, humana e justa no desenvolvimento e distribuição de software.

Referências

1Miguel de Icaza, Geek 39, página 23
2Rafael Teixeira, membro fundador do Mono Brasil, na Geek 39, página 21