The Coders

quarta-feira, maio 10, 2006

César Brod: 'Se eu fosse a Microsoft...'

Escreve o Cesar Brod: “Passado o sétimo Fórum Internacional de Software Livre e toda a repercussão gerada pelo convite do Infomedia TV à Microsoft para que estivesse no evento debatendo com outras pessoas envolvidas com software livre, acabei recebendo uma série de perguntas sobre minha consciência ou não do que estava acontecendo na Europa, as declarações do Andrew Tridgell, as licenças abertas ou não da Microsoft e o porque, se eles querem mesmo se aproximar da comunidade, não colocam o fonte do Windows sob a GPL?

Se eu fosse a Microsoft, eu abria tudo mesmo sob a GPL ou alguma outra licença compatível, abria mão das patentes que tem (muito menos que as da IBM, por exemplo) e minha percepção é de que os negócios da empresa não seriam afetados. Mas esta é a minha percepção. Não posso querer que analistas de negócio da empresa concordem comigo. Agora, a questão é, para quem não está na Microsoft mas está oferecendo serviços e soluções no mercado onde a Microsoft também está presente -- muito presente -- que grande diferença esta abertura ampla, geral e irrestrita faria?

Veja abaixo a continuação do texto.

Minha percepção é de que muito pouca, afora uma euforia momentânea, de curtíssima duração.

Toda a empresa que se preze trabalha com orçamentos. Mesmo uma grande empresa como a Microsoft tem que fazer seus investimentos de forma planejada. É assim que eles podem sobreviver a eventuais erros e investir em produtos conceituais onde não têm nenhum lucro agora. Independente do tamanho, a RedHat e a Solis fazem a mesma coisa, mesmo trabalhando cada uma com modelos de negócios distintos. A possibilidade de lançamento de um Windows e um Office sob uma GPL-Like dispenderia, no mínimo, uns bons milhões de dólares em uma campanha mundial explicando aos clientes da Microsoft a razão pela qual a empresa estaria fazendo isto. Ou alguém aqui acha que todos os clientes para os quais vendemos têm plena ciência do que é uma licença de software? Eles nem têm que se preocupar muito com isto mesmo! O que eles querem são sistemas que atendam suas necessidades de negócio, aumentem a produtividade de seu pessoal, os tornem mais competitivos, por um preço que considerem justo. Se o negócio funcionar, não importa qual o sistema operacional, ou a licença do produto. Para a grande maioria dos clientes, estas coisas são secundárias. Então, que sentido faz direcionar o orçamento para uma campanha que leve o Windows e o Office para uma licença GPL? Além do mais, uma coisa que já disse e repito: licenças são importantes, dão as linhas gerais sobre a forma como um software é utilizado, mas o que vale mesmo, no fim das contas, é o contrato que vai ser estabelecido entre duas partes -- fornecedor e cliente -- com o estabelecimento de garantias e penalidades no caso de falhas. Tipicamente, licenças não oferecem garantias para o caso do software causar algum dano ao negócio
do cliente. Tipicamente, empresas que têm seus negócios críticos controlados por softwares possuem contratos com empresas que lhes dão estas garantias. Acho que em poucos anos, entre cinco e dez, no máximo, licenças não existirão ou não farão nenhum sentido.

Mas vamos também à questão do Samba. Andrew Tridgell reclama em nome da equipe de desenvolvimento do Samba que a Microsoft não dá lá muita bola para eles. Ainda há a necessidade de engenharia reversa e problemas de integração com o Active Directory. Ora, usamos o Samba quando temos que conviver com um legado que são os desktops Microsoft. Se ficar preso a uma plataforma for um problema real para um cliente, que se migre para o OpenLdap. Se eu fosse a Microsoft eu estaria mais preocupado em investir em reais questões de interoperabilidade entre múltiplas plataformas para a oferta de meus produtos do que em gastar tempo -- e dinheiro -- para permitir que meu legado seja substituído. Por outro lado, isto aconteceria mesmo? Não acredito que em larga escala uma integração maior com o Samba afetaria a perda de clientes para a Microsoft... Mas também vejo que, pensando pelo lado da empresa, não faz o menor sentido em pagar para ver. Por outro lado, a empresa acredita em outras formas de integração mais modernas, que vão tomar conta das implantações de TI daqui para a frente, como o uso de web services. Acredita não porque é algo que tenha vindo de dentro da Microsoft, mas porque é algo que o mercado está exigindo. Web services é um assunto quente no ambiente de software livre também e aqueles que têm um olho no futuro estão mais preocupados na manutenção e evolução dos padrões envolvendo web services
do que nos problemas de compatibilização do Samba com o Active Directory, por exemplo.

Dito desta forma, corro o risco de me perguntarem se estou partindo em defesa da Microsoft. Mais uma vez, a resposta é não, por uma questão pura e simples: sei quem eu sou e sei quem a Microsoft é. Definitivamente, a Microsoft não precisa mim para defendê-la. Uso o GNU/Linux em meu computador, sem dual-boot. Recentemente cedi ao Skype e ao MSN porque é a forma como pessoas com as quais precisam falar comigo conhecem. Sou a favor da GPL, da discussão sobre a nova versão e busco participar dela. Mas também acho que enquanto a Free Software Foundation e outras instituições e pessoas lutam contra o DRM, o mesmo é um fato consumado com o qual temos que conviver até que o mesmo deixe de existir, ou não. Assim, não me admira que distribuições Linux venham a incorporar a tecnologia DRM para que seus usuários possam ouvir música, assistir filmes e brincar com jogos protegidos desta forma.

Agora, tem uma coisa que eu acho o cúmulo na tecnologia da Microsoft que é o ActiveX, uma forma artificial e a meu ver nada elegante de se prender usuários a seu browser e aí a seu sistema operacional, algo que acabou atestando contra o próprio Internet Explorer e deixou uma bela de uma brecha para o avanço do software livre no Windows, especialmente com o Firefox. Acho que logo o único portal que irá requerer o ActiveX será o do Windows Update, mas até lá, a Microsoft também terá se dado conta disto e deixado de lado esta tecnologia. Mas até lá, cada vez mais aplicações serão "live" e o Windows Update não será mais necessário também. Minha bola de cristal (tenho duas, uma é reserva) mostra que num futuro não muito distante a Microsoft será uma empresa de "aluguel de facilidades", num modelo de negócios parecido com a Net ou a DirecTV. As pessoas poderão usar seu Office de forma remota, armazenando com segurança e privacidade seus documentos. Claro que não só ela, mas também o Google e outras não tão grandes que estão indo neste mesmo sentido. Tecnologias livres e também proprietárias estarão disponíveis para a oferta destes serviços e ainda muito pouca gente "normal" saberá ou se importará em distingüí-las.

A tendência da Microsoft para uma abertura de seus códigos, independente da forma e quantidade, agrada meu pensamento técnico. Menos necessidade de engenharia reversa, maior rapidez na construção de aplicações interoperáveis. Boa parte dos desenvolvedores com que tenho falado concordam com isto. Quem pode ficar triste são aqueles que, sem ter mais
motivos para falar mal de uma empresa como a Microsoft, vão ficar sem ter mais nada o que fazer.

Next> Next> Terminate....rss

terça-feira, maio 09, 2006

Desmistificando o CMMI - por Renato Luiz Della Volpe *

"FALTA DE TEMPO É DESCULPA DAQUELES QUE PERDEM TEMPO POR FALTA DE MÉTODOS"
Albert Einstein

Apresente-me um profissional de desenvolvimento ou empresa de TI que não vive ou nunca viveu algum episódio relacionado a problemas de qualidade de onde surgem argumentos como:

• "aquele 'programa' que não roda ou que só dá falhas e bugs";
• "o sistema que 'roda' mas não faz o que se esperava";
• "aquele projeto que teima em não terminar";
• "um cliente bravo por um ou vários dos motivos acima";
• "nunca temos tempo para os testes";
• "sempre tenho que ficar trabalhando no final de semana e nem sei se vai adiantar";
• "o pessoal não me entrega os dados para que eu possa desenvolver. Nem dá para entender o que é para fazer".

Enfim, o profissional de TI tem que se acostumar com esta "estressante" dinâmica para sempre? Será que não existe algum caminho que possa ser trilhado sem considerar, é claro, a mudança para outra área de atuação?
Não tem jeito?

Ao contrário do que muitos pensam e afirmam, qualidade em software tem não só um, mas muitos caminhos que podem ser percorridos por pequenas, médias e grandes empresas. Fácil? Não, mas perfeitamente possível. O tema é extenso, há muitos livros e extenso material na Internet para pesquisa e estudo. [ver links ao final da matéria] Neste artigo, é apresentado o CMMI® - Capability Maturity Model Integration - um modelo largamente aplicado em empresas no mundo
e em crescimento no Brasil,que tem como objetivo justamente minimizar e por vezes eliminar, entre outros, os problemas acima citados.

Entenda um pouco deste modelo que faz ou está fazendo a diferença não somente para as empresas que o implantam, como também para os profissionais que possuem seu conhecimento e já entenderam seus benefícios.

MOTIVAÇÕES

Muito se tem falado e discutido, tanto a favor como contra, sobre o CMMI® - Capability Maturity Model Integration, que é um modelo para a estruturação e aprimoramento da maturidade da "capabilidade" dos processos nas organizações de desenvolvimento de software. Aliás, essa definição já seria um pretexto para uma acalorada discussão envolvendo
dois termos utilizados "maturidade" e "capabilidade".

É comum também ouvirmos comentários ou até questionamentos a respeito da aplicação do CMMI como: "Este modelo é para empresas multinacionais e de grande porte" - "Os americanos utilizam o CMMI porque devem atender às regras do departamento de defesa, aqui no Brasil ninguém nos obriga a utilizar" ou ainda, "Isto é aplicável para os indianos que possuem uma forma de atuação diferente da do brasileiro" e a máxima de todos os comentários "Este modelo é muito difícil, complexo e o investimento é elevado".

O propósito deste artigo é, portanto, apresentar colocações que talvez não eliminem, mas ao menos minimizem estes "pré-conceitos" existentes sobre este ou qualquer outro modelo de gestão da qualidade organizacional, voltado ao desenvolvimento de software.

MELHORIA DA MATURIDADE E CAPABILIDADE - O QUE É ISSO E POR QUE BUSCÁ-LAS?

A maturidade está relacionada à qualidade dos processos utilizados em uma organização no desenvolvimento e manutenção de um determinado produto, no caso, os produtos de software. Organizações sem maturidade são as que apresentam características de um processo improvisado pelas pessoas, ou este processo, quando existente, não é
seguido ou cumprido, possuindo, desta forma, grande dependência dos atuais desenvolvedores no que diz respeito ao conhecimento da arquitetura e evolução do software. Estes acarretam o desconhecimento do progresso dos projetos, onde a funcionalidade e a qualidade do produto geralmente são comprometidas para atender aos prazos, nem sempre claramente estabelecidos, os quais irão acarretar custos excessivos de manutenção, insatisfação dos clientes e das pessoas envolvidas na equipe de desenvolvimento, entre outros inconvenientes. Por outro lado, em uma organização madura, temos como principais características: processo bem definido, documentado e continuamente aprimorado que é entendido, utilizado e "vivo" por todas as pessoas envolvidas. É plenamente suportado pela gerência, possibilitando a existência de responsabilidades e papéis claramente definidos, bem como uma grande visibilidade, alinhada ao negócio da organização.

A capabilidade está relacionada a uma evolução da condição de se atingir, cada vez mais, melhores resultados dos processos, sendo que esses são mantidos sob controle em quaisquer circunstâncias. O termo capabilidade, apesar de não existir na Língua Portuguesa, se difere em seu contexto da palavra capacidade, que muitos autores utilizam. Para
uma explicação rápida, a capacidade estaria relacionada com a quantidade a ser produzida ou efetuada (exemplo: x mil linhas de código/ dia). Contudo, como sempre se fala, "Quantidade não é Qualidade", a capabilidade é ter esta capacidade claramente definida e controlada e esta quantidade ser feita respeitando-se limites claros de qualidade

(exemplo: x mil linhas de código/dia com um índice de defeitos com variação máxima de +/- 0,002 erros / mil linhas de código).

Tudo isto não quer dizer que não iremos depender mais das pessoas para o desenvolvimento de software, muito pelo contrário. Em uma definição do que é um "processo", vemos que podemos definir muito bem as etapas (procedimentos) que devemos ter para um desenvolvimento, mas que devemos dar os recursos e a devida capacitação às pessoas para que essas efetivamente "rodem" o processo.

segunda-feira, maio 08, 2006

Haja Rapidamente

Problemas não vão embora sozinhos, mas as oportunidades sim. Se você ficar esperando seus problemas simplesmente desaparecerem, eles provavelmente piorarão e ficarão mais sérios. Se você ficar vacilando quando uma oportunidade bater á sua porta, ela acabará partindo, indo bater na porta de outro.

Se alguma coisa precisa ser feita, faça-a agora. Seja paciente, sim, mas tenha paciência. Enquanto age e faz alguma coisa de concreto.

Se você estiver relutante em fazer algo que precisa ser feito, considere que, quanto mais você esperar, pior ficará a situação.

Você gostaria de ter superpoderes, aja rapidamente, e você conseguirá resolver dez problemas com o mesmo esforço que levaria

Para resolver apenas um que, por preguiça ou indecisão, você deixou crescer desproporcionalmente.

Quanto mais rápido você agir, mais eficaz será.

Certamente você não vai querer pular sem olhar antes, assim que decidir o que precisa ser feito, faça. O tempo é seu recurso mais valioso. Quanto menos tempo você esperar para agir, mais tempo terá. Se alguma coisa precisa ser feita, faça-a agora!

Ralph Marston

sexta-feira, maio 05, 2006

Mono: "Enquanto isso, na lista da Conectiva S/A..."


Chegou no meu email, da Lista da Conectiva S/A que eu participo...

De: Rodolfo Ribeiro Machado

Para: linux-br@bazar2.conectiva.com.br
Data: 05/05/2006 13:39
Assunto: (linux-br)Re: Mono - a arma da MS contra o OS que ela odeia

" Sobre este assunto o que eu tenho a dizer é que foi por isto que eu sai do Windows e fui para o Linux, eu programei em Delphi por 7 anos, quando eu achei que estava chegando no estado da arte, aperfeiçoando meus programas ao máximo, veio este tal de .Net. Eu assinava uma revista de Delphi chamada "Clube Delphi" quando a Borland lançou o Delphi 8 para encampar o .Net ai vieram os artigos na revista para explicar aos programadores como funcionava a tecnologia. Por exemplo, eu tencionava começar a construir DLL's, já que eu tinha muitas units de código fonte em pascal redundantes nos programas, então eu poderia compilar uma unit como DLL e torna-la disponível a todos os meus programas para não ter de copia-la individualmente em cada programa, mas no .net, sempre segundo os artigos da revista, as DLL's estariam extintas, nem mesmo abrir um simples arquivo texto com um programa por mim desenvolvido seria mais possível. Ai veio aquele papo de que a ferramenta de programação, a IDE, se torna irrelevante no .Net, o que conta de fato é a biblioteca subjacente de objetos da Microsoft. Também o que me decepcionou muito foi que a partir do Delphi 6 a Borland lançou o Kylix e ai eu vi a chance de entrar no mundo do Linux tornando meus programas em Delphi compatíveis com Linux através do Kylix mas este sonho logo se desvaneceu com o anunciou de que a partir do Delphi 8 esta compatibilidade não mais existiria por causa do .Net. Alias no Delphi 8 não da nem para compilar os programas escritos nas versões anteriores, eu tinha programas que eu comecei a desenvolver no Delphi 3 e recompilei sucessivamente no 4,5,6, e 7 e agora estava \"travado\" no 8. Também não vi nenhuma vantagem significativa no .Net que justificasse uma mudança tão brusca no Delphi 8. Ai vieram enxurradas de carta para a revista \"Clube Delphi\" de programadores insatisfeitos com o Delphi 8 e posteriormente a Borland lançou o Delphi 2005 com a opção de escolher entre .NET e Win 32 para manter a compatibilidade com as versões anteriores só que para mim já era tarde, porque se eu continuasse no Win 32 estaria sempre \"defasado\" e já que era para recomeçar da estaca zero eu preferi adotar uma nova plataforma onde novas tecnologias fossem adotadas de forma mais democrática e que realmente signifiquem uma melhoria, um acréscimo.Resolvi então começar a usar o Linux e a estudar C++, já que o Kylix foi descontinuado e C++ me parece ser um padrão firme, sólido, não suscetível a modismos. Resumindo, a Microsoft cooptou a Borland, fazendo-a desistir de qualquer investimento no Linux, em troca a Microsoft passou a recomendar o compilador de C# da Borland como padrão para o .Net em detrimento do seu próprio compilador, já que foi a Microsoft quem criou o C#. O que devemos distinguir nesta história, separando o joio do trigo, é o que é realmente uma nova tecnologia que traga
benefícios para o maior numero possível de pessoas, do que é um simples re-arranjo de tecnologias pré-existentes com o motivo claro de criar mais monopólio, aprisionar mais ainda os usuários como é o caso do .Net. Por isso
acho estranho que tal tecnologia seja portada para o Linux, é no mínimo desnecessário, mas não vejo má fé da parte de ninguém na comunidade Linux e sim muita alienação de quem aposta neste mono. "

É...o "bicho vai pegar"...rsss


"Não use pirata; Use o nosso OpenOffice.org"

"Get Legal -- get OpenOffice.org"



quinta-feira, maio 04, 2006

Frases para Gerência de Projetos


“Não se pode gerenciar o que não se pode medir.” – Tom De Marco

“ Métricas de software envolvem um amplo campo de medições que podem ser utilizadas tanto no início do projeto quanto durante o processo de construção do sistema.” – Roger S. Pressman

Leis de Murphy, a miséria da Computação

Lembrem, a melhor técnica é aquela que realmente funciona para você, mesmo que ninguém acredite que funcionou como você disse.

Para relaxar um pouco, vejamos alguns princípios básicos:

O tempo que demora para executar uma tarefa é 3 vezes superior ao inicialmente previsto.

Se ao calcular a duração da tarefa multiplicar-mos por 3 o tempo previsto de modo a obter o resultado correto, nesse caso a tarefa demorará 9 vezes esse tempo.

Os primeiros noventa por centro do trabalho tomam noventa por centro do tempo, e os últimos dez por cento tomam os outros noventa por cento.

O cumprimento dos prazos de execução é inversamente proporcional à rigidez do organograma.

O atraso encurta o trabalho e transfere a responsabilidade para outra pessoa (a autoridade que determinou o prazo)

O atraso reduz a preocupação, já que o nível de qualidade desejado deixa de ser o melhor possível e passa a ser o melhor possível dentro do prazo limitado.

O atraso evita os outros trabalhos.

Como o trabalho está atrasado, os envolvidos nele não recebem novas ordens.

O atraso é capaz até de eliminar o próprio trabalho se a necessidade do trabalho desaparece antes de estar concluído.

Se você for esperar o motivo certo para fazer alguma coisa , nunca fará nada.

Quando se tem muito tempo para começar um trabalho o primeiro esforço é mínimo.

Tudo leva mais tempo do que todo o tempo que você tem disponível.

Só sabe a profundidade da poça quem cai nela.

Se você é capaz de distinguir entre o bom e o mal conselho, você não precisa de conselho.

Quem achar que estou apenas brincando nunca trabalhou a sério. (risos).

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

Desenvolvedor de Software - Manaus / AM / BR

Desenvolvedor de Software

Cidade / Estado / País

Manaus / AM / BR

Empresa

X-dbc Treinamento & Consultoria

Contato

Silmar Rodrigo Preuss

Cargo do contato

Diretor Presidente

Site da empresa

www.x-dbc.com.br

E-mail do contato

rodrigo@x-dbc.com.br

Descrição

A X-dbc,consultoria de pequeno porte com atuação no mercado de Manaus, busca profissionais para atuar no desenvolvimento de projetos de software para celulares (GSM).

Imprescindível:

Mínimo 2 anos de vivencia com Java/J2ME

Inglês avançado (escrita e conversação)

Possibilidade de viagens ao exterior.

Desejável:

Experiência em desenvolvimento para dispositivos móveis

Local

Manaus-AM

Assunto / Código da vaga

Vaga válida até dia

31/05/2006

3/5/2006 15:47:10

Como Fazer, para Enviar Torpedos da Internet para o Celular - em PHP

Segue o código abaixo:

/**********************************************************/
/* Funcao PHP para envio de torpedos para celulares CLARO */
/* Autor: Eduardo Bacchi Kienetz */
/* http://www.noticiaslinux.com.br/eduardo/ */
/* dddto = DDD do telefone destinatario */
/* telto = TELEFONE do destinatario */
/* txt = TEXTO da mensagem */
/* dddde = DDD do remetente */
/* telde = TELEFONE do remetente */
/* nomde = NOME do remetente */
/**********************************************************/
function smsClaro($dddto="",$telto="",$txt="",$dddde="",$telde="",$nomde=""){
// se remetente + texto exceder 136 a msg nao eh enviada
// adicionalmente poderia testar se os parametros estao em branco, etc
// mas na verdade os unicos obrigatorios sao DDD e TEL do destinatario
// e nome do remetente, entao o limite tende a aumentar...
// A soma do tamanho de todos os parametros nao pode exceder 160.
if( (strlen($nomde)+strlen($txt)) >136 ) return false;
$fp = fsockopen ("www2.claro.com.br", 80, $errno);
$txt = urlencode(stripslashes($txt));
if ($fp) {
$conectar = "GET /torpedoweb/clarotw_envia.asp?ddd_para=
$dddto&telefone_para=$telto&nome_de=$nomde&ddd_de=
$dddde&telefone_de=$telde&msg=
$txt HTTP/1.0\r\nHost: www2.claro.com.br\r\n\r\n";
fputs ($fp, $conectar);
$resultado = "";
while (!feof($fp)) $resultado .= fgets ($fp,128);
fclose ($fp);
//Se quiser imprimir a mensagem de retorno
//Me parece inutil pois sempre mostra fl_enviado=true
//echo $resultado;
return true; //SUPONHO que tenha sido enviada
}
else return false;
}
/* teste de envio */
if(smsClaro("xx","12345678","testando texto?","yy","87654321","Kienetz"))
echo "Mensagem possivelmente enviada";
else echo "Mensagem NAO enviada";

clique aqui para download

Frases

"Desenvolvedores de Software bons sabem o que escrever. Grandes Desenvolvedores de Software sabem o que rescrever (e reusar). "

Como Fazer Patrocinar este Blog

Se você se interessa em fazer propaganda, neste Blog, temos uma escala de patrocínio.

Baseado na doação de equipamentos e acessórios ou valores.

Se você se interessar mais, me envie um email para (mauro.risonho@gmail.com) com:

Seu nome
Nome da empresa, se tiver
Endereço
Cidade
Estado
CEP
Telefone de Contato
Email de contato

E te enviarei os planos de doações.

Esse Blog, foi criado e é suportado, para interesses profissionais.

Por favor, nos doe equipamentos para continuar nossas pesquisas na Área da Computação Científica.

Conto com sua ajuda.

Mauro Risonho de Paula Assumpção

Regras de éticas e de conduta, que sigo

1. ­ SER HONESTO E DIGNO DE CONFIANÇA

Um Desenvolvedor de Software tem o dever de ser honesto sobre suas limitações e competências, evitando conflito de interesses, colocando o bem-estar do grupo e a integridade das empresas sempre em primeiro plano, não fazendo declarações ou atos enganosas e/ou prejudiciais.

2. ­ RESPEITAR A PRIVACIDADE
Dado o escopo da pesquisa e desenvolvimento realizada neste laboratório, é de responsabilidade dos integrantes manter a privacidade e integridade dos dados e informações, assegurando sua proteção contra acesso não autorizado ou revelações acidentais a indivíduos não autorizados. Nenhum desenvolvedor de software deve acessar ou usar o sistema, o software ou o arquivo de dados sem permissão apropriada. Os desenvolvedores de software não devem utilizar de sua autoridade ou conhecimento especial para acessar qualquer informação privilegiada, exceto quando necessário para o cumprimento de suas obrigações e responsabilidades. Mesmo assim, tal acesso deve ser o mínimo necessário para a realização da tarefa, e deve ser condizente com a regulamentação interna da organização. Independentemente da forma de obtenção, administradores de sistema devem manter a confidencialidade de informações sigilosas e reservadas.

3. ­ HONRAR A CONFIDENCIALIDADE
O respeito às obrigações de confidencialidade para com os dados das empresas/organizações é imprescindível, em todos os aspectos, sendo vetada a revelação de quaisquer informações internas para pessoas que não fazem parte do grupo de trabalho/desenvolvimento.

4. ADQUIRIR E MANTER A COMPETÊNCIA PROFISSIONAL
A educação contínua é um requisito básico, com a finalidade de atualização e extensão dos conhecimentos teóricos e técnicos, seja através de estudo, prática e compartilhamento de informações e experiências com os companheiros e profissionais da área, devendo esta troca ser recíproca e mútua.


5. ­ DEMONSTRAR PROFISSIONALISMO E COMPORTAMENTO EXEMPLAR NA REALIZAÇÃO DE SEUS DEVERES

O alto nível de qualidade no trabalho é essencial, e o esforço para mantê-lo deve ser constante, assim como o profissionalismo em seu desenvolvimento. O comportamento ético deve ser também estendido à vida pessoal do Cientista da Computação, devendo este ser correto em qualquer atitude que tomar, em qualquer âmbito.

6. ­ COMUNICAR-SE SEMPRE COM OS COLEGAS
A comunicação entre Cientistas da Computação, deve ser feita de forma regular e transparente, contendo todas as informações que possam, de alguma maneira, afetar o trabalho. Devem ser reveladas para a equipe informações tais como: compartilhamento de recursos comuns, manutenção de segurança, ocorrência de monitoramento de sistemas, situações de emergência e outros assuntos relevantes.

7. ­ TER RESPONSABILIDADE SOCIAL
É de suma importância aumentar o entendimento dos assuntos sociais e legais relativos aos ambientes computacionais, comunicando esta compreensão aos outros e encorajar a escrita e adoção de políticas e leis consistentes sobre sistemas de computação seguindo princípios éticos.

8. ­ IDENTIFICAR CLARAMENTE SUA PRÓPRIA OPINIÃO
Nenhum Cientista da computação possui autoridade para falar ou dar declarações em nome da empresa/organização, de forma pública ou com a mídia, sem que esta responsabilidade lhe seja delegada pelo coordenador/gerente de projetos. As opiniões dos Cientistas da Computação devem representar suas opiniões pessoais, e não a opinião do grupo/trabalho/organização, a menos que esta responsabilidade tenha sido diretamente delegada. Cada cientista da computação deve, sempre que consultado, apresentar sua opinião de maneira imparcial, devidamente acompanhada de observações sobre preferências pessoais ou falta de maior conhecimento. Quaisquer conflitos de interesse devem ser expostos imediatamente. Os membros do grupo/trabalho/organização devem entender e deixar claros estes aspectos a respeito de suas declarações, sejam elas verbais ou escritas.


Mauro Risonho de Paula Assumpção
Desenvolvedor de Software

terça-feira, maio 02, 2006

Sistemas proprietários(Fechados e/ou Pagos ) ou open-source(Abertos e/ou Livres)

Talvez o maior dilema dessa Era Espacial e Computacional, será o rumo sobre os softwares.

Muitas pessoas me perguntam, porque tenho muito tempo que estou nessa área, (desde dos 8 anos com hobby, mas não época eu não tinha um computador, mas eu preciso aprender MUITO ainda e estou disponto a isso com humildade) pensando qual será minha opinião à respeito. O que tenho a dizer é que... Não sei! Na verdade, eu penso da seguinte, maneira:
"Vamos resolver o problema e depois vamos melhorando a situação"

Outra coisa, sendo proprietário ou open-source, não importa, muito mesmo, porque no fundo, no fundo, é tudo 0 e 1(0 -desligado e 1- ligado)

Mas lembre-se:
"O importante é resolver o problema do usuário, quando se tem uma solução e depois melhorar mais"

Mauro Risonho de Paula Assumpção

Celulares Explosivos? Alô...HÃ... BUUUMMM!?!

Deve ser complicado acreditar em tudo que as pessoas falam, porque simplesmente assim, é impossível viver com tranquilidade.

Sobre celulares que explodem, parece ser um caso ou outro, se bem que esse tipo de comentário só ocorrer quando "não acontece conosco", por isso é bem simples de resolver...

Acho também que se as pessoas, podem ler mais manuais de instruções, pois o que eu vi a té hoje, são casos de mal uso e adequação do equipamento.

Mas, pense bem...os diretores das empresas que fazem celulares, provalvemente usam também celulares...

Então, você acha que no mínimo, só por essa informação, não há segurança nos celulares?

Isso é profundo!

"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
-Lazarus Long, Time Enough For Love

"Um ser humano deve ser capaz de trocar uma fralda, planejar uma invasão, abater um porco, pilotar uma nave, projetar um prédio, escrever um soneto, fazer um balancete, construir uma parede, imobilizar uma fratura, confortar os doentes, cumprir ordens, dar ordens, cooperar, agir sozinho, resolver equações, analisar um problema novo, revolver esterco, programar um computador, cozinhar uma refeição saborosa, lutar eficientemente e morrer de forma elegante. A especilização é para os insetos."
-Lazarus Long, Time Enough For Love

Uso constante de computador causa amnésia crônica!

A maioria das pessoas não sabe, mas o uso do computador causa amnésia muitas vezes em escala crônica. Isso se dá pelo fato de que usuários quanto mais conhecimento adquirem, mais se esquecem de como foi difícil chegar até ali. Novatos sofrem muito, tanto ao solicitar ajuda aos experientes como ao tentar migrar de plataforma (do Windows para o Linux por exemplo). É comum vermos usuários recém chegados do windows reclamarem com ênfase do sistema Linux, dizendo que trata-se de um sistema complicado, nada intuitivo, para nerds, etc. Enfim, diversos adjetivos nada interessantes a se associar com a imagem de um programa.

E é por isso que estou escrevendo este artigo, para estes usuários que acabam sofrendo de amnésia e não se lembram de como foi sua adaptação ao Windows em seus computadores e o quão árdua foi esta tarefa.

Vamos nos lembrar daqueles tempos obscuros em que você, usuário Windows, ligava seu Windows 98 e não sabia como instalar a impressora e acabava ligando para a casa de um amigo ou parente pra pedir ajuda. E naquele tempo em que quando você queria remover um programa, bastava deletar a pasta dele lá no Arquivos de Programa não é verdade? É… você evoluiu bastante pois na primeira vez você havia excluido o ícone que estava na área de trabalho apenas e jurou que havia removido o programa! Lembra-se de quando você instalou um macaco cor de rosa no seu Desktop que ficava pulando para todos os lados e falando com você? É… não dava pra desinstalar o maldito macaco!

E quando você baixou sua primeira música mp3 pela internet! Que emoção! Só faltava fazer o bendito tocar pois o Windows Media Player não dava nem sinal de vida não é verdade? Ai você recorria aos sites de busca, isso deve ter sido antes do Google, e não conseguia de maneira alguma. Até que uma boa alma lhe ensinou a usar um programinha mágico que se chama Winamp!

E os vídeos completos que o pessoal disponibiliza pela internet? Ahh que maravilha quando você copiou um de seu amigo e ele simplismente não tocou. Vários dias até alguma boa alma lhe apresentar um tal de “K-Lite codec pack” que de forma mágica fazia tudo funcionar. O problema mesmo foi depois pra fazer a legenda do filme aparecer… bons tempos!

A primeira vez que você foi gravar um CD você tentou com um programa que veio junto com seu computador. O interessante é que não funcionava por nada. Ele perguntava umas coisas esquisitas que você não sabia responder, como velocidade, tipo da cópia, e nome da imagem. Se você tentou gravar um arquivo “.iso” alguma vez provavelmene não deu certo pois você jogou o arquivo direto dentro do CD e mandou a ver. “Mas deveria funcionar!!!”

Ahhh tempos que não volta mais! Lembra quando você resolveu instalar a versão mais nova do MSN Messenger? É… não prestou atenção e sai apertando e de brinde ganhou uma barrinha do MSN com propaganda no seu Internet Explorer! Isso sem contar que a página inicial do seu navegador mudou pra a do MSN e foi ai que você descobriu que a página inicial não precisa ser a página do seu provedor de acesso! Ahhh, lembra quando você pegou aquele maldito vírus que acabou com seus arquivos? É… o norton excluiu um tal de DLL la da pasta system que estava contaminado e o Windows não ligou mais. Quanto você pagou mesmo para o suporte naquela ocasião?

Gostaria de relembrar com você aquela vez em que você resolveu instalar pela primeira vez um jogo realmente divertido, mas ele era 3D… e ficou MUITO lento. E pensar que a vendedora disse que a placa era boa para jogos. O pior é que ela tinha razão e só depois de 1 mês você descubriria que o segredo estava num tal de “driver”. Quando você instalou Counter Strike no seu computador então foi o paraiso. Não precisava mais ir na Lan House né? Mas como o jogo era pirata não dava pra jogar na internet e você não conseguiu instalar um tal de “bot”. Mas pouco tempo depois você comprou o Half Life original (que emoção, o seu primeiro programa original!!!) mas ainda estava difícil jogar por causa dum tal de Cheating Death.

Voltando mais ainda no tempo, lembra quando você criou seu primeiro e-mail? Ficava mandando vírus pra todo mundo achando que estava ajudando uma criança com câncer que tinha apenas mais 3 anos de vida já fazia uns 10 anos! Ahh quantos e-mails divertidos e importantes na sua vida. Aposto que você não ganhou o MP3 grátis da creative nem o dinheiro que a Microsoft pagaria pra quem encaminhasse o e-mail à toda lista! Eles devem ter se esquecido de você! Lembra daquela sua amiga de infância que te mandou uma foto com extensão “.exe”? Lamentavelmente a foto não abriu e coincidentemente o computador parou de funcionar de repente! Depois você recebeu outra versão com extensão “.bat” que deu o mesmo problema. Definitivamente sua amiga não sabe enviar fotos pelo e-mail! E a receita federal também te mandou um arquivo no mesmo esquema pra regularização do seu CPF lembra? E pelo visto a receita também não sabe enviar anexos!

Teve uma vez inclusive que você estava navegando pela internet e uma janela dizendo que seu computador precisava ser otimizado apareceu. E você acabou apertando esta janela, mas era um banner e você não sabia disso. Mais um vírus chato que veio com aquele programa que você instalou né? Quantos vírus, quantos spywares, quantos trojans… Você se lembra que ali do lado do relógio apareciam uns 10 ícones que você nem sabia pra que serviam? Acho que eram pra enfeite, assim a tela ficava mais colorida. Tinha uns tais discadores de sites de sexo que apareciam misteriosamente no seu Desktop e depois ali do lado do relógio também. Deve ser coisa da Microsoft!

Mas um dia você tomou a decisão da sua vida! Você pagou para fazer um curso de informática numa escolinha mixuruca que te dizia coisas como “a importância da informática no mercado de trabalho”. O curso era de Windows e Office, mas na hora de vender, te disseram que você iria aprender algo muito mais interessante: “INFORMÁTICA”. Você iria aprender informática e não Windows e word. Mas foi la que você finalmente aprendeu a criar slides no Power Point… agora ninguém te segurava mais! Você era “fera” no computador! Mas não sei por que no curso que você fez não te ensinaram a fazer macros no word, nem fórmulas avançadas no Excel, mas o mais estranho foi que não te ensinaram a gerenciar os módulos do kernel do Window XP nem sistemas de inicialização, ou mesmo configurar o registro do sistema. Mas tudo bem, estes recursos provavelmente não servem pra nada mesmo! O curso foi bom! Um pouco caro, afinal você ficou 4 anos pagando, mas foi um bom curso. Agora você pode colocar no seu currículo que você sabe informática!!! Agora é só contratar uma telefonista pra atender o telefone de sua casa pois as ofertas de emprego não vão parar de aparecer!

Lembra daquela vez que você estava numa sala de bate-papo e um outro usuário disse que se você pressionasse Alt + F4 apareceria uma foto pornô na sua tela? E você apertou! E ao voltar ao chat o mesmo cara te disse que estava enganado, que era Ctrl + W e você apertou de novo! Lamentável! É… a sua primeira vez numa sala de bate-papo também foi mágica. Em poucos minutos você já havia marcado um encontro com uma gata que se dizia loira de olhos azuis, com corpo perfeito, com 17 anos e ainda por cima 100% solteira não foi? Só não entendi por que ela não compareceu na data e local marcados! Ela deve ter se perdido pelo caminho. Algum tempo depois você resolveu criar o seu site pessoal no Word lembra??? Ficou muito profissional não foi? Depois você tentou usar um sistema que criava seu site em 5 minutos apenas e colocava no ar com templates prontos, e todos os links e imagens funcionaram não foi?

E quando você foi formatar o seu computador e instalar o Windows pela primeira vez, lembra? Na época do Windows 98! Tinha um tal de disco de boot que faria seu computador reconhecer o drive de CD, mas ao término do processo você caiu numa tela preta, era o famoso DOS. E agora o que fazer? Isso foi quando você deixou mais algum dinheiro pro técnico tá lembrado?

Por falar em técnico, quantos você não contratou heim! O interessante é que eles SEMPRE queriam formatar o seu computador, estranho não? E os inúmeros atendentes da Telefonica que tiveram que te aturar porque você não conseguia instalar o Speedy na sua casa heim?! Tinha um tal de Broadjump não sei o que que nunca funcionava! Lembra quando você não sabia trocar a sua imagem de exibição no MSN?

Lembra quando você comprou aquele jogo super legal no camelô quase de graça? E quando chegou em casa não conseguiu instalar porque pedia um tal de “serial”? Depois de 1 semana pra descobrir um programa mágico chamado “keygen” lá dentro do diretório do CD mesmo, você conseguiu finalmente instalar o jogo. Porém quando ia abrir ficava pedindo CD toda hora, e nunca abria o jogo! Que raiva né? E você ainda voltou lá e brigou com o pobre camelô, tudo isso porque você não sabia que tinha um tal de crack pra ser instalado. É… programa pirata realmente não presta, bem que você viu na TV!

Pois é meu caro. Sua adaptação ao Windows foi muito fácil, rápida e indolor não é verdade? Na primeira vez que você sentou no computador você já estava fazendo tudo quase que automaticamente de tão simples que é esse sistema operacional. Já agora que você está tentando se adaptar ao Linux tudo parece tão mais difícil não é? É difícil instalar e remover programas, configurar a internet, falar pelo MSN… Estranho que no Windows foi tão fácil!!!