Avançar para a área de conteúdo

ir para o conteúdo principal

developerWorks Brasil  >  Software livre  >

A Nova Aliança OpenNTF

developerWorks
Opções de documento

Opções de documento que necessitam de JavaScript não são exibidas

Discutir


Classificar esta página

Ajude-nos a melhorar este conteúdo


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
OpenNTF Alliance

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.



Voltar para parte superior


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
The OpenNTF catalog

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
New mail notification window

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
The search Lotus Domino Designer wiki widget

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
The XPages wiki

Por exemplo, este projeto é um aplicativo wiki baseado em XPages do Lotus Domino.


Figura 6. Documentação do Wiki XPages
XPages wiki documentation

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
The custom XPage control


Voltar para parte superior


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).



Voltar para parte superior


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.


Voltar para parte superior


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


Reserve um instante para completar este formulário para nos ajudar a servi-lo melhor.



 


 


Não
são úteis
Extremamente
úteis
 






Voltar para parte superior