Bagaimana saya bisa membuat lisensi perangkat lunak saya sendiri? [Tutup]
17
Saya telah melihat banyak lisensi untuk semua jenis perangkat lunak seperti GPL GNU, Lisensi BSD, Lisensi MIT, dan LGPL. Bagaimana proses pembuatan lisensi perangkat lunak baru, seperti "lisensi generik John Doe"?
@Nick. Anda bisa menulis sendiri. Tetapi kemungkinan bahwa Anda akan mendapatkan apa yang sebenarnya Anda inginkan ditentukan dalam lisensi itu tipis hingga tidak ada (kecuali Anda adalah seorang pengacara). Bahasa hukum bersifat non-sepele dan kompleks dan pengacara juga memiliki pengalaman dalam lubang-lubang (kondisi spesifik maaf) yang telah ditahan / gagal di pengadilan sebelumnya. Semua lisensi yang Anda sebutkan telah dibuat dengan hati-hati oleh tim pengacara berpengalaman (bahkan jika versi pertama tidak).
Martin York
4
Satu-satunya saran yang bisa saya berikan adalah jangan menerima nasihat hukum dari programmer .....
mattnz
2
Ini pertanyaan yang bagus. Malu itu dianggap di luar topik.
Jeroen
1
@MartinYork Bahasa hukum bukan semacam bahasa khusus. Dalam bahasa Inggris, mereka menggunakan bahasa Inggris untuk kontrak. Adakah kata-kata yang tidak umum digunakan ketika Anda pergi ke starbucks yang muncul dalam kontrak? Tentu, tetapi itu berlaku untuk pom bensin "jargon". Namun, Anda dapat pergi ke starbucks dan meminta mereka untuk mengisi reservoir genggam besar dengan bahan bakar energi hitam sederhana hingga $ 3,5 (dengan asumsi itulah harga untuk kopi besar), dan Anda akan dipahami dengan sempurna, tanpa menggunakan "jargon kopi"
Andrei
1
@Andrei saya tidak akan setuju. Bahasa hukum adalah bagian dari Bahasa Inggris. Bahasa Inggris bisa sangat tidak tepat. Jadi bahasa hukum dalam kontrak cenderung menggunakan kata-kata dengan makna yang sangat spesifik untuk memastikan tidak ada ambiguitas. Karena itu, adalah ide yang baik untuk mendapatkan pakar dalam gaya penulisan yang benar.
Martin York
Jawaban:
29
Buka editor.
Tulis ketentuan lisensi.
Menyimpan file.
Termasuk dalam proyek.
Secara umum, hanya itu yang ada untuk itu. Serius.
Yang mengatakan, itu hit atau miss apakah lisensi perangkat lunak dapat ditegakkan secara hukum , bahkan jika seorang pengacara menulisnya (setidaknya di AS, dan hampir sepenuhnya tergantung pada kehendak hakim atau otoritas hak cipta yang berkuasa). Lebih umum, meskipun, sebagai penulis perangkat lunak, Anda sudah tertutup oleh undang-undang hak cipta di negara Anda (dengan asumsi Anda telah mengambil langkah-langkah untuk pekerjaan Anda akan hak cipta, di AS, yang hanya benar-benar membuat pekerjaan).
Itu bermuara pada apa yang ingin Anda capai dengan lisensi Anda, di atas dan di luar (atau sebagai pengganti) undang-undang hak cipta. Dalam hal lisensi seperti lisensi DBaD Phil, itu sebagian besar masalah prinsip kehormatan dan saling menghormati satu sama lain.
Jika Anda ingin itu dapat ditegakkan secara hukum (atau setidaknya memiliki kesempatan untuk melakukannya), seperti melepaskan produk yang bersumber tertutup, maka kemungkinan besar Anda ingin berbicara dengan pengacara. Dengan begitu, Anda dapat memastikan tidak ada celah mencolok dan dapat membuatnya ditulis sedemikian rupa sehingga hakim / pihak yang berkuasa lebih mungkin untuk memerintah dalam hal Anda jika ada orang yang melanggarnya.
EllisLab (perusahaan di belakang CodeIgniter) memiliki penjelasan yang bagus tentang perizinan perangkat lunak (dan seluruh minggu blog mengenai masalah ini), baik dari sudut pandang hukum, dan dari sudut pandang pengembang FLOSS dan prinsip kehormatan yang saya sebutkan di atas.
(Penafian: Saya bukan pengacara, ini bukan nasihat yang mengikat secara hukum, bla, bla, bla. Saya hanya seorang pengembang yang harus tip-toe di sekitar ladang ranjau legal yaitu pengembangan perangkat lunak dan lisensi. Ketika ragu-ragu , bicara dengan seseorang yang sebenarnya adalah seorang pengacara, idealnya dengan fokus hak cipta, paten, dan / atau lisensi.)
Jawab pertanyaan berikut untuk pengguna perangkat lunak Anda:
Apakah produk Anda open-source, yaitu saya bisa mendapatkan salinan kode sumber?
Bagaimana saya bisa menggunakan kode sumber Anda? Bisakah saya dengan bebas menyalinnya ke aplikasi saya sendiri, atau saya harus menautkannya ke biner Anda? Jika saya menggunakan kode Anda di aplikasi saya sendiri, apakah ada batasan berapa banyak kode Anda yang dapat saya gunakan? Apakah saya harus memasukkan lisensi atau tajuk atribusi Anda di bagian atas file sumber apa pun yang saya redistribusi yang berisi kode Anda, atau dalam kotak Bantuan / Tentang biner saya?
Apa yang bisa saya lakukan dengan produk Anda? Bisakah saya menggunakannya satu komputer? Bisakah saya menggunakannya di lebih dari satu komputer? Bisakah saya mendistribusikan ulang atau menjualnya kembali?
Jika saya menggunakan produk Anda sebagai bagian dari aplikasi lain yang saya tulis, apakah saya juga harus open-source?
Bagaimana Anda menjamin produk Anda? Apakah Anda bertanggung jawab secara hukum jika saya memiliki masalah?
Apa ketentuan redistribusi Anda? Dapatkah saya mendistribusikan ulang produk Anda sebagai bagian dari produk yang saya tulis? Jika Anda memberikan sumber, dapatkah saya memodifikasi perpustakaan Anda dan mendistribusikan kembali modifikasi, dan jika demikian, kondisi apa yang harus saya penuhi?
Pelajari lisensi lain, dan lihat bagaimana mereka menjawab pertanyaan-pertanyaan ini.
Ini sebenarnya mirip dengan apa yang dilakukan pengembang:
Anda memberi pengacara (atau departemen hukum di perusahaan besar) daftar persyaratan untuk apa yang diizinkan lisensi dan apa yang tidak diizinkan (misalnya lisensi hanya untuk satu pengguna, itu sementara, Anda tidak dapat menggunakan perangkat lunak untuk beberapa tujuan , dll.) dan mereka "menerjemahkan" ini ke dalam bahasa pengacara, cukup seperti kita menerjemahkan persyaratan ke dalam kode.
Misalnya, "lisensi hanya untuk satu pengguna" biasanya diterjemahkan ke dalam sesuatu yang mirip dengan ini: "FooCorp Inc. memberi Anda satu lisensi tunggal, non-eksklusif, tidak dapat dipindahtangankan untuk menginstal dan menggunakan FooSoftware untuk ...".
Anda mungkin berpikir ini tidak berlaku untuk lisensi F / OSS, tapi ini kurang lebih sama, kecuali persyaratannya berbeda: Anda dapat menemukan versi paling sederhana dari persyaratan ini di http://opensource.org/docs/OSD .
Tetapi bagian pengacara itu penting dan tidak ada gunanya mencoba menulis lisensi sendiri (kecuali jika Anda seorang pengacara dengan banyak pengalaman dalam hukum yang berkaitan dengan IP dan hukum internasional). Seseorang hanya akan menemukan celah yang nyaman, yang akan memungkinkan dia untuk menggunakan produk Anda dengan cara yang diinginkannya (saya akan membandingkannya dengan eksploitasi).
Tentu saja saya tidak mengklaim penjelasan ini lengkap atau bahkan benar, tetapi ini adalah sketsa kasar dari proses, sejauh pengembang perangkat lunak yang terlibat (oleh karena itu saya membandingkannya dengan pekerjaan seorang programmer).
Jadi pada dasarnya ini adalah pekerjaan yang berorientasi pada pengacara?
Rrjrjtlokrthjji
1
@Nick Tentu saja, programmer umumnya tidak boleh menginjak sana.
K.Steff
4
Untuk menjawab pertanyaan Anda, siapa pun dapat menulis lisensi - dan itu menunjukkan!
Kita yang menggunakan perangkat lunak untuk membangun sesuatu dan benar-benar mencoba menghormati setiap lisensi siap untuk mencungkil bola mata kita sendiri dengan poker panas setiap kali seseorang berbicara tentang membuat yang baru. Sudah ada jumlah lisensi perangkat lunak yang tak terhitung di dunia. 99% dari mereka adalah duplikat dekat dari lisensi yang ada, lebih populer, kecuali tidak dipikirkan dengan baik.
Satu situs yang saya berkontribusi memiliki lisensi tipe atribusi nonkomersial kreatif-komersial yang dikembangkan sendiri, kecuali ia tidak menyebutkan apa pun tentang karya turunan. Apakah mereka diizinkan? Bisakah mereka didistribusikan di bawah lisensi yang sama? Mengalahkan saya!
Jika orang lain berkontribusi pada proyek dan Anda pernah ingin atau perlu mengubah lisensi, Anda harus membuat mereka semua setuju untuk mengubah lisensi, atau Anda lebih atau kurang terjebak dengannya selamanya. Beberapa dari mereka mungkin menjadi tidak terjangkau atau bahkan mati. Saya bukan pengacara, tetapi jika Anda tidak memiliki perjanjian kontributor yang ditandatangani dari semua orang yang memungkinkan Anda membuat keputusan tentang lisensi Anda, saya pikir Anda SOL.
Sangat sulit untuk menulis lisensi yang bagus. Bahkan lisensi perangkat lunak terbaik pun penuh lubang. Ada versi baru dari lisensi Apache dan GPL secara berkala. Silakan, lihat apakah Anda dapat menemukan lisensi yang memenuhi 90% dari kebutuhan Anda dan menggunakannya. The GPL Menghubungkan Exception atau "Classpath Exception" adalah contoh yang bagus dari ini. Saya sedikit khawatir tentang pernyataan orang Hibernate di situs mereka beberapa tahun, pada dasarnya secara publik salah menafsirkan GPLv2 untuk membuatnya terdengar seperti itu termasuk Pengecualian Classpath. Apakah itu pengecualian classpath? Kami tidak akan tahu kecuali seseorang menggugat mereka.
Sepertinya saya dituntut adalah cara paling menyakitkan untuk men-debug lisensi Anda. Jika Anda menggunakan lisensi yang sudah dituntut orang, ada kepastian bahwa lisensi itu berfungsi, dan juga rasa cara kerjanya. Lebih baik lagi, pilih lisensi yang telah ke pengadilan di berbagai negara. Apakah Anda berpikir tentang bagaimana lisensi Anda akan ditafsirkan di bagian lain dunia?
Jika Anda mendasarkan lisensi Anda dari yang sudah ada, maka orang-orang yang peduli untuk memenuhi persyaratan lisensi Anda mungkin tidak perlu mempelajarinya selama bertahun-tahun untuk mencari tahu persis apa artinya.
Jika memungkinkan, saya akan mendorong Anda untuk mencurahkan energi dan bakat Anda untuk meningkatkan lisensi yang ada daripada menulis yang baru.
Maaf menjadi pembunuh-sukacita. Jika saya pahit, itu karena saya benar-benar membaca dan mencoba untuk menghormati lisensi orang sebelum saya menggunakan karya mereka.
Tuliskan persyaratannya, terbitkan dengan perangkat lunak Anda. Itu dia.
Namun, satu pertanyaan adalah mengapa Anda menginginkannya? Bukan tidak mungkin bahwa kondisi apa pun yang ingin Anda tambahkan sudah ada dalam lisensi lain yang umum digunakan.
Ini menambahkan langkah awal - periksa apakah Anda benar-benar harus membuat lisensi.
Kemungkinan juga bahwa beberapa kondisi yang ingin Anda laksanakan cacat dalam beberapa cara; menambahkan langkah awal lain - baca sekitar tentang istilah "unik" yang ingin Anda terapkan. Orang lain mungkin telah mencoba istilah-istilah semacam itu, dan menganggapnya tidak dapat diterapkan, atau kontraproduktif.
Jawaban:
Secara umum, hanya itu yang ada untuk itu. Serius.
Tidak percaya padaku Lihatlah lisensi Don't Be A Dick Phil Sturgeon (dan juga WTFPL yang mengilhami itu).
Yang mengatakan, itu hit atau miss apakah lisensi perangkat lunak dapat ditegakkan secara hukum , bahkan jika seorang pengacara menulisnya (setidaknya di AS, dan hampir sepenuhnya tergantung pada kehendak hakim atau otoritas hak cipta yang berkuasa). Lebih umum, meskipun, sebagai penulis perangkat lunak, Anda sudah tertutup oleh undang-undang hak cipta di negara Anda (dengan asumsi Anda telah mengambil langkah-langkah untuk pekerjaan Anda akan hak cipta, di AS, yang hanya benar-benar membuat pekerjaan).
Itu bermuara pada apa yang ingin Anda capai dengan lisensi Anda, di atas dan di luar (atau sebagai pengganti) undang-undang hak cipta. Dalam hal lisensi seperti lisensi DBaD Phil, itu sebagian besar masalah prinsip kehormatan dan saling menghormati satu sama lain.
Jika Anda ingin itu dapat ditegakkan secara hukum (atau setidaknya memiliki kesempatan untuk melakukannya), seperti melepaskan produk yang bersumber tertutup, maka kemungkinan besar Anda ingin berbicara dengan pengacara. Dengan begitu, Anda dapat memastikan tidak ada celah mencolok dan dapat membuatnya ditulis sedemikian rupa sehingga hakim / pihak yang berkuasa lebih mungkin untuk memerintah dalam hal Anda jika ada orang yang melanggarnya.
EllisLab (perusahaan di belakang CodeIgniter) memiliki penjelasan yang bagus tentang perizinan perangkat lunak (dan seluruh minggu blog mengenai masalah ini), baik dari sudut pandang hukum, dan dari sudut pandang pengembang FLOSS dan prinsip kehormatan yang saya sebutkan di atas.
(Penafian: Saya bukan pengacara, ini bukan nasihat yang mengikat secara hukum, bla, bla, bla. Saya hanya seorang pengembang yang harus tip-toe di sekitar ladang ranjau legal yaitu pengembangan perangkat lunak dan lisensi. Ketika ragu-ragu , bicara dengan seseorang yang sebenarnya adalah seorang pengacara, idealnya dengan fokus hak cipta, paten, dan / atau lisensi.)
sumber
Jawab pertanyaan berikut untuk pengguna perangkat lunak Anda:
Apakah produk Anda open-source, yaitu saya bisa mendapatkan salinan kode sumber?
Apa yang bisa saya lakukan dengan produk Anda? Bisakah saya menggunakannya satu komputer? Bisakah saya menggunakannya di lebih dari satu komputer? Bisakah saya mendistribusikan ulang atau menjualnya kembali?
Jika saya menggunakan produk Anda sebagai bagian dari aplikasi lain yang saya tulis, apakah saya juga harus open-source?
Bagaimana Anda menjamin produk Anda? Apakah Anda bertanggung jawab secara hukum jika saya memiliki masalah?
Apa ketentuan redistribusi Anda? Dapatkah saya mendistribusikan ulang produk Anda sebagai bagian dari produk yang saya tulis? Jika Anda memberikan sumber, dapatkah saya memodifikasi perpustakaan Anda dan mendistribusikan kembali modifikasi, dan jika demikian, kondisi apa yang harus saya penuhi?
Pelajari lisensi lain, dan lihat bagaimana mereka menjawab pertanyaan-pertanyaan ini.
sumber
Ini sebenarnya mirip dengan apa yang dilakukan pengembang:
Anda memberi pengacara (atau departemen hukum di perusahaan besar) daftar persyaratan untuk apa yang diizinkan lisensi dan apa yang tidak diizinkan (misalnya lisensi hanya untuk satu pengguna, itu sementara, Anda tidak dapat menggunakan perangkat lunak untuk beberapa tujuan , dll.) dan mereka "menerjemahkan" ini ke dalam bahasa pengacara, cukup seperti kita menerjemahkan persyaratan ke dalam kode.
Misalnya, "lisensi hanya untuk satu pengguna" biasanya diterjemahkan ke dalam sesuatu yang mirip dengan ini: "FooCorp Inc. memberi Anda satu lisensi tunggal, non-eksklusif, tidak dapat dipindahtangankan untuk menginstal dan menggunakan FooSoftware untuk ...".
Anda mungkin berpikir ini tidak berlaku untuk lisensi F / OSS, tapi ini kurang lebih sama, kecuali persyaratannya berbeda: Anda dapat menemukan versi paling sederhana dari persyaratan ini di http://opensource.org/docs/OSD .
Tetapi bagian pengacara itu penting dan tidak ada gunanya mencoba menulis lisensi sendiri (kecuali jika Anda seorang pengacara dengan banyak pengalaman dalam hukum yang berkaitan dengan IP dan hukum internasional). Seseorang hanya akan menemukan celah yang nyaman, yang akan memungkinkan dia untuk menggunakan produk Anda dengan cara yang diinginkannya (saya akan membandingkannya dengan eksploitasi).
Tentu saja saya tidak mengklaim penjelasan ini lengkap atau bahkan benar, tetapi ini adalah sketsa kasar dari proses, sejauh pengembang perangkat lunak yang terlibat (oleh karena itu saya membandingkannya dengan pekerjaan seorang programmer).
sumber
Untuk menjawab pertanyaan Anda, siapa pun dapat menulis lisensi - dan itu menunjukkan!
Kita yang menggunakan perangkat lunak untuk membangun sesuatu dan benar-benar mencoba menghormati setiap lisensi siap untuk mencungkil bola mata kita sendiri dengan poker panas setiap kali seseorang berbicara tentang membuat yang baru. Sudah ada jumlah lisensi perangkat lunak yang tak terhitung di dunia. 99% dari mereka adalah duplikat dekat dari lisensi yang ada, lebih populer, kecuali tidak dipikirkan dengan baik.
Satu situs yang saya berkontribusi memiliki lisensi tipe atribusi nonkomersial kreatif-komersial yang dikembangkan sendiri, kecuali ia tidak menyebutkan apa pun tentang karya turunan. Apakah mereka diizinkan? Bisakah mereka didistribusikan di bawah lisensi yang sama? Mengalahkan saya!
Jika orang lain berkontribusi pada proyek dan Anda pernah ingin atau perlu mengubah lisensi, Anda harus membuat mereka semua setuju untuk mengubah lisensi, atau Anda lebih atau kurang terjebak dengannya selamanya. Beberapa dari mereka mungkin menjadi tidak terjangkau atau bahkan mati. Saya bukan pengacara, tetapi jika Anda tidak memiliki perjanjian kontributor yang ditandatangani dari semua orang yang memungkinkan Anda membuat keputusan tentang lisensi Anda, saya pikir Anda SOL.
Sangat sulit untuk menulis lisensi yang bagus. Bahkan lisensi perangkat lunak terbaik pun penuh lubang. Ada versi baru dari lisensi Apache dan GPL secara berkala. Silakan, lihat apakah Anda dapat menemukan lisensi yang memenuhi 90% dari kebutuhan Anda dan menggunakannya. The GPL Menghubungkan Exception atau "Classpath Exception" adalah contoh yang bagus dari ini. Saya sedikit khawatir tentang pernyataan orang Hibernate di situs mereka beberapa tahun, pada dasarnya secara publik salah menafsirkan GPLv2 untuk membuatnya terdengar seperti itu termasuk Pengecualian Classpath. Apakah itu pengecualian classpath? Kami tidak akan tahu kecuali seseorang menggugat mereka.
Sepertinya saya dituntut adalah cara paling menyakitkan untuk men-debug lisensi Anda. Jika Anda menggunakan lisensi yang sudah dituntut orang, ada kepastian bahwa lisensi itu berfungsi, dan juga rasa cara kerjanya. Lebih baik lagi, pilih lisensi yang telah ke pengadilan di berbagai negara. Apakah Anda berpikir tentang bagaimana lisensi Anda akan ditafsirkan di bagian lain dunia?
Jika Anda mendasarkan lisensi Anda dari yang sudah ada, maka orang-orang yang peduli untuk memenuhi persyaratan lisensi Anda mungkin tidak perlu mempelajarinya selama bertahun-tahun untuk mencari tahu persis apa artinya.
Jika memungkinkan, saya akan mendorong Anda untuk mencurahkan energi dan bakat Anda untuk meningkatkan lisensi yang ada daripada menulis yang baru.
Maaf menjadi pembunuh-sukacita. Jika saya pahit, itu karena saya benar-benar membaca dan mencoba untuk menghormati lisensi orang sebelum saya menggunakan karya mereka.
sumber
Tuliskan persyaratannya, terbitkan dengan perangkat lunak Anda. Itu dia.
Namun, satu pertanyaan adalah mengapa Anda menginginkannya? Bukan tidak mungkin bahwa kondisi apa pun yang ingin Anda tambahkan sudah ada dalam lisensi lain yang umum digunakan.
Ini menambahkan langkah awal - periksa apakah Anda benar-benar harus membuat lisensi.
Kemungkinan juga bahwa beberapa kondisi yang ingin Anda laksanakan cacat dalam beberapa cara; menambahkan langkah awal lain - baca sekitar tentang istilah "unik" yang ingin Anda terapkan. Orang lain mungkin telah mencoba istilah-istilah semacam itu, dan menganggapnya tidak dapat diterapkan, atau kontraproduktif.
sumber