ravynOS ระบบปฏิบัติการใหม่ที่มอบความเข้ากันได้บางส่วนกับ macOS
(github.com/ravynsoft)- ravynOS เป็น ระบบปฏิบัติการโอเพนซอร์ส ที่มอบประสบการณ์ใช้งานคล้าย macOS และมี ความเข้ากันได้ในระดับซอร์สโค้ด บางส่วน
- พัฒนาบนพื้นฐานของ FreeBSD โดยผสานแพ็กเกจโอเพนซอร์สที่มีอยู่กับโค้ดใหม่ และตั้งเป้ารองรับทั้งระบบ x86-64 และ ARM ในอนาคต
- เป้าหมายการออกแบบหลักคือ คอมไพล์และรันซอร์สของแอปพลิเคชัน macOS ได้, มี โครงสร้าง GUI ที่คล้ายกัน, และ เข้ากันได้กับเลย์เอาต์โฟลเดอร์
- รองรับโครงสร้างแอปแบบ ไม่ต้องติดตั้ง ในรูปแบบ App Bundle, AppDir, AppImage และมี ความเข้ากันได้กับไบนารีของ FreeBSD/Linux
- ให้ความสำคัญกับ ความปลอดภัย·ความเสถียร·ประสิทธิภาพ และเป็นความพยายามในการสร้างสภาพแวดล้อมที่คุ้นเคยสำหรับผู้ใช้ macOS ในรูปแบบโอเพนซอร์ส
ภาพรวมของ ravynOS
- ravynOS คือ โปรเจกต์ระบบปฏิบัติการโอเพนซอร์สใหม่ ที่มอบประสบการณ์คล้าย macOS และคงความเข้ากันได้บางส่วนเอาไว้
- รองรับระบบ x86-64 ก่อนเป็นลำดับแรก และมีแผนขยายไปยัง สถาปัตยกรรม ARM ในอนาคต
- ใช้ FreeBSD เป็นฐาน และประกอบขึ้นจากแพ็กเกจโอเพนซอร์สที่มีอยู่ร่วมกับโค้ดใหม่
- เป้าหมายการออกแบบหลักคือการทำให้ ซอร์สของแอปพลิเคชัน macOS เข้ากันได้
- ผู้ใช้สามารถ คอมไพล์แล้วรัน แอปพลิเคชันสำหรับ macOS บน ravynOS ได้
- มอบ GUI และ UX ที่คล้าย macOS: ตัวจัดการไฟล์, ตัวเรียกใช้งานแอปพลิเคชัน, แถบเมนูด้านบน เป็นต้น
- รักษา ความเข้ากันได้ของโครงสร้างโฟลเดอร์และระบบไฟล์
- รองรับโครงสร้างไดเรกทอรีแบบ macOS เช่น
/Library,/System,/Users,/Volumes - มีการกล่าวถึงความเป็นไปได้ในการเข้ากันได้กับระบบไฟล์ HFS+ และ APFS
- รวมถึงการรองรับ ZFS แบบสมบูรณ์
- รองรับโครงสร้างไดเรกทอรีแบบ macOS เช่น
- โครงสร้างการแจกจ่ายแอปพลิเคชัน
- มอบ สภาพแวดล้อมการรันแบบไม่ต้องติดตั้ง ผ่านรูปแบบ App Bundle, AppDir, AppImage
- สามารถจัดการแอปแบบสแตนด์อโลนภายในไดเรกทอรี
/Applicationsได้
- คง ความเข้ากันได้กับ FreeBSD และ Linux
- รักษาความเข้ากันได้กับระบบพื้นฐานของ FreeBSD และ สภาพแวดล้อม X11
- สามารถ รันไบนารี Linux ได้ ผ่าน Linux compatibility layer ของ FreeBSD
- ระยะยาวมีเป้าหมายรองรับ ไบนารีและไลบรารีแบบ Mach-O ของ macOS
- โปรเจกต์นี้มุ่งสู่ ประสบการณ์ผู้ใช้ที่เสถียร ปลอดภัย และมีประสิทธิภาพสูง
- ข้อมูลที่เกี่ยวข้องมีให้บนเว็บไซต์ทางการ ravynos.com
- สามารถดูรายละเอียดเพิ่มเติมได้ผ่านหน้า release notes, screenshots, และ FAQ
การมีส่วนร่วมและชุมชน
- ผู้ที่ต้องการมีส่วนร่วมในการพัฒนาสามารถดูโปรเจกต์ที่กำลังดำเนินอยู่และส่วนที่ต้องการความช่วยเหลือได้ใน CONTRIBUTING.md
- มีช่องทางชุมชนทั้ง Discord server และ Matrix channel (#ravynOS-general:matrix.org)
เรารัก macOS แต่เราไม่ชอบฮาร์ดแวร์และระบบนิเวศที่ปิดตัวลงมากขึ้นเรื่อย ๆ ดังนั้นเราจึงกำลังพัฒนา ravynOS ซึ่งเป็น OS ที่มอบทั้งประสิทธิภาพอันยอดเยี่ยมของ macOS และอิสรภาพของโอเพนซอร์สไปพร้อมกัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
Wine ใช้งานได้ก็เพราะ Microsoft ทุ่ม งบประมาณมหาศาล เพื่อรักษาความเข้ากันได้ย้อนหลัง
ในทางกลับกัน Apple มักเลิกใช้เฟรมเวิร์กเก่าและเพิ่มของใหม่อยู่บ่อย ๆ ทำให้เป้าหมายการบิลด์กลายเป็น เป้าที่เคลื่อนไหวตลอดเวลา
ตัวอย่างเช่น ถ้าจะลงมืออิมพลีเมนต์ XyzKit เองซึ่งใช้เฉพาะใน macOS 12~14 ก็จะรองรับได้แค่ไบนารีของช่วงนั้น และสุดท้ายก็ครอบคลุมได้เพียงช่วงเวลาจำกัด
หลังยุค Satya แล้ว Microsoft มีจุดยืนอีกแบบกับ WinRT และ API Win32/COM รุ่นใหม่
และ .NET Framework ตอนนี้ก็กลายเป็นเหมือน Python 2 ของฝั่ง .NET ไปแล้ว จนยังมีคนเริ่มโปรเจกต์ใหม่บนเวอร์ชัน 4.8.x เพราะปัญหาความเข้ากันได้ที่แตกหัก
เช่น ตั้งเป้าความเข้ากันได้ระดับไบนารีของ Snow Leopard หรือทำดิสโทรที่เข้ากับแอป Ventura ได้แต่ตัด ภาระส่วนเกิน พวกนั้นออกไป
แบบนี้ก็อาจช่วยยืดอายุ Mac รุ่นเก่า หรือมอบสภาพแวดล้อมแบบ macOS บน PC โดยไม่ต้องทำ Hackintosh
แต่การเลิกซัพพอร์ต 32 บิต, การยกเลิก OpenGL, และการเปลี่ยนไป ARM64 ก็เป็น จุดตัดสำคัญ จริง
ถึงอย่างนั้นด้วยแมโคร
availabilityของ Swift และ Objective-C ทำให้ ความเข้ากันได้ล่วงหน้า ระหว่างเวอร์ชันยังรักษาไว้ได้ค่อนข้างดีติดตามโปรเจกต์นี้มาหลายปีแล้ว
ถ้ามี โคลน FOSS ของ macOS แบบเดียวกับ FreeDOS, ReactOS, หรือ Haiku ก็คงเจ๋งมาก
แต่ความคืบหน้าค่อนข้างช้า ซึ่งก็เพราะการทำซ้ำระบบปฏิบัติการนั้นยากมาก
Linux เองก็โตได้เร็วเพราะมีอีโคซิสเต็ม GNU อยู่ก่อนแล้ว
หวังว่าอีก 5~10 ปี โปรเจกต์อย่าง ravynOS หรือ HelloSystem จะตั้งหลักเป็นเวอร์ชันซอฟต์แวร์เสรีของ macOS ได้
ถ้า AI เพิ่มผลิตภาพวิศวกรได้ 10 เท่าจริง โปรเจกต์พวกนี้ก็ควรใช้งานได้จริงเร็วขึ้น
ถ้าไม่เป็นแบบนั้น การเพิ่มผลิตภาพจาก AI ก็คงยังอยู่ในระดับ ผิวเผิน เท่านั้น
พอเห็นคำอธิบายว่าเป็น “BSD-based OS aiming for source and binary compatibility with macOS” ก็ชวนให้สงสัย
ว่าทำไมต้องพยายามโคลน macOS ด้วย หรือทำไมไม่เลือกเป็น เลเยอร์ความเข้ากันได้ แบบ Wine แทนที่จะเป็น OS เต็มรูปแบบ
รู้สึกว่าเอาพลังไปใช้ปรับปรุง Linux น่าจะดีกว่าไหม
โปรเจกต์ที่เทียบได้กับ Wine คือ Darling ส่วน ravynOS มีแนวคิดใกล้กับ ReactOS
มีการใส่ Mach messaging ไว้ในเคอร์เนลเพื่อเพิ่มประสิทธิภาพ และเลือกใช้ เคอร์เนล FreeBSD เพื่อให้ได้ความเข้ากันได้กับฮาร์ดแวร์
ยังมีการแชร์โค้ดกับ GNUstep, helloSystem และโครงการอื่น ๆ ด้วย
ด้านไลเซนส์พวกเขาชอบแนว BSD/MIT/Apache แต่ตอนนี้ยังใช้รันไทม์
libobjc2ของ GNUstep อยู่ปรัชญาบน เว็บไซต์ทางการ คือ “ความประณีตแบบ macOS + เสรีภาพแบบ FreeBSD”
มันดูเป็นทางเลือกสำหรับ แฟน macOS ที่ผิดหวังกับนโยบายฮาร์ดแวร์แบบปิดของ Apple
และเพราะมันใช้ฐาน FreeBSD จึงมีโครงสร้างคล้าย Darwin ของ macOS ทำให้พอร์ตได้ง่ายกว่า
อย่างเช่นพ่อแม่ของฉันยังต้องใช้ Intel Mac รุ่นเก่าอยู่เพราะแอป 32 บิต
ถ้า Rosetta 2 หายไป ปัญหาแบบนี้ก็คงหนักขึ้นอีก
ที่ทำงานใหม่ให้ใช้ MacBook แต่ฉันรู้สึกว่า Linux ที่ใช้ KDE Plasma ดีกว่าเยอะ
ทั้ง UX, อิสระในการตั้งค่า, และความสมบูรณ์ของแอปพื้นฐาน ล้วนดีกว่า Mac
ไม่เข้าใจจริง ๆ ว่าบริษัทใหญ่ขนาดนี้ทำคุณภาพออกมาได้แบบนี้ได้อย่างไร
ภาพสกรีนช็อตเล็ก ๆ ดูถ่ายทอด สุนทรียะแบบ macOS ได้ดี เลยดูน่าสนใจมาก
ปกติ UI ของ Linux มักให้ความรู้สึกเหมือนรีบทำ แต่ถ้าเป็นดีไซน์แบบนี้ก็ทำให้อยากกลับไปลองใช้อีกครั้ง
ฟอนต์ การทำ anti-aliasing รัศมีมุมของเมนู และรายละเอียดเล็ก ๆ ดูแปลก ๆ
สกรีนช็อตทางการ ยังดูหยาบอยู่
อยากให้โปรเจกต์นี้พัฒนาไปเป็นเครื่อง build ของ macOS หรือใช้เป็นเซิร์ฟเวอร์ได้
ช่วงหลัง macOS ใช้งานใน สภาพแวดล้อมแบบ headless ยากขึ้นมากเพราะเสริมความปลอดภัย
หวังว่าจะกลายเป็น เซิร์ฟเวอร์ OS แบบโอเพนซอร์ส ที่รองรับ Xcode CLI ได้ครบถ้วน โดยอาศัยความเข้ากันได้กับฮาร์ดแวร์ของ FreeBSD
กำลังคิดว่า Linux จะมาแทน macOS ได้ไหม
สิ่งที่ผู้ใช้ macOS ชอบคือ UI พื้นฐาน ซึ่ง GNOME และ KDE ยังอ่อนในจุดนั้น
แม้แต่มุมโค้งยังไม่สม่ำเสมอ และแอปส่วนใหญ่ก็เป็น Electron ทำให้ความสอดคล้องพัง
ช่องว่างระหว่างมันกับ Linux ก็กำลังแคบลงเรื่อย ๆ
ฉันย้ายจาก Windows 7 มา Linux และเพราะคุ้นกับการใช้แอปโอเพนซอร์สอยู่แล้ว การเปลี่ยนผ่านเลยง่ายมาก
ใช้ FreeCAD, KiCAD, LibreOffice, Firefox, Krita, Gimp ก็พอใจดี
สงสัยว่าทำไมโปรเจกต์ OS ใหม่ ๆ ถึงยังเป็นแค่ การเอาเทคโนโลยียุค 60~70 กลับมาอุ่นใหม่ ทั้งหมด
ถ้าดู วิกิของ Midori กับ บล็อกของ Joe Duffy มันคือ OS แบบขนานที่สร้างบน managed code
แค่รองรับฮาร์ดแวร์ยุค 90~00 ก็ทรมานแล้ว ส่วน GPU สมัยใหม่หรือ ACPI นั้นเหมือนฝันร้าย
โค้ด 80~90% เต็มไปด้วยไดรเวอร์ และเอกสารก็มีมหาศาล
การพัฒนา OS เป็นหนึ่งใน โจทย์วิศวกรรมที่ยากที่สุด พอ ๆ กับการสร้างคอมไพเลอร์
เทคโนโลยียุค 70 อย่าง Smalltalk, Interlisp-D, Mesa, Cedar กลับแทบไม่มีใครทำซ้ำ
ฉันอยากตีความใหม่แบบสมัยใหม่ให้กับ Smalltalk-80 และ Lisp machine ในเรื่อง address space เดียวและสภาพแวดล้อมที่แก้ไขได้แบบเรียลไทม์
มองว่าปัญหาความปลอดภัยแก้ได้ด้วย ความปลอดภัยแบบ capability-based และการปกป้อง address space เดียว
ให้แต่ละ subsystem ถูกอธิบายด้วย DSL และให้อินเทอร์เฟซประกอบขึ้นจาก ระบบวัตถุแบบ live ของ Smalltalk
ส่วน UI ก็น่าจะไปในทางนำ อารมณ์แบบ Mac OS คลาสสิก สไตล์ System 7.5 มาตีความใหม่ให้ร่วมสมัย
ระบบแบบนี้น่าจะเป็น OS ในฝัน ที่สืบทอดจิตวิญญาณโปรเจกต์ของ Apple ในยุค 80~90 ได้
พอดู ข่าวของ PureDarwin ก็รู้สึกว่า ravynOS น่าจะเป็นธรรมชาติกว่าถ้าใช้ XNU/Darwin
แต่ XNU กำลังปิดมากขึ้นเรื่อย ๆ ทำให้ FreeBSD เป็นทางเลือกที่สมจริงกว่า
น่าเสียดายที่โปรเจกต์ทางเลือกแทน macOS หลายตัว กระจัดกระจายเกินไป
เว็บไซต์ดูเนี้ยบจนคิดว่า UI ก็น่าจะเป็นแบบนั้น แต่สกรีนช็อตกลับให้ความรู้สึกเหมือน macOS ยุค 2008