- Supabase, OrioleDB patentinin nihai satın alımını tamamladı
- ABD Patenti 10,325,030 (Durable multiversion B+-tree) için OrioleDB’nin tüm kullanıcılarına münhasır olmayan lisans sağlıyor
- OrioleDB, Postgres’in mevcut depolama motorunun yerini alan yüksek performanslı bir eklenti olarak bulut ortamlarında performans ve ölçeklenebilirliği büyük ölçüde artırıyor
- Proje açık kaynak olarak geliştirilmeye devam edecek ve Postgres topluluğuyla iş birliği içinde standardizasyonu ve ana çekirdeğe dahil edilmesi hedeflenecek
- Patent lisansı, fikri mülkiyet (IP) koruması amacı taşıyor ve açık kaynağa yönelik tehditlere karşı bir "kalkan" işlevi görüyor
OrioleDB patentinin açılması ve satın alımın arka planı
- Supabase, yakın zamanda OrioleDB’nin tam yasal satın alım sürecini tamamladı
- ABD patenti 10,325,030 (Durable multiversion B+-tree) dahil tüm hakların sahibi oldu
- Artık Supabase, OrioleDB ve tüm forklarının kullanıcılarına (ticari hizmetler dahil) bu patenti resmi olarak münhasır olmayan biçimde sunuyor
- Bu lisans politikası, OrioleDB lisansı kapsamında uygulanıyor
OrioleDB’ye genel bakış ve performans
- OrioleDB, Postgres’in takılabilir depolama sistemini kullanan bir depolama eklentisidir
- Mevcut Postgres depolama motorunun yerini alan drop-in bir yapı olarak çalışır
- Modern donanım ve bulut altyapısı optimizasyonu sayesinde Postgres’in performansını ve ölçeklenebilirliğini en üst düzeye çıkarır
- Resmi benchmark sonuçlarına göre, Heap motoruna kıyasla yaklaşık 5,5 kat daha hızlı performans gösterir (TPC-C, 500 warehouse temelinde)
Projenin geliştirme yönü ve açık kaynak politikası
- Supabase, OrioleDB ekibiyle birlikte Postgres-öncelikli strateji ile yüksek performanslı depolama motoru geliştirmeye odaklanıyor
- OrioleDB, herkesin kod, dokümantasyon, test ve issue’lara katkı sağlayabildiği bir açık kaynak projedir
- Amaç, Postgres’in Table Access Method APIsini temel alan bir drop-in depolama motorunu tamamlamaktır
- Postgres topluluğuyla iş birliği içinde OrioleDB’nin bir uzantı modülü olarak standartlaştırılması ve ana dala dahil edilmesi için çalışılıyor
Lisans ve IP uyumluluk politikası
- OrioleDB lisansı, PostgreSQL lisansı temel alınarak yazılmıştır
- Supabase, tüm OrioleDB kullanıcılarının patenti (US 10,325,030) serbestçe kullanabilmesi için münhasır olmayan bir lisans sağlıyor
- Bu patent, açık kaynağı tehdit eden düşmanca IP davalarına karşı savunma amacıyla bir "kalkan" niteliği taşıyor
Postgres ile uyumlu büyüme stratejisi
- OrioleDB’nin amacı Postgres’in kendisiyle rekabet etmek değil, Postgres’in işlevlerini ve performansını artırmaktır
- Uzun vadede ideal yön, OrioleDB’nin resmi Postgres depolama katmanına dahil olmasıdır
- Bunun için depolama motoru genişletilebilirliğiyle ilgili yama çalışmaları Postgres topluluğuyla sürekli iş birliği içinde yürütülüyor
- Performans ve kararlılık iyileştirmeleri ile üretim ortamı doğrulaması, dokümantasyon ve onboarding güçlendirmesi istikrarlı biçimde sürdürülüyor
- Benchmark’ların, migration notlarının ve gerçek kullanım geri bildirimlerinin paylaşılması; teknik toplulukta aktif tartışmalar, doğrudan deneme ve issue/PR katkıları teşvik ediliyor
1 yorum
Hacker News yorumları
Patenti ve kodu hızlıca inceledikten sonra, neredeyse tüm çalışmanın daha önce çeşitli araştırmacılar tarafından yapılmış çalışmalardan alındığı hissine kapıldım
Başkasınınkini çalmış olsan bile bunu iyi niyetle herkesle paylaşacağını söylemek, sonuçta yine hırsızlıktır
ABD Patent Ofisi’nden patent onayı almış olmak gerçekten yeni bir şey icat ettiğin anlamına gelmez
Hatta daha çok, idari görevlileri ikna ederek başkalarının araştırmasını kendininmiş gibi öne sürmek için bir dayanak elde etmiş oluyorsun
Doğru tarafta olmak istiyorsan, bu patenti iptal edip çalmaya çalıştığın araştırma topluluğundan özür dilemen gerekir
Bu sonuca nasıl vardığını merak ediyorum
Patent metninde geçen şeylerin çoğunun iyi bilinen konular olması zaten normal
Önemli olan, patent istemlerinin yeni bir içerik barındırıp barındırmadığıdır
Patent açıklaması, ilgili alandaki ortalama bir uzmanın yeniden üretebileceği kadar yeterli olmalıdır; sadece önceki makalelerde benzer adımlar bulunabiliyor olması yeterli değildir
Avukatların bunu ne kadar ayrıntılı yazdığı vakaya göre değişir; bazen CPU ya da program gibi şeyleri de uzun uzun açıklamak gerekebiliyor
Tartışmadan kaçınmak için iyi bilinen teknikleri de yazmak daha iyidir, yoksa sonradan önemsiz şeyler yüzünden mahkemelik olunabilir
Bence bu Supabase’e karşı fazla sert bir değerlendirme
Araştırma önemli, ama USPTO’daki “Reduction to Practice” gibi kavramların varlık nedeni de zaten her şeyin önceki araştırmaların üzerine inşa edildiğini kabul etmeleri
Parçaları gerçekten bir araya getirip düzgün çalışan bir sistem üretmiş olmanın da başlı başına yeni bir şey olabileceğini göz ardı etmemek gerekir
https://en.wikipedia.org/wiki/Reduction_to_practice
“Patenti kaldırın” görüşü hakkında, Supabase’in şu an sunduğu yaklaşım fiilen buna yakın
Çünkü herkesi ilgili patentin koruması kapsamına alıyor; bu da patent trollerine veya IP davalarına karşı savunmayı biraz daha kolaylaştırıyor
Bu yorumu pek anlayamadım
Sonuçta Supabase patenti açık kaynak olarak yayımlamaya çalışıyor ve Postgres’e upstream katkı da yapıyor
Başka bir şirketi satın alıp patenti elde ettikten sonra, bunu topluluğa geri vermek için avukat masrafına bile giriyorlar
Şirketler yanlış yaptığında elbette eleştirilmeli, ama bu yorum biraz zorla öfkelenmeye çalışıyor gibi
Bir şirket toplulukla etkileşime geçmeye her çalıştığında böyle tepki görürse, bir süre sonra hiç kimse katkı vermek istemez
Eleştirilecek bazı noktalar olsa bile (örneğin lisans değişikliği meselesi), olumlu adımlara da sevinmek gerektiğini düşünüyorum
Bu tür değişiklikler sonuçta tüm topluluğun yararına
Blogda şunu gördüm
“Bu patent, açık kaynağı düşmanca IP sorunlarından koruyan bir kalkan işlevi görüyor”
Ancak mevcut lisansta
“Lisans sahibi herhangi bir kullanıcı Supabase’e karşı dava açarsa, o andan itibaren ilgili lisans sona erer”
şeklinde bir ifade var; bu da vergi davası gibi küçük hukuki meselelerde bile lisansın kaybedilebileceği anlamına geliyor
Bu, kamu kurumları açısından caydırıcı olabilir; bu yüzden metnin patent odağında daha dar yazılması ya da OSI onaylı bir lisans kullanılması daha iyi olabilir
https://github.com/orioledb/orioledb/blob/main/LICENSE
(Supabase CEO’su)
Bunu hukuk ekibiyle birlikte yeniden gözden geçirip daha net hâle getirmek istiyoruz
Niyetimiz açık; örnekler veya öneriler varsa, geri alınamaz bir düzeye kadar bunu iyileştirmeyi değerlendireceğiz
Topluluk bakım maliyetini üstlenmeye hazırsa, patentin kendisini bağışlamaya da açığız
Apache 2.0 lisansı patent konusu için daha iyi
Düşmanca patent davalarında lisansın sona ermesini öngörür; vergi gibi konular lisansın sona ermesi kapsamına girmez
https://opensource.org/license/apache-2-0
Bu, bizim için değil Supabase için bir kalkan
Mevcut lisansın dostane fork’lara veya yeniden dağıtıma gerçekten izin verip vermediğini merak ediyorum
Başta serbestçe kullanma, kopyalama, değiştirme ve dağıtma hakkı veriliyor gibi görünüyor,
ama ileride “patent için lisans verilir” deniyor ve bunun değiştirilip dağıtılan kod için de geçerli olup olmadığı belirsiz
Örneğin GPLv2, “her yeniden dağıtımda özgün hak sahibinden lisans alınır” konusunu açıkça belirtir
Açık kaynak koda zehirli bir madde ekleyecekseniz, bunun etkisi tüm kullanıcılar için net olmalı
Bana pek sorunlu görünmüyor
Söyledikleri gibi bunu bir kalkan olarak kullanıyorlar ve onlara dava açacaksan, ücretsiz lisans alma hakkın olmamalı diye düşünüyorum
Veritabanı patentlerinin açık kaynaklaştırılması nadir görülen bir şey
Bunun, diğer şirketlerin de açık ekosistemin kapalı IP’ye göre daha hızlı benimsenme sağladığını fark etmesine yol açıp açmayacağını merak ediyorum
Bazı özel durumlar dışında, genelde açık kaynak değilse iş zorlaşıyor
Supabase, OrioleDB’nin ABD patentini tüm kullanıcılara (ticari fork’lar dahil) münhasır olmayan şekilde lisanslıyor
Ayrıca OrioleDB’nin yaklaşık bir saat önce Apache 2.0 lisansına geçirildiği söyleniyor
https://github.com/orioledb/orioledb/commit/44bab2aa9879feb74bb1b6f056f7dba2d3ae5a90
Veri yapıları için patent verilmesi gerçekten hoşuma gitmiyor
OrioleDB’nin kendisi satın alma öncesinde geliştiriliyordu ve biz mümkün olduğunca en özgür açık kaynak lisansını korumaya çalışıyoruz
Yazılım patentleri gerçekten çok Amerikan bir kültür
Böyle durumlarda, Çin’in patent hukukunu fiilen umursamayan yaklaşımı bana daha iyi geliyor
Çin, genel olarak fikri mülkiyet ve hırsızlık meselelerine gelişmiş ülkelere kıyasla farklı yaklaşıyor
Üretim söz konusu olduğunda IP görmezden gelinebilir, ama IP tabanlı bir sektöre dönüşünce işler tersine döner ve IP aktif biçimde kullanılmaya başlanır
ABD’de de son dönemde telifin aşırı önemli olduğu ya da LLM’lerin durdurulması gerektiği gibi, IP’yi öne çıkaran bir kültür güçlendi
Bu yaklaşım yeniliği öldürür ve araştırma fonlarını da kurutur
Veri yapısı gibi şeylerin de patentlenebildiğini bilmiyordum
IP sahipleri genelde “patentlenebilen her şeyi patentle, geri kalanını da tehdit ve pazarlıkta kullan” mantığıyla hareket ediyor
Veri yapısının kendisi değil, yeni bir algoritma ya da iyileştirme “yenilikçi süreç” olarak değerlendirilebilir
Mahkeme gerçekten fayda artışı veya teknik ilerleme olduğuna karar verirse süreç patenti geçerliliğini korur
Önemsiz bir patente bile itiraz etmek muazzam zaman ve para gerektirebilir
Ben avukat ya da hâkim değilim ama bu alanı uzun zamandır izlediğim için böyle bir eğilim gördüm
ABD’de mümkün, ama ABD dışındaki ülkelerde zor
Yargı alanına göre değişir
Avrupa’da hâlâ bu tür patentlere izin verilmiyor, ama bunun için sürekli lobi yapılıyor
Sonunda geçirmeye çalışmaya devam edecekler; bu yüzden sivil özgürlükleri aşındırmaya yönelik bu ısrarlı çabalara karşı hukuki yaptırım gerektiğini düşünüyorum
OrioleDB konusunda gerçekten çok heyecanlıyım
Postgres’i her tür veritabanı kullanımına uygun şekilde ölçeklemenin bir sonraki adımı gibi görünüyor ve benchmark’ları da bizzat inceliyorum; sonuçlar oldukça etkileyici
https://airtable.com/app7jp5t0dEHyDpa8/shr00etqywoDW2N6N
Benchmark’lara baktığın için teşekkürler
Yakında RC’ye hazır olmayı hedefliyoruz; hedefimiz Aralık
Kod dışında benchmark ve stres testlerine katkı vermek istersen bu da çok yardımcı olur
README ve yorumlara bakınca, OrioleDB’nin anti-bloat benzeri teknikler sayesinde yazma ağırlıklı iş yüklerinde özellikle güçlü olduğu anlaşılıyor
Metin veya JSONB alanları büyük olup TOAST işlemine girdiğinde de aynı performansı gösterip göstermediğini merak ediyorum
Ayrıca önerilmeyen iş yükü türleri ya da yaklaşık %1’lik dezavantajlı senaryolar var mı diye de merak ediyorum
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 kesinlikle ilgi çekici görünüyor, ancak depolama yapısı değiştiğinde diğer uzantılarla uyumluluk sorun olabilir
pg_search (ParadeDB), Timescale gibi projeler etkilenebilir;
benzer şekilde YugabyteDB de RocksDB’yi entegre ederken PostgreSQL uzantılarıyla uyum konusunda zorluk yaşamıştı
Supabase, Postgres ekosistemine sürekli çok büyük değer katıyor
Bu bir açık kaynak lisansı değil
"Lisans sahibi Supabase’e karşı hukuki işlem başlatırsa lisans derhal sona erer"
Bu zehirli bir madde
En iyi ihtimalle lisans safça yazılmış ve Supabase müşterilerinin bile kullanımını engelleyebilir; en kötü ihtimalle ise topluluk projesi görüntüsü altında Supabase’e fiili dokunulmazlık sağlamaya çalışıyor olabilir
Sözleşme, IP, istihdam ya da başka nedenlerle dava açarsan lisansı kaybediyorsun
Veri kaybı nedeniyle dava açsan bile hemen lisans ihlali karşı davasına konu olabilirsin
Bunu Postgres lisansı diye sunup böyle bir hüküm koymaları tuhaf
OrioleDB kesinlikle umut vadeden bir proje, ama bu lisansla ne açık kaynak ne de herkesin kullanabileceği bir şey
sam, sanırım beni yeterince tanıyorsundur; ekibimizin açık kaynağa ne kadar önem verdiğini bilirsin
Benim bunu daha yakından yönetmem gerekirdi ama eksik kaldım
Şu anda Apache 2.0’a geçildi; patent hakları da açıkça veriliyor ve kod upstream edildiğinde PostgreSQL için yeniden lisanslanabiliyor
Blog yazısını da güncelleyeceğiz
https://github.com/orioledb/orioledb/pull/558
Facebook daha önce React lisansına benzer bir hüküm koymuştu ve bunu ancak uzun süre sonra kaldırdı
Yüzeyde Apache2 patent maddesine benziyor gibi dursa da, aslında belirli bir yazılımın kullanım kapsamıyla sınırlı değil
Bunun sadece Apache 2 tarzı izin verici bir lisans olup olmadığını merak ediyorum