- Supabase a finalisé l’acquisition définitive du brevet OrioleDB
- Fournit une licence non exclusive sur le brevet américain 10,325,030 (Durable multiversion B+-tree) à tous les utilisateurs d’OrioleDB
- OrioleDB est une extension haute performance qui remplace le moteur de stockage existant de Postgres, en améliorant fortement les performances et la scalabilité dans les environnements cloud
- Le projet continue d’être développé en open source et vise la standardisation ainsi qu’une intégration au cœur de Postgres via la collaboration avec la communauté Postgres
- La licence de brevet a pour objectif la protection de la propriété intellectuelle (IP) et joue le rôle de « bouclier » face aux menaces contre l’open source
Publication du brevet OrioleDB et contexte de l’acquisition
- Supabase a récemment finalisé l’ensemble de la procédure juridique d’acquisition complète d’OrioleDB
- L’entreprise détient désormais tous les droits, y compris sur le brevet américain 10,325,030 (Durable multiversion B+-tree)
- Supabase accorde désormais officiellement ce brevet, à titre non exclusif, aux utilisateurs d’OrioleDB et de tous ses forks, y compris les services commerciaux
- Cette politique de licence s’applique dans le cadre de la licence d’OrioleDB
Présentation d’OrioleDB et performances
- OrioleDB est une extension de stockage qui exploite le système de stockage enfichable de Postgres
- Elle fonctionne comme un remplacement direct du moteur de stockage Postgres existant
- Grâce à une optimisation pour le matériel moderne et les infrastructures cloud, elle maximise les performances et la scalabilité de Postgres
- Selon les benchmarks officiels, elle affiche des performances environ 5,5 fois supérieures à celles du moteur Heap (TPC-C, base de 500 warehouses)
Orientation du projet et politique open source
- Avec l’équipe OrioleDB, Supabase met l’accent sur une stratégie centrée sur Postgres pour développer un moteur de stockage haute performance
- OrioleDB est un projet open source, auquel chacun peut contribuer via le code, la documentation, les tests ou les issues
- L’objectif est d’achever un moteur de stockage remplaçable basé sur la Table Access Method API de Postgres
- En collaboration avec la communauté Postgres, le projet travaille à la standardisation d’OrioleDB et à son intégration dans la branche principale en tant que module d’extension
Politique de licence et compatibilité IP
- La licence d’OrioleDB est rédigée sur la base de la licence PostgreSQL
- Supabase fournit une licence non exclusive permettant à tous les utilisateurs d’OrioleDB d’utiliser librement le brevet (US 10,325,030)
- Ce brevet a le rôle d’un « bouclier » destiné à défendre l’open source contre les litiges IP hostiles
Stratégie d’évolution alignée avec Postgres
- OrioleDB n’a pas pour but de concurrencer Postgres lui-même, mais de renforcer ses fonctionnalités et ses performances
- À long terme, la direction idéale serait une intégration d’OrioleDB dans le dépôt officiel de Postgres
- Pour y parvenir, le projet collabore en continu avec la communauté Postgres sur des patches liés à l’extensibilité du moteur de stockage
- Les efforts sur l’amélioration des performances et de la stabilité, la validation en environnement de production, la documentation et le renforcement de l’onboarding se poursuivent régulièrement
- Le partage de benchmarks, notes de migration et retours d’usage réels, les discussions actives dans la communauté technique, l’essai direct du projet et les contributions via issues/PR sont tous encouragés
1 commentaires
Réactions sur Hacker News
Après avoir parcouru rapidement le brevet et le code, j’ai eu l’impression que la quasi-totalité du travail de recherche provenait de travaux déjà réalisés auparavant par de nombreux scientifiques
Même si l’on prétend partager avec les autres avec de bonnes intentions ce qu’on a volé, cela reste du vol
Ce n’est pas parce que l’office américain des brevets a apposé son tampon d’approbation qu’il s’agit réellement d’une invention nouvelle
Cela signifie plutôt qu’on a convaincu un agent administratif de vous donner un fondement pour prétendre que les recherches d’autrui sont les vôtres
Si vous voulez être du bon côté, il faudrait annuler ce brevet et présenter des excuses à la communauté de recherche que vous avez tenté de dépouiller
Je serais curieux de savoir comment vous êtes arrivé à cette conclusion
La plupart des éléments figurant dans le corps du brevet sont forcément bien connus
L’important est de savoir si les revendications du brevet contiennent quelque chose de nouveau
La description du brevet doit être suffisamment complète pour qu’une personne normalement compétente dans le domaine puisse le reproduire, et le simple fait de retrouver des étapes dans des articles antérieurs ne suffit pas
Le niveau de détail rédigé par les avocats varie selon les cas, et il m’est arrivé de voir de longues explications sur des CPU ou des programmes
Pour éviter la controverse, il vaut mieux inclure aussi les techniques bien connues ; sinon, on risque plus tard de se retrouver dans des batailles judiciaires pour des détails insignifiants
Je pense que c’est beaucoup trop sévère envers Supabase
La recherche est importante, mais s’il existe des notions comme le « Reduction to Practice » à l’USPTO, c’est justement parce qu’on reconnaît que tout se construit sur des recherches antérieures
Il ne faut pas minimiser le fait qu’assembler concrètement des composants pour créer un système qui fonctionne réellement constitue en soi une nouveauté
https://en.wikipedia.org/wiki/Reduction_to_practice
Concernant l’avis selon lequel il faudrait « supprimer le brevet », ce que fait actuellement Supabase revient pratiquement au même
Puisque n’importe qui est couvert par ce brevet, cela facilite un peu la défense contre les patent trolls ou les litiges de propriété intellectuelle
J’ai du mal à comprendre cet avis
En pratique, Supabase cherche à publier ce brevet en open source, et travaille aussi sur l’upstream vers Postgres
Ils ont acquis une autre entreprise pour obtenir le brevet, puis ont même engagé des frais juridiques afin de le rendre à la communauté
Il est normal de critiquer les entreprises quand elles se comportent mal, mais ce commentaire donne l’impression de chercher la colère à tout prix
Si chaque tentative d’interaction entre une entreprise et la communauté est accueillie par ce genre d’attaques, les entreprises finiront par ne plus participer
Même s’il y a certains points critiquables (par exemple les problèmes de changement de licence), je pense qu’il faut aussi se réjouir des actions positives
Ce type d’évolution profite à l’ensemble de la communauté
Ce que j’ai vu sur le blog
« Ce brevet sert de bouclier pour protéger l’open source contre les menaces hostiles de propriété intellectuelle »
Pourtant, la licence actuelle contient
« Si un utilisateur titulaire de la licence engage une action en justice contre Supabase, alors cette licence prend fin à compter de ce moment »
Avec une telle formulation, même un simple litige fiscal ou une question juridique mineure pourrait faire perdre la licence
Pour des organismes publics, cela peut être contraignant ; il vaudrait donc mieux rédiger cela de manière plus ciblée sur les brevets, ou utiliser une licence approuvée par l’OSI
https://github.com/orioledb/orioledb/blob/main/LICENSE
(CEO de Supabase)
Nous allons réexaminer ce point avec l’équipe juridique afin de le clarifier davantage
Notre intention est claire, et s’il existe des exemples ou des suggestions utiles, nous sommes prêts à améliorer cela, y compris jusqu’à un niveau irrévocable
Si la communauté est prête à assumer les coûts de maintenance, nous sommes également ouverts au don du brevet lui-même
La licence Apache 2.0 est meilleure pour les questions de brevets
Elle prévoit la résiliation de la licence en cas de litige hostile sur des brevets, ce qui signifie que des questions fiscales ou similaires ne déclenchent pas cette résiliation
https://opensource.org/license/apache-2-0
C’est un bouclier pour Supabase, pas un bouclier pour nous
Je me demande si la licence actuelle autorise réellement les forks amicaux ou la redistribution
Au début, elle dit que l’utilisation, la copie, la modification et la distribution sont autorisées librement,
mais plus loin apparaît une phrase du type « accorde une licence sur le brevet », et il n’est pas clair si cela s’applique aussi au code redistribué après modification
Par exemple, la GPLv2 dit explicitement qu’« à chaque redistribution, le destinataire reçoit une licence du détenteur initial des droits »
Si l’on ajoute une clause toxique dans du code open source, ses effets doivent être clairs pour tous les utilisateurs
Je ne vois pas vraiment de problème
Comme ils l’ont dit, c’est utilisé comme un bouclier, et si vous les attaquez en justice, je ne pense pas que vous méritiez de conserver une licence gratuite
Open sourcer un brevet de base de données est rare
Je me demande si cela amènera d’autres entreprises à reconnaître qu’un écosystème ouvert est adopté plus rapidement qu’une propriété intellectuelle fermée
Sauf dans quelques cas particuliers, ne pas être open source est généralement très difficile
Supabase accorde une licence non exclusive sur les brevets américains d’OrioleDB à tous les utilisateurs, y compris les forks commerciaux
Ils indiquent aussi qu’OrioleDB est passé sous licence Apache 2.0 il y a une heure
https://github.com/orioledb/orioledb/commit/44bab2aa9879feb74bb1b6f056f7dba2d3ae5a90
Je n’aime vraiment pas l’idée de breveter des structures de données
OrioleDB était déjà en développement avant l’acquisition, et nous faisons de notre mieux pour conserver une licence open source libre aussi permissive que possible
Les brevets logiciels sont vraiment une spécificité culturelle américaine
Dans ce genre de cas, je pense presque qu’une approche à la chinoise consistant à ignorer le droit des brevets vaudrait mieux
La Chine traite généralement la propriété intellectuelle et le vol différemment des pays développés
Ils ignorent la PI dans l’industrie manufacturière, mais dès qu’ils deviennent une industrie fondée sur la PI, ils s’en servent au contraire
Aux États-Unis, on voit aussi de plus en plus une culture qui met fortement l’accent sur la PI, qu’il s’agisse de dire que le copyright est crucial ou qu’il faut arrêter les LLM
Cette approche tue l’innovation et assèche aussi le financement de la recherche
Je ne savais pas qu’on pouvait même breveter des choses comme des structures de données
Les détenteurs de PI agissent souvent selon la logique : « brevetez tout ce qui peut l’être, et utilisez le reste dans des négociations sous menace »
Il ne s’agit pas de breveter la structure de données elle-même, mais un nouvel algorithme ou une amélioration qui peut être qualifié de « procédé innovant »
En pratique, si un tribunal reconnaît un gain d’utilité ou un progrès technique, le brevet de procédé peut être maintenu
Même un brevet mineur peut coûter énormément de temps et d’argent à contester
Je ne suis ni avocat ni juge, mais après avoir observé ce domaine pendant longtemps, c’est la tendance que j’ai constatée
C’est possible aux États-Unis, mais difficile hors des États-Unis
Cela dépend des juridictions
L’Europe n’autorise pas encore ce type de brevet, mais le lobbying continue
Comme les tentatives pour les faire passer vont se poursuivre, je pense qu’il faudrait des sanctions juridiques contre cet acharnement à nuire aux libertés civiles
J’attends énormément d’OrioleDB
Cela ressemble à la prochaine étape pour faire évoluer Postgres afin qu’il convienne à toutes les bases de données, et je suis en train de vérifier moi-même les benchmarks : les résultats sont extrêmement impressionnants
https://airtable.com/app7jp5t0dEHyDpa8/shr00etqywoDW2N6N
Merci d’avoir vérifié les benchmarks
Nous devrions bientôt être prêts pour la RC, avec un objectif en décembre
Si vous voulez contribuer non seulement au code, mais aussi aux benchmarks et aux stress tests, ce serait d’une grande aide
En lisant le README et les commentaires, j’ai l’impression qu’OrioleDB apporte surtout des avantages sur les workloads à forte écriture grâce à des techniques comme l’anti-bloat
Je me demande si les performances restent bonnes quand les champs texte ou JSONB sont volumineux et passent par TOAST
Je me demande aussi s’il existe environ 1 % de types de workloads non recommandés ou certains inconvénients
https://github.com/orioledb/orioledb?tab=readme-ov-file#orioledb--a-cloud-native-storage-engine-for-postgresql
https://news.ycombinator.com/item?id=30462695
OrioleDB a clairement l’air intéressant, mais si la structure de stockage change, la compatibilité avec d’autres extensions peut devenir problématique
pg_search (ParadeDB), Timescale et d’autres pourraient être affectés,
un cas similaire étant YugabyteDB, qui a rencontré des difficultés d’intégration avec les extensions PostgreSQL en intégrant RocksDB
Supabase apporte constamment une énorme valeur à l’écosystème Postgres
Ce n’est pas une licence open source
« Si le titulaire de la licence engage une action en justice contre Supabase, la licence prend fin immédiatement »
C’est une clause toxique
Au minimum, la licence est formulée de manière naïve au point de bloquer son utilisation même chez les clients de Supabase ; au pire, cela peut ressembler à une tentative d’accorder une immunité à Supabase au nom d’un projet communautaire
Si vous poursuivez l’entreprise pour une question contractuelle, de PI, d’emploi ou autre, vous perdez la licence
Même si vous l’attaquez pour une perte de données, ils pourraient immédiatement contre-attaquer en invoquant une violation de licence
Il est étonnant d’inclure ce genre de clause tout en se réclamant de la licence Postgres
OrioleDB est clairement un projet prometteur, mais sous cette licence ce n’est ni de l’open source, ni quelque chose que tout le monde peut utiliser
sam, tu me connais probablement assez pour savoir à quel point notre équipe accorde de l’importance à l’open source
J’aurais dû suivre cela plus activement, et cela a été insuffisant de ma part
Maintenant, nous sommes passés à Apache 2.0, les droits liés aux brevets sont clairement accordés, et lors de l’upstream du code il pourra aussi être relicencié pour PostgreSQL
Nous allons aussi mettre à jour le blog
https://github.com/orioledb/orioledb/pull/558
Facebook avait autrefois mis une clause similaire dans la licence de React, avant de la retirer bien plus tard
Cela peut ressembler à la clause brevet d’Apache2, mais en réalité ce n’est pas limité au périmètre d’utilisation d’un logiciel spécifique
Je me demande si ce n’est pas simplement une licence permissive de style Apache 2