improved wording in the freedom status page

Signed-off-by: Leah Rowe <leah@libreboot.org>
c20230710
Leah Rowe 2023-06-20 17:36:35 +01:00
parent d972c61cfa
commit 78a99c7625
1 changed files with 25 additions and 63 deletions

View File

@ -6,77 +6,39 @@ x-toc-enable: true
Introduction Introduction
============ ============
The short version of the story is: *all* boards currently supported by Libreboot
can be initialised in coreboot with *free*, *libre* or *open source* code, that
the user can study in great depth and adapt for their purposes, but there are
certain caveats and pitfalls that the user must know about for certain machines.
As many readers may know, coreboot (which Libreboot uses for hardware As many readers may know, coreboot (which Libreboot uses for hardware
initialisation) is nominally *Free As In Freedom*, *libre* or *open source* initialisation) is nominally *Free As In Freedom*, *libre* or *open source*
software; albeit, coreboot attempts to provide free code to initialise each software; albeit, coreboot attempts to provide free code to initialise each
machine. The coreboot developers work very hard to reverse engineer as much machine. The coreboot developers work tirelessly to reverse engineer as much
functionality as possible, so as to provide freely licensed source code. functionality as possible, so as to provide freely licensed source code.
These people are to be celebrated, for Libreboot could not exist without such
efforts by them.
On *some* boards that coreboot supports, certain binary blobs are required. On *some* (not all) platforms, coreboot *requires* certain
This may be for things like video framebuffer initialisation, setting up the [blobs](https://en.wikipedia.org/wiki/Binary_blob) for things
memory controllers and so on. A binary blob is, in this context, any software like raminit. *All* boards currently supported by Libreboot can be initialised
that only comes as executable binary code *with source code unavailable*. This entirely with *free*, *libre* or *open source* code from *coreboot* itself,
makes it harder (but not impossible) to study how such programs work, and those because Libreboot currently only focuses on such mainboards. Libreboot's goal is
blobs often come with restrictions on either their usage and/or distribution. to eventually support *all* mainboards from coreboot.
The purpose of this document is to clearly describe the presence (or lack) of A more *pragmatic* [binary blobs reduction policy](news/policy.md) was adopted
binary blobs, on each given hardware platform or, within each platform, by Libreboot during November 2022, as part of an ongoing campaign to support
specific mainboard variations. Such information was either absent or poorly more hardware (from coreboot) within Libreboot, so as to provide *many more*
worded on the Libreboot website, so it was decided that formal documentation people with coreboot which, regardless of blob status, *does* provide increased
should be written. The reason for such absence was that Libreboot previously software freedom compared to fully proprietary boot firmware which is what most
provided support *only* for those boards that do *not* require binary blobs in people would otherwise use; Libreboot's modern policy is thus pragmatic, further
the main flash IC for boot firmware, so no such documentation was required. advancing the cause of *software freedom*.
A more *pragmatic* policy was published during November 2022, with a view to This page documents how Libreboot's [binary blob reduction
helping as many people as possible install coreboot, even on less-than-ideal policy](news/policy.md), adopted in November 2022, is implemented in practise,
hardware (while continuing to also support the more freedom-friendly hardware). especially that line which says: *"if a blob can be avoided, it must be
Libreboot still has strict standards about precisely *what* blobs are allowed, avoided."*
which you can read in the following document, thus:
[Binary blob reduction policy](news/policy.md) Libreboot's *previous* policy was to *ban all binary blobs*. This actively
*harmed* the Free Software movement, by reducing the number of people who can
In this article, you will learn of all the ways (in practise) that Libreboot realistically use coreboot because, to this day, nothing quite like Libreboot
implements this *blob reduction policy*, especially that line in it which says, yet exists. Libreboot's main purpose is to make coreboot *as easy to use as
quote, "if a blob can be avoided, it must be avoided". possible* for normal, non-technical users who like the idea of coreboot but
who are otherwise not competent to configure it from scratch. Such harm
Why does this matter? was *corrected*, in November 2022.
---------------------
The *practical goal* of the Libreboot project is to support as much hardware of
coreboot compatibility as possible, fully tested with pre-compiled ROM images
and easy flashing instructions, aimed at non-technical users so as to bring in
as many users as possible into the coreboot community. With more users, many
more people are exposed to coreboot and this will inevitably lead to more
people developing coreboot, which is a critical project in the libre software
movement. With more developers, more *users* will be able to achieve a level of
freedom or *sovereignty* in their computing and, thus, the cycle shall continue.
This goal exists because the *ideological goal* of Libreboot is to spread
software freedom by whatever means necessary, to as many people as possible.
Universal access to source code, the ability to study and change the code or
redistribute it, and run it infinitely for any purpose is extremely important.
Such freedom should be the *default* for all software. This makes coreboot
extremely useful, even in cases where a binary blob is needed for certain
functionality. Freedom should be the *default* for all software, and it is the
purpose of *Libreboot* to help establish such a reality.
The *policy* of the Libreboot project, within that goal, is to provide such
hardware support with as *few* binary blobs as possible, ideally *none* as is
the case with many configurations that Libreboot supports. Libreboot *will*
attempt to support any given piece of hardware, even in cases where *full*
software freedom is not possible; for example, if coreboot requires a blob for
raminit on a given board, the blob would be provided by Libreboot.
*You can read Libreboot's blob reduction/minimalisation policy in more detail.
Please read the document, titled: [Binary Blob Reduction
Policy](news/policy.md).*
Coreboot architecture Coreboot architecture
--------------------- ---------------------