คอมโพเนนต์ภายนอกและ SBOM
คำตอบโดยย่อ: สคริปต์บิลด์จะสร้างรายการวัสดุซอฟต์แวร์ (CycloneDX 1.5) และรายการสัญญาอนุญาตของคอมโพเนนต์ โมเดลจดจำข้อความ และฟอนต์ รายการที่เผยแพร่ที่นี่เป็นภาพรวมของเวอร์ชันพัฒนา ไม่ใช่ของเวอร์ชันที่เผยแพร่แล้ว และยังมีประเด็นสัญญาอนุญาตบางข้อที่ยังไม่ได้ข้อสรุป
ดาวน์โหลดรายการ
| ไฟล์ | เนื้อหา |
|---|---|
| sbom.cdx.json | รายการวัสดุซอฟต์แวร์ในรูปแบบ CycloneDX 1.5 |
| THIRD_PARTY_COMPONENTS.json | ชื่อ เวอร์ชัน สัญญาอนุญาต และสถานะการตรวจสอบของแต่ละไลบรารี |
| THIRD_PARTY_MODELS.json | SHA-256 แหล่งที่มา และสัญญาอนุญาตของโค้ดและน้ำหนักของแต่ละไฟล์โมเดลที่แจกจ่ายไปกับซอฟต์แวร์ |
| THIRD_PARTY_FONTS.json | ฟอนต์ที่ซอฟต์แวร์แจกจ่ายหรือใช้งาน และแต่ละฟอนต์แจกจ่ายไปกับซอฟต์แวร์หรือไม่ |
ไฟล์เหล่านี้อธิบายอะไร: ไฟล์ถูกสร้างเมื่อวันที่ 14 ตุลาคม 2026 จากเวอร์ชันพัฒนา 2.0.0-dev และไลบรารีที่ตรึงเวอร์ชันไว้ ไม่ใช่รายการของตัวติดตั้งที่เผยแพร่แล้ว เพราะยังไม่มีการเผยแพร่ตัวติดตั้งใด ๆ และไฟล์เหล่านี้สร้างขึ้นก่อนการเปลี่ยนมาใช้เอนจิน pdfr เมื่อวันที่ 20 ตุลาคม 2026 จึงยังมี PyMuPDF อยู่ในรายการ บิลด์สำหรับเผยแพร่จะสร้างรายการของตัวเองบนเครื่องบิลด์ (tools/make_sbom.py --mode release --check) ติดตั้งไปพร้อมโปรแกรมในโฟลเดอร์ licenses และเผยแพร่พร้อมเวอร์ชันนั้น
วิธีสร้างรายการ
สคริปต์บิลด์ tools/make_sbom.py ตรวจนับคอมโพเนนต์ที่ถูกแพ็กจริง คอมโพเนนต์ที่สัญญาอนุญาตไม่อยู่ในรายการที่อนุญาตจะถูกทำเครื่องหมาย “review” และการตรวจก่อนเผยแพร่จะล้มเหลว คอมโพเนนต์ที่ยังไม่ผ่านการตรวจจึงผ่านการตรวจนี้ไม่ได้ ส่วนคอมโพเนนต์ที่ทราบอยู่แล้วว่าสัญญาอนุญาตไม่เหมาะกับการเผยแพร่แบบปิดซอร์สจะถูกทำเครื่องหมาย “exception” ซึ่งจะหยุดการตรวจก่อนเผยแพร่เช่นกัน เว้นแต่ผู้ที่รันบิลด์ยืนยันรับทราบอย่างชัดแจ้ง และการยืนยันนั้นจะถูกบันทึกไว้ในรายการ ทั้งข้อยกเว้นที่ยืนยันแล้วและการผ่านการตรวจไม่ใช่การอนุมัติทางกฎหมาย
คอมโพเนนต์หลักของซอฟต์แวร์เดสก์ท็อป
| หน้าที่ | คอมโพเนนต์ | สัญญาอนุญาต | สถานะ |
|---|---|---|---|
| เรนเดอร์ PDF และข้อความ | pdfr (เอนจิน PDF ที่ผู้พัฒนาสร้างเอง เขียนด้วย Rust) โดยรายการ crate ภายนอกสร้างด้วย tools/make_engine_sbom.py | เอนจินเป็นโค้ดของผู้พัฒนาเอง และมีส่วนประกอบจากภายนอก ได้แก่ Rust crate (สัญญาอนุญาตตามที่แต่ละ crate ระบุ รวมถึง tiny-skia ฉบับที่แก้ไขไว้ในเครื่อง ภายใต้ BSD-3-Clause) และข้อมูลที่คอมไพล์รวมไว้ในไลบรารี ได้แก่ ทรัพยากร CMap และ Adobe Glyph List ของ Adobe (BSD-3-Clause), ข้อมูล ZapfDingbats ซึ่งส่วนการจับคู่ชื่อกลีฟใช้ BSD-3-Clause ส่วนข้อมูลการเข้ารหัสและความกว้างจาก AFM นั้น Adobe อนุญาตให้ใช้ คัดลอก และแจกจ่ายได้ฟรีโดยต้องคงประกาศลิขสิทธิ์ไว้ และโปรไฟล์สี CMYK จาก pdf.js (CC0-1.0) สคริปต์ tools/make_engine_sbom.py ใช้ตรวจนับส่วนเหล่านี้และรวบรวมประกาศ ส่วนความครบถ้วนยังต้องยืนยันด้วยบิลด์สำหรับเผยแพร่ เพราะสคริปต์ยังไม่รวบรวมข้อความสัญญาอนุญาตของ tiny-skia ฉบับที่แก้ไขไว้ และการตรวจก่อนเผยแพร่จะหยุดที่จุดนี้ | เปลี่ยนแล้วเมื่อ 20 ตุลาคม 2026: นำ PyMuPDF (AGPL-3.0 หรือสัญญาอนุญาตเชิงพาณิชย์ของ Artifex) ออกจากผลิตภัณฑ์แล้ว และขั้นตอนบิลด์จะปฏิเสธการแพ็ก PyMuPDF ทั้งนี้ยังต้องยืนยันด้วยบิลด์สำหรับเผยแพร่บน Windows จริงครั้งแรกและรายการคอมโพเนนต์ของบิลด์นั้น จนกว่าจะยืนยัน หน้านี้จะไม่ระบุว่าเวอร์ชันเผยแพร่ไม่มี PyMuPDF |
| การจดจำข้อความ | RapidOCR, ONNX Runtime (CPU), โมเดล PaddleOCR; Tesseract ผ่าน tesserocr | Apache-2.0, MIT | ตรวจสอบแล้ว |
| ประมวลผลภาพ | OpenCV (headless), NumPy, Pillow | Apache-2.0, BSD-3-Clause, MIT-CMU | รอยืนยันบนเครื่องบิลด์: แพ็กเกจ OpenCV สำหรับ Windows มีไลบรารี FFmpeg (LGPL) มาด้วยหรือไม่ การจดจำข้อความไม่ได้ใช้ และหากมีจะถูกตัดออก |
| เขียนโครงสร้าง PDF ใหม่ | pikepdf (รวม qpdf) | MPL-2.0 (Apache-2.0) | ตรวจสอบแล้ว |
| ลากและวาง | tkinterdnd2 และไลบรารีเนทีฟ tkdnd | MIT; tkdnd ใช้สัญญาอนุญาตแบบ BSD | ต้องเพิ่มข้อความสัญญาอนุญาตของ tkdnd ลงในประกาศที่แจกจ่าย |
| รันไทม์ | CPython และ Tcl/Tk แพ็กด้วย PyInstaller | PSF-2.0, TCL; PyInstaller เป็น GPL-2.0 พร้อมข้อยกเว้นสำหรับ bootloader | ตรวจสอบแล้ว |
| ตัวติดตั้ง | Inno Setup 7.1.0 และคำแปล | สัญญาอนุญาต Inno Setup (ผ่อนปรน ต้องคงประกาศลิขสิทธิ์) | รอยืนยันทางออนไลน์: เงื่อนไขปัจจุบันของผู้พัฒนาสำหรับการใช้งานเชิงพาณิชย์ |
ไฟล์ด้านบนบันทึกเพียงคอมโพเนนต์และเวอร์ชันของสแนปช็อตการพัฒนานั้น สำหรับเวอร์ชันที่เผยแพร่ ให้ยึดตามรายการที่เผยแพร่พร้อมเวอร์ชันนั้น หน้านี้รายงานสถานะของประเด็นเหล่านี้เท่านั้น และไม่ได้ประกาศว่าประเด็นใดได้ข้อสรุปแล้ว
ฟอนต์
ฟอนต์ระบบของ Windows ไม่ได้แจกจ่ายไปกับซอฟต์แวร์ ซอฟต์แวร์ใช้เฉพาะฟอนต์ที่ติดตั้งอยู่ในคอมพิวเตอร์ของคุณแล้ว เอนจิน PDF pdfr ไม่ได้แจกจ่ายไฟล์ฟอนต์ใด ๆ ของตัวเอง
เครื่องมือบนเบราว์เซอร์ของเว็บไซต์นี้
เครื่องมือบนเบราว์เซอร์ที่ใช้ฟรีใช้ PDF.js (Apache-2.0), pdf-lib (MIT) และไลบรารีที่เกี่ยวข้อง ซึ่งให้บริการจากเว็บไซต์นี้ ประกาศฉบับเต็มให้บริการจากเว็บไซต์นี้ที่ /vendor/THIRD-PARTY-NOTICES.txt