Mengapa CockroachDB mengubah lisensi Open Source

Catatan perev. : Fleksibilitas dan kebebasan yang ditawarkan oleh lisensi Open Source telah memungkinkan penyedia modern solusi SaaS besar untuk mempertanyakan keberhasilan usaha kecil yang berada di belakang pengembangan proyek Open Source populer. Dalam artikel ini, dari penulis CockroachDB - RDBMS yang terdistribusi dan toleran terhadap kesalahan - inti dari masalah dan cara yang mungkin untuk menyelesaikannya diungkapkan sepenuhnya.



CockroachDB dipahami sebagai perangkat lunak sumber terbuka. Pada tahun-tahun yang telah berlalu sejak proyek muncul di GitHub (kode ini pertama kali diterbitkan pada Februari 2014 - kira - kira. Terjemahan ) , Kami mengikuti jalur pengembangan yang relatif khas, menyeimbangkan antara filosofi open source dan menciptakan bisnis yang layak. Kode utama dilisensikan di bawah Lisensi Apache 2 (APL), layanan terkelola diluncurkan, dan beberapa add-on untuk perusahaan dikeluarkan di bawah lisensi perusahaan.

Tetapi ide-ide masa lalu kami tentang model bisnis yang tepat didasarkan pada norma utama dunia OSS: Anda dapat membangun bisnis di sekitar produk Open Source yang kuat tanpa mengasumsikan bahwa perusahaan teknologi yang lebih besar akan datang menawarkan produk yang sama dengan layanan. Norma ini tidak lagi berlaku.

Pada prinsipnya, secara hukum, tidak ada yang mencegah pesaing untuk menawarkan produk OSS as-a-service yang dibuat oleh perusahaan lain. Dan sekarang kita melihat bahwa ini benar-benar terjadi. Hari ini kami menyaksikan peningkatan jumlah penyedia yang sangat terintegrasi yang memanfaatkan posisi unik mereka dan menawarkan versi as-a-service produk OSS. Jelas bahwa integrasi tinggi mereka sangat meningkatkan pengalaman pengguna. Baru-baru ini, ini terjadi dengan garpu ElasticSearch, "dipinjam" oleh Amazon (Salil Deshpande dalam artikel TechCrunch dengan terampil menggambarkan apa yang terjadi sebagai "mementingkan diri sendiri dan rasional").

Menanggapi kompetisi yang tidak adil tersebut, kami mengubah ketentuan lisensi kami. Detail disediakan di bawah ini di GitHub . Perubahan singkat adalah sebagai berikut:

Mulai hari ini, kami memperkenalkan versi lisensi Sumber Bisnis (BSL) yang permisif secara eksklusif. Pengguna CockroachDB dapat mengatur DBMS kami ke sejumlah node. Mereka bebas menggunakan CockroachDB dan mengintegrasikannya ke dalam aplikasi mereka (terlepas dari apakah mereka memberikannya kepada konsumen atau menawarkannya sebagai layanan). Anda juga dapat menjalankan CockroachDB sebagai layanan untuk tujuan internal perusahaan Anda. Satu-satunya hal yang tidak dapat Anda lakukan adalah menawarkan versi komersial CockroachDB sebagai layanan tanpa membeli lisensi yang sesuai .

Untuk memastikan pengembangan lebih lanjut dari proyek, pembatasan kami memiliki batas waktu bergerak: tiga tahun setelah rilis, lisensi berubah menjadi lisensi standar Apache 2.0. Dengan mengubah kondisi lisensi dan memperkenalkan batas waktu, kami memiliki dua tujuan:

  • Buat database-as-a-service (DbaaS) yang kompetitif
  • di sepanjang jalan, pastikan bahwa produk utama tetap terbuka penuh.

Perbandingan Berbagai Pendekatan Lisensi Sumber Terbuka


Beberapa perusahaan telah melisensikan produk mereka untuk tujuan ganda yang serupa. Mengevaluasi metode yang ada, kami menemukan bahwa mereka semua cenderung dua pendekatan utama: copyleft dan model multi-level. Sayangnya, tidak ada yang sesuai dengan yang ingin kami capai dengan mengubah lisensi.

Model Copyleft


Pendiri tradisi copyleft adalah GNU GPL. Tujuannya adalah untuk mencegah munculnya forks berpemilik, dalam beberapa kasus memerlukan pelepasan kode sumber. Affero General Public License (AGPL) dan sister Public Server-Side Public License (SSPL) termasuk dalam kamp ini. Di SSPL perhatian khusus diberikan pada masalah layanan yang bersaing.

Namun, kami percaya bahwa semua lisensi ini berlebihan dan tidak mencukupi. Mereka berlebihan dalam arti bahwa perinciannya rumit, dan persyaratan copyleft tidak selalu jelas. Banyak pengguna potensial takut dengan persyaratan pengungkapan kode yang berpotensi terlalu luas. Mereka tidak cukup dalam arti bahwa pesaing siap dan dapat mengungkapkan cukup kode mereka sehingga mereka tidak memiliki pertanyaan, sementara tidak membawa manfaat apa pun kepada pengembang teknologi inti. Amazon melakukan ini dengan Open Distro untuk Elasticsearch , meskipun lisensi copyleft tidak memerlukannya.

Kami membutuhkan sesuatu yang lebih sederhana dan lebih kaku.

Model berlapis


Kami juga mempertimbangkan kemungkinan untuk menggunakan model tiga tingkat: kernel Open Source, komponen perusahaan dan tingkat menengah tertentu dengan fungsi yang kode sumbernya ditutup, tetapi mereka dapat digunakan sepenuhnya gratis. Model ini cukup populer di dunia perangkat lunak; dan dengan beberapa variasi kami telah menggunakannya hingga hari ini.

Namun, itu menghasilkan pesan yang salah untuk perusahaan kami. Ternyata itu tidak menguntungkan bagi kita untuk mengimplementasikan fungsi-fungsi baru dalam inti terbuka dan masuk akal untuk memusatkan semua upaya pada komponen tertutup. Bahkan, kami tergoda untuk menipu kepercayaan pengguna kami dan menyembunyikan fitur yang paling menarik untuk lisensi volume. Dalam jangka panjang, pendekatan ini bukan pertanda baik bagi ekosistem Sumber Terbuka.

Solusi Ditemukan: BSL


Kami mulai mempelajari lisensi terbatas waktu dan menemukan bahwa tidak perlu membuat lisensi baru dari awal. Business Source License (BSL) MariaDB versi 1.1 berisi semua yang Anda butuhkan dan telah disetujui oleh pendiri OSI Bruce Perens. BSL adalah lisensi parameter , jadi kami menggunakannya secara berbeda dari MariaDB.

Perbedaan utama adalah Tambahan Penggunaan Hibah - misalnya, MariaDB memungkinkan penggunaan MaxScale hingga tiga server . Tambahan Penggunaan Hibah di CockroachDB memungkinkan Anda untuk menggunakan produk kami pada sejumlah node, asalkan Anda tidak menawarkannya sebagai DbaaS komersial. Selama tiga tahun, versi BSL kami melindungi kode CockroachDB yang ada agar tidak digunakan sebagai DBaaS tanpa memperoleh lisensi volume yang sesuai. Setelah 3 tahun, pembatasan ini dihapus dan kode menjadi terbuka (dalam arti yang tertanam dalam lisensi Apache) dan dapat digunakan secara bebas untuk tujuan apa pun.

Kami menerapkan lisensi ini untuk versi dasar CockroachDB (yaitu, untuk kode yang sebelumnya jatuh di bawah Apache 2.0). Ini berarti bahwa inti CockroachDB tidak lagi terbuka (menurut Definisi Sumber Terbuka OSI), meskipun kode lengkap masih tersedia dan setiap penggunaan komersial diizinkan kecuali DBaaS. Kami percaya ini adalah cara terbaik untuk menyeimbangkan kebutuhan bisnis dengan komitmen Open Source kami. Lisensi baru memungkinkan sebagian besar pengguna untuk secara bebas menggunakan, mendistribusikan, dan memodifikasi kode CockroachDB (dan setelah tiga tahun menjadi terbuka tanpa syarat).

Apa itu: cara kerja BSL


Kami memperkenalkan lisensi CockroachDB baru yang dimulai dengan versi 19.2. Sekarang kode tidak dapat digunakan untuk mengatur database-as-a-service (DBaaS) komersial tanpa membuat perjanjian yang sesuai dengan Cockroach Labs. Batas tiga tahun berlaku untuk setiap rilis.

Pengaya Perusahaan CockroachDB akan terus dirilis di bawah Lisensi Komunitas Cockroach (CCL). Bekerja dengan mereka membutuhkan perjanjian lisensi yang sesuai dengan Cockroach Labs; lisensi ini tidak akan dikonversi menjadi Open Source setelah tiga tahun.

Mari kita jelaskan dengan contoh spesifik. CockroachDB 19.2 (dijadwalkan untuk Oktober 2019) akan menjadi rilis pertama yang mematuhi skema lisensi baru. Ini akan mencakup kode di bawah BSL dan CCL. Pada Oktober 2022 (tiga tahun setelah rilis), bagian CockroachDB 19.2, yang berada di bawah BSL, akan dikonversi ke APL. Patch tidak mengubah tanggal konversi: semua rilis 19.2.x akan dikonversi pada Oktober 2022, meskipun pada saat itu hanya rilis dasar berusia tiga tahun 19.2.0 akan dieksekusi selama tiga tahun. CockroachDB 20.1 (dijadwalkan untuk April 2020) akan dibuka pada April 2023, dan seterusnya.



Versi lama tidak akan terpengaruh: CockroachDB 19.1 akan terus bekerja di bawah lisensi Apache, dan semua tambalan 19.1.x yang akan datang juga akan dirilis di bawah APL.

Kami berkomitmen pada cita-cita Open Source dan berusaha untuk menciptakan produk open source yang kuat. Meskipun secara formal BSL bukan lisensi Open Source, kompromi ini adalah yang paling dekat dengan semangat Open Source, tetapi pada saat yang sama itu melindungi bisnis kami. Selain itu, tiga tahun setelah rilis, komitmen kami terhadap filosofi perangkat lunak open source secara otomatis ditegaskan kembali. Kami percaya bahwa jalur yang dipilih akan memungkinkan kami untuk mendukung perusahaan, sembari menjaga warisan Open Source yang kaya dalam kenyataan baru ini.

PS dari penerjemah


Baca juga di blog kami:

Source: https://habr.com/ru/post/id456756/


All Articles