Otomatis menghasilkan kode: "pekerjaan turunan"?

18

Misalnya, saya punya perangkat lunak GPL. Saya penulis perangkat lunak GPL ini. Perangkat lunak GPL ini memiliki, di antara kodenya, komentar Doxygen. Komentar Doxygen ini ditulis untuk menghasilkan halaman html CC-BY-SA, untuk mengunggah dokumentasi yang dihasilkan ini di situs web proyek saya di bawah lisensi CC-BY-SA.

Tetapi, apakah dokumentasi Doxygen menghasilkan "karya turunan"? Bagaimanapun, dokumentasi ini didasarkan pada kode sumber GPL saya. Dalam hal ini, dokumentasi haruslah GPL. Tapi, saya ingin dokumentasinya CC-BY-SA, karena ini dokumentasi. GFDL tidak membantu. Kode GPL tidak bisa menjadi GFDL (kebalikannya ya).

Jika output ini benar-benar sebuah karya turunan, saya pikir, menciptakan situasi yang aneh, karena, jika saya mendistribusikan pekerjaan saya, pengguna penerima tidak dapat secara legal mendistribusikan dokumentasi yang dihasilkan: sementara dengan pekerjaan saya, saya dapat melakukan apa yang saya inginkan, para pengguna tidak Jadi, mereka harus mendistribusikan karya turunan apa pun dengan lisensi yang sama dengan yang saya tawarkan kepada mereka.

Apa solusinya?

Peregring-lk
sumber
3
Pertanyaan menarik!
maple_shaft

Jawaban:

13

Ini benar-benar pertanyaan yang sulit (dari jenis tanya-pengacara Anda).

Karena Anda adalah pembuat perangkat lunak, Anda dapat memperjelas niat Anda dan menghindari segala ambiguitas dengan menambahkan pengecualian "Komentar Doxygen adalah CC-BY-SA" untuk lisensi Anda, di sepanjang baris:

Additional permission under GNU GPL version 3 section 7

In addition, as a special exception, the copyright holders of [name of your program]
give you permission to distribute the Doxygen comments in this source and any work
derived from those comments ("the documentation") under the CC-BY-SA license.

pengguna281377
sumber
Terima kasih banyak. Tapi, terkait dengan bagian 7 ini, saya tidak mengerti persis dengan jenis izin tambahan yang bisa dihapus oleh penerima.
Peregring-lk
1
Dengan teks GPL, penerima dapat menghapus izin tambahan (seperti yang di atas) dari salinannya, atau dari bagian mana pun dari itu. Tapi ini IMO mungkin bukan masalah besar, karena mereka tidak dapat menghapus hak Anda untuk memberikan izin kepada pihak ketiga mana pun, terkait kode Anda. Bahkan, Anda tidak perlu pengecualian untuk mendistribusikan dokumentasi yang dihasilkan - sebagai pemilik hak cipta, Anda dapat melakukan apa yang Anda inginkan dengan karya Anda sendiri. Pengecualian CC-BY-SA hanya di sini untuk memungkinkan penerima Anda menghasilkan dan mendistribusikan dokumentasi dari kode sumber.
user281377
Tetapi, jika penerima langsung menghapus klausa ini, dan ia membagikannya lain waktu, penerima "tingkat ketiga" memiliki masalah hukum yang sama.
Peregring-lk
2
Benar, dan hampir tidak ada yang bisa Anda lakukan untuk itu. Menempatkan batasan lebih lanjut seperti "Anda tidak boleh menghapus cc-by-sa-exception" jelas tidak boleh digunakan dengan GPL. Membuat lisensi Anda sendiri kemungkinan besar membuat pekerjaan Anda tidak kompatibel dengan GPL, yang secara drastis mengurangi nilainya bagi orang lain yang mungkin ingin membuat karya turunan yang mengandung bagian dari pekerjaan Anda dan bagian dari sumber GPL lainnya.
user281377
2
Seluruh masalahnya adalah tidak ada lisensi (gratis) yang berlaku untuk karya yang dibuat oleh elemen-elemen dengan sifat yang berbeda. GPL tampaknya dirancang untuk perangkat lunak kode murni, melupakan elemen kode sumber tidak lain yang terintegrasi dalam perangkat lunak.
Peregring-lk
2

Untuk menjadi "karya turunan", sesuatu harus terlebih dahulu menjadi sebuah karya. Di bawah hukum Amerika Serikat, hanya proses kreatif yang dapat membuat karya. Proses otomatis tidak dapat membuat karya turunan karena tidak dapat membuat karya yang sebelumnya tidak ada. (Selain beberapa pengecualian khusus yang dibuat oleh undang-undang.)

Kalau dipikir-pikir, itu bukan karya turunan. Katakanlah Anda menjalankan program A pada teks B dan menghasilkan karya C. Jika ini adalah karya turunan baru, siapa yang memegang hak cipta di atasnya? Tidak ada manusia yang menciptakannya, dan sebuah program tidak dapat memegang hak cipta.

Kombinasi non-kreatif tidak dapat membuat karya baru, turunan atau tidak. Apa yang proses mekanis dapat ciptakan adalah pekerjaan agregat. Secara hukum sama dengan jika saya menempelkan dua DVD bersama-sama (atau menggabungkan dua file pada media penyimpanan yang sama). Tidak ada karya turunan, tetapi dua DVD yang dijepit bersama merupakan agregat dari kedua karya tersebut.

Lihat 17 USC 103 (b): "Hak cipta dalam karya kompilasi atau turunan hanya meluas ke materi yang dikontribusikan oleh penulis karya tersebut, sebagaimana dibedakan dari bahan yang sudah ada sebelumnya yang digunakan dalam karya tersebut, dan tidak menyiratkan hak eksklusif apa pun dalam bahan yang sudah ada sebelumnya. "

Juga lihat edaran 14 .

Siapa yang akan menjadi penulis karya turunan?

David Schwartz
sumber
Lalu, untuk alasan apa Flex / Bison menyalin dalam output otomatisnya (dari file dengan deskripsi tata bahasa) pernyataan lisensi? Jika keluaran ini bukan "karya" (dan karenanya, bukan karya turunan), maka tidak masuk akal klausa hukum ini. Hal yang sama dapat dikatakan untuk file .sty secara otomatis dihasilkan dari paket .dtx dan .ins?
Peregring-lk
Karena output mengandung elemen kreatif yang diambil dari Flex, Bison, dan sebagainya. Jika Anda merobek buku menjadi dua, Anda belum membuat karya turunan (Anda tidak perlu izin dari pemegang hak cipta untuk merobek buku menjadi dua, dan Anda tidak dapat mendaftarkan diri sendiri ke dalam setengah buku itu), tetapi Anda tidak dapat membuat salinan dari bagian tersebut dan memberikannya ke semua teman Anda. Baik? Secara hukum, buku ini separuh bertindak seperti karya aslinya. Sama di sini - setiap elemen yang dilindungi dari karya asli yang ada dalam hasil gabungan masih dilindungi oleh hak cipta. Itu hanya bukan karya turunan.
David Schwartz
Saya mengerti bagian pertama (input adalah elemen kreatif orisinal), tetapi saya tidak melihat hubungan antara buku Anda yang terbagi dan masalah yang sebenarnya.
Peregring-lk
Saya tidak yakin bagaimana saya bisa menjelaskannya dengan lebih jelas daripada yang sudah saya miliki. Proses otomatis tidak membuat karya turunan berdasarkan hukum AS (selain beberapa pengecualian yang dibuat oleh undang-undang yang tidak berlaku di sini). Ketentuan lisensi tentang karya turunan tidak berlaku untuk output dari proses otomatis. (Tepatnya, outputnya adalah karya, itu bukan karya baru, jadi itu bukan karya turunan baru. "Karya turunan" adalah jenis karya baru yang berisi kombinasi kreatif elemen-elemen karya sebelumnya. )
David Schwartz
1
@ Davidvidchchartz Itu berarti jika Anda secara otomatis menghasilkan PDF ("output") dari kode sumber LaTeX saya ("the work"), output ini adalah milik saya, dan Anda memiliki hak yang sama atas output ini yang saya berikan kepada Anda ketika Anda menerima pekerjaan saya . Baik? Jadi, jika Anda ingin mendistribusikan output, Anda harus mendistribusikannya dengan kondisi yang sama dengan lisensi kerja yang mengatakan kepada Anda. Tetapi output memiliki lisensi CC-BY-SA (karena pekerjaan menghasilkan output demikian). Dan ini kontradiksi, atau tidak?
Peregring-lk
1

Tidak ada yang menghentikan Anda dari menerapkan lisensi berbeda ke kode yang sama. Jika saya memahami Anda dengan benar, Anda memiliki kode yang ditulis dan dikendalikan oleh Anda yang memiliki komentar yang ingin Anda lepaskan di bawah lisensi CC dan kode yang ingin Anda lepaskan di bawah GPL. Jadi lakukan saja itu. Komentar akan dirilis di bawah GPL dan di bawah lisensi CC, jadi jika orang menggunakan komentar sesuai dengan lisensi CC, mereka baik-baik saja.

FAQ GNU GPL berbicara tentang kode yang dibuat secara otomatis khusus, jadi itu mungkin menjawab pertanyaan Anda jika saya salah paham. (Ini juga mencakup banyak kasus sudut lainnya.)

Michael Shaw
sumber
saya membaca FAQ yang Anda rujuk, lebih menunjukkan bahwa kode yang dihasilkan dikunci : "ketika suatu program menerjemahkan inputnya ke dalam bentuk lain, status hak cipta dari output mewarisi dari input yang dihasilkannya dari ..."
gnat
@gnat: Apa maksudmu 'terkunci'? Bagaimana bagian yang Anda kutip bertentangan dengan apa yang saya katakan?
Michael Shaw
Ini di dekat tautan yang Anda bagikan. Siapa pun yang menggunakan file tata bahasa GPL, berhati-hatilah. Kontennya akan disalin ke dalam kode yang dibuat, sehingga kode yang dihasilkan juga GPL. gnu.org/licenses/gpl-faq.html#ApaCaseIsOutputGPL
RubberDuck
0

Pertanyaannya adalah moot.

Jika Anda adalah pembuat program, Anda memiliki semua hak untuk mendistribusikannya sesuai ketentuan yang Anda suka. Jadi, jika Anda menghasilkan dokumentasi di bawah lisensi yang berbeda, Anda akan memilikinya di bawah lisensi yang berbeda. Karena kamu bilang begitu.

Program tidak ditulis oleh Anda? Kemudian, dokumentasi yang Anda hasilkan haruslah GPL, tetapi itu menghadirkan masalah yang berbeda. GPL tidak berbicara tentang dokumentasi. Ini berbicara tentang perangkat lunak.

Jadi, jika Anda ingin mencetak ulang secara komersial output dari program doxygen dari program GPL yang tidak Anda tulis, inilah yang Anda lakukan: Anda menulis kepada penulis dan meminta izin eksplisit. Hal yang sama jika Anda ingin mendistribusikan dokumen-dokumen itu di bawah CC-BY-SA. Anda tidak menempel label, Anda meminta penulis untuk menempelkannya.

Hukum bukanlah permainan pikiran yang aneh. Ini tentang orang-orang yang meyakinkan juri atau hakim. Hakim membenci permainan pikiran dan juri kadang-kadang bahkan tidak mendapatkan hukum dengan benar. (§ Apple vs Samsung)

Jadi, skenario terburuk.

Penulis sudah meninggal, ahli warisnya bodoh dan mereka hanya suka menuntut orang. Anda mencetak ulang secara komersial output dari menjalankan oksigen dari program GPL. Dugaan saya adalah (tapi IANAL) Anda masih mungkin menang, tetapi mungkin lebih sulit dari yang direncanakan dan Anda mungkin menghadapi hakim yang sangat membosankan dalam membedakan perangkat lunak dari kata tertulis yang dimaksudkan untuk konsumsi manusia. Saya masih bertaruh pada tingkat keberhasilan 70%.

Mengapa saya mengatakan cetak ulang secara komersial? Karena sulit untuk menuntut orang atas kerusakan jika Anda tidak dapat memberi tahu nilai "karya seni" (dokumentasi) yang telah didistribusikan secara ilegal. Jika subjek gugatan tidak dapat dijual atau nilainya tidak dapat diverifikasi, Anda tidak dapat mengklaim ganti rugi yang cukup untuk membayar pengacara.

ZJR
sumber