Seberapa sukseskah GPL dalam mencapai tujuannya? [Tutup]

16

Ada, secara umum, dua jenis lisensi FOSS ketika itu berkaitan dengan penggunaan komersial kode - katakanlah tipe GPL dan tipe BSD. Yang pertama adalah, secara luas, membatasi penggunaan komersial (dengan menggunakan maksud saya juga modifikasi dan redistribusi, serta menciptakan karya turunan, dll.) Dari kode di bawah lisensi, dan yang kedua jauh lebih permisif.

Seperti yang saya mengerti, ide di balik lisensi tipe GPL adalah untuk mendorong orang untuk meninggalkan model perangkat lunak berpemilik dan alih-alih mengonversi ke kode FOSS, dan lisensi adalah instrumen untuk membujuk mereka untuk melakukannya - yaitu "Anda dapat menggunakan perangkat lunak yang bagus ini , tetapi hanya jika Anda setuju untuk datang ke kemah kami dan bermain sesuai aturan kami ".

Yang ingin saya tanyakan adalah - apakah strategi ini berhasil sejauh ini? Apakah ada prestasi besar dalam bentuk beberapa proyek besar dari ditutup menjadi terbuka karena GPL atau beberapa perangkat lunak yang dikembangkan di tempat terbuka hanya karena GPL membuatnya? Seberapa besar dampak dari strategi ini - dibandingkan, katakanlah, dengan dunia di mana setiap orang akan memiliki lisensi tipe BSD atau melepaskan semua kode sumber terbuka di bawah domain publik?

Perhatikan bahwa saya tidak bertanya apakah model FOSS berhasil - ini tidak perlu dipertanyakan. Apa yang saya tanyakan adalah apakah cara spesifik untuk menarik orang untuk mengkonversi dari hak milik menjadi FOSS yang digunakan oleh tipe GPL dan tidak digunakan oleh lisensi tipe BSD berhasil. Saya juga tidak bertanya tentang manfaat GPL itu sendiri sebagai lisensi - hanya tentang fakta efektivitasnya.

StasM
sumber
4
GPL tidak membatasi penggunaan. Hanya distribusi yang membuat pembatasan.
whatsisname
1
Kontrasnya harus dengan perangkat lunak berpemilik, bukan komersial. Banyak perdagangan terjadi dengan perangkat lunak gratis.
Lars Wirzenius
2
˙sı ʇı ʇɐɥʍ uo ɹǝƃuıɟ ʎɯ ʇnd ǝʇınb ʇ, uɐɔ ı ʇnq 'uǝʇʇıɹʍ sɐʍ ן dƃ ǝɥʇ uǝɥʍ ɯoɹɟ ʇuǝɹǝɟɟıp sɯǝǝs p ןɹ oʍ ǝɥʇ ʇnoqɐ ƃuıɥʇǝɯos
Pos Tim

Jawaban:

10

Pertama, ada subjektivitas yang melekat dalam pertanyaan - tidak ada cara untuk mengetahui dengan pasti, dan sejarah dapat ditafsirkan dengan cara baik. Ini adalah debat lama, dan salah satu isu inti dalam debat open source vs perangkat lunak bebas. Anda juga perlu mendefinisikan apa yang Anda maksud dengan mencapai tujuannya. Sulit untuk berpendapat bahwa GPL dan FSF belum berkontribusi untuk menjadikan open source gerakan signifikan selama 2-3 dekade terakhir. Namun belum mencapai tujuannya dari semua kode menjadi perangkat lunak bebas.

Paragon dari perangkat lunak GPL tentu saja adalah linux dan semuanya berasal dari FSF (gcc, dll ...). Menariknya, untuk linux, GPL tidak dipilih karena sikap politiknya, tetapi karena gagasan timbal balik, seperti yang dinyatakan beberapa kali oleh Linus Torvald. Saya memberi Anda kode saya, tetapi Anda harus memberi saya milik Anda sebagai gantinya jika Anda menggunakan kode saya.

Sejauh linux berjalan, saya pikir GPL sangat berharga - contoh terbaru adalah BTRFS, fs baru yang dikembangkan di dalam Oracle. Penulis utama BTRFS telah menyatakan bahwa satu-satunya alasan Oracle setuju sejak awal untuk menggunakan GPL adalah karena ia tidak punya pilihan. Pertanyaan yang lebih besar adalah apakah linux sendiri menjadi sukses karena atau terlepas dari GPL. Berbagai faktor seperti kepemimpinan Linus yang luar biasa, masalah hak cipta untuk proyek * BSD pada waktu itu, dll ... membuat hipotesis tidak mungkin untuk dibuktikan / disangkal.

Untuk gcc, Stallman telah menulis beberapa kali mengapa GPL menyelamatkan proyek terhadap "propietarisasi".

David Cournapeau
sumber
3
Stallman telah menulis beberapa hal yang brilian. Dia juga menulis beberapa hal yang memiliki hubungan yang meragukan dengan kenyataan. Dia mengklaim bahwa GPL menyelamatkan gcc terhadap "proprietarisasi" tidak selalu membuatnya begitu.
HANYA SAYA PENDAPAT benar
tentu, tetapi ini berlaku untuk klaim apa pun yang akan Anda buat tentang topik ini - pada akhirnya, itu akan tergantung pada pendapat Anda sendiri tentang masalah ini. Saya tidak berpikir akan ada jawaban yang pasti, terutama karena percabangan pertanyaan bersifat ideologis (baik untuk lisensi GPL dan BSD / MIT).
David Cournapeau
Contoh Oracle adalah yang valid, terima kasih. Mengenai kesuksesan Linux, saya ragu bahwa GPL sangat berarti karena ada contoh nyata dari OS berlisensi BSD. Mereka agak kurang populer, tapi saya sangat meragukan GPL adalah alasannya. Sedangkan untuk gcc, saya tidak yakin apa sebenarnya arti 'proprietisasi' di sini, tetapi Intel memiliki kompiler kepemilikan sendiri (lebih baik daripada gcc), jadi jika Stallman ingin mencegah skenario ini, ia gagal.
StasM
Maksud saya, jika gcc misalnya BSD, orang dapat menambahkan peningkatan mereka tanpa mengembalikan kode ke komunitas. GCC ditulis dengan cara seperti memperpanjang tanpa mengintegrasikannya dengan API pribadi sulit untuk mencegahnya ( gcc.gnu.org/wiki/GCC_Plugins ).
David Cournapeau
18

Saya akan mengatakan bahwa lisensi tidak terbatas seperti lisensi BSD, MIT dan Apache telah melakukan jauh lebih banyak untuk mempromosikan FOSS daripada GPL.

Contoh:

  • Proyek Kastil,
  • jQuery,
  • SQLite,
  • Apache,
  • Hibernate dan nHibernate,
  • ASP.NET MVC,
  • JSON.ORG,

dan banyak lagi.

Sebagian besar bisnis terlalu waspada terhadap GPL untuk mengizinkan kode GPL mendekati upaya pengembangan mereka, kecuali jika bisnis itu sendiri benar-benar bekerja di bawah model layanan GPL / nilai tambah.

Robert Harvey
sumber
5
Sangat setuju.
konfigurator
1
Saya juga akan menyebutkan lisensi LGPL, yang membahas beberapa masalah dengan GPL standar: en.wikipedia.org/wiki/LGPL
andre
Bagaimana cara di atas mempromosikan adopsi lisensi FOSS?
Mark H
13
Saya tidak mengerti jawaban ini: mengapa daftar beberapa proyek membuktikan bahwa BSD / MIT telah melakukan lebih dari GPL untuk open source? Anda bisa mendapatkan daftar serupa untuk proyek-proyek GPL (linux, gcc, gnome, kde, qt, mysql, emacs, dll ...), dan itu tidak akan membuktikan apa pun juga GPL.
David Cournapeau
1
@ George: ya, QT adalah LGPL, bukan GPL, maaf atas kebingungannya. Saya tidak berpikir itu mengubah poin saya.
David Cournapeau
8

GNU GPL telah berhasil terlepas dari penerapan FLOSS, bukan karena itu. Sebagian besar perusahaan secara sukarela berkontribusi dan merilis kode di bawah GPL. Tidak ada algoritma dan perpustakaan signifikan yang dicakup olehnya, yang akan memaksa pengembang komersial untuk mendepropriasi.

Apple membuat contoh yang bagus. Mereka telah mengadopsi KHTML dan meneruskannya ke WebKit. Dan mereka merilis kode kembali ke komunitas open source. Sementara orang bisa berasumsi ini karena mereka dipaksa oleh LGPL, sepertinya tidak mungkin. Untuk Darwin dan pengguna BSD, mereka dengan sukarela menerbitkan kodenya. Dan dengan LLVM mereka bahkan memulai proyek FLOSS baru. Namun Apple jelas tetap sebagian besar vendor perangkat lunak berpemilik.

Android serupa. Tentu saja dukungan perangkat keras memainkan peran penting di sini, tetapi Google bisa saja mengadopsi basis kode BSD dan membawanya menjadi milik. Tetapi mereka memilih Linux. Dengan demikian mereka dengan sukarela berkontribusi kembali, bukan karena tidak ada alternatif non-GPL.

Openoffice adalah cerita yang lebih menarik, karena itu memang hak milik pada satu titik. Tetapi sekali lagi, konversi LGPL bersifat sukarela, tidak perlu. Namun, lisensi tipe GPL memungkinkan dalam hal ini. Lisensi tipe BSD akademik tidak akan cukup bagi Sun untuk merilis Openoffice, karena orang lain mungkin telah mempatenkan kode itu. Dan dalam hal ini, GNU * GPL telah berhasil.

Klausa resiprokal / viral tidak secara langsung mengarah pada lebih banyak kode sumber terbuka. Tetapi vendor perangkat lunak menggunakannya untuk keuntungan mereka ketika mereka mau, dan karena itu berkontribusi pada kumpulan FLOSS. Namun sebagian besar vendor melakukan itu secara tidak sengaja. Saya melihat sedikit perbedaan antara lisensi gaya BSD dan gaya GPL dalam hal mendorong kontribusi kode lebih banyak.
Kesimpulannya, GNU GPL telah berhasil, tetapi juga mendorong lisensi gaya BSD / MIT di mana itu lebih tepat. Tapi Anda juga bisa mengukur keberhasilan dalam "jumlah kode", yang saya percaya adalah metrik FSF yang sebenarnya.

mario
sumber
5
Lucu Anda harus menyebutkan Android, karena itu keluar dari cara untuk secara sengaja menemukan celah di GPL yang memungkinkan mereka untuk merilis platform yang tidak dapat dimodifikasi. (Sesuatu yang dibatasi oleh versi GPL). Google sama sekali tidak berbagi cita-cita yang sama dengan FSF, dan fakta bahwa android adalah perangkat lunak FOSS sebagian besar tidak relevan, karena tidak ada yang memiliki sumber daya untuk bersaing dengan Google pada platform mereka sendiri (Jika mereka memiliki persaingan untuk dikhawatirkan, mereka akan ' telah memilih solusi alternatif). Juga, Apple tidak memulai LLVM.
Markus
@ Sparkie: Itu menarik. Baru kemarin saya membaca sebuah artikel di mana seorang pengembang Google membanting vendor handset karena mengunci ponsel terhadap firmware Android pihak ketiga. (Meskipun saya tidak ragu bahwa upaya sumber terbuka Googles sebagian besar adalah presentasi.)
mario
Jangan lupa salah satu proyek GPL terbesar, Linux. Tidak ada vendor besar yang menambahkan kode mereka ke dalamnya (IBM, Oracle, dll) memiliki opsi untuk melakukan fork dan menyesuaikan 'kernel tingkat perusahaan yang ditingkatkan', mereka harus mempublikasikannya. Tetapi mungkin potongan infrastruktur universal tersebut adalah tentang seluruh area di mana GPL lebih berguna daripada lisensi gaya BSD.
9000
3

Melihat The GNU Manifesto , tidak jelas bahwa perusahaan yang meyakinkan untuk merilis perangkat lunak FOSS adalah salah satu tujuannya. Berikut ini kutipannya:

Agar saya dapat terus menggunakan komputer tanpa aib, saya telah memutuskan untuk mengumpulkan cukup banyak perangkat lunak bebas sehingga saya bisa bergaul tanpa perangkat lunak yang tidak gratis.

Jika kita hanya melihat tujuan itu, maka proyek GNU sebagian besar telah berhasil. Kami memiliki OS GPL, office suite, database, dan banyak aplikasi lain yang dapat dimodifikasi dan didistribusikan kembali secara bebas.

Larry Coleman
sumber
Seperti yang saya pahami, tujuan utamanya adalah membuat sebanyak mungkin perangkat lunak menjadi bebas, dan karena banyak perangkat lunak ditulis oleh entitas komersial, itu adalah sub-tujuan penting untuk menjadikannya gratis juga. Jika tujuannya hanya untuk menulis badan perangkat lunak yang akan digunakan tanpa perlu perangkat lunak tidak bebas, mengapa tidak memasukkannya ke dalam domain publik? Jelas, sifat virus GPL memiliki beberapa tujuan yang tidak dapat dicapai oleh lisensi PD atau bahkan BSD. Menurut Anda apa tujuan-tujuan ini?
StasM
GPL mencegah strategi "merangkul dan memperluas", sehingga seseorang tidak dapat mengambil, misalnya, Emacs, menambahkan ekstensi yang menjadi sangat populer sehingga mereka tidak dapat hidup tanpanya, dan melepaskan semuanya di bawah lisensi kepemilikan. Yang mengatakan, manifesto GNU menjabarkan dengan sangat jelas apa tujuan GPL, setidaknya pada awalnya.
Larry Coleman
1

Saya pikir keduanya (lisensi tipe GPL dan BSD) keduanya penting untuk dunia FOSS. Saya melihat penggunaan GPL dalam dua kelompok. Salah satunya adalah kelompok pendukung Open-Source yang sangat terlibat. Mereka percaya, bahwa kemungkinan untuk mengubah Open-Source lagi menjadi karya eksklusif akan merusak dunia OSS. Saya pribadi berpikir, itu bukan masalah besar. PC-BSD (varian BSD eksklusif) tidak merusak komunitas BSD. Kelompok kedua yang mengadopsi GPL adalah perusahaan besar. Mereka menggunakan lisensi untuk menjaga kontrol lebih besar atas produk (untuk mendukung model bisnis mereka misalnya). Persaingan akan memiliki masalah, untuk mendapatkan uang dengan produk perangkat lunak berlisensi orang lain GPL. Sehingga perusahaan dapat tetap terdepan dalam persaingan, sambil mendapatkan karma yang bagus untuk Open-sourcing produknya.

Mnementh
sumber
2
Anda melupakan kubu ketiga, yang menurut saya cukup signifikan: timbal balik. Artinya, Anda tidak peduli dengan perangkat lunak berpemilik, tetapi Anda tidak ingin kode Anda dirilis sebagai sumber terbuka untuk digunakan dalam perangkat berpemilik. GPL memberi Anda itu, BSD tidak. Setidaknya itulah tempat saya berada.
David Cournapeau
0

Perspektif pribadi saya adalah salah satu pengembang individu, tidak dipekerjakan untuk beberapa waktu karena cacat, dan berharap (atau bermimpi) bisa mencari nafkah lagi dari satu-satunya keterampilan berharga yang saya miliki.

GPL digunakan untuk proyek komersial sepanjang waktu. Masalahnya adalah apa yang kadang-kadang disebut sifat "viral", yang berarti bahwa jika Anda menggunakan beberapa kode GPL dalam suatu proyek, Anda mungkin perlu GPL semua kode untuk proyek itu. Beberapa mengklaim pengecualian untuk penautan dinamis. FAQ GPL mengklaim tautan dinamis ke plug-in dilarang karena struktur data bersama - http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins. Ini tampak aneh karena setiap dinamis aplikasi Windows menghubungkan ke komponen Windows dan berbagi struktur data dengan Windows (aplikasi dalam banyak hal merupakan plugin sistem operasi), namun ada aplikasi GPL Windows termasuk banyak yang dirilis oleh GNU. Mungkin ini berarti menyamarkan pointer sebagai pegangan dan melakukan sebagian besar akses melalui fungsi tidak dihitung sebagai berbagi struktur data, yang akan menjadi celah bagi API plugin yang dirancang khusus atau pustaka yang terhubung secara dinamis mungkin bisa mengeksploitasi, tetapi jelas pengembang individu harus memainkannya dengan aman atas masalah tersebut.

Ngomong-ngomong, ada alasan bagus untuk sifat "viral" GPL, tetapi bagi pengembang kecil yang sangat membutuhkan untuk mencari nafkah, ini mencurigakan seperti memberikan pekerjaan Anda tanpa bayaran. Kita semua tidak dapat menghasilkan uang dengan mengenakan biaya untuk dukungan atau menjual buku-buku manual yang efektif karena, di antara masalah-masalah lain, kita semua tidak memiliki keterampilan yang relevan. Juga, jika produk Anda memiliki manual gratis yang tidak memadai, manual dunia nyata mungkin akan berakhir menjadi Stack Overflow atau Superuser atau apa pun - bukan manual berbayar Anda. Dan itu mengasumsikan ada orang yang mau mengetahuinya sama sekali.

Dari sudut pandang itu, lisensi gaya BSD sangat menarik. Saya akui munafik untuk mengeksploitasi pekerjaan open-source lainnya namun tetap menutup produk yang dihasilkan, tetapi itu harus diseimbangkan dengan masalah lain.

OTOH, saya tidak pernah benar-benar merilis apa pun, terbuka atau tertutup - setidaknya tidak sejak sekelompok plugin yang pada dasarnya saya buat menjadi domain publik sekitar sepuluh tahun yang lalu (dan seperti pengalaman ekstra tahun mengajar saya, itu tidak ditulis dengan baik ). Jadi semuanya bagi saya bersifat akademis, setidaknya untuk saat ini.

Namun, setiap kali saya melihat perpustakaan dengan lisensi gaya GPL, pikiran pertama saya adalah "jika saya bergantung pada ini, saya membatasi pilihan saya".

Steve314
sumber
Pustaka inti Windows tidak berada di bawah GPL, jadi Anda tidak harus GPL aplikasi Anda jika Anda menautkannya. Saya tidak yakin lisensi apa yang mereka miliki, tetapi bukan lisensi yang mengatakan, "Aplikasi Anda harus sumber tertutup jika Anda menautkan ini." Masalahnya hanya ketika menautkan ke perpustakaan GPL. Perpustakaan Windows bukan GPL.
jsternberg
Maksud saya adalah aplikasi (efektif plugin sistem operasi) berada di bawah GPL. Jika dilarang menulis plugin GPL untuk Photoshop non-GPL (karena Anda tidak dapat melepaskan sumber Photoshop), mengapa tidak dilarang untuk menulis "plugin" GPL untuk Windows non-GPL? Misalnya setiap aplikasi baris perintah dijalankan pada Windows dynamic-link ke DLL seperti user32.dll, dan bagikan struktur data (minimal, string) dengan konsol I / O API. Akses ini dapat dilakukan secara tidak langsung, melalui API perpustakaan standar, tetapi ada implementasi perpustakaan standar yang didistribusikan di bawah lisensi GNU juga.
Steve314
Sebenarnya - saya pikir ada perpustakaan standar di bawah lisensi GNU, tapi saya tidak yakin itu berarti GPL.
Steve314
1
@ Steve314: Baca GPL lebih hati-hati. Anda diperbolehkan menautkan ke komponen sistem standar, meskipun saya tidak ingat bahasa yang tepat. GPL dirancang dengan hati-hati untuk kepraktisan - kepraktisan dalam mempromosikan pandangan ideologis tertentu, namun kepraktisan.
David Thornley
1
@steve: lupakan tentang menautkan, dll ... GPL tidak pernah merujuk pada ini (LGPL tidak). GPL mengatakan bahwa perangkat lunak turunan harus dirilis di bawah GPL, di mana turunan sengaja dibiarkan tidak terdefinisi, meskipun idenya adalah bahwa jika perangkat lunak tidak dapat bekerja tanpa yang asli tanpa diubah secara signifikan, itu adalah turunan. Jika Anda membangun aplikasi di atas OS, OS tersebut bukan turunan dari aplikasi (hubungannya tidak reflektif)
David Cournapeau
-2

Saya benar-benar berpikir bahwa ketika orang berpikir tentang GPL, mereka berpikir dalam cita-cita gnu, di mana perangkat lunaknya harus bebas berpikir, sehingga ide-ide akan tersebar, dan bahwa perusahaan besar adalah orang jahat karena mereka tidak mengizinkannya. Masalahnya adalah cara berpikir tidak membeli banyak programmer karena mereka hanya ingin kode barang mereka, memiliki program mereka dan juga kehidupan mereka sendiri, yang tidak selalu melibatkan perangkat lunak, di bawah pandangan itu BSD dan lisensi lainnya jauh lebih menarik, dalam arti yang sama bahwa Linus lebih populer daripada Richard Stallman untuk para pengembang, Karena yang pertama hanya ingin melakukan pekerjaannya (seperti banyak dari kita), sementara yang lain ingin mencoba mengubah seluruh dunia. Jadi pada akhirnya GPL seperti Mikhail Gorbachev, seseorang yang memulai evolusi tetapi tidak ditakdirkan untuk melihatnya berhasil.

Coyote21
sumber