Filed Under (software livre) by rodrigo.oliveira on 02-10-2009
Olá!
O Post de hoje é inspirado no comentário feito pelo Aurium no post do Rafael, que me apresenta e fala um pouco sobre o que eu estaria escrevendo por aqui. Considero a preocupação dele bastante pertinente e por isso resolvi trazer algumas informações pra enriquecer o debate, cujas referências estarão no fim do post para leitura mais aprofundada.
Com relação a dúvida sobre patentes, referente ao .NET Framework, existe o seguinte fato:
A MS submeteu as especificações do C# e do CLI(Common Language Infrastructure), ECMA-334 e ECMA-335, respectivamente, ao Community Promise, que protege qualquer implementação feita por qualquer pessoa em qualquer linguagem de ser processada pela Microsoft, por conta de infração de leis de propriedade intelectual ou patentes relacionadas. Atitude ligada, basicamente, ao Projeto Mono, a implementação open source do .Net.
O Community Promise especifica:
Microsoft promete de maneira irrevogável não declarar qualquer Microsoft Necessary Claims (declarações de direito de posse e direito de controle da Microsoft) contra você por fazer uso, vender, oferecer para venda, importar ou distribuir qualquer implementação.
…O CP é imediatamente aplicável a todas as pessoas ou entidades que fazem, usam, vendem, oferecem para venda, importam e/ou distribuem uma implementação de uma Especificação Coberta. Isto tudo com a intenção de permitir implementações open source.
Implicações do Community Promise:
- É importante notar que, sob o Community Promise, qualquer um pode livremente implementar aquelas especificações com sua própria tecnologia, código e soluções.
- Você não precisa entrar em acordo com a licença, ou mesmo comunicar para a Microsoft como você irá implementar as especificações.
- O Promise provê a desenvolvedores, distribuidores e usuários das Implementações Cobertas sem fins lucrativos, os tipos de licenças de cópia sob qual este é distribuído um modelo de negócio associado.
- O Community Promise é menos permissivo que o Open Specification Promise pois o CP “requer que as implementações estejam em conforme com todas as partes requeridas das clausulas obrigatórias da especificação” mas os desenvolvedores continuam não precisando entrar em acordo com qualquer licença com a Microsoft ou informar a Microsoft sobre seu trabalho na implementação das especificações do C# ou CLI.
Sobre o CLI:
- O Common Language Infrastructure (CLI) é a especificação dos principais serviços do .NET Framework e que implementa a tecnologia que permite que um aplicativo seja desenvolvido em diversas linguagens de programação e executados num mesmo ambiente de execução.
- Para acelerar a adoção destes padrões pelo mercado, a Microsoft, que já possui o código utilizado no .NET Framework comercial, realizou duas implementações do CLI, uma delas para Windows XP e outra para FreeBSD, versão de Unix de código aberto muito utilizada pelo mundo acadêmico.
- O Debian incluiu o Mono como seu principal meio de instalar o GNOME por razões do Tomboy, que é uma aplicação escrita em C#.
Concluindo, acredito que essas informações podem nos deixar mais tranquilos com relação a patentes e demais tipos de controles, no que se refere ao CLI e o C#.
Referências:
http://www.infoq.com/br/news/2009/08/Microsoft-Community-Promise
http://www.microsoft.com/brasil/msdn/colunas/batepapo/col_batepapo_6.aspx
http://www.ecma-international.org/


Muito esclarecedor! Parabéns Rodrigo!
Importante, mas não tão esclarecedor…
Lembre-se: patentes não existem a-toa. E, para piorar, existem patentes não cobertas pela promessa dentro do Mono.
Escrevi sobre o assunto:
http://softwarelivre.org/aurium/blog/.net-e-as-patentes-esquecidas
Realmente é um assunto polêmico. Confiar na MS é uma coisa que eu particularmente não faço.
Pensando por esse lado é realmente prudente pensar na possibilidade que um dia a MS pode pensar que o C# é lucrativo e fechar as novas versões, assim como fizeram com o Unix.
É uma coisa a se refletir…
Comentário feito sobre o post do Aurium em http://softwarelivre.org/aurium/blog/.net-e-as-patentes-esquecidas
Concordo
Aurium, concordo com o seu raciocínio e gostaria de informar que somente coloquei as informações fornecidas e que demonstram de forma explícita que o risco de processo por utilização das especificações ECMA-334 e ECMA-335 não existe.
Sobre o GNOME e o Mono, Stallman disse: “Debian’s decision to include Mono in its principal way of installing GNOME, for the sake of Tomboy which is an application written in C#, leads the community in a risky direction. It is dangerous to depend on C#, so we need to discourage its use.” (www.fsf.org/news/dont-depend-on-mono). Ele quem afirmou isso…
E gostaria de deixar claro, que o meu foco no Techfree é falar sobre projetos, padrões e técnicas de análise e desenvolvimento de sistemas, bem como dicas e o que ocorrer dentro desse campo. Tocar nesse assunto foi, simplesmente, motivado pela sua preocupação, que achei pertinente. Não pretendo e não vou entrar nessa “guerra” e nem viajar em “teorias de conspiração”. A minha posição é a favor da Tecnologia da Informação e o seu desenvolvimento, com critério exclusivamente técnico e isento de qualquer ideologia, pois só assim eu consigo me sentir “livre”!