Bisakah kita menggunakan Java untuk penggunaan komersial?

49

Java adalah lisensi GPL (referensi dari wikipedia). Saya tidak yakin bisa menggunakannya dalam proyek komersial. Saya sudah memiliki situs web yang ditulis dalam Java dan saya berencana untuk menggunakan ini untuk penggunaan komersial. Apakah itu ilegal?

Shisoft
sumber
2
@Sathya Pertanyaan itu adalah tentang menggunakan plugin GPL di aplikasi Java. Pertanyaan ini tampaknya tentang legalitas menggunakan Java itu sendiri.
Adam Lear
6
@Shisoft Mempertimbangkan berapa banyak aplikasi Java komersial di luar sana, saya rasa Anda tidak perlu khawatir. Anda akan melihat setidaknya beberapa tuntutan hukum jika tidak apa-apa.
Adam Lear
Java SE bukan lagi GPL, melainkan BCL. Oracle bebas untuk mengubah lisensi sesuka mereka. (FAQ # 8 oracle.com/technetwork/java/javase/overview/… ). Karena itu, Oracle tidak dapat memperbarui versi Java yang lebih lama yang dirilis di bawah GPL.
snmcdonald
3
@snmcdonald OpenJDK 6 & 7 terus dilisensikan sebagai GPL dengan Classpath Exception. "Sun" JDK 6 dan sebelumnya tidak pernah menjadi GPL. (IANAL)
Tom Hawtin - tackline

Jawaban:

80

Lisensi GPL berlaku untuk sumber Java itu sendiri, bukan untuk aplikasi yang dibuat menggunakan Java. Anda hanya perlu khawatir jika Anda memperluas / memodifikasi bahasa Java itu sendiri dan menjual kembali hasilnya sebagai produk komersial (atau lisensi non-GPL lainnya).

Eran Galperin
sumber
8
Ini adalah keruh terbaik, itulah sebabnya ada GPL dengan Classpath Exception. Kode yang berjalan di JDK terhubung ke perpustakaan Java. Kode yang dikaitkan dengan kode GPL seharusnya GPL (tunduk pada interpretasi yurisdiksi yang relevan). (Saya bukan layer!)
Tom Hawtin - tackline
3
@ Tom - itu disebut pengecualian perpustakaan standar - jika tidak semua kode yang dipanggil ke kernel Linux GPL harus GPL
Martin Beckett
4
@ Tom: itulah sebabnya pengecualian classpath ada, untuk memastikan bahwa kode Java yang dikompilasi (semuanya bergantung pada pustaka standar yang GPL jika Anda mengunduh rilis OpenJDK, bukan jika Anda mengunduh rilis komersial) tidak harus GPL.
jwenting
jawaban ini benar hanya benar karena dirilis di bawah GPL dengan pengecualian classpath dan bukan GPL mentah
ihebiheb
19

OpenJDK dilisensikan di bawah GPL dengan Classpath Exception . Bagian Pengecualian Classpath penting. Ini memungkinkan Anda untuk menggunakan OpenJDK dengan perangkat lunak lisensi apa pun, bukan hanya GPL. Secara khusus, Anda dapat menggunakan OpenJDK dengan perangkat lunak berpemilik.

Chris Jester-Young
sumber
2
@Shisoft "Sun" implementasi Java SE 6 dan sebelumnya dilisensikan di bawah berbagai lisensi, beberapa di antaranya gratis seperti dalam bir, tetapi belum [belum] rasa GPL. OpenJDKs 6 & 7 (6 adalah port terbelakang dari 7), adalah GPLv2 dengan Classpath Exception. Ini dimaksudkan untuk melakukan rilis "Sun" dari JDK7 juga.
Tom Hawtin - tackline
17

Java JDK biner BUKAN GPL, itu adalah BCL. Oracle bebas untuk mengubah lisensi sesuka mereka. ( FAQ # 8 ) Yang mengatakan, Oracle tidak dapat mengingkari versi Java yang lebih lama dirilis di bawah GPL.

Selalu berkonsultasi dengan Lisensi untuk informasi terbaru. Sampai hari ini lisensi menyatakan :

Penggunaan internal / internal: Binari platform Java SE (JDK dan JRE) dilisensikan di bawah Lisensi Kode Biner (BCL) Sun dengan ketentuan tambahan. Untuk sebagian besar pengembang dan pengguna akhir, semua binary JDK dan JRE biner diperlukan untuk mengalami dunia teknologi Java. PENGGUNAAN: JDK dan JRE biner tersedia tanpa biaya dari Sun (sesuai ketentuan BCL) untuk digunakan dengan komputer pribadi desktop. Penggunaan JDK atau JRE untuk perangkat tertanam dan lingkungan komputasi lain mungkin memerlukan biaya lisensi dari Sun. Baca lebih lanjut tentang penggunaan Java SE yang disematkan, atau hubungi kantor Sun setempat untuk mendapatkan lisensi.

Ingatlah bahwa Anda tidak dapat melepaskan Java SE pada perangkat yang disematkan (pikirkan Google Android) sebagaimana dinyatakan oleh FAQ.

Sumber Java SDK tersedia di bawah lisensi SCSL dan JPL.

Kode Sumber: Kode sumber JDK tersedia untuk para peneliti dan orang lain yang tertarik untuk mengeksplorasi rincian JDK. Setiap rilis memiliki lisensi atau serangkaian lisensi sendiri yang sering kali mencakup ketentuan Sun Community Source License (SCSL). Sun baru-baru ini mulai menawarkan akses yang disederhanakan ke kode sumber JDK di bawah Java Research Licence (JRL) baru. Perhatikan bahwa dalam kedua kasus (SCSL atau JRL), jika Anda memutuskan untuk menggunakan proyek Anda secara internal untuk penggunaan produktif atau mendistribusikan produk Anda kepada orang lain, Anda harus menandatangani perjanjian komersial dan memenuhi persyaratan kompatibilitas Java. Hubungi kantor Sun setempat untuk mendapatkan perjanjian.

snmcdonald
sumber
2
-1 Kata-kata Anda menyarankan bahwa unduhan distribusi JDK yang disediakan Sun / Oracle pernah menjadi GPL, tetapi tidak lagi. Ini tidak benar. Mereka tidak pernah GPL. Apa itu, dan yang, dirilis di bawah GPL, adalah OpenJDK , yang berbeda dari rilis JDK komersial. Sebagai pemegang hak cipta OpenJDK, mereka bebas memberikan rilis komersial, non-GPL, turunan dari OpenJDK.
Chris Jester-Young
2
Selain itu, di FAQ OpenJDK : "Oracle JDK didasarkan pada kode sumber OpenJDK. Selain itu, mengandung komponen sumber tertutup. Hasil akhirnya dilisensikan di bawah Lisensi Kode Biner." Sumber tertutup adalah barang dari pihak ketiga yang tidak dapat dilisensikan kembali. Untuk distribusi OpenJDK yang benar-benar bebas dan lengkap, ada IcedTea (yang digunakan oleh sebagian besar distributor GNU / Linux sebagai implementasi utama Java mereka).
Chris Jester-Young
5

Anda membingungkan beberapa hal.

  • GPL adalah lisensi mengenai redistribusi perangkat lunak. Bahkan jika kompiler Java yang Anda gunakan adalah GPL'ed, ini tidak akan mencegah Anda mendistribusikan perangkat lunak Anda sendiri, karena itu berbeda dengan mendistribusikan kembali Java. (Lagipula Java runtime dapat diunduh secara terpisah dari Oracle).
  • GPL tidak kompatibel dengan perangkat lunak komersial. Beberapa jawaban di sini tampaknya membingungkan "berpemilik vs gratis (seperti dalam pidato)" dengan "komersial vs gratis (seperti dalam bir)". Memang benar kehati-hatian tertentu harus diambil ketika menjual perangkat lunak GPL (penjualan tidak dihitung sebagai "redistribusi"), tetapi itu bukan tidak mungkin dilakukan.
  • Implementasi Oracle terhadap Java tidak GPL'ed. Baca lisensinya di sini .
  • Open JDK adalah implementasi GPL , tetapi seperti yang disebutkan di atas, ini tidak membuatnya tidak kompatibel dengan perangkat lunak komersial.
Andres F.
sumber
1

Seperti yang saya tahu, menurut lisensi Java saat ini di bawah BCL (Lisensi Kode Biner Sun), Anda dapat menggunakan JDK dan JRE gratis untuk penggunaan komersial. Gunakan ECLIPSE sebagai IDE Anda sebagai titik masuk untuk mengembangkan kode Java Anda. Ini adalah opensource sehingga Anda tidak perlu lisensi untuk hal yang sama. Ketika Anda mengerjakan proyek, Anda akan membutuhkan banyak alat lain untuk melakukan berbagai hal. Sebagian besar fungsi yang diperlukan diberikan sebagai plugin (dapat diunduh) di gerhana.

Sunny Khanuja
sumber
-1

Setelah pindah ke Java BLC seluruh lisensi penggunaan Java tunduk pada interpretasi yang berarti "hubungi Oracle jika Anda ingin benar-benar yakin".

Itu berarti membayar jika mereka ingin Anda membayar. Seperti halnya BLC, Java dapat digunakan secara bebas untuk "Komputer dan Server Desktop Serba Guna" (seperti dalam http://www.oracle.com/technetwork/java/javase/terms/license/index.html ), yang definisinya mencakup kata-kata "komputasi tujuan umum".

Saya tidak tahu apakah komputasi saya adalah komputasi tujuan umum - apakah Anda yakin itu milik Anda? Oracle juga menambahkan klausa seperti "digunakan untuk fungsi komputasi umum di bawah kendali pengguna akhir".

Periksa dengan departemen hukum Anda.

netpilot
sumber
5
Ini FUD. Saya melihat banyak perusahaan di sekitar saya, termasuk bank besar, menggunakan Java tanpa memikirkan masalah perizinan.
quant_dev
Tanyakan kepada Google apakah itu pernah menyebabkan masalah. Skeptisisme dalam mempercayai Oracle sehubungan dengan interpretasi mereka terhadap hak cipta dijamin $ 9 miliar. Saya harap Anda benar - tetapi saya yakin Google juga berpikiran sama. Oracle baru-baru ini berusaha keras untuk mengubah lisensi, jadi mungkin mereka berharap lisensi itu menghasilkan $$. peringatan caveat
Jeff K
-3

Tidak. Sejauh yang saya ketahui saat ini, GPL hanya membatasi penggunaan kode sumber dari kode atau program yang dilisensikan dengannya (dalam hal ini, program yang menjalankan kode Java). Tetapi itu tidak membatasi kode Java itu sendiri.

Abbafei
sumber
Saya tidak menggunakan kode, hanya perpustakaannya. Bagaimana dengan itu?
Shisoft
1
Jawaban Anda ambigu. Apakah Anda mengatakan "tidak" pada judul "bisakah kita menggunakan java untuk penggunaan komersial", atau apakah Anda mengatakan "tidak" pada bagian terakhir dari pertanyaan "apakah ini ilegal"?
Bryan Oakley
-3

Anda dapat mengkompilasi aplikasi menggunakan gcc, yang merupakan perangkat lunak gratis. Maka Anda dapat melisensikan aplikasi sesuka Anda, tetapi bukan kompiler gcc.

Tamu
sumber
3
Terakhir kali saya memeriksa, gcc tidak mengkompilasi Java.
Dan Pichelman