Persyaratan lisensi saat porting perangkat lunak bebas ke bahasa lain

17

Saya sedang mengeksplorasi ide porting paket perangkat lunak yang ada ke bahasa lain. Ini dirilis di bawah Lisensi Apache 2.0 , dan didistribusikan secara gratis; tetapi ada perbedaan besar antara menggunakan perpustakaan versus membuat salinannya. Saya tentu saja akan memberikan kredit penuh dan jujur ​​tentang dari mana asalnya, dan saya tentu saja tidak berencana untuk menghasilkan uang dari pelabuhan, cukup gunakan dalam proyek lain.

Saya sudah membaca lisensi tentunya, yang mengatakan:

  1. Pemberian Lisensi Hak Cipta. Tunduk pada syarat dan ketentuan dari Lisensi ini, setiap Kontributor dengan ini memberikan kepada Anda lisensi abadi, di seluruh dunia, non-eksklusif, tanpa biaya, bebas royalti, hak cipta yang tidak dapat dibatalkan untuk direproduksi, menyiapkan Karya Derivatif, tampilan publik, kinerja publik, mensublisensikan, dan mendistribusikan Karya dan Karya Derivatif tersebut dalam bentuk Sumber atau Objek.

[...]

  1. Redistribusi. Anda dapat mereproduksi dan mendistribusikan salinan Karya atau Karya Derivatifnya dalam media apa pun, dengan atau tanpa modifikasi, dan dalam bentuk Sumber atau Objek, dengan ketentuan Anda memenuhi ketentuan berikut:

    Sebuah. Anda harus memberikan salinan Karya ini kepada penerima atau Karya Derivatif lainnya; dan

    b. Anda harus menyebabkan file yang dimodifikasi membawa pemberitahuan penting yang menyatakan bahwa Anda mengubah file; dan

    c. Anda harus mempertahankan, dalam bentuk Sumber dari setiap Karya Derivatif yang Anda distribusikan, semua pemberitahuan hak cipta, paten, merek dagang, dan atribusi dari bentuk Sumber Karya, tidak termasuk pemberitahuan yang tidak berkaitan dengan bagian mana pun dari Karya Derivatif; dan

    d. Jika Karya menyertakan file teks "PEMBERITAHUAN" sebagai bagian dari distribusinya, maka Karya Derivatif apa pun yang Anda distribusikan harus menyertakan salinan pemberitahuan atribusi yang dapat dibaca yang terdapat dalam file PEMBERITAHUAN tersebut [...]

    Anda dapat menambahkan pernyataan hak cipta Anda sendiri ke modifikasi Anda dan dapat memberikan syarat dan ketentuan lisensi tambahan atau berbeda untuk penggunaan, reproduksi, atau distribusi modifikasi Anda, atau untuk Pekerjaan Derivatif seperti itu secara keseluruhan, asalkan penggunaan Anda, reproduksi, dan distribusi Karya sebaliknya memenuhi ketentuan yang tercantum dalam Lisensi ini.

Yang terdengar sangat mirip pelabuhan (sebagai "Karya Derivatif") sepenuhnya diizinkan dengan atau tanpa izin penulis asalkan saya rajin menyimpan salinan lisensi, pemberitahuan hak cipta yang ada, atribusi dll.

Tapi itu tidak berarti saya mengerti semua implikasinya. Misalnya, apakah port harus berbagi lisensi yang sama dengan aslinya?

Saya belum memulai salah satu pekerjaan, saya juga belum menghubungi penulis paket (meskipun saya akan). Saya ingin memastikan apakah ada risiko banyak pekerjaan terbuang sia-sia. Saya juga perlu tahu apakah saya perlu membuat implementasi ruang bersih hanya berdasarkan API, atau apakah saya bisa mendasarkan pekerjaan saya pada kode sumber yang ada (yang belum saya lihat).

Marcus Downing
sumber
Seandainya ada keraguan, kode yang ingin saya port tidak sepele dan mencapai hal-hal yang saya rasa sangat sulit untuk dicapai sendiri.
Marcus Downing

Jawaban:

10

Terjemahan (baik ke bahasa alami yang berbeda maupun ke bahasa pemrograman yang berbeda) dianggap sebagai Karya Turunan.

Ketika membuat karya turunan yang sangat berbeda dari aslinya sebagai terjemahan ke hasil bahasa pemrograman yang berbeda (tidak terkait erat), sebenarnya cukup sulit untuk memahami bagaimana persyaratan dari lisensi Apache harus diterapkan. Saya akan sangat menyarankan Anda untuk berdiskusi dengan pengelola paket asli bagaimana mereka ingin melihat hak cipta ditangani dan Anda mungkin ingin mendiskusikannya dengan pengacara juga.

Bagian yang bermasalah adalah ayat 4c:

c. Anda harus mempertahankan, dalam bentuk Sumber dari setiap Karya Derivatif yang Anda distribusikan, semua pemberitahuan hak cipta, paten, merek dagang, dan atribusi dari bentuk Sumber Karya, tidak termasuk pemberitahuan yang tidak berkaitan dengan bagian mana pun dari Karya Derivatif; dan

Masalahnya di sini adalah bahwa dengan perubahan radikal seperti itu, hampir tidak mungkin untuk mengetahui pemberitahuan (hak cipta dan atribusi) mana dari karya asli yang secara hukum juga berkaitan dengan versi terjemahan dan dengan demikian pemberitahuan mana yang harus disimpan dan mana yang harus dihapus.

Bart van Ingen Schenau
sumber
7
"berbicara dengan pengacara" sebenarnya merupakan penghalang yang cukup curam bagi seseorang yang berencana untuk melakukan pekerjaan dan memberikannya secara gratis.
Marcus Downing
2
@MarcusDowning: Ya, tapi terkadang itu adalah saran terbaik yang bisa kita berikan.
Bart van Ingen Schenau
@ BartvanIngenSchenau Saya belum menemukan apa pun yang menunjukkan bahwa penulisan ulang dalam bahasa lain merupakan karya turunan. Saya berasumsi terjemahan otomatis tidak dimungkinkan. Harap berikan beberapa tautan untuk mendukung pernyataan Anda. Saya menemukan ini: rosenlaw.com/lj19.htm . Seluruh masalah ini penting bagi saya karena alasan lain.
Frank Hileman
Tautan menarik lainnya: law.washington.edu/lta/swp/Law/derivative.html
Frank Hileman
1
@FrankHileman: Bagaimana dengan "Karya turunan umum termasuk terjemahan, [...] karya yang sudah ada" ( copyright.gov/circs/circ14.pdf ). Terjemahan ke bahasa pemrograman lain masih merupakan terjemahan.
Bart van Ingen Schenau
-2

Hak cipta hanya berlaku untuk kode sumber asli. Saya tidak dapat memberikan saran hukum (secara legal :)) di negara saya, tetapi ketika Anda menggunakan bahasa yang berbeda, itu adalah kumpulan kode sumber yang berbeda. Pertimbangan etis adalah masalah yang berbeda. Saya akan mencoba menggunakan lisensi yang disetujui oleh penulis asli, untuk menjaga semangat kontribusi sumber terbuka asli kepada komunitas. Selain itu, penulis asli harus dikreditkan.

Frank Hileman
sumber
Saya mendapat kesan bahwa port non-cleanroom ke bahasa lain merupakan karya turunan karena kode baru akan mengambil implementasi spesifik dari aslinya, bukan hanya inspirasi atau kesamaan API. Kalau tidak, menghindari lisensi dengan porting dengan perubahan kecil akan mudah dan terjadi setiap saat. (Saya tidak yakin siapa yang menurunkan Anda, bukan saya)
Marcus Downing
Kita harus ingat bahwa hak cipta berlaku untuk teks kode sumber; tidak seperti paten.
Frank Hileman
Juga umumnya ketika Anda kode dalam bahasa lain, Anda tidak dapat menggunakan kembali salah satu kode asli. Itulah asumsi dalam tanggapan saya.
Frank Hileman
1
@FrankHileman Hak Cipta tentu berlaku juga untuk konten nosional kreatif; lih. (untuk mengambil satu contoh) Anderson v. Stallone di mana terdakwa menulis sekuel Rocky dan dinyatakan bersalah atas pelanggaran, meskipun ia tidak menggunakan kata demi kata dari teks naskah atau rekaman Rocky lainnya . Tentunya "seberapa mirip kerjanya?" Tes sebagai bagian dari penentuan pelanggaran tidak hanya mencakup perbandingan teks kata demi kata.
apsillers
@FrankHileman: Untuk karya sastra, terjemahan (ke bahasa alami lainnya) dianggap sebagai karya turunan untuk hak cipta, bahkan jika kedua bahasa tersebut menggunakan sistem penulisan yang sangat berbeda (mis. Bahasa Inggris vs Jepang). Karena undang-undang hak cipta sama untuk karya sastra dan perangkat lunak, argumen Anda tidak berlaku.
Bart van Ingen Schenau