Apa artinya bagi konsumen bahwa Apple telah merilis kernel MacOS sebagai sumber terbuka?

17

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

Apakah ini berarti kita akan melihat Komputer lain (yang bukan buatan Apple) menjalankan MacOS?

Jika tidak, lalu apa yang akan terjadi?

Dari apa yang saya mengerti, kernel Unix juga dirilis, dan Linux telah dibuat. Haruskah hal yang sama terjadi pada kernel Apple?

DrWongKC
sumber
8
Linux tidak didasarkan pada kernel UNIX, ini adalah proyek independen (walaupun mencoba mereproduksi API menjadi lebih atau kurang sesuai dengan POSIX).
Ruslan
6
Sebenarnya, MacOS adalah Unix tetapi Linux bukan Unix (Apple sebenarnya membayar uang untuk mendapatkan OS mereka bersertifikat sebagai Unix)
slebetman
1
@DrWongKC blog.opengroup.org/2012/07/25/…
el.pescado
24
Berita di sini bukanlah bahwa kernel tersebut open-source; kalimat pertama artikel Anda mengatakan "Apple selalu membagikan kernel macOS setelah setiap rilis utama." Berita ini hanya bahwa mereka telah merilis versi yang ditulis untuk ARM. Pada dasarnya artikel ini adalah clickbait dan bisa berakhir setelah paragraf pertama.
jscs
1
@JoshCaswell Ini harus menjadi jawaban, terutama karena tidak memerlukan referensi di luar artikel yang ditautkan dalam pertanyaan.
IMSoP

Jawaban:

34

Tidak ada artinya. Kernel macOS / OS X selalu open source. Kernel hanya merupakan bagian kecil dari sistem operasi yang lengkap, sehingga tidak membiarkan orang lain merilis versi MacOS mereka sendiri.

Mike Scott
sumber
5
Seseorang mungkin mencoba membangun OS mereka sendiri berdasarkan kernel macOS, mis. OpenDarwin / PureDarwin . Jusr ingat bahwa sebagian besar bagian lain yang mendefinisikan apa yang membuat macOS akan hilang.
el.pescado
3
Adakah orang di sini yang berhasil membangun xnu yang benar-benar identik dengan apa yang diinstal? Kembali pada hari Macan saya menyusun sendiri dan melihat masalah. Kemudian diberitahu oleh Apple bahwa bagian-bagian tertentu hilang dengan sengaja dan bahwa tidak mungkin untuk membangun fitur kernel lengkap dari apa yang diterbitkan. (Kapan) apakah ini berubah?
LаngLаngС
2
@LangLangC Tidak, kernel Darwin masih belum lengkap hingga hari ini. Apa yang mereka rilis hari ini hanyalah komponen yang sudah dirilis, tetapi dengan perubahan kecil untuk prosesor ARM yang mereka gunakan di iOS dan tvOS.
Adam Davis
34

Klarifikasi:

Apple selalu merilis kernel MacOS dalam bentuk open source. Kernel itu bernama Darwin. Darwin memiliki target x86. Ini dapat diangkut ke prosesor lain, tetapi varian open source dari Darwin yang dikontrol dan dirilis Apple hanya tersedia untuk x86.

Namun, iOS, yang menggunakan prosesor ARM, telah menggunakan Darwin sejak awal. Apple belum pernah merilis port ARM Darwin, meskipun mereka jelas memilikinya karena mereka menggunakannya di jutaan perangkat iOS yang sudah ada di tangan konsumen.

Pengumuman ini adalah bahwa Apple sekarang merilis potongan-potongan ARM Darwin yang sebelumnya ditahan.

Darwin hanyalah sebuah kernel, itu tidak termasuk sebagian besar dari apa yang membuat MacOS atau iOS beroperasi seperti yang diharapkan konsumen. Kernel bukan sistem operasi yang lengkap.

Lebih jauh, Darwin bukan kernel lengkap. Apple tidak melepaskan banyak bagian darinya.

Apa artinya bagi konsumen bahwa Apple telah merilis kernel MacOS sebagai sumber terbuka?

Tidak banyak, awalnya. Ini tidak akan memengaruhi ketersediaan perangkat keras atau perangkat lunak, peningkatan, dan mungkin bahkan tidak akan berdampak besar pada jailbreaking atau penggunaan perangkat apple alternatif yang serupa.

Apakah ini berarti kita akan melihat Komputer lain (yang bukan buatan Apple) menjalankan MacOS?

Itu tidak mempengaruhi ketersediaan perangkat perangkat keras Apple yang menjalankan perangkat lunak Apple atau sistem operasi. Apa yang sudah tersedia tidak akan menjadi lebih atau kurang tersedia atau lebih atau kurang legal.

Jika tidak, lalu apa yang akan terjadi?

Penjelasan yang paling mungkin, dan bagaimana konsumen akan mendapat manfaat, berasal dari rilis sebelumnya dari kode yang biasanya dipegang Apple , " Apple mengkonfirmasi kode kernel iOS tidak terenkripsi secara sengaja " yang menyarankan:

Apple telah mulai bergeser ke arah transparansi yang lebih besar, terutama pada masalah keamanan, setelah pertempuran dengan FBI mengenai membuka kunci iPhone yang digunakan oleh penembak San Bernardino. Ketika FBI berusaha memaksa Apple untuk membuka kunci telepon, CEO Tim Cook menulis surat terbuka yang jarang kepada pelanggan Apple, menjelaskan keputusannya untuk menolak. “Kami merasa kami harus berbicara di hadapan apa yang kami lihat sebagai penjangkauan berlebihan oleh pemerintah AS,” tulis Cook. (FBI akhirnya membatalkan permintaannya setelah membayar pihak ketiga untuk masuk ke perangkat.)

Membuka kode kernel untuk inspeksi dapat melemahkan pasar untuk kelemahan keamanan seperti yang diduga FBI digunakan untuk masuk ke iPhone San Bernardino. Jika kelemahan terungkap dengan cepat dan luas, itu akan mengurangi harga penegakan hukum dan pasar gelap akan membayarnya - dan itu bisa berarti perbaikan yang lebih cepat bagi pelanggan Apple.

Jadi manfaat konsumen adalah bahwa lebih banyak mata, khususnya peneliti keamanan, akan melihat kode dan mudah-mudahan ini akan membawa pada kelemahan dalam keamanan, memungkinkan Apple kemampuan untuk meningkatkan keamanan bagi pelanggan daripada mengetahui keamanan mereka rusak ketika pemerintah atau pihak ketiga dapat mengambil hak seseorang tanpa proses hukum.

Namun, apakah ini berlaku secara positif, tergantung pada para peneliti yang secara sukarela menyisir kode.

Dari apa yang saya mengerti, kernel Unix juga dirilis, dan Linux telah dibuat. Haruskah hal yang sama terjadi pada kernel Apple?

Apple mulai dengan kode BSD asli, yang, dengan menggunakan lisensi BSD, tidak mengharuskan perusahaan atau individu merilis perubahan mereka pada kode tersebut kepada orang yang mereka bagikan perangkat lunak yang dikompilasi. Memang, mereka memilih ini daripada kernel Linux khusus sehingga mereka dapat menjaga rahasia kekayaan intelektual tertentu (di antara banyak alasan lain, tentu saja).

Jadi mereka tidak memiliki kewajiban hukum untuk merilis semua kode mereka. Beberapa perangkat lunak yang mereka gunakan memang memiliki lisensi lain, seperti GPL, yang memang mengharuskan mereka tetap open source. Banyak dari ini tersedia dari Apple sekarang.

Namun, ini juga menunjukkan kemungkinan lain: banyak kernel yang dirilis sehingga pengembang dapat mengembangkan perangkat keras MacOS dan perangkat lunak khusus. Ini jauh lebih dalam ke sistem daripada pengembang aplikasi diizinkan untuk mengakses perangkat iOS.

Rilis ini, kemudian, menyarankan satu atau kedua dari dua kemungkinan kuat (dan ini adalah dugaan lengkap):

  1. Apple sedang bersiap untuk merilis komputer MacOS menggunakan prosesor ARM seri A mereka.
  2. Apple sedang mempersiapkan untuk memungkinkan pengembang untuk membuat perangkat lunak tingkat yang lebih dalam untuk perangkat iOS.

Saya akan mengatakan komputer MacOS menggunakan prosesor ARM lebih mungkin, karena chip A11 terbaru, yang digunakan dalam iPhone 8 dan X, mengalahkan chip Intel i5 terbaru , yang digunakan pada 2017 Macbook 13 ". Apple masih memiliki cara untuk pergi sebelum mereka dapat menggantikan prosesor Intel di seluruh lini mereka, namun kita dapat melihat, dalam satu atau dua tahun, komputer MacOS low-end dengan chip A12 atau A13, menggantikan chip Intel yang sebelumnya digunakan.

Ini akan memberikan manfaat yang signifikan bagi Apple (terutama garis besarnya).

Namun, tanpa pernyataan resmi, tidak ada cara untuk mengetahui alasan apa yang dimiliki Apple untuk merilis bagian ARM dari kernel Darwin open source yang sebagian besar sudah ada.

Konsumen akan terpengaruh sangat sedikit, jika sama sekali, dan jika demikian hanya secara tidak langsung.

Adam Davis
sumber
Komputer macOS low end seperti Mac mini mungkin? :-)
nohillside
1
@patrix Saya tahu banyak orang menunggu yang baru!
Adam Davis
Mudah jawaban terbaik; terima kasih telah menjelaskan dengan sangat jelas!
Wildcard
1
Kalau saja skor Geekbench benar-benar menyiratkan sesuatu tentang kinerja dunia nyata ... ;-)
Cody Gray
Jawaban yang sangat menakjubkan. Terima kasih telah berbagi pengetahuan Anda.
DrWongKC
18

Salah satu dampak utama telah di bidang keamanan perangkat lunak. Kernel iOS sebelumnya tidak bersumber terbuka: sumber publik yang sebelumnya hanya mencakup platform x86 / x64, tanpa ada bagian ARM / ARM64 yang berjalan di iOS. Kernel sebelumnya juga dienkripsi dalam firmware iOS dan sangat sulit untuk diekstraksi, membuatnya sangat sulit untuk melakukan evaluasi keamanan dari kernel iOS - semacam "keamanan oleh ketidakjelasan".

Dengan open-source kernel dan meninggalkan kernel tidak terenkripsi, kernel iOS sekarang dapat lebih bebas dianalisis dan diperiksa untuk kerentanan keamanan ( https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/ ). Ini akan menjadi langkah positif untuk keamanan kernel secara umum karena itu berarti bahwa penelitian kerentanan kernel iOS akan lebih terbuka untuk peneliti biasa yang mungkin mengungkapkan masalah ke Apple, daripada hanya terbatas pada misalnya aktor yang didanai negara.

nneonneo
sumber