ตามบล็อกของOracle , Oracle JDK Release สำหรับ Java 11 และใหม่กว่า
เริ่มต้นด้วย Java 11, Oracle จะให้บริการ JDK ภายใต้สัญญาอนุญาตสาธารณะทั่วไปของ open source GNU v2 พร้อมด้วย Classpath Exception (GPLv2 + CPE)และภายใต้สัญญาอนุญาตเชิงพาณิชย์สำหรับผู้ที่ใช้ Oracle JDK เป็นส่วนหนึ่งของผลิตภัณฑ์หรือบริการของ Oracle หรือผู้ที่ไม่ต้องการใช้ซอฟต์แวร์โอเพ่นซอร์ส การรวมกันของการใช้ใบอนุญาตโอเพนซอร์ซและใบอนุญาตการค้านี้แทนใบอนุญาต“ BCL ” อันเก่าแก่ซึ่งมีการผสมผสานระหว่างข้อกำหนดเชิงพาณิชย์ทั้งแบบฟรีและมีค่าใช้จ่าย
บิวด์ที่แตกต่างกันจะมีให้สำหรับแต่ละสิทธิการใช้งาน แต่บิลด์เหล่านี้มีหน้าที่เหมือนกันนอกเหนือจากความแตกต่างเครื่องสำอางและบรรจุภัณฑ์
จาก BCL ไปยัง GPL
ใบอนุญาต Binary รหัสสำหรับเทคโนโลยีของ Oracle Java SE (“BCL”)ได้รับใบอนุญาตหลักสำหรับเทคโนโลยีของ Oracle Java SE สำหรับดีกว่าทศวรรษที่ผ่านมา BCL อนุญาตให้ใช้โดยไม่มีค่าธรรมเนียมใบอนุญาตภายใต้เงื่อนไขบางประการ เพื่อลดความซับซ้อนของสิ่งต่าง ๆ ออราเคิลเริ่มให้โอเพ่นซอร์สลิขสิทธิ์ OpenJDK บิลด์ของ Java 9 โดยใช้โมเดลลิขสิทธิ์แบบเดียวกับแพลตฟอร์ม Linux หากคุณกำลังใช้ในการรับไบนารีของ Oracle Java SE ฟรีคุณก็ยังคงสามารถทำเช่นนั้นกับของออราเคิล OpenJDK สร้างที่มีอยู่ในjdk.java.net หากคุณคุ้นเคยกับการรับ Oracle Java SE ไบนารีเป็นส่วนหนึ่งของผลิตภัณฑ์เชิงพาณิชย์หรือบริการจาก Oracle คุณสามารถดำเนินการเผยแพร่ Oracle JDK ผ่านMy Oracle Support (MOS) และตำแหน่งอื่น ๆ
ทำหน้าที่เหมือนกันและเปลี่ยนได้ ...
Oracle JDK ที่ได้รับอนุญาต BCL ของออราเคิลในอดีตมี“ คุณสมบัติเชิงพาณิชย์” ที่ไม่สามารถใช้งานได้ใน OpenJDK builds อย่างไรก็ตามในปีที่ผ่านมาออราเคิลได้ให้การสนับสนุนคุณสมบัติเหล่านี้แก่ชุมชน OpenJDK ตามที่สัญญาไว้รวมถึง:
จาก Java 11 ไปข้างหน้า Oracle JDK builds และOpenJDK buildsจะเหมือนกันโดยพื้นฐาน
... ยังมีความแตกต่างของเครื่องสำอางและบรรจุภัณฑ์
ยังคงมีความแตกต่างอยู่เล็กน้อยความตั้งใจและความงามและบางอย่างก็เพราะเวลามากขึ้นที่จะพูดคุยกับผู้สนับสนุนของ OpenJDK
- Oracle JDK 11 ส่งเสียงเตือนเมื่อใช้ตัวเลือก -XX: + UnlockCommercialFeatures ในขณะที่ OpenJDK สร้างตัวเลือกนี้จะทำให้เกิดข้อผิดพลาด ตัวเลือกนี้ไม่เคยเป็นส่วนหนึ่งของ OpenJDK และจะไม่เหมาะสมที่จะเพิ่มในตอนนี้เนื่องจากไม่มีคุณสมบัติเชิงพาณิชย์ใน OpenJDK ความแตกต่างนี้ยังคงอยู่เพื่อให้ง่ายขึ้นสำหรับผู้ใช้ Oracle JDK 10 และรุ่นก่อนหน้าเพื่อโยกย้ายไปยัง Oracle JDK 11 และใหม่กว่า
- สามารถกำหนดค่า Oracle JDK 11 เพื่อให้ข้อมูลบันทึกการใช้งานกับเครื่องมือ“ Advanced Management Console ” ซึ่งเป็นผลิตภัณฑ์ Oracle เชิงพาณิชย์แยกต่างหาก เราจะทำงานร่วมกับผู้มีส่วนร่วม OpenJDK รายอื่นเพื่อหารือเกี่ยวกับวิธีการใช้ข้อมูลดังกล่าวอาจเป็นประโยชน์ใน OpenJDK ในอนาคตได้อย่างไร ความแตกต่างนี้ยังคงเป็นหลักเพื่อให้ประสบการณ์ที่สอดคล้องกับลูกค้า Oracle จนกว่าจะทำการตัดสินใจ
- คำสั่ง javac --release จะทำงานแตกต่างกันสำหรับเป้าหมาย Java 9 และ Java 10 เนื่องจากในรีลีสนั้น Oracle JDK มีโมดูลเพิ่มเติมบางอย่างที่ไม่ได้เป็นส่วนหนึ่งของการเผยแพร่ OpenJDK ที่เกี่ยวข้อง:
- javafx.base
- javafx.controls
- javafx.fxml
- javafx.graphics
- javafx.media
- javafx.web
- java.jnlp
- jdk.jfr
- jdk.management.cmm
- jdk.management.jfr
- jdk.management.resource
- jdk.packager.services
- jdk.snmp
ความแตกต่างนี้ยังคงเพื่อมอบประสบการณ์ที่สอดคล้องสำหรับการใช้งานแบบเฉพาะ ขณะนี้โมดูลเหล่านี้มีให้แยกต่างหากเป็นส่วนหนึ่งของOpenJFXขณะนี้มีทั้งใน OpenJDK และ Oracle JDK เพราะเป็นคุณสมบัติเชิงพาณิชย์ที่ Oracle สนับสนุน OpenJDK (เช่น Flight Recorder) หรือถูกลบออกจาก Oracle JDK 11 (เช่น JNLP) .
- เอาต์พุตของคำสั่ง java --version และ java -fullversion จะแยกแยะ Oracle JDK บิลด์จาก OpenJDK บิลด์เพื่อให้ทีมสนับสนุนสามารถวิเคราะห์ปัญหาที่อาจเกิดขึ้นได้ โดยเฉพาะการรัน java --version ด้วย Oracle JDK 11 บิลด์ผลลัพธ์ใน:
java 11 2018-09-25
สภาพแวดล้อมรันไทม์ Java (TM) SE 18.9 (รุ่น 11 + 28)
เซิร์ฟเวอร์ Java HotSpot (TM) 64- บิต VM 18.9 (สร้าง 11 + 28, โหมดผสม)
และสำหรับบิวด์ OpenJDK 11:
openjdk รุ่น "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (รุ่น 11 + 28)
เซิร์ฟเวอร์ OpenJDK 64- บิต VM 18.9 (สร้าง 11 + 28, โหมดผสม)
- Oracle JDK นั้นต้องการผู้ให้บริการการเข้ารหัสบุคคลที่สามเสมอที่จะลงนามโดยใบรับรองที่รู้จัก เฟรมเวิร์กการเข้ารหัสใน OpenJDK มีอินเทอร์เฟซการเข้ารหัสแบบเปิดหมายความว่ามันจะไม่ จำกัด ผู้ให้บริการที่สามารถใช้ได้ Oracle JDK 11 จะยังคงต้องการลายเซ็นที่ถูกต้องและ Oracle OpenJDK บิลด์จะยังคงอนุญาตให้ใช้ลายเซ็นที่ถูกต้องหรือผู้ให้บริการเข้ารหัสลับของบุคคลที่สามที่ไม่ได้ลงชื่อ
- Oracle JDK 11 จะยังคงรวมตัวติดตั้งการสร้างแบรนด์และบรรจุภัณฑ์ JRE สำหรับประสบการณ์ที่สอดคล้องกับการใช้เดสก์ท็อปรุ่นเก่า ขณะนี้ Oracle OpenJDK builds พร้อมใช้งานในรูปแบบไฟล์ zip และ tar.gz ขณะที่กำลังพิจารณารูปแบบการแจกจ่ายอื่น