Hubungan FSF dengan firmware berbahaya bagi pengguna perangkat lunak bebas

Hubungan FSF dengan firmware berbahaya bagi pengguna perangkat lunak bebas

FSF memiliki hubungan yang tidak menguntungkan dengan firmware, menghasilkan kebijakan yang masuk akal di akhir 1980-an, tetapi secara aktif merugikan pengguna saat ini, dengan merekomendasikan peralatan usang, yang membutuhkan peningkatan kompleksitas dalam RYF- desain perangkat keras bersertifikat dan mengecilkan praktik keamanan yang baik dan pembuatan firmware pengganti gratis. Sebagai akibat dari kebijakan ini, perangkat keras yang kurang sering berakhir di tangan mereka yang paling membutuhkan kebebasan perangkat lunak, atas nama sertifikasi RYF.

FSF dan mikrokode

Kernel Linux normal tidak direkomendasikan oleh FSF, karena memungkinkan penggunaan firmware berpemilik dengan perangkat. Sebagai gantinya, mereka merekomendasikan Linux-libre, yang menonaktifkan dukungan untuk firmware berpemilik dengan merobek kode yang memungkinkan firmware dimuat ke perangkat. Libreboot, yang direkomendasikan FSF, juga memiliki kebijakan untuk tidak mengizinkan gumpalan firmware di pohon sumber, meskipun itu hanya sumber masalah.

Hasil akhirnya adalah pengguna yang menyebarkan Firmware dan kernel yang direkomendasikan FSF berakhir dengan berbagai tingkat konfigurasi yang rusak. Lebih buruk lagi, proyek Linux-libre menghapus pesan peringatan yang menyarankan pengguna mungkin ingin memperbarui mikrokode prosesor mereka untuk menghindari kerentanan keamanan Meltdown dan Spectre.

Meskipun benar bahwa mikrokode prosesor adalah blob berpemilik, dari sudut pandang keamanan dan keandalan, ada dua jenis CPU: Anda dapat memiliki CPU yang rusak, atau CPU yang tidak terlalu rusak, dan pembaruan mikrokode dimaksudkan untuk memberi Anda CPU yang tidak terlalu rusak. Ini sangat penting karena pembaruan mikrokode memperbaiki masalah nyata di CPU, dan Libreboot memiliki tambalan yang meretas masalah yang disebabkan oleh kekurangan mikrokode yang dibakar ke dalam CPU pada waktu pembuatan, karena tidak diperbolehkan memperbarui mikrokode pada waktu boot awal.

Ada juga kesalahpahaman umum tentang kemampuan mikrokode prosesor. Selama bertahun-tahun, saya telah berbicara dengan banyak pendukung kebebasan perangkat lunak tentang masalah mikrokode, dan banyak dari mereka percaya bahwa mikrokode mampu memprogram ulang prosesor seolah-olah itu adalah FPGA atau semacamnya. Pada kenyataannya, mikrokode adalah serangkaian hot patch ke logika decode instruksi, yang sebagian besar merupakan bagian dari pipa eksekusi fungsi tetap. Dengan kata lain, Anda tidak dapat memperbarui mikrokode CPU untuk menambah atau mengubah kemampuan secara substansial.

Dengan mengecilkan hati (atau langsung menghambat dalam kasus Linux-libre) pengguna akhir untuk menggunakan kebebasan mereka (prinsip utama kebebasan perangkat lunak adalah bahwa pengguna memiliki hak untuk melakukan apa pun yang dia inginkan dengan komputernya) untuk memperbarui mikrokode prosesor mereka, FSF menerapkan kebijakan yang membuat pengguna berisiko terhadap kerentanan seperti Meltdown dan Spectre, yang sebagian dimitigasi melalui pembaruan mikrokode.

Purism’s Librem 5: sebuah kasing studi

Sertifikasi “Hormati Kebebasan Anda” FSF memiliki celah yang sangat besar sehingga Anda dapat mengendarai truk melewatinya yang disebut “ pengecualian prosesor sekunder”. Ini karena ia tahu bahwa secara umum, perangkat yang sepenuhnya gratis saat ini tidak ada yang memiliki kemampuan yang diinginkan orang. Purism menggunakan celah ini untuk menjual telepon yang memiliki gumpalan perangkat lunak berpemilik sambil memberikannya sepenuhnya gratis. Teks pengecualian yang relevan yang memungkinkan mereka melakukan ini adalah:

Namun, ada satu pengecualian untuk prosesor tertanam sekunder. Pengecualian berlaku untuk perangkat lunak yang dikirimkan di dalam prosesor bantu dan tingkat rendah serta FPGA, di mana penginstalan perangkat lunak tidak dimaksudkan setelah pengguna memperoleh produk. Ini dapat mencakup, misalnya, mikrokode di dalam prosesor, firmware yang dibangun ke dalam perangkat I/O, atau pola gerbang FPGA. Perangkat lunak dalam prosesor sekunder tersebut tidak dihitung sebagai perangkat lunak produk.

Purism dapat mencapai ini dengan membuat Librem 5 tidak memiliki satu , tetapi dua prosesor: saat ponsel pertama kali melakukan booting, ponsel menggunakan CPU sekunder sebagai prosesor layanan, yang menginisialisasi RAM menggunakan blob berpemilik, kemudian memuat blob berpemilik lainnya ke perangkat lain seperti baseband sebelum memulai CPU utama dan mematikan dirinya sendiri. Dengan cara ini, mereka dapat memiliki semua gumpalan yang mereka butuhkan untuk digunakan, tanpa harus khawatir bahwa gumpalan tersebut terlihat oleh pengguna dari PureOS. Di bawah kebijakan, yang membuat mereka bebas dan jelas untuk sertifikasi.

Masalahnya tentu saja adalah bahwa dengan menyembunyikan gumpalan ini di prosesor layanan, sebagian besar pengguna tidak menyadari keberadaan mereka, dan tidak dapat untuk memanfaatkan kebebasan mereka untuk belajar, merekayasa balik, dan mengganti gumpalan ini dengan firmware gratis, solusi yang biasanya tersedia bagi mereka sebagai bagian dari empat kebebasan.

Ini berarti bahwa pengguna telepon Librem 5 secara objektif dirugikan dalam tiga cara: pertama, mereka tidak menyadari keberadaan gumpalan untuk memulai, kedua mereka tidak memiliki kemampuan untuk mempelajari gumpalan, dan ketiga, mereka tidak memiliki kemampuan untuk mengganti gumpalan. Dengan mengejar sertifikasi RYF, Purism merilis perangkat yang secara objektif lebih buruk bagi kebebasan praktis pelanggan mereka.

Laptop Novena: studi kasus kedua

Pada tahun 2012, Andrew “kelinci” Huang memulai proyek untuk membuat laptop dengan komponen paling gratis yang bisa dia temukan, yang disebut laptop terbuka Novena. Itu didasarkan pada Freescale (sekarang NXP) i.MX 6 CPU, yang memiliki GPU Vivante dan radio WiFi terintegrasi. Setiap komponen dalam desain memiliki lembar data yang tersedia secara bebas, dan skema itu sendiri diterbitkan di bawah lisensi gratis.

Tetapi karena SoC menggunakan gumpalan yang diperlukan untuk mem-boot fungsionalitas GPU dan WiFi, FSF mengharuskan komponen ini dinonaktifkan secara mekanis dalam produk untuk menerima sertifikasi, meskipun ada upaya berkelanjutan untuk menulis firmware pengganti untuk kedua komponen. Firmware pengganti ini akhirnya dirilis, dan orang-orang menggunakan chip ini dengan firmware gratis hari ini.

Seandainya bunnie memilih untuk mematuhi persyaratan sertifikasi RYF, pelanggan yang membeli laptop Novena akan tidak dapat menggunakan fungsi GPU dan WiFi terintegrasi, karena secara fisik dinonaktifkan di papan, meskipun ketersediaan firmware pengganti gratis untuk komponen tersebut. Untungnya, bunnie memilih untuk tidak melanjutkan sertifikasi RYF, dan dengan demikian laptop Novena dapat digunakan dengan akselerasi GPU dan WiFi.

perangkat keras yang tersisa

Dalam praktiknya, sulit untuk mendapatkan sesuatu yang lebih menghargai kebebasan daripada laptop Novena. Dari perspektif hak untuk diperbaiki, laptop Framework sangat bagus, tetapi masih menggunakan firmware berpemilik. Namun, itu dibangun di atas CPU x86 modern, dan bisa menjadi target yang masuk akal untuk booting inti, terutama sekarang karena kode sumber firmware pengontrol tertanam telah dirilis di bawah lisensi gratis.

Namun , karena Intel ME, laptop Framework tidak akan pernah mendapatkan sertifikasi RYF. Sebagai gantinya, FSF mempromosikan pembelian thinkpad lama dari tahun 2009 dengan Libreboot yang sudah diinstal sebelumnya. Ini adalah kerugian total bagi pengguna, karena komputer dari tahun 2009 benar-benar usang sekarang, dan seperti yang dibahas di atas, CPU Intel cenderung agak rusak tanpa pembaruan mikrokode mereka.

Saran saya adalah untuk abaikan program sertifikasi RYF, karena secara aktif berbahaya bagi adopsi praktis perangkat lunak bebas, dan beli saja apa pun yang Anda mampu yang akan menjalankan OS gratis dengan baik. Pada titik ini, komputasi bebas gumpalan total adalah tugas bodoh, jadi ada banyak mesin berbasis AMD Ryzen yang akan memberi Anda kinerja dan akselerasi GPU yang layak tanpa memerlukan driver berpemilik. Vendor yang menggunakan coreboot untuk sistem mereka dan membuka kode sumber untuk pengontrol tertanam mereka harus berada di garis depan. Tetapi FSF tidak akan pernah menyarankan ini sebagai opsi, karena mereka telah memilih kemurnian ideologis yang tidak dapat dicapai daripada pragmatisme untuk merekomendasikan apa yang sebenarnya dapat disediakan pasar.

Baca selengkapnya