Apakah ada lisensi open source untuk ini?

8

Saya memiliki kode tertulis di rumah, di waktu saya sendiri dan menggunakan pengetahuan dan peralatan saya sendiri, sementara di bawah tidak ada kontrak atau NDA. Saya ingin membuat kode ini open source sehingga saya dapat menggunakannya dalam perangkat lunak yang saya tulis untuk majikan, tanpa menyangkal hak untuk menggunakannya di rumah atau di tempat lain nanti.

Saya tidak yakin apakah mengatakannya dalam "domain publik" akan sesuai dengan tujuan ini, atau jika saya perlu menemukan lisensi sumber terbuka. Saya ingin siapa pun dapat menggunakan kode dalam perangkat lunak berpemilik sumber tertutup dengan persyaratan nol untuk menyertakan lisensi dengan sumber atau biner. Dan saya ingin meminimalkan risiko ada orang yang dituntut karena menggunakannya. (Saya sadar bahwa seseorang tidak akan pernah 100% aman dari tuntutan.)

Apakah ada lisensi open source yang sesuai dengan tujuan ini? Sejauh apa yang ingin saya lakukan bahkan mungkin?

Saya tidak keberatan menempatkan lisensi dalam komentar di file kode sendiri, tapi itu jelas tidak sesuai dengan biner.

Philip
sumber
Apakah Anda 100% terikat pada gagasan tidak harus memasukkan file lisensi? Karena jika tidak, lisensi MIT tampaknya ideal opensource.org/licenses/mit-license.php
Amy Anuszewski
Itu sepertinya taruhan terbaik tetapi saya benar-benar ingin membiarkan majikan saya mendistribusikan binari menggunakan kode ini tanpa mendistribusikan lisensi khusus untuk kode ini.
Philip

Jawaban:

7

Saya bukan pengacara. Lisensi MIT. BSD. Lisensi ZLib .

Tapi inilah masalahnya, sebagai penulis Anda memiliki Hak Cipta dan itu memberi Anda beberapa opsi. Lisensi adalah untuk orang lain yang bukan Anda, sebagai pemilik Anda dapat melisensikan kode ini dalam berbagai cara kepada siapa pun yang Anda inginkan. Misalnya, saat Anda mempertahankan hak cipta, Anda dapat melisensikannya selamanya untuk perusahaan tempat Anda bekerja.

Terserah perusahaan untuk menerima persyaratan lisensi Anda, atau menolaknya. Dan terserah perusahaan untuk memperbolehkan Anda menambahkan kode yang ditulis dengan basis kode Anda kembali ke sumber terbuka; banyak yang tidak, Anda harus bertanya dan mendapatkannya secara tertulis.

Patrick Hughes
sumber
Karena malas, saya lebih suka untuk tidak mencoba mendapatkan lisensi khusus agar majikan saya menggunakannya. Idealnya, saya dapat membuat kode sedemikian rupa sehingga siapa pun dapat menggunakannya untuk tujuan apa pun tanpa batasan. Saya bertanya-tanya sejauh mana ini mungkin.
Philip
3

The lisensi BSD yang baik untuk hal semacam ini. Ini pada dasarnya sama dengan meletakkannya di domain publik, tetapi dengan lisensi hukum yang bagus untuk mundur untuk mencegah hal "dituntut" secara keseluruhan.

Satanicpuppy
sumber
Dari halaman itu: "Redistribusi dalam bentuk biner harus mereproduksi pemberitahuan hak cipta di atas, daftar kondisi ini dan penafian berikut dalam dokumentasi dan / atau materi lain yang disediakan dengan distribusi." Apakah "memasukkannya ke dalam domain publik" adalah mungkin, dan jika demikian apakah itu membantu mencegah seseorang mengklaim kode dan menggugat orang lain yang menggunakannya?
Philip
1
@ Pilip Anda dapat melisensikan kode seperti yang Anda inginkan. Anda bisa mengambil lisensi BSD dan menghapus kalimat itu darinya. "Domain publik" tradisional berarti melepaskan hak cipta, dan tidak ada orang lain yang dapat mengambil hak cipta - mirip dengan ketika hak cipta kedaluwarsa. Jika Anda melepaskan hak cipta, Anda tidak akan pernah memiliki kontrol lagi terhadapnya.
Jeremy
1
@ Jeremy Saya kira itulah yang akan saya lakukan menggunakan BSD atau MIT dan menghapus persyaratan propagasi lisensi. Dan saya menemukan ini, yang seharusnya saya temukan pada awalnya dan menjelaskannya dengan baik: stackoverflow.com/questions/219742 Terima kasih semuanya.
Philip
@ Pilip: WTFPL yang disebutkan dalam pertanyaan itu mungkin sebenarnya merupakan pilihan terbaik untuk Anda.
Jan Hudec
1

The Meningkatkan Lisensi tampaknya sesuai dengan tagihan Anda baik. Itu disetujui oleh OSI.

Dari Dasar Pemikiran untuk Lisensi ini:

Diminta agar satu lisensi Peningkatan dikembangkan yang memenuhi persyaratan tradisional yang Meningkatkan lisensi, khususnya:

  • Harus mudah dibaca dan dimengerti.
  • Harus memberikan izin tanpa biaya untuk menyalin, menggunakan, dan memodifikasi perangkat lunak untuk penggunaan apa pun (komersial dan non-komersial).
  • Harus mengharuskan lisensi muncul dengan semua salinan [termasuk redistribusi] dari kode sumber perangkat lunak.
  • Harus tidak mengharuskan lisensi muncul dengan executable atau penggunaan biner lain dari perpustakaan.
  • Harus tidak mengharuskan kode sumber tersedia untuk dieksekusi atau penggunaan biner lain dari perpustakaan.
Fabio Fracassi
sumber
1

Saran saya adalah ... diskusikan hal ini dengan atasan Anda.

Majikan saya menggunakan kode yang sudah saya tulis, dan kami sepakat bahwa saya akan melisensikan kode di bawah lisensi 2-klausa BSD dan kemudian memberikan salinan kepada majikan saya. Dalam praktiknya, saya cukup menambahkan header ke setiap file sumber berdasarkan pada templat lisensi BSD 2-Clause. Itu sedikit mudah.

Apa yang terjadi dengan peningkatan / perbaikan yang dilakukan pada kode Anda oleh majikan? Kapan ini dilakukan oleh Anda? Kapan ini dilakukan oleh pengembang lain? Dalam kasus saya, kami sepakat bahwa saya tidak akan secara langsung mengambil kode sumber yang ditingkatkan, tetapi saya akan bebas untuk menerapkan kembali setiap perubahan dalam waktu saya sendiri, pada perangkat keras saya sendiri.

Stewart
sumber
0

IANAL, tetapi Anda harus dapat menggunakan lisensi open source yang sudah ada di luar sana untuk tujuan Anda, karena Anda tidak menuliskannya di waktu perusahaan, dengan alat perusahaan, atau atas permintaan perusahaan Anda, jadi seharusnya jadilah milikmu untuk melakukan sesukamu.

Untuk kebutuhan lisensi Anda, saya akan memeriksa lisensi MIT atau BSD terlebih dahulu, karena itu adalah yang paling tidak membatasi selain Creative Commons. Jika terlalu longgar, periksa GPL dan Apache, atau yang digunakan Mozilla (saya pikir itu GPL, tapi jangan lupa), karena lebih banyak ditulis dengan asumsi bahwa perangkat lunak akan sama kemungkinan digunakan secara komersial sebagai non komersial.

Biasanya, bagian "jangan menuntut saya" dari "produk ini disediakan sebagaimana adanya, tanpa jaminan" penafian yang sering menuju bagian atas lisensi atau di tempat yang menonjol dalam dokumentasi.

Shauna
sumber
MIT, BSD dan GPL yang saya lihat sama sekali memerlukan distribusi lisensi dengan sumber atau binari. Saya ingin menjadi seketat mungkin. Sekarang tentu saja sebuah perusahaan dapat dituntut jika mereka mendistribusikan perangkat lunak menggunakan kode ini dan seseorang meninggal karenanya. Saya hanya ingin memperkecil kemungkinan seseorang mengklaim kode itu milik mereka sendiri dan menggugat orang lain yang menggunakannya.
Philip
Mendistribusikan lisensi adalah semacam persyaratan untuk lisensi apa pun karena orang harus benar-benar mengetahui lisensi tersebut dan isinya. Ini semacam kekalahan tujuan lisensi untuk memulai dengan jika tidak ada yang memiliki akses ke sana.
Shauna
@ Pilip: Saya bukan pengacara, tapi saya pikir Anda tidak benar-benar harus mendistribusikan lisensi MIT dengan binari yang terhubung ke aplikasi, karena Anda dapat mensublisensikannya di bawah lisensi yang mencakup aplikasi (yang memang harus ada di sana) .
Jan Hudec
0

Jadi, sepertinya Anda perlu menyalin bahasa lisensi MIT dan cukup menghapus persyaratan untuk memasukkan file lisensi dengan kode. Ini memberi orang untuk menggunakan kode dengan cara apa pun yang mereka inginkan, tetapi menghalangi jaminan apa pun.

Tentu saja, saya bukan pengacara.

Amy Anuszewski
sumber
0

Jika Anda melakukan perbaikan bug atau peningkatan kode Anda saat melakukan pekerjaan untuk disewa, maka, tanpa pengecualian khusus dalam kontrak kerja Anda, majikan Anda mungkin berakhir dengan beberapa hak atas bagian-bagian kode (tergantung pada yurisdiksi hukum khusus Anda, yadayada, Ianal). Menerbitkan kode Anda di bawah Mozilla MPL atau LGPL mungkin mengharuskan mereka untuk memberikan kontribusi bagian ini kepada Anda / semua orang dalam keadaan tertentu.

Anda mungkin ingin juga memasukkan kode ke repositori publik cap tanggal untuk membantu membuktikan keberadaannya sebelum pekerjaan Anda disewa.

hotpaw2
sumber