Bagaimana cara memasukkan perpustakaan apache dengan kode opensource saya?

9

Saya memiliki kode sumber terbuka ini dengan lisensi MIT yang menggunakan perpustakaan berlisensi Apache 2.0.

Saya ingin memasukkan ini ke dalam proyek saya, sehingga dapat segera dibangun.

Pada poin 4 dari lisensi itu menjelaskan cara mendistribusikannya:

kutipan:

4. 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, asalkan Anda memenuhi ketentuan berikut:

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

Anda harus menyebabkan file yang dimodifikasi untuk membawa pemberitahuan menonjol yang menyatakan bahwa Anda mengubah file; dan

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 berhubungan dengan bagian mana pun dari Karya Derivatif; dan

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, tidak termasuk pemberitahuan yang tidak berkaitan dengan bagian mana pun dari Karya Derivatif, di setidaknya salah satu tempat berikut: dalam file teks PEMBERITAHUAN didistribusikan sebagai bagian dari Karya Derivatif; dalam bentuk Sumber atau dokumentasi, jika disediakan bersama dengan Karya Derivatif; atau, dalam tampilan yang dihasilkan oleh Derivative Works, jika dan di mana pun pemberitahuan pihak ketiga tersebut biasanya muncul. Isi dari file PEMBERITAHUAN hanya untuk tujuan informasi dan tidak mengubah Lisensi. Anda dapat menambahkan pemberitahuan atribusi Anda sendiri di dalam Karya Derivatif yang Anda bagikan, di samping atau sebagai tambahan pada teks PEMBERITAHUAN dari Karya, asalkan pemberitahuan atribusi tambahan tersebut tidak dapat ditafsirkan sebagai memodifikasi Lisensi. 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, reproduksi, dan distribusi Anda Karya sebaliknya memenuhi ketentuan yang tercantum dalam Lisensi ini.

Saya tidak membuat karya turunan (saya berencana untuk menyediakannya apa adanya).

Saya tidak memiliki file PEMBERITAHUAN, hanya file LICENSE.txt saya sendiri.

Pertanyaan: Di mana saya harus meletakkan sesuatu: "Proyek ini menggunakan perpustakaan Xyz yang didistribusikan di bawah Apache 2.0 ..."? Apa yang direkomendasikan?

Haruskah saya memberikan file lisensi Apache juga? Atau akan cukup jika saya hanya mengatakan "Temukan lisensi online di sini ... "

Saya harap seseorang yang telah melakukan ini di masa lalu dapat menjelaskan masalah ini.

OscarRyz
sumber

Jawaban:

3

Pertanyaan: Di mana saya harus meletakkan sesuatu: "Proyek ini menggunakan perpustakaan Xyz yang didistribusikan di bawah Apache2.0 ..."? Apa yang direkomendasikan?

Lisensi tersebut menyiratkan bahwa Anda harus memasukkan beberapa jenis file PEMBERITAHUAN dalam distribusi perangkat lunak Anda. Saya sarankan Anda melakukan itu.

Haruskah saya memberikan file lisensi apache juga? Atau akan cukup jika saya hanya mengatakan "Temukan lisensi online di sini ... http://www.apache.org/licenses/LICENSE-2.0.html "

Anda secara eksplisit diminta oleh lisensi untuk memberikan salinan lisensi.


Jika Anda menemukan persyaratan Apache yang dinyatakan atau tersirat tidak menyenangkan, bicarakan dengan pengacara yang berpengalaman dalam masalah IP perangkat lunak ... sebelum Anda memutuskan untuk mengabaikannya.

Stephen C
sumber
8

Saya belum melakukan ini di masa lalu, tetapi segmen yang Anda kutip membuatnya sangat jelas apa yang dibutuhkan. Secara khusus, hanya baris berikut yang relevan untuk Anda: "Anda harus memberikan kepada penerima lain dari Karya atau Karya Derivatif salinan Lisensi ini;"

Ini berarti Anda harus memasukkan file lisensi itu sendiri, bukan hanya tautan.

Adapun pertanyaan Anda yang lain, kutipan lisensi tidak mengharuskan Anda secara eksplisit menyebut penggunaan perpustakaan, tetapi informasi tersebut akan sangat berguna dalam README.txt atau Dependencies.txt.

Jay Lindquist
sumber
5

Anda juga harus memberikan salinan Apache License Version 2.0 (APLv2). Dikatakan demikian dalam kutipan: "Anda harus memberikan kepada penerima lain Karya atau Karya Derivatif salinan Lisensi ini".

Tidak diperlukan atribusi selain dari itu. Jadi, menempatkan "proyek ini menggunakan perpustakaan Xyz yang didistribusikan di bawah Apache 2.0" di suatu tempat tidak perlu. Kode sumber (Karya) dan lisensi berbicara sendiri dalam hal ini.

Tentu saja, etiket yang baik untuk menyertakan atribusi seperti itu. Kemana perginya tergantung pada jenis perangkat lunak yang Anda buat.

Yang mengatakan, sepertinya Anda sedang membuat karya turunan - Anda sedang membangun sebuah biner dengan perangkat lunak APLv2-berlisensi. Itu karya turunan. (Tidak jelas dari pertanyaan Anda apakah Anda mendistribusikan biner atau tidak, sebenarnya.) Jika demikian, Anda harus menangani file PEMBERITAHUAN dengan tepat. Anda mengatakan bahwa Anda tidak memiliki file PEMBERITAHUAN, tetapi apakah perangkat lunak APLv2 memiliki file PEMBERITAHUAN? Jika ya, maka Anda harus memiliki beberapa metode untuk menampilkan pemberitahuan di dalamnya dengan perangkat lunak (biner) Anda.

robinbb
sumber
tentang "karya turunan" ... tidak jelas apakah OP membuat karya turunan atau tidak. TETAPI, "membangun biner dengan perangkat lunak berlisensi APLv2" tidak menyiratkan pekerjaan turunan. Lisensi secara khusus mengatakan "Karya Derivatif tidak akan mencakup karya yang tetap dapat dipisahkan dari, atau hanya menghubungkan (atau mengikat nama) dengan antarmuka, Karya dan Karya Derivatifnya."
Andy Dennie