สำหรับผู้บริโภคที่ Apple ปล่อยเคอร์เนล MacOS เป็นโอเพ่นซอร์สหมายความว่าอย่างไร


17

https://techcrunch.com/2017/10/01/apple-open-sourced-the-kernel-of-ios-and-macos-for-arm-processors/

นี่หมายความว่าเราจะเห็นคอมพิวเตอร์เครื่องอื่น (ซึ่งไม่ได้สร้างขึ้นใน Apple) เรียกใช้ MacOS หรือไม่

ถ้าไม่เช่นนั้นจะเกิดอะไรขึ้น?

จากสิ่งที่ฉันเข้าใจเคอร์เนล Unix ก็ถูกปล่อยออกมาและ Linux ก็ถูกสร้างขึ้น ควรเกิดขึ้นกับเคอร์เนลของ Apple หรือไม่


8
Linux ไม่ได้ขึ้นอยู่กับเคอร์เนล UNIX มันเป็นโครงการอิสระ (แม้ว่าจะพยายามทำซ้ำ API เพื่อให้สอดคล้องกับ POSIX มากกว่าหรือน้อยกว่า)
Ruslan

6
ที่จริงแล้ว MacOS เป็น Unix แต่ Linux ไม่ใช่ Unix (Apple จ่ายเงินให้จริงเพื่อให้ได้การรับรองระบบปฏิบัติการเป็น Unix)
คุมขัง


24
ข่าวที่นี่ไม่ใช่ว่าเคอร์เนลเป็นโอเพ่นซอร์ส; ประโยคแรกของบทความของคุณบอกว่า"Apple ได้แชร์เคอร์เนลของ macOS เสมอหลังจากเปิดตัวครั้งใหญ่แต่ละครั้ง" ข่าวเป็นเพียงว่าพวกเขาได้เปิดตัวเวอร์ชันที่เขียนขึ้นสำหรับ ARM โดยทั่วไปบทความนี้เป็น clickbait และอาจสิ้นสุดหลังจากย่อหน้าแรก
jscs

1
@JoshCaswell นี่ควรเป็นคำตอบโดยเฉพาะอย่างยิ่งเนื่องจากมันไม่จำเป็นต้องมีการอ้างอิงนอกเหนือจากบทความที่เชื่อมโยงในคำถาม
IMSoP

คำตอบ:


34

มันไม่มีความหมายอะไรเลย เคอร์เนล macOS / OS X เป็นโอเพ่นซอร์สเสมอ เคอร์เนลเป็นเพียงส่วนเล็ก ๆ ของระบบปฏิบัติการที่สมบูรณ์ดังนั้นจึงไม่อนุญาตให้ผู้อื่นเผยแพร่ MacOS เวอร์ชันของตนเอง


5
บางคนอาจพยายามสร้างระบบปฏิบัติการของตนเองโดยใช้เคอร์เนล macOS เช่น OpenDarwin / PureDarwin Jusr จำได้ว่าส่วนอื่น ๆ ส่วนใหญ่ที่กำหนดสิ่งที่ทำให้ macOS จะหายไป
el.pescado

3
มีใครที่นี่ประสบความสำเร็จในการสร้าง xnu ที่เหมือนจริงกับสิ่งที่ติดตั้ง? ย้อนกลับไปในวัน Tiger ฉันรวบรวมของตัวเองและเห็นปัญหา จากนั้น Apple ก็บอกว่ามีบางส่วนขาดหายไปโดยเจตนาและเป็นไปไม่ได้ที่จะสร้างเคอร์เนลคุณลักษณะที่สมบูรณ์จากสิ่งที่เผยแพร่ (เมื่อ) สิ่งนี้มีการเปลี่ยนแปลงหรือไม่
LаngLаngС

2
@LangLangC ไม่เคอร์เนลของดาร์วินยังคงไม่สมบูรณ์ ณ วันนี้ สิ่งที่พวกเขาได้เปิดตัวในวันนี้เป็นเพียงส่วนประกอบที่วางจำหน่ายแล้ว แต่ด้วยการเปลี่ยนแปลงเล็กน้อยสำหรับโปรเซสเซอร์ ARM ที่ใช้ใน iOS และ tvOS
Adam Davis

34

ชี้แจง:

Apple ได้ปล่อยเคอร์เนลของ MacOS ในรูปแบบโอเพ่นซอร์สเสมอ เคอร์เนลชื่อดาร์วิน ดาร์วินมีเป้าหมายเป็น x86 มันสามารถนำไปใช้กับโปรเซสเซอร์อื่น ๆ ได้ แต่ตัวแปรโอเพ่นซอร์สของดาร์วินที่ Apple ควบคุมและเผยแพร่นั้นมีให้สำหรับ x86 เท่านั้น

อย่างไรก็ตาม iOS ซึ่งใช้โปรเซสเซอร์ ARM ได้ใช้ดาร์วินมาตั้งแต่เริ่มก่อตั้ง Apple ไม่เคยปล่อยพอร์ต ARM ของดาร์วินถึงแม้ว่าพวกเขาจะมีหนึ่งเพราะพวกเขาใช้มันในอุปกรณ์ iOS หลายล้านแล้วในมือของผู้บริโภค

การประกาศครั้งนี้คือตอนนี้ Apple กำลังปล่อยชิ้นส่วน ARM ของดาร์วินที่พวกเขาเคยระงับไว้ก่อนหน้านี้

ดาร์วินเป็นเพียงเคอร์เนล แต่ไม่รวมถึงสิ่งที่ทำให้ MacOS หรือ iOS ทำงานได้ตามที่ผู้บริโภคคาดหวัง เคอร์เนลไม่ใช่ระบบปฏิบัติการที่สมบูรณ์

เพิ่มเติมดาร์วินไม่ได้เป็นเคอร์เนลที่สมบูรณ์ แอปเปิ้ลไม่ปล่อยหลายส่วนของมัน

สำหรับผู้บริโภคที่ Apple ปล่อยเคอร์เนล MacOS เป็นโอเพ่นซอร์สหมายความว่าอย่างไร

ไม่มากตอนแรก มันจะไม่ส่งผลกระทบต่อความพร้อมใช้งานของฮาร์ดแวร์หรือซอฟต์แวร์การอัปเกรดและอาจไม่ส่งผลกระทบอย่างมีนัยสำคัญต่อการแหกคุกหรือการใช้งานอื่นของอุปกรณ์ Apple

นี่หมายความว่าเราจะเห็นคอมพิวเตอร์เครื่องอื่น (ซึ่งไม่ได้สร้างขึ้นใน Apple) เรียกใช้ MacOS หรือไม่

ไม่ส่งผลกระทบต่อความพร้อมใช้งานของอุปกรณ์ฮาร์ดแวร์ที่ไม่ใช่ Apple ที่ใช้งานซอฟต์แวร์ Apple หรือระบบปฏิบัติการ สิ่งที่มีอยู่แล้วจะไม่สามารถใช้งานได้ไม่มากก็น้อยหรือถูกกฎหมายมากขึ้น

ถ้าไม่เช่นนั้นจะเกิดอะไรขึ้น?

คำอธิบายที่เป็นไปได้มากที่สุดและผู้บริโภคจะได้ประโยชน์อย่างไรมาจากโค้ดรุ่นก่อนหน้านี้ที่ Apple มักจะยึดติดไว้กับหน้าอก " Apple ยืนยันรหัสเคอร์เนล iOS ที่ยังไม่ได้เข้ารหัสโดยเจตนา " ซึ่งแนะนำ

Apple เริ่มเปลี่ยนไปสู่ความโปร่งใสที่มากขึ้นโดยเฉพาะในเรื่องความปลอดภัยหลังจากการต่อสู้กับ FBI ในการปลดล็อค iPhone ที่ใช้โดยปืน San Bernardino เมื่อ FBI พยายามบังคับให้ Apple ปลดล็อกโทรศัพท์ CEO Tim Cook ได้เขียนจดหมายเปิดผนึกที่หายากให้กับลูกค้าของ Apple อธิบายการตัดสินใจของเขาที่จะต่อต้าน “ เรารู้สึกว่าเราต้องพูดในสิ่งที่เราเห็นว่าเป็นเรื่องที่รัฐบาลสหรัฐฯออกมาประกาศ” Cook เขียน (ในที่สุดเอฟบีไอปฏิเสธคำขอหลังจากจ่ายให้บุคคลที่สามเพื่อบุกเข้าไปในอุปกรณ์)

การเปิดรหัสของเคอร์เนลสำหรับการตรวจสอบอาจทำให้ตลาดอ่อนแอลงสำหรับข้อบกพร่องด้านความปลอดภัยเช่นเดียวกับที่ FBI คาดการณ์ว่าจะเคยเข้าสู่ iPhone San Bernardino หากมีการเปิดเผยข้อบกพร่องอย่างรวดเร็วและทั่วถึงก็จะลดการบังคับใช้กฎหมายด้านราคาและตลาดมืดจะจ่ายให้กับพวกเขา - และอาจหมายถึงการแก้ไขที่รวดเร็วยิ่งขึ้นสำหรับลูกค้าของ Apple

ดังนั้นผู้บริโภคจะได้รับประโยชน์มากขึ้นโดยเฉพาะนักวิจัยด้านความปลอดภัยซึ่งคาดว่าจะนำไปสู่จุดอ่อนด้านความปลอดภัยทำให้แอปเปิ้ลสามารถปรับปรุงความปลอดภัยให้กับลูกค้ามากกว่าที่จะค้นพบความปลอดภัยเมื่อรัฐบาลหรือ บุคคลที่สามสามารถสละสิทธิ์ของผู้อื่นได้โดยไม่ต้องดำเนินการใด ๆ

ไม่ว่าสิ่งนี้จะมีผลในเชิงบวกหรือไม่นั้นขึ้นอยู่กับนักวิจัยอาสาที่จะใช้รหัสนี้

จากสิ่งที่ฉันเข้าใจเคอร์เนล Unix ก็ถูกปล่อยออกมาและ Linux ก็ถูกสร้างขึ้น ควรเกิดขึ้นกับเคอร์เนลของ Apple หรือไม่

Apple เริ่มต้นด้วยรหัส BSD ดั้งเดิมซึ่งใช้ใบอนุญาต BSD ไม่ต้องการให้ บริษัท หรือบุคคลปล่อยการเปลี่ยนแปลงรหัสไปยังบุคคลที่พวกเขาแจกจ่ายซอฟต์แวร์ที่คอมไพล์ให้ อันที่จริงพวกเขาเลือกสิ่งนี้ผ่านเคอร์เนลลินุกซ์โดยเฉพาะเพื่อให้พวกเขาสามารถเก็บเป็นความลับทรัพย์สินทางปัญญา (แน่นอนด้วยเหตุผลอื่น ๆ อีกมากมาย)

ดังนั้นพวกเขาจึงไม่มีข้อผูกมัดทางกฎหมายในการปล่อยรหัสทั้งหมด ซอฟต์แวร์บางตัวที่ใช้มีสิทธิ์ใช้งานอื่นเช่น GPL ซึ่งต้องการให้เปิดไว้ สิ่งเหล่านี้ส่วนมากพร้อมใช้งานจาก Apple ในขณะนี้

อย่างไรก็ตามสิ่งนี้ยังชี้ให้เห็นถึงความเป็นไปได้อื่น ๆ : เคอร์เนลหลายตัวถูกปล่อยออกมาเพื่อให้นักพัฒนาสามารถพัฒนาฮาร์ดแวร์ MacOS และซอฟต์แวร์พิเศษ สิ่งนี้ลึกเข้าไปในระบบมากกว่าที่นักพัฒนาแอปได้รับอนุญาตให้เข้าถึงสำหรับอุปกรณ์ iOS

จากนั้นการเปิดตัวครั้งนี้แสดงให้เห็นถึงความเป็นไปได้ที่แข็งแกร่งหนึ่งหรือสองอย่าง (และนี่เป็นการคาดเดาที่สมบูรณ์):

  1. Apple กำลังเตรียมที่จะวางจำหน่ายคอมพิวเตอร์ MacOS โดยใช้โปรเซสเซอร์ ARM ซีรีย์ A
  2. Apple กำลังเตรียมที่จะอนุญาตให้นักพัฒนาสร้างซอฟต์แวร์ระดับลึกสำหรับอุปกรณ์ iOS

ฉันว่าคอมพิวเตอร์ MacOS ที่ใช้โปรเซสเซอร์ ARM น่าจะเป็นชิป A11 ล่าสุดที่ใช้ใน iPhone 8 และ X เต้น Intel ชิป i5 ล่าสุดที่ใช้ในปี 2017 Macbook 13 "แอปเปิ้ลยังคงมีวิธีที่จะไปก่อน พวกเขาสามารถแทนที่โปรเซสเซอร์ Intel ได้ตลอดทั้งบรรทัดอย่างไรก็ตามเราอาจเห็นคอมพิวเตอร์ MacOS ระดับต่ำสุดในปีหรือสองปีด้วยชิป A12 หรือ A13 แทนที่ชิป Intel ที่ใช้ก่อนหน้านี้

สิ่งนี้จะให้ประโยชน์ที่สำคัญกับแอปเปิ้ล

อย่างไรก็ตามหากไม่มีแถลงการณ์อย่างเป็นทางการก็ไม่มีทางที่จะรู้ได้ว่าสาเหตุใดที่แอปเปิลมีต่อการปล่อยส่วนแขนของดาร์วินเคอร์เนลโอเพ่นซอร์สส่วนใหญ่

ผู้บริโภคจะได้รับผลกระทบน้อยมากหากเลยและโดยอ้อมเท่านั้น


คอมพิวเตอร์ macOS ระดับต่ำอย่าง Mac mini อาจจะเป็นอย่างไร :-)
nohillside

1
@patrix ฉันรู้ว่าผู้คนจำนวนมากกำลังรอคอยคนใหม่!
Adam Davis

คำตอบที่ดีที่สุดได้อย่างง่ายดาย; ขอบคุณสำหรับการอธิบายอย่างชัดเจน!
Wildcard

1
ถ้าเพียงคะแนน Geekbench จริง ๆ แล้วส่อให้เห็นถึงบางสิ่งบางอย่างเกี่ยวกับประสิทธิภาพของโลกแห่งความเป็นจริง… ;-)
Cody Grey

คำตอบที่น่าอัศจรรย์มาก ขอบคุณสำหรับการแบ่งปันความรู้ของคุณ
DrWongKC

18

หนึ่งผลกระทบที่สำคัญได้รับในด้านความปลอดภัยซอฟต์แวร์ เคอร์เนล iOS ยังไม่ได้เปิดแหล่งที่มาก่อนหน้านี้: แหล่งสาธารณะก่อนหน้านี้ครอบคลุมเฉพาะแพลตฟอร์ม x86 / x64 โดยไม่ต้องมีส่วน ARM / ARM64 ใด ๆ ที่ทำงานบน iOS เคอร์เนลยังถูกเข้ารหัสก่อนหน้านี้ในเฟิร์มแวร์ iOS และมีความยุ่งยากมากในการแยกทำให้ก่อนหน้านี้ยากมากที่จะทำการประเมินความปลอดภัยของเคอร์เนล iOS ซึ่งเป็น“ ความปลอดภัยจากความคลุมเครือ”

ด้วยการเปิดเคอร์เนลและปล่อยให้เคอร์เนลที่ไม่ได้เข้ารหัสทำให้เคอร์เนล iOS สามารถวิเคราะห์และตรวจสอบช่องโหว่ความปลอดภัยได้อย่างอิสระมากขึ้น ( https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/ ) นี่จะเป็นขั้นตอนในเชิงบวกสำหรับความปลอดภัยของเคอร์เนลโดยทั่วไปเพราะหมายความว่าการวิจัยความไม่มั่นคงของเคอร์เนล iOS จะเปิดให้กับนักวิจัยทั่วไปที่อาจเปิดเผยปัญหากับ Apple มากกว่า จำกัด เฉพาะนักแสดงที่ได้รับทุนจากรัฐ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.