- A Supabase concluiu a aquisição final da patente do OrioleDB
- Está oferecendo uma licença não exclusiva da patente americana 10,325,030 (Durable multiversion B+-tree) para todos os usuários do OrioleDB
- O OrioleDB é uma extensão de alto desempenho que substitui o mecanismo de armazenamento existente do Postgres, melhorando significativamente o desempenho e a escalabilidade em ambientes de nuvem
- O projeto continuará sendo desenvolvido como código aberto, com o objetivo de padronização e integração ao núcleo por meio de colaboração com a comunidade Postgres
- A licença da patente tem como objetivo a proteção de propriedade intelectual (IP) e atua como um "escudo" contra ameaças ao código aberto
Divulgação da patente do OrioleDB e contexto da aquisição
- A Supabase concluiu recentemente todo o processo legal de aquisição do OrioleDB
- Passou a deter todos os direitos, incluindo a patente americana 10,325,030 (Durable multiversion B+-tree)
- Agora, a Supabase disponibiliza oficialmente essa patente de forma não exclusiva para usuários do OrioleDB e de todos os seus forks, incluindo serviços comerciais
- Essa política de licenciamento é aplicada de acordo com a licença do OrioleDB
Visão geral e desempenho do OrioleDB
- O OrioleDB é uma extensão de armazenamento que utiliza o sistema de armazenamento plugável do Postgres
- Funciona de forma drop-in, substituindo o mecanismo de armazenamento existente do Postgres
- Maximiza o desempenho e a escalabilidade do Postgres com otimização para hardware moderno e infraestrutura em nuvem
- Segundo benchmarks oficiais, apresenta desempenho cerca de 5,5 vezes superior ao mecanismo Heap (TPC-C, com base em 500 warehouses)
Direção de desenvolvimento do projeto e política de código aberto
- A Supabase, junto com a equipe do OrioleDB, está focada no desenvolvimento de um mecanismo de armazenamento de alto desempenho com uma estratégia Postgres em primeiro lugar
- O OrioleDB é um projeto de código aberto, e qualquer pessoa pode contribuir com código, documentação, testes, issues etc.
- O objetivo é concluir um mecanismo de armazenamento drop-in com base na Table Access Method API do Postgres
- Em colaboração com a comunidade Postgres, o projeto está promovendo a padronização e integração à mainline do OrioleDB como módulo de extensão
Política de licenciamento e compatibilidade de IP
- A licença do OrioleDB foi escrita com base na licença PostgreSQL
- A Supabase oferece uma licença não exclusiva para que todos os usuários do OrioleDB possam usar livremente a patente (US 10,325,030)
- Essa patente tem o caráter de um "escudo" para defesa contra litígios hostis de propriedade intelectual que ameacem o código aberto
Estratégia de evolução alinhada ao Postgres
- O objetivo do OrioleDB não é competir com o próprio Postgres, mas aprimorar os recursos e o desempenho do Postgres
- No longo prazo, a direção ideal é que o OrioleDB seja incorporado ao repositório oficial do Postgres
- Para isso, o projeto continua colaborando com a comunidade Postgres em patches relacionados à extensibilidade do mecanismo de armazenamento
- Melhorias de desempenho e estabilidade, validação em ambientes de produção, documentação e reforço do onboarding seguem sendo promovidos de forma contínua
- O projeto incentiva o compartilhamento de benchmarks, notas de migração e feedback de uso real, além de discussões ativas na comunidade técnica, testes práticos e contribuições com issues/PRs
1 comentários
Comentários no Hacker News
Depois de dar uma olhada rápida na patente e no código, tive a sensação de que quase toda a pesquisa foi tirada de trabalhos que vários cientistas já vinham fazendo antes
Mesmo que alguém diga que quer compartilhar com boas intenções algo que roubou de outros, isso continua sendo roubo
Só porque o escritório de patentes dos EUA aprovou a patente não significa que algo realmente novo foi inventado
Na verdade, isso só significa que conseguiram convencer burocratas e ganhar base para alegar como seu o trabalho de outras pessoas
Se querem ficar do lado certo, o certo seria invalidar essa patente e pedir desculpas à comunidade de pesquisa da qual tentaram se apropriar
Fiquei curioso sobre como você chegou a essa conclusão
A maior parte do que aparece no texto da patente necessariamente vai ser coisa já conhecida
O importante é se as reivindicações da patente incluem algo novo
A descrição da patente precisa ser suficiente para que um especialista comum da área consiga reproduzir, e não basta apenas apontar que dá para encontrar etapas em artigos anteriores
O nível de detalhe que os advogados colocam varia de caso para caso, e às vezes já vi explicações longuíssimas sobre CPU ou programas
Para evitar controvérsia, é melhor até incluir técnicas bem conhecidas, senão depois pode acabar virando briga judicial por bobagem
Acho uma avaliação dura demais com a Supabase
A pesquisa é importante, mas a existência de mecanismos como o
Reduction to Practiceno USPTO reconhece justamente que tudo é construído sobre pesquisa anteriorNão dá para ignorar que montar as peças e construir um sistema que realmente funciona já pode ser, por si só, uma novidade
https://en.wikipedia.org/wiki/Reduction_to_practice
Sobre a opinião de “acabar com a patente”, na prática é mais ou menos isso que a Supabase está oferecendo agora
Como qualquer pessoa passa a estar protegida por essa patente, isso facilita um pouco a defesa contra patent trolls ou processos de propriedade intelectual
Não entendi muito bem essa opinião
Na prática, a Supabase está tentando liberar a patente como open source e também está contribuindo upstream para o Postgres
Compraram outra empresa, obtiveram a patente e agora estão até gastando com advogados para devolvê-la à comunidade
Quando empresas fazem algo errado, claro que devem ser criticadas, mas esse comentário parece mais uma tentativa forçada de ficar indignado
Se toda vez que uma empresa tentar interagir com a comunidade ela for recebida assim, elas simplesmente vão parar de participar
Mesmo que existam pontos a criticar, como a mudança de licença, acho que também deveríamos comemorar ações positivas
Esse tipo de mudança beneficia a comunidade como um todo
O que vi no blog foi o seguinte
“Esta patente serve como um escudo contra problemas de propriedade intelectual que ameacem o open source de forma hostil”
Só que a licença atual diz
“Se um usuário licenciado entrar com qualquer ação judicial contra a Supabase, a licença é encerrada a partir desse momento”
Isso significa que até uma questão jurídica menor, como uma disputa tributária, já pode fazer a pessoa perder a licença
Para órgãos públicos isso pode ser um problema, então talvez fosse melhor restringir isso apenas a patentes ou usar uma licença certificada pela OSI
https://github.com/orioledb/orioledb/blob/main/LICENSE
(CEO da Supabase)
Vou revisar isso de novo com o jurídico para deixar mais claro
Nossa intenção é clara e, se houver exemplos ou sugestões úteis, podemos melhorar isso até um nível de irrevogabilidade
Se a comunidade estiver preparada para arcar com o custo de manutenção, também estamos abertos a doar a própria patente
A licença Apache 2.0 lida melhor com a questão de patentes
Ela prevê encerramento da licença em caso de litígio hostil de patente, então questões como tributação não levariam ao fim da licença
https://opensource.org/license/apache-2-0
É um escudo para a Supabase, não um escudo para nós
Fico na dúvida se a licença atual permite forks amigáveis ou redistribuição
No começo ela diz que é permitido usar, copiar, modificar e distribuir livremente,
mas depois aparece a frase “concede uma licença sobre a patente”, e não está claro se isso vale também para código modificado e redistribuído
Por exemplo, a GPLv2 deixa claro que “cada vez que você redistribui, recebe uma licença do titular original”
Se vão colocar cláusulas tóxicas em código open source, o impacto disso precisa estar claro para todos os usuários
Não me parece haver grande problema
Como eles disseram, é para usar como escudo, e se você vai processá-los, então não deveria ter direito a uma licença gratuita
É raro ver uma patente de banco de dados sendo aberta para o open source
Fico curioso para saber se isso vai levar outras empresas a perceberem que um ecossistema aberto tem adoção mais rápida do que IP fechado
Tirando alguns casos muito específicos, normalmente é difícil sem open source
A Supabase está licenciando a patente americana do OrioleDB de forma não exclusiva para todos os usuários, incluindo forks comerciais
Também disseram que mudaram a licença do OrioleDB para Apache 2.0 há uma hora
https://github.com/orioledb/orioledb/commit/44bab2aa9879feb74bb1b6f056f7dba2d3ae5a90
Eu realmente não gosto da ideia de patentear estruturas de dados
O próprio OrioleDB já estava sendo desenvolvido antes da aquisição, e estamos tentando manter uma licença de open source livre o máximo possível
Patentes de software são uma coisa muito americana
Nesses casos, às vezes acho até melhor a abordagem chinesa de simplesmente ignorar a lei de patentes
A China em geral trata propriedade intelectual e roubo de forma diferente dos países desenvolvidos
Quando é indústria de manufatura, ignoram IP, mas quando o setor passa a ser baseado em IP, aí passam a usá-lo
Nos EUA, recentemente, também cresceu muito essa cultura de enfatizar IP, de dizer que copyright é super importante ou que é preciso parar os LLMs
Essa abordagem mata a inovação e faz o financiamento de pesquisa secar
Eu nem sabia que coisas como estruturas de dados podiam ser patenteadas
Os donos de IP agem no estilo “patenteie tudo o que puder e use o resto para intimidação e negociação”
Não é a estrutura de dados em si, mas um algoritmo novo ou uma melhoria que pode ser considerado um “processo inovador”
Se o tribunal entender que existe ganho prático ou avanço técnico real, a patente de processo pode continuar válida
Até uma patente boba pode consumir um tempo e um dinheiro absurdos para ser contestada
Não sou advogado nem juiz, mas acompanho essa área há muito tempo e é esse padrão que vejo
Nos EUA é possível, mas fora dos EUA é bem mais difícil
Isso varia de acordo com a jurisdição
A Europa ainda não permite esse tipo de patente, mas o lobby continua acontecendo
No fim, sempre vão continuar tentando aprovar isso, então acho que esse tipo de insistência em prejudicar liberdades civis deveria receber sanções legais
Estou muito animado com o OrioleDB
Parece o próximo passo para escalar o Postgres de forma adequada para todo tipo de banco de dados, e estou olhando os benchmarks por conta própria; os resultados são muito impressionantes
https://airtable.com/app7jp5t0dEHyDpa8/shr00etqywoDW2N6N
Obrigado por conferir os benchmarks
Devemos deixar o RC pronto em breve e a meta é dezembro
Se você quiser contribuir não só com código, mas também com benchmarks e testes de estresse, isso seria de grande ajuda
Pelo README e pelos comentários, parece que o OrioleDB tem uma vantagem forte em cargas de trabalho com muita escrita, graças a técnicas como anti-bloat
Fico curioso para saber se ele também entrega bom desempenho quando campos de texto ou JSONB são grandes e passam por TOAST
E também queria saber se existe aquele 1% de tipos de workload que vocês não recomendam ou que têm desvantagens
https://github.com/orioledb/orioledb?tab=readme-ov-file#orioledb--a-cloud-native-storage-engine-for-postgresql
https://news.ycombinator.com/item?id=30462695
O OrioleDB realmente parece interessante, mas mudar a estrutura de armazenamento pode acabar causando problemas de compatibilidade com outras extensões
pg_search (ParadeDB), Timescale e outras podem ser afetadas,
e um caso parecido foi o do YugabyteDB ao integrar o RocksDB, quando surgiram dificuldades na integração com extensões do PostgreSQL
A Supabase vem agregando um valor enorme ao ecossistema do Postgres de forma consistente
Isso não é uma licença open source
"Se o titular da licença entrar com uma ação judicial contra a Supabase, a licença é encerrada imediatamente"
Isso é uma cláusula tóxica
No mínimo, a licença é ingênua a ponto de bloquear até clientes da Supabase de usarem isso e, no pior caso, pode ser uma tentativa de dar imunidade judicial à Supabase sob a bandeira de um projeto comunitário
Se você processar por contrato, IP, emprego ou qualquer outra questão, perde a licença
Se processar por perda de dados, eles ainda podem contra-atacar alegando violação da licença
É curioso colocarem uma cláusula dessas enquanto se apoiam na licença do Postgres
O OrioleDB claramente parece promissor, mas com essa licença ele não é open source e o grupo de pessoas que pode usá-lo fica limitado
sam, você provavelmente me conhece bem o suficiente para saber o quanto nosso time valoriza open source
Eu deveria ter administrado isso de forma mais ativa, e falhei nisso
Agora mudamos para Apache 2.0, com concessão clara dos direitos relacionados à patente, e quando enviarmos código para upstream ele também poderá ser relicenciado para o PostgreSQL
Também vamos corrigir o blog
https://github.com/orioledb/orioledb/pull/558
Antigamente o Facebook colocou uma cláusula parecida na licença do React e só foi removê-la muito tempo depois
Parece semelhante à cláusula de patentes da Apache 2, mas na prática não está limitada apenas ao escopo de uso de um software específico
Fico pensando se isso não era simplesmente para ser uma licença permissiva no estilo Apache 2