[DE |
EN |
FR |
JA |
ES |
KO |
PT]
Benvindo a mais um número da Admirável Mundo GNU, de Georg Greve. Este
número cobre um amplo espectro de aplicativos com que a maioria dos
usuários não se preocupa, mas que ainda assim pode se interessar por
aprender.
As crianças tendem a aprender muito quando brincam com seu ambiente, e é por isso que muitos programas tentam ensinar suas lições através de jogos. Infelizmente, esses programas em geral são proprietários. GCompris tem como meta preencher a lacuna de softwares livres pedagógicos.
O programa é baseado em "lousas". Bruno vê uma lousa como uma unidade que introduz ou exercita um conceito A meta não é tanto o conhecimento profundo, mas sim tornar divertido o exercício de um conceito.
Existem muitos programas que Bruno considera "baseados em lousas" -- mas eles usam diferentes bibliotecas, que tem diferentes interfaces com o usuário, e seu desenvolvimento é feito em velocidades extremamente diferentes. Isto complica encontrá-los, e também seu uso. Para evitar isso, GCompris tem duas partes essenciais: o aparato para criar, modificar executar lousas, e uma variedade de lousas para diferentes conceitos.
O aparato foi escrito em C, usando as bibliotecas GNOME, e tem uma nterface com o usuário muito simples, que foi criada visando as crianças. O programa está disponível em 7 línguas, e já está sendo usado com sucesso em escolas e lares por todo o mundo. Isto significa muito para Bruno, e é também muito notável que o programa tenha sido criado há apenas um ano.
A parte gráfica do GCompris ainda não é satisfatória para ele, mas a partir de agora a Linuxgraphics vai cuidar disso. Se você estiver interessado em participar da parte gráfica, eles é que devem ser contatados.
A próxima tarefa de programação será a criação de um editor de lousas, que também poderá ser usado por pessoas inexperientes com computadores. Atualmente as lousas estão sendo criadas com plugins em C, com XML usado como formato de dados, o que é pedir muito para alguns professores. É bem-vinda a ajuda para criar um editor de lousas que seja fácil de usar.
Para manter o programa simples, apenas o canvas do GNOME está sendo atualmente usado para implementar as lousas. O uso de outros controles, ou widgets, para desenhar é um desafio técnico para o futuro.
O nome deste programa francês é pronunciado "j'ai compris", que significa algo como "eu compreendi", e foi originalmente escrito por Bruno para seus próprios filhos. Ele gostaria de agradecer a seus filhos pela paciência, pois o programa avança muito lentamente para eles...
Esta meta é buscada em conjunto com a "Organização para o Software Livre na Educação e no Ensino" (Ofset) [8], que recentemente se tornou uma organização oficialmente associada à FSF Europa.
Para reunir todas diferentes iniciativas, pessoas e organizações ativas nesta área, foi criada uma lista de discussão [9, 10]. Nesta lista, estão sendo feitas as apresentações. O próximo passo será o encontro de todos os envolvidos.
Então discutiremos que medidas concretas podem efetivamente suportar o Software Livre na Educação. Se você quiser contribuir com esse processo seja bem-vindo!
Não falarei apenas do Chemical Development Kit, ou "Kit de Desenvolvimento para Química" [12], mas também sobre Jmol [13] e JChemPaint [14]. Seus mantenedores, Christoph Steinbeck e Dan Gezelter lançaram o DCK juntamente com Egon Willighagen há cerca de meio ano atrás.
O Kit de Desenvolvimento para Química (CDK) [12] é uma biblioteca Java que pretende oferecer todas as classes e ferramentas básicas parar criar software para química, sob a Licença Geral Pública (GPL) do GNU. Seu projeto foi parcialmente baseado nas experiências que Egon Willighagen teve com a biblioteca CompChem/CDK, que tinha algumas falhas.
O projeto está ainda em um estágio muito inicial, por isto não faz sentido falar de classes já implementadas, e de funcionalidades. Mais informações recentes sobre a API podem ser encontradas na página inicial do CDK [12].
Jmol [13] é, a princípio, um programa para a visualização simples e rápida de estruturas químicas, em alternativa ao XMol. Planeja-se acrescentar funcionalidade para editar moléculas, minimizações simples baseada em campos de força, dinâmica molecular (conjunto microcanônico), e dinâmica de Langevin (conjunto canônico). Jmol também é baseado em Java, e usa o toolkit SWING para criar sua interface gráfica com o usuário. Assim como o CDK, ele está disponível sob a Licença Pública Geral do GNU (GPL). A grande vantagem de aplicações baseadas em Java certamente é sua portabilidade. Além disso, Jmol pode também ser usado como uma applet em páginas da Web, e é scriptable, ou roteirizável.
JChemPaint [14] é um editor em 2D para estruturas químicas, que pretende oferecer uma extensão em 2D para Jmol. Ele já suporta muitos dos recursos padrão dos programas proprietários, e pode criar saída como bitmap, Postscript e SVG (Scalable Vector Graphics, ou "Gráficos Vetoriais Escalonáveis").
Assim como os outros dois pacotes, JChemPaint é baseado em Java, mas é licenciado sob a Licença Pública Menos Geral do GNU (LGPL). Ele é tão portável como o Jmol e também pode ser usado como uma applet em páginas da Web.
A CML (Chemical Markup Language, ou "Linguagem de Marcação para Química") [15] é suportada por ambos programas.
A longo prazo, planeja-se fazer Jmol e JChemPaint usar o CDK e uni-los.
Estes projetos já fornecem a químicos, biólogos e outros que trabalhem no nível de moléculas uma impressionante bateria de recursos baseados em Software Livre. Mesmo que alguma funcionalidade específica não seja ainda suportada, eu os recomendaria, em vez de investir em software proprietário.
Apesar disto poder parecer complicado à primeira vista, existem muitas vantagens a médio e longo prazo.
As novas idéias podem ser seguidas de maneira evolutiva e inovadora, sem que sejam detidas pelos limites do software proprietário. Isto é uma conseqüência direta da filosofia do Software Livre, que se baseia no princípio científico. Apenas os resultados obtidos por Software Livre oferecem a garantia de ser traçáveis ou reproduzíveis.
Todo software científico deveria ser Software Livre.
Alma lê diferentes fontes (modelos e código fonte), auxilia o usuário a projetar e modificar o modelo orientado ao objeto, a modificar a estrutura e codificar, criando uma nova saída no final.
Isto pode ser feito em muitos formatos. Como formatos de entrada, Alma suporta Java, Idl, XMI, C, C++, Fortran, Rose, MDL, Class, JavaP, Tagli e JSP. Sua saída pode ser feita em termos de código fonte, documentação, diagramas, ou até em uma língua natural.
Alma permite facilmente a declaração e alteração de classes. Isto é particularmente útil para os desenvolvedores que busquem incorporar código já existente a um novo projeto, ou que queiram traduzir um projeto em uma nova linguagem de programação. Alma pode também ser útil para portes ou encapsulamento.
De acordo com Guillaume, a grande vantagem de Alma é seu mapeamento NxN real, com um modelo editável comum. Existem outros projetos que analisam, traduzem ou formatam código fonte, mas eles normalmente operam unidirecionalmente entre duas linguagens.
Porém Alma é um projeto muito grande. Portanto, metade dos analisadores sintáticos e geradores para as diferentes linguagens ainda está em estágio alfa. Isto permite que os programas especializados mencionados acima ainda possam ser melhores em suas tarefas especializadas, mas seu conceito tem fortes limitações.
Alma é escrito em Java 1.1 e pode ser usado em quase todos computadores. Ele pode ser usado através da linha de comando, ou através de uma GUI. A parte de console pode até mesmo ser compilada com o GCJ, ou ser executada no Kaffe.
Atualmente, uma nova versão é liberada a cada mês, incrementando em 0.01. Usando isso como base, significaria que a versão 1.0 do projeto estaria pronta em julho de 2006. Contudo, os desenvolvedores interessados devem tentar dar uma olhada antes disso.
Alma é publicado sob a Licença Geral Pública GNU (GPL) versão 2, por isso ele é Software Livre. Normalmente, um programa é licenciado sob a GPL versão 2 ou - a critério dos usuários - em qualquer outra versão posterior. Às vezes se vê a limitação na versão 2 e por esta razão quero dizer algumas palavras sobre isso.
O argumento para essa atitude em geral é que novas versões da GPL ainda não são conhecidas. Por isso, não se pode conhecer se as versões seguintes serão boas. Isto pode parecer lógico, porém acaba por criar fraquezas.
Caso uma versão posterior da GPL não seja aceita pelo autor, ou pelos usuários, o programa pode ainda ser usado sob a versão 2 da GPL: nada força a usar a licença mais recente.
Mas caso uma atualização da GPL se torne necessária, devido a mudanças nas leis, e a versão 2 passe a ter problemas com as leis, as restrições da versão 2 deixarão o programa sem uma licença válida. Se todos autores puderem ser encontrados, isto pode ser resolvido facilmente. Mas muitas vezes os autors desaparecem, ou perdem o pé de um projeto.
Assim, a limitação da licença à versão 2 não oferece quaisquer benefícios, e pode criar problemas.
Outra coisa também deve ser dita. O autor de Alma está muito contente que tantas pessoas entendam a diferença entre gratuito e livre. Em sua página encontra-se um questionário, e a possibilidade de comprar o programa por US$ 10.
Não há nenhuma exigência de pagamento, mas pede-se que o usuário pague se quiser usar um dos instaladores automáticos, para diferentes plataformas. Esta é uma das possibilidades de se "vender" software sob GPL em harmonia com a própria GPL. Esperamos que isto se torne muito mais comum, com sistemas de micropagamento.
Outras bibliotecas de criptografia ou não são livres, ou estão sob licenças incompatíveis com a GPL, como OpenSSL. Uma vez que a maioria do Software Livre está sob a Licença Geral Pública do GNU (GPL), a libgcrypt preenche uma lacuna importante.
A libgcrypt se apoia na base muito sólida do projeto GnuPG, por isto as rotinas criptográficas já foram rigorosamente testadas. O projeto ainda tem de ser considerado em alfa, de acordo com Werner, pois a API só foi terminada muito recentemente.
Apesar deste aviso, libgcrypt pode ser usada - e já é. Nikos Mavroyanopoulos, que deu apoiou a Werner no desenvolvimento da biblioteca libgcrypt, está usando-a na biblioteca GNUTLS, que foi apresentada no número 25 [18].
Os pontos fortes da libgcrypt são a API extensível para funções com chave pública, e o aceso às funções internas para inteiros grandes. Além disso, os módulos de extensão podem ser carregados dinamicamente.
A biblioteca pode ser usada em sistemas similares ao Unix, e em plataformas Win32. Os planos para futuro desenvolvimento são uma versão estável, e a melhoria de algumas das implementações internas, bem como funções de alto nível para tratar de estruturas do OpenPGP. E, obviamente, GnuPG será portado para libgcrypt.
Uma ponto que Werner gostaria de ver mencionado é que o uso de libgcrypt exige um certo conhecimento de criptografia. Apenas usar uns poucos algoritmos em um programa não vai adiantar em nada se o projeto não for estruturalmente sólido.
Dada a tendência de alguns desenvolvedores de colocarem paredes de aço em castelos de cartas, este parece ser um bom conselho.
Com relação aos novos projetos, gostaria de enfatizar a importância dos leitores da Admirável Mundo GNU. Eles muitas vezes tornam possível um item da coluna por enviar um e-mail [1] quando encontram um projeto interessante.
Envie consultas & questões sobre FSF & GNU para
gnu@gnu.org.
Existem
outras formas de contactar
a FSF.
Envie comentárioss sobre a Admirável Mundo GNU de Georg Greve (em inglês ou alemão) para
column@gnu.org,
envie comentários sobre estas páginas na Web para
webmasters@www.gnu.org,
envie outras questões para
gnu@gnu.org.
Copyright (C) 2001 Georg C. F. Greve
Traduzido para o português por H. Fernandes e Fernando Lozano
É dada permissão para fazer e distribuir cópias literais deste transcrito, desde que o copyright e este aviso de permissão sejam mostrados.
Last modified: $Date: 2001/08/12 21:14:54 $ $Author: gero $