Saya berencana mengembangkan program yang ingin saya jual nanti. Saya mencoba memutuskan bahasa yang akan dikodekan, dan telah menyempit ke C ++ atau Java.
Saya telah melalui lisensi GPL v2 dan v3 yang digunakan untuk GCC dan OpenJDK GNU (ya, saya bisa mengerti beberapa hal hukum, tapi jelas, tidak semuanya). Tetapi ada satu titik di mana semua orang tidak jelas (ini seharusnya menjadi salah satu hal pertama yang dijawab, IMO): jika saya mengembangkan sebuah program menggunakan C ++ / Java dan mengkompilasinya menggunakan kompiler GCC atau kompiler OpenJDK, dapatkah saya menjualnya tanpa harus untuk menempatkan program saya di bawah GPL juga?
Sejauh yang saya bisa tahu, saya memiliki hak penuh untuk menetapkan lisensi apa pun untuk program saya, tetapi ada satu hal: ada tertulis dalam lisensi bahwa saya tidak boleh menautkan ke perpustakaan yang berada di bawah GPL. Jika demikian, saya harus merilis program saya di bawah GPL.
Sekarang, saya tidak tahu apa yang di C ++ / Java dianggap sebagai perpustakaan, jadi jika saya menggunakan hal-hal normal di C ++ (iostream, daftar, peta, dll.) Atau kelas / antarmuka Java normal yang tersedia sebagai bagian dari JDK standar 6 distribusi (String, Daftar, Peta, dll.), Apakah ini merupakan 'penautan ke perpustakaan'?
Jawaban:
Iya. GPL secara khusus mengecualikan output dari menjalankan program:
yang berarti bahwa jika Anda memasukkan bit GCC atau sesuatu yang lain GPL di program Anda, maka ya itu harus GPL, jika tidak tidak - fakta bahwa kode objeknya diproduksi oleh kompiler GPL tidak relevan dengan apakah harus GPL .
Semua pustaka bahasa standar yang Anda tautkan tidak GPL, atau GPL tetapi memiliki pengecualian khusus untuk memungkinkan perangkat lunak milik Anda untuk ditautkan dengan mereka, jika Anda tidak memodifikasinya . Dalam kasus C ++ yang saya maksud libgcc, glibc dan libstdc ++; dalam kasus Java yang saya maksud adalah semua perpustakaan yang termasuk dalam JRE.
Secara teknis, Anda secara legal dapat menjual perangkat lunak GPL, tetapi hampir tidak ada yang menghasilkan uang dari melakukannya.
sumber
Baik GCC dan OpenJDK memiliki pengecualian eksplisit:
sumber
Itu tidak jelas. Ada pengecualian untuk lisensi yang berlaku di sini. Ini dapat ditemukan dari pertanyaan yang sesuai di FAQ GPL .
Singkatnya, apa yang ingin Anda lakukan diperbolehkan.
sumber
OpenJDK adalah GPL tetapi dengan pengecualian untuk menautkan ke perpustakaan. http://en.wikipedia.org/wiki/OpenJDK
Menggunakan kelas OpenJDK akan merupakan menghubungkan ke perpustakaan yang saya pikir (rt.jar).
Sebuah perpustakaan dalam konteks itu, dari sudut pandang Jawa, jelas merupakan toples ketergantungan, perang, kelas, dll. Pokoknya, saya yakin Anda dapat secara legal menjual aplikasi Java - ada lebih dari beberapa di luar sana yang menggunakan Oracle / Sun belum mengambil tindakan hukum.
sumber
Jangan khawatir, ini adalah pertanyaan pemrograman komputer, atau setidaknya satu yang berkaitan erat dengan programmer.
Dari yang saya tahu, jika Anda membuat perangkat lunak yang terhubung dengan beberapa kode GPL, Anda harus merilis kode sumber Anda jika Anda mendistribusikan program Anda.
Itu tidak berarti bahwa Anda harus merilis kode Anda ke sourceforge yaitu Tetapi jika pihak ketiga meminta Anda untuk kode, Anda harus menyediakannya.
sumber