Dois lançamentos importantes nos últimos dias.
Ontem foi lançado o NetBeans IDE 6.1 final, com várias novidades e melhorias atrativas, conforme eu havia adiantado em 7 e 27 de março.
O release oficial do NetBeans IDE 6.1 traz recursos para edição de JavaScript (coloração e validação semânticos, code completion, quick fixes e refactoring), biblioteca Spring Framework 2.5 embutida e suporte ao Spring web framework, maior integração com MySQL, melhoria no compartilhamento de bibliotecas entre projetos dependentes, suporte a Ruby/JRuby melhorado — incluindo novos quick fixes, um gerenciador de plataforma Ruby, debug rápido para JRuby. Por demanda popular, os recursos de geração do padrão bean e de CRUD JSF que ficaram de fora na versão 6.0 retornaram.
Além disso, versões preliminares (early versions) de novos módulos estão disponíveis, como o como JavaScript debugger e plugin para suporte a ClearCase. E na página de download há uma nova opção de pacote/bundle voltada para PHP: Early Access for PHP.
A versão 6.1 traz suporte a APIs web populares de SaaS (Software as a Service) com a inclusão dos serviços providos por Google, Facebook, Yahoo, YouTube na aba de Serviços, permitindo usá-los facilmente em aplicações mashup com simples arrastar-e-soltar para qualquer POJO, Servlet, JSP ou RESTful web service. O suporte a RESTful Web Services (especificação JSR 311 JAX-RS usando a implementação Jersey), disponível desde o NetBeans 6.0 como plugin, foi incluído na distribuição padrão do 6.1. E há novos plugins para suporte a Axis2 e SOAP UI.
Destacam-se também melhorias em desempenho, especialmente o início até 40% mais rápido, menor consumo de memória e mais agilidade nas respostas ao trabalhar com projetos extensos.
Baixar o NetBeans IDE 6.1 final (mirror em dlc.sun.com.edgesuite.net). Os pacotes localizados para português do Brasil, existentes na versão 6.0.1, ainda não estão disponíveis para o 6.1, mas devem estar em breve.
Dia 21 houve o lançamento da distribuição Linux Ubuntu 8.04 LTS, codinome Hardy Heron, nas edições Desktop e Servidor.
O Ubuntu é provavelmente a distribuição Linux atual mais amigável, estável e bem suportada para usuários pessoais. Oferece fácil instalação, compatibilidade com ampla variedade de dispositivos em desktops e notebooks.
Há também enorme quantidade de pacotes adicionais (no formato apt do GNU/Debian) disponíveis e freqüentemente atualizados, instaláveis pelo gerenciador de pacotes gráfico Synaptic (ou outro de sua preferência), com repositórios oficiais livres e restritos pré-configurados do Ubuntu.
O interessante da nova versão 8.04 é ser Long Term Support (LTS), o que significa garantia de suporte oficial ao ciclo de vida da Edição Desktop até 2011 e da Edição Servidor até 2013. A versão LTS anterior foi a 6.06, em junho de 2006.
Para aqueles que querem sempre as mais novas aplicações e tecnologias, poderão fazer ainda este ano a atualização para o Ubuntu 8.10, previsto para outubro. Quem prefere a estabilidade no ciclo de distribuição de software (tipicamente o ambiente corporativo de larga escala), pode ficar tranqüilo com o Ubuntu 8.04 por três (desktop) ou cinco (servidor) anos até migrar para a próxima versão LTS.
E sobre o que a versão 8.04 traz de novo? Para essa resposta, eu indico o artigo do português Bruno Carlos, muito bem escrito e ilustrado: Todas as novidades da versão oficial do Ubuntu 8.04 LTS.
O software livre e de código aberto é uma grande realidade mundial e em pleno crescimento. Grandes e pequenas personalidades, entidades, projetos e empresas que suportam e adotam este modelo de desenvolvimento não faltam — Projeto GNU, Richard Stallman (stallman.org), Free Software Foundation, Open Source Initiative, SourceForge.net, Apache, Mozilla e tantos outros.
O conteúdo livre e colaborativo também tem sido uma tendência que se estabelece e se concretiza. Talvez baste citar o exemplo da Wikipédia e demais projetos da Wikimedia Foundation.
Liberdade é uma coisa séria. E não deve ser absoluta, pois a liberdade de um termina onde começa a liberdade do outro. Os direitos e deveres regulam as liberdades na vida em sociedade.
Seja em software, seja em conteúdo ou qualquer outra obra de criação intelectual — cultural, científica ou artística, fruto do conhecimento, da inspiração e da criatividade humanas — a liberdade deve ser praticada com a garantia e o respeito total a dois princípios fundamentais:
- O direito autoral, ou direitos do autor, o crédito de autoria e a prerrogativa patrimonial ao(s) criador(es) de uma obra intelectual.
- Os direitos de reprodução e distribuição, o copyright, que resulta na licença com a qual o titular do direito autoral permite colocar sua obra à disposição do público.
No caso do software de código aberto (open source), existem muitas licenças de distribuição e uso. O termo copyleft é freqüentemente usado para designar um método legal de tornar um programa em software livre e exigir que todas as versões modificadas e estendidas do programa também sejam software livre. Licenças mais comuns:
- Open Source Licenses aprovadas pela Open Source Initiative conformes com a definição de software livre.
- Licenças do Projeto GNU (em português) / GNU Licences (em inglês): GNU General Publice Licence, Licença Pública Geral do GNU (GPL), v3, junho 2007; GNU Lesser General Public Licence, Licença Pública Menos Geral do GNU (LGPL), v3, junho 2007.
- Licenças Berkeley Software Distribution (BSD): Licença BSD Simplificada, janeiro 2008, baseada na Licença 4.4BSD sem a cláusula 3 de divulgação retirada em 1999.
- Licenças da Fundação Apache: Apache License, 2.0, janeiro 2004.
- Common Public License 1.0.
- Licenças da Fundação Mozilla e Netscape: Mozilla Public License 1.1 (MPL).
- Eclipse Public Licence 1.0 (EPL).
Para conteúdo intelectual em geral, como textos (ensaios, documentação, apostilas, apresentações), planilhas, ilustrações, imagens, vídeos, músicas, trilhas sonoras etc., estas são as licenças mais comuns:
No Brasil, a legislação também rege diversos aspectos do direito autoral e de software:
- Lei 9.610/98, de 19 de fevereiro de 1998: lei dos direitos autorais.
- Lei 9.609/98, também de 19 de fevereiro de 1998: proteção da propriedade intelectual de programa de computador.
- Lei 9.279/96, 14 de maio de 1996: lei da propriedade industrial.
Para saber mais:
Criadores de software e de conteúdo que divulgam ou disponibilizam na Internet devem ter cuidado, critério e reflexão ao escolherem a licença de distribuição e uso de sua obra. Devem deixar claros os direitos, deveres e restrições que deseja determinar ao público usuário, oferecendo sua contribuição ao mundo colaborativo ao mesmo tempo que resguarde os seus interesses e objetivos pessoais.
Lembre-se que uma decisão mal tomada pode ser motivo de contrariedade e arrependimento depois. Cito como exemplo recente a controvérsia causada pela mudança de licença na popular biblioteca JavaScript ExtJS no lançamento da versão 2.1, em 21 de abril, da mais liberal LGPL para a GNU GPL v3. (Veja também: Licensing Overview; Licence change; GWT-Ext Forum; Sanjiv Jivan blog; Jack Slocum blog; Georgi Germany blog.)
Usuários de conteúdo público também precisam sempre respeitar os direitos do autor, bem como observar e cumprir os termos de licenciamento ao se beneficiar de uma obra intelectual disponibilizada ao público. Não seja leviano e não faça com os outros aquilo que não gostaria que fizessem com você.
Nota: Antes que alguém pergunte — todos os artigos deste blog são disponibilizados sob licença Creative Commons 2.5 BY-SA, conforme apresentado na página “Sobre”.
Meu artigo Fontes para os amantes do TeX foi amplamente revisado hoje, com o acréscimo da minha mais recente descoberta: o projeto The Latin Modern (LM) Family of Fonts, que mantém uma adaptação das fontes Computer Modern adicionando caracteres acentuados para o alfabeto latino e outros, livremente disponível para baixar inclusive em formato OpenType (OTF).
No terceiro artigo da série, vou citar algumas personalidades e seus artigos que introduziram termos e conceitos famosos em tecnologia recente.
Anteriores: Personalidades por trás da tecnologia (1), Personalidades por trás da tecnologia (2).
- POJO - Plain Old Java Object (Bom e Velho Objeto Java)
- Martin Fowler, Rebecca Parsons e Josh MacKenzie, POJO, setembro 2000.
“Nos perguntamos por que pessoas eram tão contra usar objetos regulares em seus sistemas e concluímos que era porque objetos simples não tinham um nome chique. Então nós lhe demos um.”
- REST - Representational State Transfer (Transferência de Estado Representacional)
- Roy Thomas Fielding, Representational State Transfer (REST) In: Architectural Styles and the Design of Network-based Software Architectures (Capítulo 5), Dissertação de Ph.D., University of California, Irvine, EUA, 2000.
Veja também: Principled Design of the Modern Web Architecture (PDF), In: ACM Transactions on Internet Technology, maio 2002. Representational State Transfer, Wikipedia.
Roy Fielding é um dos principais autores das especificações HTTP (RFC 2616) e URI (RFC 3986) junto com Tim Berners-Lee, e co-fundador da Apache Software Foundation.
- AOP - Aspect-Oriented Programming (Programação Orientada a Aspectos)
- Gregor Kiczales e sua equipe no Xerox PARC (Palo Alto Research Center) criaram o conceito de AOP e a extensão AspectJ para Java, em 2000-1. Professor na University of British Columbia, Canadá.
Veja também: Aspect-oriented programming, Wikipedia.
- RIA - Rich Internet Application (Aplicação Internet Rica)
- O termo Rich Internet Application foi introduzido pelo Whitepaper Macromedia Flash MX - A next-generation rich client (PDF), março 2002, Macromedia (Adobe).
Veja também: Rich Internet Application, Wikipedia.
- AJAX - Asynchronous JavaScript and XML (JavaScript Assíncrono e XML)
- Jesse James Garett, Adaptive Path, Ajax: A New Approach to Web Applications, 2005-02-18.
Veja também: Ajax (programming), Wikipedia.