6 ms·
OrioleDB Patent: now freely available to the Postgres community
- hardwaresofton 1y agoSupabase consistently delivering massive value to the postgres ecosystem
- 916c0553e164269 1y agofrom the blog: "The patent is intended as a shield, not a sword, to protect Open Source from hostile IP claims." vs. the current license: "IF ANY LITIGATION IS INSTITUTED AGAINST SUPABASE, INC. BY A LICENSEE OF THIS SOFTWARE, THEN THE LICENSE GRANTED TO SAID LICENSEE SHALL TERMINATE AS OF THE DATE SUCH LITIGATION IS FILED." ( https://github.com/orioledb/orioledb/blob/main/LICENSE https://github.com/orioledb/orioledb/blob/main/LICENSE ) imho: the current wording might discourage state organisations, since even a trivial lawsuit (e.g. a minor tax delay) could terminate the licence - perhaps a narrower patent-focused clause would work better (or an OSI-approved licence?).
- cwillu 1y agoOr litigation from a future license violation
- giancarlostoro 1y agoSounds like the MS-PL which Microsoft used to use but switched to MIT. MS-PL is basically MIT but cover your butt against patent litigation.
- cyphar 1y agoYou need to read the text more carefully -- the license terminates for any litigation against Supabase at all. Hypothetically, a former employee of Supabase suing them for some employee rights violation would no longer be allowed to use the software, which is not the case for any other OSI-approved license with patent shields. The MS-PL has the fairly standard reactive patent shield that only activates for patent-related litigation for the specific software under the license and is kind of similar to the language in Apache 2.0, MPLv2, and GPLv3. But they have now switched to Apache 2.0, so crisis averted.
- yellow_lead 1y agoA shield for Supabase, not for us
- Reubend 1y agoSo what? I don't see any conflict between what they said and what the license says. As they stated, it's being used as a shield. If you're suing them, you probably don't deserve a free license to their patented tech.
- graemep 1y agoThe difference is that the license is terminated by ANY litigation against Supabase - e.g. if you sue them for breach of contract completely unrelated to the software. Use as a shield would mean limiting it to patent litigation against a user of the software. It also only covers litigation against Supabase - it does not provide a shield against litigation against OrioleDB users.
- deleted 1y ago[deleted]
- 916c0553e164269 1y agoApache 2.0 has a better patent clause - against hostile IP claims, so tax dispute is not terminate the OrioleDB license: "If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed." https://opensource.org/license/apache-2-0 https://opensource.org/license/apache-2-0
- crote 1y agoIt also seems a lot less strict on what is being terminated. On violation the Apache 2.0 license terminates the patent license. I might be mistaken, but that reads an awful lot like you're still allowed to use the software provided you do so in a way which doesn't violate the patent. On the other hand, the OrioleDB license seems to terminate the entire license - so the way I read this it would include parts of the software which aren't covered under the patent itself.
- cyphar 1y agoMPLv2 has a stronger version of this (I also personally prefer it in general to Apache-2.0 if you can't stomach GPLv3).
- kiwicopple 1y agohttps://news.ycombinator.com/item?id=45200014 https://news.ycombinator.com/item?id=45200014
- kiwicopple 1y ago(Supabase ceo) I’ll revisit this with legal to try make it clearer. Our intentions here are clear - if people have examples that we can follow we will do what we can to make this irrevocable (even to the extent of donating the patent if/when the community are ready to bear the cost of the maintainance)
- gobdovan 1y agoCan you acquire atlasgo too, or is that still on the secret roadmap?
- kiwicopple 1y agowe will have something to announce in this space within a few months (if the atlasgo team are reading this feel free to reach out too)
- jacquesm 1y agoThis is highly unprofessional.
- 916c0553e164269 1y agoAppreciate the intent! For practical adoption, especially in larger orgs, OSI-approved licences are much easier to get through legal review than custom ones.
- kiwicopple 1y agoThe current license is PostgreSQL (which is OSI approved) We could also change to MIT/Apache but we feel PostgreSQL is more appropriate given our intentions to upstream the code
- crote 1y ago> The current license is PostgreSQL That's just not true. Your license[0] adds a clause to the Postgresql license[1]. This makes it a different license, which by extension also means it isn't OSI approved. It's the same with the BSD licenses[2]: the 4-clause one is OSI-approved, whereas the 3-clause one is not. Turns out that one additional "all advertising must display the following acknowledgement" clause was rather important - and so is your lawsuit clause. [0]: https://github.com/orioledb/orioledb?tab=License-1-ov-file https://github.com/orioledb/orioledb?tab=License-1-ov-file [1]: https://github.com/postgres/postgres?tab=License-1-ov-file https://github.com/postgres/postgres?tab=License-1-ov-file [2]: https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_(original_%22BSD_License%22) https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_...
- crote 1y agoDoes the current license even allow for friendly forks, or redistribution? It starts off nice with the usual: > PERMISSION TO USE, COPY, MODIFY, AND DISTRIBUTE THIS SOFTWARE AND ITS DOCUMENTATION FOR ANY PURPOSE, WITHOUT FEE, AND WITHOUT A WRITTEN AGREEMENT IS HEREBY GRANTED .. but then there's the: > HEREBY GRANTS A (..) LICENSE TO UNITED STATES PATENT NO. 10,325,030 TO MAKE, HAVE MADE, USE, HAVE USED, OFFER TO SELL, OFFERED TO SELL, SELL, SOLD, IMPORT INTO THE UNITED STATES, IMPORTED INTO THE UNITED STATES, AND OTHERWISE TRANSFER THIS SOFTWARE .. which to me seems to be missing some kind of "modify" clause? Sure, it seems like you're allowing me to distribute it as-is the way a store like Amazon distributes boxes, but what happens when I start modifying the code and distributing those modifications? Is it still "this software", or has it become a derivative? Is the license I get to that patent even sublicensable? What happens to users of a fork when the forkee sues Supabase: do they also by extension lose their patent license? The GPLv2, for example, has a clause stating that "Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor" which makes it very clear what happens. If you're adding a poison pill to open-source code, you really shouldn't be this sloppy: it should be painfully obvious to every reader what the implications are, or nobody will ever risk using it.
- cyphar 1y agoA common issue with open source patent licenses is that they cannot grant blanket patent rights from contributors without some limitation around modifications, as it would allow someone to trivially render all of contributors' patents invalid (they just have to write a patch for the software that implements a patent you hold). GPLv3 has text about this in (s)11, MPLv2 has (s)2.3, and Apache-2.0 has s(3). GPLv2 doesn't have an explicit patent grant (and while some folks have argued that it has an implicit one that is just as good, I think the general consensus is that GPLv2 is not immune to patent trolls). All of them still allow you to make modifications but they do not guarantee that some other patents will not be infringed by your modifications and open you up to patent lawsuits (even from the same entity). Assuming a lawyer wrote this, this is probably part of the reason for it. But it does feel a little sloppy, a separate patent license with clear terms would probably be more preferable.
- 0xb0565e486 1y agoI did not know you could patent data structures like that.
- psychoslave 1y agoThat's juridiction dependent. Europe didn't allow such a thing last time I checked. But lobbying to do so as been recurrent on this topic, just like putting governmental backdoor everywhere. They will try until it passes. There should be legal penality for such a stubborn will to destroy civil liberty. At least in this case they can't play the card "think of the children, nazi pedophiles use this".
- wokkel 1y agoYou can in the US. Not so much in the rest of the world.
- jonathaneunice 1y agoIP owners often play the game of “patent what you can, threaten with the rest.” So you might not be able to strictly patent the way data is laid out, but specific, novel algorithms that update or manipulate that layout and improve what was possible before? Those can be understood as key steps of an “innovative process”—and courts have been willing to uphold process claims, especially when tied to what they understand are genuine technical improvements. Fighting even a marginal patent usually means a long, expensive slog with plenty of downside risk. IANAL nor a patent judge, but this is my understanding after watching the space for some years.
- thayne 1y agoAt least this is how it works in the US. And in the US algorithms are (unfortunately) patentable. That is not the case in all countries.
- jonathaneunice 1y agoCorrect. But at the same time, globalization means legal mandates are increasingly extra-territorial in scope and impact. U.S. patent law affects anyone whose products touch the American market. Similarly, CCPA/CPRA and GDPR reach far beyond their nominal geographic borders.
- monadoid 1y agoLove you supabase
- 8cvor6j844qw_d6 1y agoIs OrioleDB just PostgreSQL but with some underlying modifications for cloud environments? How does it compare with Neon DB?
- LtdJorge 1y agoIt’s a different storage engine for Postgres
- boxed 1y agoThe "cloud environments" part sounds like marketing fluff. "The cloud" is just someone else's servers after all. There's nothing special about it.
- pbronez 1y agoIn this case, it seems to refer to their support for S3-compatible object storage as for persistence.
- IgorPartola 1y agoThat’s like saying a chair is just a tree that has been modified. Technically true, practically there are some very specific differences.
- throwaway894345 1y agoWhat are the relevant differences? I’m not as cynical as the parent commenter, but I’m also unclear about what OrioleDB is doing that is meaningfully “CloudNative”. From skimming the main page, it seems like it’s just doing storage differently, but so far I’ve seen nothing to suggest that difference is “leveraging cloud services” or anything else.
- IgorPartola 1y agoI am not familiar with this particular product but generally if you run on say AWS you either need to account for the greatly increased disk latency due to EBS being network storage or build provisions for local storage that is not necessarily unlimited, it is unclear what kind of disk controller it is attached to, etc. It could also mean optimizing for the AWS-specific CPU architecture. Or it could mean using S3 as storage which has yet different durability and consistency semantics compared to other storage systems. It might also mean optimizing for pricing of a given cloud provider in some way.
- boxed 1y agoThe graphs for OrioleDB looks very impressive. Can someone give a counter argument to switching to this?
- wwizo 1y agoOreole is not a plug-and-play yet. From their docs ( https://www.orioledb.com/docs https://www.orioledb.com/docs ) > OrioleDB currently requires a set of patches to PostgreSQL to enhance the pluggable storage API and other PostgreSQL subsystems. All of these patches have been submitted to the PostgreSQL community and are under review.
- mattashii 1y ago(Opinions are my own, not of my employer) I think that "under review" claim is doing some very heavy lifting, especially when it relates to their changes to index tuple lifecycle management. The patches that have been submitted are unlikely to get committed in full anytime soon, even after substantial changes to the patches' designs. PostgreSQL just has not been designed for what OrioleDB is doing, and forcing OrioleDB's designs into PostgreSQL upstream would a lot of (very) sharp edges that the community can't properly test without at least a baseline implementation - which critically hasn't been submitted to upstream. Examples of these sharp edges are varsized TIDs, MVCC-owning indexes, and table AM signalled index inserts. There are certainly ideas in OrioleDB's designs that PostgreSQL can benefit from (retail index tuple deletion! self-clustering tables!), but these will need careful consideration in how this can be brought into the project without duplicating implementations at nearly every level. A wholesale graft of a downstream fork and then hoping it'll work out well enough is just not how the PostgreSQL project works.
- ksec 1y agoOh this dampens my expectations, I was under the wrong impression that it will stabilise outside of Postgres before it is merged.
- Sesse__ 1y agoYou get basically most of the advantages of a B-tree-oriented table, but also most of the disadvantages AFAIK. In particular, any index lookup/scan is going to take twice as long (index blocks don't point to the place on disk, they just contain the primary key and then you need to go lookup _that_ in the actual table).
- pbronez 1y agoOrioleDB is new to me. According to the docs, it “uses Postgres Table Access Method (TAM) to provide a pluggable storage engine for PostgreSQL. […] Pluggable Storage gives developers the ability to use different storage engines for different tables within the same database. Developers will be able to choose a storage method that is optimized for their specific needs: some tables could be configured for high transactional loads, others for analytics workloads, and still others for archiving.” https://www.orioledb.com/docs https://www.orioledb.com/docs
- fuzzy_biscuit 1y agoI strongly dislike the idea of patenting data structures.
- kiwicopple 1y agofwiw, this is not our m.o. - oriole was under development before we took on the maintenance/development. Our goal now is to ensure that it’s as F/OSS as possible given the pre-existing conditions
- dkhenry 1y agoI am super bullish on OrioleDB. It really seems like the next logical progression for scaling Postgres for 99% of all databases out there. I have been following their development for a while and running benchmarks to see if their performance claims are legitimate, and so far it has been amazing https://airtable.com/app7jp5t0dEHyDpa8/shr00etqywoDW2N6N https://airtable.com/app7jp5t0dEHyDpa8/shr00etqywoDW2N6N
- kiwicopple 1y agoThanks for verifying the benchmarks. We’re close to a full RC, aiming for December Just to add: if anyone wants to contribute (beyond code) benchmarking and stress-testing is very helpful for us
- Sesse__ 1y agoI assume you get this a lot, but how much patching is left in PG 18?
- kiwicopple 1y agoWe are tracking the patches here: https://www.orioledb.com/docs#patch-set https://www.orioledb.com/docs#patch-set The actual storage engine is written as an extension - these patches are mostly to improve the TAM API. If these are accepted by the community then it should be simpler for anyone to write their own Storage extensions. I think (correctly) it will take a lot longer to upstream the extension - the PG community should take a “default no” attitude with big changes like this. Over time we will prove its worthiness (hopefully beyond just supabase - it would be good to collaborate with other Postgres providers)
- Sesse__ 1y agoOK, so basically no big change with PG 18, and for the time being, one needs to basically your own Postgres? Would be really nice with a pgdg package, as this is definitely the kind of thing I would want to test in a separate cluster :-)
- techlatest_net 1y ago[dead]
- jitl 1y ago> OrioleDB implements default 64-bit transaction identifiers RDS support when
- awaseem 1y agoHonestly so amazing! Supabase doing great work as always
- dangoodmanUT 1y ago> OrioleDB tables don't support SERIALIZABLE isolation level. This is an unfortunate limitation to be aware of when evaluating https://www.orioledb.com/docs/usage/getting-started#current-limitations https://www.orioledb.com/docs/usage/getting-started#current-...
- btown 1y agoFor what it's worth, this does appear to be just a temporary situation, as mentioned in that linked document and in code comments e.g. https://github.com/orioledb/orioledb/blob/7f3b3a9a8e195ba31f6d5c643c2350bce0ae57a6/src/transam/oxid.c#L1392 https://github.com/orioledb/orioledb/blob/7f3b3a9a8e195ba31f...
- MrHamdulay 1y agothat message was put there 2 years ago. soon may not be coming.
- thayne 1y agoEh. If you care about performance enough to use OrioleDB you probably also want to avoid SERIALIZABLE.
- akorotkov 1y agoWe will eventually add the SERIALIZABLE isolation level to OrioleDB, but right now that's not our highest priority. Let me explain why. At first, SSI (serializable snapshot isolation) in PostgreSQL comes with significant shortcomings, including. 1) Overhead. SSI implies a heavyweight lock on any involved index page or heap tuple (even for reads). The overhead of SSI was initially measured at ~10%, but nowadays, scalability has gone much farther. These many HW-locks could slow down in multiple times a typical workload on a multicore machine. 2) SSI needs the user to be able to repeat any transaction due to serialization failure. Even a read-only transaction needs to be DEFERRABLE or might be aborted due to serialization failure (it might "saw impossible things" and needs a retry). In contrast, typically it's not hard to resolve the concurrency problems of writing transactions using explicit row-level and advisory locks, while REPEATABLE READ is enough for reporting. Frankly speaking, during my whole career, I didn't see a single case where SERIALIZABLE isolation level was justified.
- gethly 1y agoSoftware patents is such an americanism. In this case, I prefer Chinese approach to ignoring patent law altogether.
- navigate8310 1y agoThat simply kills innovation and dries up funding for research.
- henry700 1y agoIt's what I think too, BUT curiously is not the case for China. Imagine if the DeepSeek breakthroughs were patented and closed instead of published in the open. And here we are, and they're not patented and not built on patented technology.
- e9 1y agoProbably because DeepSeek creators were afraid government would just come and take it from them. The only solution was to open source it which is kind of a big middle finger to the Chinese government.
- Zetaphor 1y agoChina is far ahead of the US in many sectors, notably electric cars and solar panels which are two industries whose progress heavily depend on research and innovation.
- throw0101d 1y ago> China is far ahead of the US in many sectors, notably electric cars and solar panels which are two industries whose progress heavily depend on research and innovation. Ahead in production. Did China research/innovate/develop those industries, or were they 'just' fast followers? (Early in its history the US used the same 'tactics' relative to the UK and other European countries.)
- 1y ago
- samlambert 1y agoThis is not an open source license and it's untrue to say it's an open source project when it's licensed this way. "IF ANY LITIGATION IS INSTITUTED AGAINST SUPABASE, INC. BY A LICENSEE OF THIS SOFTWARE, THEN THE LICENSE GRANTED TO SAID LICENSEE SHALL TERMINATE AS OF THE DATE SUCH LITIGATION IS FILED." This is a poison pill. At best the licensing is naive and blocks even customers of Supabase from using OrioleDB, at worst it's an attempt for Supabase to provide themselves unlimited indemnity through the guise of a community project. It means the moment you sue Supabase for anything. Contract dispute, IP, employment, unrelated tort you lose the license. They could lose your data and if you try do anything about it they can immediately counter sue for a license violation. Using the brand of the postgres license to slip this in is pretty wild. OrioleDB looks like a promising project and undoubtedly an great contribution from Supabase but it's not open source or really usable by anyone with this license.
- jitl 1y agoI recall Facebook had a similar rider on the React license for many years until eventually removing it. It’s visually similar to the Apache2 patent clause but not scoped to just the licensed software use
- seveibar 1y agoIsn’t this just Apache 2-style permissive licensing?
- samlambert 1y agolol no they both read as permissive on the surface. apache 2 doesn't include a termination clause that broadly protects an entity against any litigation. this is incredibly broad and not community safe.
- kiwicopple 1y agosam, I think you know me well enough now to know that we're open source through and through. my mistake - I should have been more involved in this process with the team. It is now Apache 2.0 which grants patent rights and can be re-licensed to PostgreSQL when the code is upstreamed. I'll amend the blog to make that clearer. https://github.com/orioledb/orioledb/pull/558 https://github.com/orioledb/orioledb/pull/558
- victorbjorklund 1y agoNon go when it includes a poison pill.
- kiwicopple 1y agohttps://news.ycombinator.com/item?id=45200014 https://news.ycombinator.com/item?id=45200014
- iam_saurabh 1y agoOpen-sourcing a patent in the database space is rare. Do you think this signals a shift where companies will realize that open ecosystems drive adoption faster than closed IP walls?
- wslh 1y agoI think no-open-source is a no-go. In the "best" case it adds a lot of friction in a sales funnel for premium offerings. You can avoid open source in special cases, mostly without complementary offerings.
- gallypette 1y agoIt is time to realize that open source drives innovation.
- Fischgericht 1y agoHad a quick look at the patent, had a quick look at the code. To me it appears that 99,999% of all involved research has been taken from prior research from tons of scientists. You might have good intentions, but in my value system if you invite others to also enjoy what you have stolen, you still are just a thief. Polite reminder: Just because you managed to trick the US Patent Office into stamping your patent application does not mean you have invented something. It simply means you have managed to convince a bureaucrat to give you a stamp so you can claim ownership about other researchers' work. Want to be part of the good guys? Burn the patent, and apologize to the research community you tried to steal from.
- dkhenry 1y agoYou're being entirely unfair to Supabase here. Research is important, but there is a reason why the USPTO has developed substantial case law around Reduction to Practice, everything is built on prior work, so to say there is nothing novel about actually building displayed working system from parts is factually inaccurate. https://en.wikipedia.org/wiki/Reduction_to_practice https://en.wikipedia.org/wiki/Reduction_to_practice
- kiwicopple 1y agoTo add to your point: we didn’t file the patent. we acquired it (at a considerable cost) and we are working to make it freely available https://news.ycombinator.com/item?id=45196771 https://news.ycombinator.com/item?id=45196771
- Imustaskforhelp 1y agoMad respects. People might say that the company is doing it for good will, but that is the point, it is better to get the good will of the users by actually helping them instead of being like thousands of other companies which don't even do that. It is a nuanced topic but I feel like we should encourage companies which do good period. (like silksong / team cherry in gaming) etc. I will look further into this now :p thanks!
- 1y ago
- maxloh 1y ago> To reinforce the IP compatibility, Supabase is making available a non-exclusive license of U.S. Patent (“Durable multiversion B+-tree”) to all OrioleDB users, including proprietary forks, in accordance with the OrioleDB license. It seems that they have changed their mind to make it even more permissive. They just relicensed the OrioleDB project under Apache 2.0 an hour ago [0], which contains a patent clause. [0]: https://github.com/orioledb/orioledb/commit/44bab2aa9879feb74bb1b6f056f7dba2d3ae5a90 https://github.com/orioledb/orioledb/commit/44bab2aa9879feb7...
- exabrial 1y agoSo if someone wanted to implement this in MySql, what would the legal ramifications be?
- exabrial 1y agoWell, nm, pretty clear path now: https://github.com/orioledb/orioledb/commit/44bab2aa9879feb74bb1b6f056f7dba2d3ae5a90#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7R73 https://github.com/orioledb/orioledb/commit/44bab2aa9879feb7...
- Luker88 1y agoLegal shield? So once again people have to do manual legal work for something that can be taken for granted in any (L)GPL* software. We should start counting the times a permissive-licensed software needs this kind of protection, and then wonder what is the difference between all this effort and just going GPL. You don't need to hang onto hopes and public shaming until someone else does the hard part. Still, kudos for the grant.