Pular para conteúdo

Incubadoras para Projetos FLOSS

As incubadoras são programas criados por fundações e organizações Open Source para apoiar projetos em seus estágios iniciais de crescimento e maturação.

Diferentemente de fundos ou programas de grants, uma incubadora não tem como objetivo principal financiar projetos. Seu foco é ajudar projetos a desenvolver uma comunidade saudável, estabelecer uma governança adequada, adotar boas práticas e tornar-se sustentáveis no longo prazo.

Embora algumas incubadoras possam oferecer recursos financeiros de forma indireta, seu maior valor está no suporte técnico, organizacional e comunitário.

O que é uma incubadora?

Uma incubadora é um programa que recebe projetos Open Source em fase inicial ou em processo de migração para uma fundação e oferece acompanhamento durante seu desenvolvimento.

Durante esse período, o projeto normalmente recebe apoio para:

  • estabelecer uma governança adequada;
  • construir uma comunidade diversa;
  • definir processos de desenvolvimento;
  • adequar licenciamento e propriedade intelectual;
  • estruturar documentação;
  • adotar boas práticas;
  • preparar-se para tornar-se um projeto oficial da fundação.

Na Apache Software Foundation, por exemplo, os projetos em incubação são chamados de Podlings.

Como podem gerar financiamento para um projeto FLOSS?

Na maioria dos casos, incubadoras não concedem financiamento direto.

No entanto, participar de uma incubadora pode facilitar o acesso a outras formas de financiamento.

Entre os benefícios indiretos estão:

  • maior visibilidade;
  • aumento da credibilidade do projeto;
  • aproximação com patrocinadores;
  • acesso a programas de grants;
  • apoio de empresas participantes da fundação;
  • infraestrutura técnica gratuita;
  • redução de custos operacionais.

Em outras palavras, a incubação fortalece o projeto, tornando-o mais preparado para receber investimentos e financiamentos futuros.

Como funcionam?

Embora cada organização tenha seu próprio processo, normalmente a incubação segue etapas semelhantes.

1. Submissão

O projeto manifesta interesse em ingressar na incubadora.

São avaliados aspectos como:

  • maturidade técnica;
  • licença Open Source;
  • histórico do projeto;
  • comunidade existente;
  • alinhamento com a missão da fundação.

2. Aceitação

Se aprovado, o projeto entra oficialmente no programa de incubação.

Normalmente recebe:

  • mentores;
  • infraestrutura;
  • documentação;
  • acesso às ferramentas da fundação.

3. Incubação

Durante esse período, o projeto trabalha para atingir determinados objetivos, como:

  • fortalecer sua comunidade;
  • adotar processos transparentes;
  • ampliar o número de contribuidores;
  • estruturar sua governança;
  • realizar releases seguindo as diretrizes da fundação.

4. Graduação

Quando o projeto demonstra maturidade suficiente, ele deixa de ser incubado e passa a integrar oficialmente a fundação.

Caso não atinja os objetivos esperados, alguns programas podem encerrar a incubação ou arquivar o projeto.

Benefícios

Participar de uma incubadora pode trazer diversos benefícios.

Entre eles:

  • mentoria de especialistas;
  • fortalecimento da governança;
  • amadurecimento da comunidade;
  • apoio jurídico relacionado à propriedade intelectual;
  • infraestrutura para desenvolvimento;
  • maior credibilidade;
  • aproximação com empresas;
  • preparação para sustentabilidade de longo prazo.

Esses benefícios costumam ser mais valiosos do que um financiamento pontual.

Exemplos de projetos incubados

Diversos projetos Open Source bastante conhecidos passaram por programas de incubação antes de se tornarem projetos consolidados.

Apache Incubator

Alguns exemplos incluem:

  • Apache Spark
  • Apache Kafka
  • Apache Airflow
  • Apache Cordova
  • Apache CloudStack
  • Apache CouchDB
  • Apache MXNet
  • Apache Pinot
  • Apache Pekko

Todos esses projetos ingressaram no Apache Incubator como Podlings antes de se tornarem projetos oficiais da Apache Software Foundation.

CNCF

A Cloud Native Computing Foundation utiliza um modelo semelhante de maturidade para seus projetos.

Diversos projetos passaram pelas etapas Sandbox, Incubating e posteriormente Graduated, como:

  • Argo CD
  • OpenTelemetry
  • Cilium
  • Crossplane
  • Flux
  • Linkerd

Essas etapas ajudam os projetos a amadurecer sua comunidade, governança e adoção antes de serem considerados totalmente graduados.

Incubadoras ativas

Apache Incubator

A incubadora da Apache Software Foundation é uma das mais tradicionais do ecossistema Open Source.

Ela apoia projetos que desejam tornar-se projetos oficiais da fundação, oferecendo:

  • mentoria;
  • infraestrutura;
  • orientação sobre governança;
  • apoio jurídico;
  • processos de release;
  • desenvolvimento de comunidade.

É considerada uma referência mundial em incubação de projetos FLOSS.


Eclipse Foundation Incubation Process

A Eclipse Foundation possui um processo de incubação para novos projetos, focado em:

  • desenvolvimento de comunidade;
  • governança;
  • licenciamento;
  • propriedade intelectual;
  • processos de desenvolvimento.

Diversos projetos da Eclipse Foundation passaram por esse processo antes de se tornarem projetos oficiais.


CNCF Sandbox e Incubating

Embora não utilize o termo "incubadora" formalmente, a CNCF possui um modelo de maturidade bastante semelhante.

Projetos entram inicialmente como Sandbox, podem evoluir para Incubating e, posteriormente, alcançar o nível Graduated.

Durante essa jornada, recebem apoio da comunidade, orientação técnica, infraestrutura e visibilidade dentro do ecossistema Cloud Native.

Incubadoras x Grants

Embora ambos apoiem projetos Open Source, possuem objetivos bastante diferentes.

Incubadoras Grants
Oferecem mentoria e apoio organizacional. Oferecem recursos financeiros.
Foco em maturidade e governança. Foco na execução de um projeto específico.
Normalmente não financiam diretamente. O financiamento é o objetivo principal.
Apoio contínuo durante a incubação. Apoio normalmente limitado ao período do grant.

Na prática, um projeto incubado pode posteriormente candidatar-se a programas de grants.

Incubadoras x Fundações

Também é importante diferenciar esses conceitos.

Uma fundação é a organização responsável pela gestão de um conjunto de projetos.

Já a incubadora é um programa oferecido por essa fundação para apoiar novos projetos.

Por exemplo:

  • a Apache Software Foundation é uma fundação;
  • o Apache Incubator é um programa da fundação.

O mesmo ocorre com diversas outras organizações do ecossistema Open Source.

Uma incubadora é indicada para qualquer projeto?

Não necessariamente.

Projetos pequenos, pessoais ou em estágio inicial podem não precisar de uma incubadora.

Esse tipo de programa costuma ser mais adequado quando o projeto:

  • possui uma comunidade em crescimento;
  • deseja adotar uma governança mais estruturada;
  • pretende integrar uma fundação;
  • busca maior neutralidade institucional;
  • deseja fortalecer sua sustentabilidade de longo prazo.