Pertanyaan yang ditulis ulang:
Saya tidak menanyakan pertanyaan terkait JavaScript, tetapi semua bahasa "klien" digunakan di web (HTML5, JavaScript, CSS, dan sebagainya). Jika saya meletakkan kode JavaScript (yaitu GPL) di situs web saya, dan situs web ini dapat diakses oleh siapa pun melalui web, apakah saya melanggar GPL dengan cara apa pun?
Apa yang terjadi jika saya ingin menjual kode klien (HTML, CSS, JavaScript) kepada seseorang? Apakah saya memerlukan lisensi lain dalam hal ini?
Bukankah JavaScript (bila digunakan untuk situs web) selalu merupakan sumber terbuka? Saat Anda membuka halaman web, Anda selalu dapat membaca sumbernya.
Apakah saya juga perlu merilis kode sisi server saya jika saya menjual situs web yang berisi kode JavaScript GPLed?
Apa yang terjadi jika situs web ini dapat diakses sebagian (sebagian gratis dan yang lain mengharuskan Anda membayar) tetapi kode GPL (bagian yang sama) digunakan di kedua sisi situs web?
Bagaimana jika kode GPL hanya di bagian situs web yang mengharuskan Anda membayar untuk mengaksesnya?
Jika saya menjual situs web ke pelanggan dengan cara ini:
- Saya menjual Anda (satu kali biaya) semua kode yang berhubungan dengan klien (JavaScript, HTML dan CSS)
- Saya tidak menjual kode sisi server kepada Anda, Anda menyewanya (Saya tidak ingin Anda menggunakan kembali kode sisi server saya)
Jika saya menggunakan beberapa kode JavaScript GPLed, apakah saya melanggar sesuatu? (Situs web dapat diakses dari siapa pun melalui web.)
Edit 2:
Menambahkan pertanyaan spesifik baru:
Bagaimana jika situs web dapat bekerja tanpa kode sisi server, maksud saya, JavaScript hanya memanggil beberapa halaman PHP yang berisi data dalam format JSON. Orang lain dapat membangun situs web dengan sisi klien, tetapi mereka perlu memberikan data. Dalam hal ini JavaScript memanggil kode "PHP" (tapi bukan sebaliknya) saya pikir. Dalam hal ini, apakah saya melanggar GPL?
sumber
Jawaban:
Dalam hal GPL, unit rilis adalah unit lisensi.
Jika situs web Anda, dan javascriptnya adalah satu hal yang berfungsi bersama, maka keseluruhannya memiliki lisensi yang efektif. Jika ada bagian yang merupakan GPL, lisensi keseluruhan yang efektif adalah GPL. (Ini tidak berlaku untuk LGPL, MIT, dll.)
Jika Anda meng-hosting situs web, dan pelanggan Anda membeli akses ke layanan, maka Anda belum mendistribusikan atau menyampaikan kode sisi server, sehingga GPL tidak relevan. (AGPL mengubahnya, dan menyatakan bahwa Perangkat Lunak sebagai layanan harus memiliki sumbernya dirilis.)
Javascript yang merupakan bagian dari aplikasi Anda tidak secara otomatis dilisensikan dengan cara apa pun. Sebenarnya, mengunduh javascript untuk menjalankannya di browser adalah pelanggaran hak cipta. Tentu saja itu konyol. Mungkin ada lisensi tersirat untuk menjalankan kode, tetapi hanya itu.
Jika Anda menggunakan perpustakaan Javascript, maka Anda harus mematuhi lisensi perpustakaan itu. Jika lisensi itu adalah GPL, saya mengerti bahwa itu berarti seluruh aplikasi Anda adalah GPL. Ini mungkin mengapa jQuery memiliki lisensi ganda - pilihan Anda, MIT atau GPL. Tanpa opsi untuk menggunakan lisensi MIT, itu hanya bisa digunakan oleh aplikasi GPL.
sumber
Pertama: Anda sepenuhnya berhak untuk menggunakan kode Open Source dalam proyek komersial selama Anda mematuhi batasan lisensi (yang terutama bahwa Anda membiarkan semua atribusi di tempat dan bahwa Anda membuat perubahan tersedia di bawah lisensi yang sama).
GPL adalah, saya mengerti, salah satu lisensi yang lebih ketat ketika mencoba memaksakan lisensi itu pada bagian lain dari suatu proyek. Saya tidak berpikir itu pernah diuji di pengadilan tetapi interpretasi yang selalu saya lihat adalah bahwa jika kode GPL dibiarkan dalam modul terpisah itu sendiri yang hanya direferensikan (yaitu bahwa mereka diperlakukan sebagai produk yang sepenuhnya berdiri sendiri yang hanya Anda gunakan), Anda harus baik-baik saja.
Jika Anda tidak yakin tentang ini dan / atau ingin lebih aman ada lisensi lain yang kurang preskriptif.
Kedua: Kemampuan untuk melihat kode dan hak untuk menggunakannya sepenuhnya terpisah . Saya tidak bisa menghapus JavaScript dari situs mana pun dan menggunakannya hanya karena saya bisa melihatnya. Jika saya mendapat akses ke sumber Windows, bahkan secara legal, itu tidak menjadikannya milik saya. Web mengharuskan bahwa banyak kode terlihat, Anda masih dapat melisensikannya seperti yang Anda inginkan.
Ketiga: Dalam hal lisensi, sisa situs ini berada di bawah, sangat tidak mungkin klien Anda akan senang membayar Anda untuk sesuatu kemudian Anda menjadikannya open source . Selain dari dasar "mengapa kami membayar sesuatu yang baru saja Anda bagikan", itu mungkin akan memiliki konsekuensi untuk desain dan merek dan memungkinkan orang lain untuk meminjam elemen identitas perusahaan mereka. Jika Anda menjualnya kepada mereka maka mereka ingin itu menjadi milik mereka . Jika Anda akan menjualnya sedikit, Anda harus memberi tahu mereka bahwa ada OSS di sana karena Anda tidak dapat menjualnya, hanya kode lain yang menggunakannya.
Keempat: Itu model yang sangat aneh menjual sedikit kode dan menyewa yang lain . Mereka tampaknya sangat saling bergantung sehingga yang satu sebagian besar tidak berharga tanpa yang lain. Saya kira secara teknis mereka mungkin mengambil desain ujung depan yang telah Anda lakukan dan menambalnya menjadi sesuatu yang lain tetapi umumnya ketika itu terjadi orang baru saja memulai dari awal.
Mengingat bahwa dua bagian tidak terlalu berguna tanpa satu sama lain, saya akan mengusulkan agar mereka membayar penyesuaian untuk perangkat lunak sebagai produk layanan yang Anda miliki. Itu adalah Anda memiliki semua kode, Anda hanya dapat menyesuaikannya dengan spesifikasi mereka (yaitu merek front end cara mereka). Jadikan itu jauh lebih rapi dan sederhana.
sumber
Secara umum, jika Anda menggunakan kode GPL di mana saja dalam proyek Anda, dan Anda mendistribusikan ulang proyek Anda (yaitu menjualnya atau memberikannya kepada orang lain), Anda harus merilis kode sumber proyek Anda kepada publik secara keseluruhan untuk memenuhi persyaratan lisensi GPL.
Jika Anda menyediakan situs web yang menghadap publik sendiri sebagai layanan menggunakan sisi server kode GPL, Anda mungkin OK, karena ini tidak dianggap redistribusi.
Kode Javascript di browser tampak seperti area abu-abu bagi saya. Secara teknis, Anda mendistribusikan kembali kode GPL ke browser semua orang, yang akan memicu persyaratan untuk merilis sumber Anda sendiri.
Sunting: Untuk membuktikan maksud saya, sekarang saya akan memasukkan teks dari FAQ perizinan situs web ExtJS. ExtJs adalah kerangka kerja Javascript yang dilisensikan di bawah GPL. Ini adalah interpretasi mereka tentang bagaimana lisensi bekerja sehubungan dengan kerangka kerja mereka (italics mine):
sumber
Untuk situs web dengan javascript sisi klien, mereka masih memiliki kodenya. Jika Anda hanya mengambil kode itu dan menggunakannya sebagai kode Anda, itu mungkin merupakan pelanggaran IP. Saya kira saya tidak tahu apakah mereka tidak menyertakan lisensi dengannya. Ada juga masalah ketidakberlakuan. Saya kira berbicara dengan pengacara, tetapi mereka mungkin tidak akan memberi tahu Anda sesuatu yang bermanfaat.
Proyek dengan campuran lisensi itu rumit. Kode GPL yang berinteraksi dengan perpustakaan lain, mungkin termasuk ujung belakang sisi server, mengharuskannya juga GPL. Lisensi open source lainnya kurang ketat, seperti LGPL, dan lisensi BSD.
Dan tidak, jika Anda tidak ingin dia menggunakan kembali kode php Anda, maka itu tidak cocok dengan model GPL. Jika Anda merilis kode Anda di bawah GPL, maka Anda BERKEWAJIBAN untuk menyerahkan kode sumber.
Jadi sepertinya Anda membuat situs web untuk seseorang dan Anda tidak ingin membagikan kode Anda kepada siapa pun. Mengapa Anda melihat open source sama sekali? Jika open source, Anda memberikan kode.
sumber