 | Nível: Introdutório Niklas Heidloff, Senior Software Engineer, IBM Steve Castledine, Advisory Software Engineer, IBM
12/Mai/2009 Este artigo descreve o novo controle e modelo de IP da nova Aliança OpenNTF. Ele também explica como consumidores
podem localizar código em OpenNTF e como produtores podem contribuir com código. Por último, mas não menos importante, o artigo
resume algumas ideias para aprimoramentos e extensões da OpenNTF.
"A OpenNTF dedica-se a fazer grupos de organizações e indivíduos de todo o mundo colaborarem com aplicativos IBM Lotus
Notes/Domino e liberá-los como um software livre" - esta é a declaração de missão da OpenNTF.
A OpenNTF foi lançada em 2002 por pessoas da comunidade IBM Lotus Notes e Lotus Domino. Desde então, 60.000 usuários se
registraram na OpenNTF para fazer o download do código. Existem mais de 250 projetos de software livre e 800 trechos de
código adicionais.
Em janeiro de 2009, a IBM anunciou no Lotusphere que concordou em patrocinar uma nova colaboração com a OpenNTF. A IBM
pretende oferecer recursos para revigorar a comunidade, doar modelos e amostras e disponibilizar código sob termos de
licenças de comunidades de software livre amplamente aceitos. Desde este anúncio, a IBM vem trabalhando com a comissão da
OpenNTF para definir um novo modelo de controle e modelo de propriedade intelectual (IP) para atingir esses objetivos.
Modelo de Controle e IP
A nova Aliança OpenNTF foi estabelecida em maio de 2009. A aliança é um grupo de membros iguais com o objetivo comum
de fornecer aplicativos de software livre baseados em Lotus Notes e Lotus Domino. A organização terá um mínimo de burocracia,
mas executará processos para gerenciar com eficácia o conteúdo de software livre com políticas de IP rigorosas de forma adequada.
Os primeiros membros da Aliança são empresas que expressaram interesse em entregar aplicativos de software livre para
Lotus Notes/Domino (em ordem alfabética):
- Elguji
- IBM
- Lotus911
- Pavone
- Prominic
- PSC
- Snapps
- Teamstudio
- vinceschuurman.com
Níveis de Envolvimento
Existem quatro níveis de envolvimento:
- Usuário da OpenNTF. Todos podem ser consumidores de código da OpenNTF. Para utilizar código do catálogo sob a
licença do Apache, não é necessário se registrar ou autenticar.
- Usuário registrado da OpenNTF. A OpenNTF incentiva os usuários a se registrarem (consulte aqui:
http://www.openntf.org/registration.nsf/regchoice) porque os usuários registrados podem interagir com outras pessoas no
site da OpenNTF. Por exemplo, eles podem relatar defeitos, postar perguntas, entre outras coisas.
- Membros. Qualquer organização pode, com a aprovação do comitê do conselho, se juntar à Aliança OpenNTF. Os membros
podem influenciar na estratégia e na direção da OpenNTF e podem ter uma página no site da OpenNTF para se descreverem. Os
membros devem contribuir com a Aliança OpenNTF; a contribuição pode ter forma de código, doações em espécie, contribuições
financeiras ou outras contribuições, conforme aprovado pelo comitê do conselho. Para se tornar um membro oficial, entre em
contato com o comitê do conselho da OpenNTF.
- Contribuidores. Os contribuidores podem contribuir com código para a OpenNTF. Os contribuidores não precisam
trabalhar para a empresa que é membro da OpenNTF. Veja abaixo como se tornar um contribuidor e como contribuir de fato com
código.
Comitê do Conselho e Comitê Técnico
A Aliança OpenNTF é controlada por um comitê do conselho. Um comitê técnico possui infraestrutura técnica e outros
aspectos técnicos da OpenNTF. Mais comitês podem ser definidos dinamicamente quando necessário. A Figura 1 mostra a
organização da Aliança OpenNTF.
Figura 1. Aliança OpenNTF
O comitê do conselho é responsável pela estratégia da OpenNTF e finanças. Ela possui sete membros que são eleitos por
todos os membros. Nenhuma família de empresas pode ter mais de um representante no comitê do conselho. Cada ano, três novos
membros são eleitos. O representate é eleito por membros deste comitê.
O comitê técnico é responsável pela direção técnica da Aliança OpenNTF. Ele mantém a infraestrutura da OpenNTF,
identifica necessidades técnicas da comunidade, se certifica de que a política de IPR esteja sendo seguida, entre outras
coisas. 1The steering committee can name people for the technical committee.
Modelo de IP
A Aliança OpenNTF quer tornar o código o mais fácil possível de se reutilizar para todos os propósitos. A Licença
do Apache versão 2 (ALv2) não é somente a licença de software livre mais amplamente aceita no mundo comercial, mas
também permite o uso do código em software comercial e em software livre gratuito. Ninguém é obrigado a doar código modificado
de volta para a OpenNTF.
A OpenNTF recomenda o uso da ALv2 para todos os projetos futuros. Os proprietários de código existente em OpenNTF são
incentivados a atualizar a ALv2. O novo catálogo (consulte a próxima seção) contém apenas código sob a ALv2 para permitir
que consumidores localizem código reutilizável em OpenNTF da maneira mais fácil possível. Uma licença comum para todos os
códigos em OpenNTF é importante para que as empresas não precisem fazer nenhuma avaliação jurídica de cada trecho de código
da OpenNTF.
Para poder utilizar a ALv2 para código em OpenNTF, as necessidades de due diligence precisam ser atendidas. Os contribuidores
precisam seguir um processo de contribuição de entrada. Eles precisam garantir que irão contribuir com seu código e terão
o direito de fornecer direitos extensivos da OpenNTF para distribuir o código. A IP (propriedade intelectual) é retida pelo
autor do código.
Catálogo
Nos últimos anos, a OpenNTF manteve um conjunto de
projetos e um repositório de trecho de código. Os
são principalmente aplicativos Lotus Notes e Lotus Domino completamente desenvolvidos (bancos de dados ou modelos). A OpenNTF
fornece ferramentas e uma infraestrutura para o gerenciamento desses projetos. Os trechos de código mais simples podem ser
postados no compartimento de códigos. Esses trechos não estão sujeitos a nenhum gerenciamento de código ou processo de ciclo
de vida.
No passado, foi difícil para os consumidores encontrarem as amostras certas e boas versões de amostras. Devido a essa
dificuldade, um novo catálogo foi incluído na OpenNTF. Os principais
propósitos do catálogo são fornecer uma lista de amostras de alta qualidade e ajudar os clientes a localizarem as amostras mais
adequadas para seus problemas de negócios. O propósito não é substituir o site do projeto ou compartimento de código, mas links
com boas entradas nesses repositórios podem ser incluídos no catálogo. O catálogo não conterá todo o código da OpenNTF. Para que
amostras sejam listadas no catálogo da OpenNTF, elas devem:
- Utilizar ALv2 (a menos que uma licença alternativa seja aprovada pela OpenNTF)
- Conter o código de origem integral
- Ter sido testadas pelo menos uma vez por uma terceira pessoa ou parte
- Fornecer boas descrições e capturas de tela
Finalmente, os proprietários e originadores devem pedir aos proprietários do catálogo da OpenNTF para incluir uma
entrada. Para projetos, apenas os últimos releases testados serão incluídos. Para controles, apenas códigos totalmente
compiláveis podem entrar no catálogo.
O catálogo destina-se a diferentes tipos de pessoas:
- Desenvolvedores, que podem se beneficiar de amostras, incluindo código de origem.
- Qualquer pessoa que queira entender os recursos e demonstrar o valor do Lotus Notes e Domino. Alguns dos aplicativos
e projetos da Web podem ser executados ao vivo a partir do catálogo. Os componentes rich client podem ser instalados no
Lotus Notes através de métodos de arrastar e soltar e executados localmente.
Você pode localizar amostras de várias maneiras:
- Utilizando procura de texto completa
- Utilizando visualizações (incluindo classificações de usuários, localizar por committer, localizar por incluído mais recentemente)
- Utilizando tags
Figura 2. O Catálogo da OpenNTF
Conforme mostrado na Figura 2, existem três tipos diferentes de amostras:
- Componentes rich client
- Controles reutilizáveis
- Projetos
Componentes Rich Client
Os usuários podem aproveitar as vantagens dos componentes rich client: widgets e plug-ins que podem ser instalados no
Lotus Notes Client navegando no catálogo e arrastando e soltando componentes no Lotus Notes. Os componentes podem aparecer
na janela lateral do Lotus Notes, como janelas pop-up acionadas por texto ao vivo, ou em qualquer outra extensão mais sofisticada
do Notes (por exemplo, contribuições de menu). Para desenvolvedores, o código de origem para esses componentes é fornecido.
Por exemplo, existe um componente
de notificação de nova mensagem no catálogo que pode ser instalado arrastando-se um ícone até o Lotus Notes. O componente
então mostra uma janela de notificação de nova mensagem configurável, conforme mostrado na Figura 3.
Figura 3. Janela Notificação de Nova Mensagem
Embora o componente de notificação de nova mensagem seja um plug-in do Eclipse (que precisa ser fornecido), widgets ou
componentes rich client mais simples também podem ser instalados facilmente a partir do catálogo. Por exemplo, o widget
do wiki do Lotus Domino Designer de procura permite procurar o texto selecionado no Lotus Notes. Consulte a figura 4.
Figura 4. O Widget do Wiki do Lotus Domino Designer de Procura
Projetos
Para desenvolvedores e pessoas que querem demonstrar o valor do Lotus Notes e Domino, os modelos (NTFs) e aplicativos
(NSFs ou recursos do Eclipse) podem demonstrar recursos técnicos sofisticados e o valor do Lotus Notes e do Lotus Domino
como plataformas de desenvolvimento de aplicativos. Os projetos são gerenciados fora deste catálogo. O catálogo contém os
releases mais recentes de projetos e suas descrições.
Alguns dos projetos que são aplicativos da Web podem ser executados on-line sem precisar instalar nada. Alguns projetos
hospedam sua documentação como wikis na OpenNTF. Consulte a Figura 5.
Figura 5. O Wiki XPages
Por exemplo, este projeto é um aplicativo
wiki baseado em XPages do Lotus Domino.
Figura 6. Documentação do Wiki XPages
Controles Reutilizáveis
Você pode aproveitar as vantagens dos controles que podem ser reutilizados para a criação de aplicativos customizados. O
código de origem para esses controles pode ser transferido por download e utilizado no Lotus Domino Designer ou em qualquer
IDE baseado em Eclipse. Os controles reutilizáveis podem ser conjuntos de elementos de design ou projetos do Eclipse.
Por exemplo, este controle é um controle
XPage customizado que pode ser incluído em outros aplicativos para os usuários efetuarem login e que exibe o nome de
usuário do usuário autenticado, conforme mostrado na Figura 7.
Figura 7. O Controle XPage Customizado
Contribuições
Usuários da OpenNTF podem contribuir com código, mas também podem se engajar sem contribuir com código, por exemplo,
participando de um fórum. Existem dois modelos para o gerenciamento de código com mecanismos diferentes para contribuições:
gerenciado e legado. O modelo gerenciado é recomendado e o modelo legado será removido gradualmente com o tempo.
- Modelo gerenciado. A nova Aliança OpenNTF torna o código o mais reutilizável possível alavancando a ALv2. A
OpenNTF recomenda que os membros postem futuros códigos sob a ALv2. O novo catálogo contém apenas código sob a
ALv2 para permitir que consumidores localizem código reutilizável em OpenNTF da maneira mais fácil possível. Para poder utilizar a ALv2
para código em OpenNTF, as necessidades de due diligence precisam ser atendidas. Os contribuidores precisam seguir um processo de
contribuição de entrada.
Os membros da aliança reconhecem que nem todas as contribuições podem ser feitas sob a ALv2. Por exemplo, contribuições
que são baseadas em componentes do Eclipse, licenciadas sob a Eclipse Public License (EPL), podem precisar reter a EPL.
A aliança manterá um mecanismo de aprovação de IP para tratar dessas exceções.
- Modelo legado. No passado, as contribuições da OpenNTF poderiam escolher a licença que quisessem ou até mesmo
não escolher nenhuma licença. Essa falta de normas levou a um excesso de licenças diferentes sendo utilizadas, e a ausência
de licenças resultou em ambiguidade jurídica, já que as pessoas que fazem download dos direitos precisam usar o código.
Os proprietários de projetos existentes e de trechos do compartimento de códigos agora são incentivados a contribuírem
novamente com seu código sob a ALv2, mas até a conclusão desta tarefa, o código existente continuará sendo hospedado sob
os termos da licença atual.
A OpenNTF faz a distinção entre dois tipos de contribuidores:
- Committers são contribuidores especiais que podem realmente comitar o código.
- Contribuidores que não são committers podem, por exemplo, gravar correções para defeitos e compartilhar este código
com committers, que podem então decidir comitar o código.
Processo de Contribuição
Para poder utilizar a ALv2 para código em OpenNTF, as necessidades de due diligence precisam ser atendidas. Os contribuidores precisam
seguir um processo de contribuição de entrada. Eles precisam garantir a aliança que têm direitos de fazer contribuições. Essa
garantia significa que o código deve ter sido gravado em sua totalidade pelo contribuidor ou que o contribuidor deve ter uma licença
clara para incluir qualquer código adquirido de outro fornecedor como contribuição.
Um exemplo de inclusão de código adquirido de outro fornecedor em uma contribuição é a contribuição de uma versão modificada de um
componente da OpenNTF licenciado sob ALv2 pré-existente. Sob a política de IP, os contribuidores dão à OpenNTF direitos de
licença de patente perpétua, mundial, não exclusiva, sem encargos e livre de royalty para fazer, ter feito, utilizar, oferecer
para venda, vender, importar e transferir de outra forma o código. A propriedade da IP é retida pelo autor do código.
Em particular, para contribuir com código sob a ALv2, os contribuidores precisam fornecer as informações a seguir; siga
estas etapas:
Tipos de Contribuidores de Código
Na OpenNTF, existem três tipos diferentes de código:
- Projetos. Projetos são o tipo mais sofisticado de código na OpenNTF. Em contraste com os outros tipos de código,
os projetos têm uma infraestrutura de gerenciamento de projeto completa. Revise este projeto
de amostra.
Projetos têm releases iniciais e, normalmente, têm atualizações posteriores. Os projetos têm committers que são os
proprietários do projeto (também conhecidos como chefes) e, opcionalmente, podem ter contribuidores (também conhecidos
como cozinheiros). Os usuários podem enviar defeitos, escrever depoimentos, enviar requisitos, participar de discussões
com os contribuidores, entre outras coisas.
Os proprietários de projetos pode escolher uma licença diferente da ALv2 apenas em situações nas quais a ALv2 não é
apropriada por alguma razão, como, por exemplo, onde um projeto inclui código licenciado sob uma licença de software
livre diferente, como EPL.
Os usuários da OpenNTF podem criar novos projetos quando tiverem efetuado login nesta
página. :
- Controles reutilizáveis. Os usuários da OpenNTF podem postar trechos de código mais simples no
compartimento de código da OpenNTF. Novas entradas
podem ser criadas nesta página.
Todas as entradas futuras no catálogo serão feitas sob a ALv2. É recomendado que os contribuidores também sigam o
processo de contribuição (modelo gerenciado) porque só depois essas entradas podem aparecer no catálogo.
- Componentes rich client. Os componentes rich client são armazenados em um banco de dados de site de atualização
do Eclipse na OpenNTF e são todos listados no catálogo. Revise esta amostra.
Apenas os contribuidores que seguiram o processo de contribuição (modelo gerenciado) podem incluir componentes rich
client e podem ser instalados utilizando o método de arrastar e soltar no Lotus Notes Client.
Para contribuir com um componente rich client, envie um e-mail com as seguintes informações para IP-manager@openntf.org;
consulte o site da OpenNTF para obter mais detalhes):
- Descrições: Uma descrição de uma linha, mais uma página, mais uma ou duas capturas de tela
- Código como arquivo zip (com ALv2 aplicada) com as origens como projetos Eclipse e o site de atualização
- Meta informações como Committed por, Todos os contribuidores, Plataformas testadas
Contribuição sem Código
Existem também maneiras de se engajar com a OpenNTF sem contribuir com código.
Qualquer pessoa pode sugerir entradas no catálogo enviando e-mail para catalog-owner@openntf.org com links para projetos
existentes ou entradas de compartimento de código na OpenNTF. O e-mail deve incluir as seguintes informações:
- Descrições: Uma descrição de uma linha, mais uma página, mais uma ou duas capturas de tela
- Confirmação de que este código funciona e em qual plataforma
Qualquer usuário autenticado da OpenNTF pode classificar entradas no catálogo e incluir comentários como respostas
diretamente no catálogo.
Os usuários autenticados da OpenNTF também podem criar novas ideias e votar e comentar sobre outras ideias utilizando
IdeaJam (consulte aqui: http://openntf.org/ideajam/ideajam.nsf).
Comentários gerais ou perguntas podem ser postados no fórum da OpenNTF.
A OpenNTF está sempre procurando pessoas para ajudar na extensão e na manutenção da sua infraestrutura técnica, ou seja,
para atualizar a interface com o usuário do Web site. Se você quiser ajudar, entre em contato diretamente com os autores
deste artigo (niklas_heidloff em de.ibm.com e steve.castledine em uk.ibm.com).
Futuro
A nova Aliança OpenNTF definiu um novo modelo de controle e IP como uma aliança para expandir o site da OpenNTF. A
OpenNTF está sempre procurando novos membros corporativos, contribuições de código, ideias, outras ofertas de ajuda, etc. Pelas
próximas semanas ou meses, o novo comitê do conselho definirá a direção para o futuro. Eis aqui algumas ideias que estão
sendo consideradas:
- Novo design do site OpenNTF.org. Algumas semanas atrás, a OpenNTF incluiu o IdeaJam em seu site para que a
comunidade possa votar em de que forma a OpenNTF deve ser melhorada. A mensagem clara desse voto inicial era que o Web
site OpenNTF.Org deveria ser aprimorado de várias maneiras. Existe um plano
rascunho que descreve essas extensões. Qualquer pessoa pode comentar essas ideias ou, melhor ainda, ajudar na sua
implementação.
- Projetos "vermelhos". A OpenNTF gostaria de lançar novos projetos reunindo várias pessoas que tenham interesse
em fornecer novos aplicativos de software livre. A ideia é construir esses releases iniciais em um pequeno espaço de tempo. A
OpenNTF quer estender sua infraestrutura para que as pessoas possam trabalhar de maneira mais colaborativa nos projetos. Por
exemplo, a OpenNTF está avaliando várias opções para fornecer sistemas de controle de código para elementos de design do Lotus
Notes e Lotus Domino, bem como para código Java do Eclipse.
- Contestações de desenvolvimento. Para motivar mais pessoas a contribuir com código, a OpenNTF gostaria de hospedar
contestações de desenvolvimento. Poderia haver categorias diferentes de amostra, como widgets simples, aplicativos da Web
sofisticados, aplicativos Eclipse, entre outros. No caso ideal, essas contestações poderiam ser executadas regularmente.
 |
Conclusão
Com o novo comprometimento da IBM, a OpenNTF foi estendida para se tornar um esforço comunitário real controlado por uma
aliança de diversas empresas de TI no mercado de Lotus Notes e Lotus Domino da IBM. O novo modelo de IP baseado na licença
do Apache permite o máximo de reutilização de código da OpenNTF para todos os propósitos, incluindo uso em aplicativos
comerciais. Com um modelo de licença padrão ou comum, os consumidores não precisam avaliar licenças para diferentes
projetos da OpenNTF. O novo catálogo torna a descoberta de amostras de alta qualidade muito mais fácil do que no passado.
A OpenNTF é um esforço comunitário. Como tal, a OpenNTF só pode ser bem-sucedida se várias empresas e pessoas da
comunidade ajudarem-na a seguir adiante. Se você quiser ajudar de qualquer maneira, utilize o IdeaJam ou entre em contato
diretamente com os autores deste artigo (niklas_heidloff em de.ibm.com e steve.castledine em uk.ibm.com).
Recursos
Sobre os autores  | |  | Niklas Heidloff trabalha na equipe de desenvolvimento do Lotus Notes e Lotus Domino para a IBM. Nos últimos anos, ele se tornou responsável por vários tópicos relacionados ao desenvolvimento de aplicativos, incluindo aplicativos compostos. Atualmente, ele é responsável pelo revigoramento da comunidade do Lotus Notes e do Lotus Domino através do crescimento do esforço do software livre OpenNTF.Org. Antes disso, ele trabalhou no IBM Workplace Client Technology, WebSphere Process Choreographer Workflow e no Lotus Workflow. Você pode contatar Niklas em niklas_heidloff@de.ibm.com. |
 | |  | Steve Castledine é um Engenheiro de Software Consultivo da IBM. Ele faz parte do Software Group e, atualmente, é responsável pelo crescimento do esforço de software livre em OpenNTF.Org e por demonstrar o valor do Lotus Domino XPages. Antes, Steve trabalhou em projetos para entregar aplicativos Blog, Wiki, Notebook/Personal Journal e outros de PIM. É possível contatar Steve em steve.castledine@uk.ibm.com. |
Avalie esta página
|  |