Saya sedang mengerjakan prototipe untuk sistem perangkat lunak, yang (setidaknya pada awalnya) akan menjadi sumber tertutup.
Untuk menghemat waktu, saya berpikir untuk menggunakan (yaitu, menghubungkan secara statis) perpustakaan yang dilisensikan di bawah GPLv3 , sehingga saya dapat menguji desain saya dengan cepat. Jika saya mendistribusikan perangkat lunak pada tahap ini, saya harus mendistribusikan kode sumber.
Bagaimana jika saya tidak melakukannya, tetapi memuaskan diri saya bahwa sistem saya berfungsi, dan kemudian mengganti perpustakaan GPL dengan kode saya sendiri sebelum mendistribusikan? Apakah hasilnya akan "terkontaminasi" oleh GPL?
Saya memiliki perasaan bahwa mempertahankan perpustakaan GPL dalam sejarah Git saya atau tidak dapat membuat perbedaan.
sumber
Jawaban:
GPL menulis :
Jadi kondisi ini hanya berlaku jika karya Anda "didasarkan pada" perpustakaan, yang didefinisikan oleh lisensi sebagai berikut:
Artinya, program Anda "didasarkan pada" perpustakaan jika dan hanya jika itu adalah karya turunan menurut hukum hak cipta. Definisi hukum dari istilah itu agak bervariasi di antara yurisdiksi, dan biasanya tidak secara langsung menangani perangkat lunak. Misalnya, Undang-Undang Hak Cipta AS menulis:
Apa artinya ini untuk perangkat lunak harus ditafsirkan oleh pengadilan, berdasarkan putusan serupa sebelumnya. Saya tidak cukup akrab dengan hukum kasus yang relevan di yurisdiksi Anda untuk mengatakan dengan pasti bagaimana pengadilan akan memutuskan kasus Anda. Orang bisa berpendapat bahwa "mengganti perpustakaan GPL dengan kode sendiri" adalah tindakan terjemahan, terutama jika kode Anda sangat terinspirasi oleh implementasi GPL. Bahkan menggunakan kembali API perpustakaan GPL bisa membuat Anda jatuh dalam air panas (lihat Oracle vs. Google ).
Jika jawabannya penting bagi Anda, saya sarankan mencari nasihat hukum yang kompeten daripada meminta orang asing di internet.
sumber
Selama Anda tidak merilis perangkat lunak kepada siapa pun saat Anda menautkan ke perpustakaan GPL, Anda aman. Aspek viral dari GPL hanya muncul jika Anda mendistribusikan perangkat lunak Anda.
Akan lebih baik jika Anda dapat menemukan perpustakaan dengan lisensi yang lebih permisif, tentu saja, seperti LGPL atau APL2 atau MIT.
sumber
Saya tidak berpikir pertanyaan Anda sebenarnya tentang GPL. Ini tentang prototipe dan apakah akan digunakan di masa depan sebagai dasar untuk sistem perangkat lunak yang dapat dikirim.
Jika Anda membuat prototipe sekali pakai dan Anda tidak akan menggunakan kembali salah satu kode di sistem yang dapat dikirim, lanjutkan dan gunakan pustaka GPL.
Tiga Pendekatan yang Dapat Anda Ambil
Namun, jika Anda ingin mengembangkan prototipe (sesuatu yang didorong oleh banyak manajer!) Anda memiliki tiga pendekatan yang dapat Anda ambil:
Saya sarankan Anda pergi dengan pendekatan pertama karena Anda memiliki pekerjaan sumber terbuka yang dapat Anda gunakan di masa depan sebagai bagian dari portofolio profesional Anda.
Pendekatan kedua juga baik karena itulah bagaimana Anda seharusnya merancang sistem, menciptakan fungsi / kelas yang tepat yang Anda butuhkan dan mematikannya sampai Anda memiliki pustaka atau kode khusus yang mengisi fungsionalitas itu.
sumber
Saya dapat memikirkan dua aspek untuk dipertimbangkan dengan pendekatan Anda. Yang pertama adalah langsung, dengan tidak mendistribusikan proyek Anda atau (atau karena itu GPLv3 , membuatnya tersedia untuk umum) sementara Anda menggunakan kode yang dirilis di bawah GPL, sulit untuk melihat bagaimana Anda akan diminta untuk mendistribusikan kode Anda di bawah lisensi GPL juga di bawah ketentuan redistribusi.
Aspek kedua mungkin lebih penting bagi Anda. Saat Anda membuat implementasi Anda sendiri untuk menggantikan pustaka GPL, Anda harus berhati-hati untuk tidak membuat karya turunan. Meskipun saya yakin Anda memiliki niat baik, untuk tidak secara langsung menyalin kode sumber - Anda lebih cenderung tidak menyalin bagian signifikan dari API perpustakaan.
Jika ini adalah produk komersial, risiko ini perlu dipertimbangkan dan dinilai dengan membaca dengan cermat lisensi GPLv3, dan jika ada keraguan, meminta pendapat hukum profesional.
sumber
Jika Anda berencana untuk menulis kode Anda sendiri untuk mengganti kode GPL Anda akan memiliki masalah potensial karena Anda tidak menulis kode di lingkungan kamar yang bersih. Anda benar-benar ingin memiliki seseorang yang belum pernah melihat kode GPL menulis pustaka pengganti. Di sisi lain, jika Anda hanya ingin menukar perpustakaan GPL dengan perpustakaan yang sudah diterbitkan yang berada di bawah lisensi lain maka ini bukan masalah, perpustakaan lain mungkin sudah ditulis dalam lingkungan ruangan yang bersih.
sumber
Jika Anda memberikan akses ke revisi menggunakan kode GPL, mereka akan sepenuhnya GPL. Tapi Anda tidak mau, karena itu tidak akan menjadi sumber tertutup ...
Untuk keadaan selanjutnya yang tidak lagi menggunakan kode GPL, bahwa Anda menggunakan kode GPL beberapa waktu sebelumnya sama sekali tidak relevan.
sumber
GPL hanya dipicu pada distribusi ... Anda dapat melakukan apa pun yang Anda inginkan jika Anda tidak merilis versi modifikasi atau karya turunan.
Jika Anda bermaksud mempublikasikan sumber Anda ke repositori publik seperti GitHub , maka ya, Anda mungkin memiliki masalah. Hanya menggunakan git tidak relevan jika bersifat pribadi.
sumber