cleanup
parent
33dc596206
commit
aec0f37e6b
|
@ -28,7 +28,7 @@ IRC.
|
|||
Webchat:
|
||||
<https://web.libera.chat/#libreboot>
|
||||
|
||||
Libera is one of the largest IRC networks, used for Free Software projects.
|
||||
Libera is one of the largest IRC networks, used for Libre Software projects.
|
||||
Find more about them here: <https://libera.chat/>
|
||||
|
||||
If you wish to connect using your preferred client (such as weechat or irssi),
|
||||
|
@ -62,7 +62,7 @@ News announcements: <https://twitter.com/libreboot/>
|
|||
|
||||
The founder and lead developer, Leah Rowe, is also on Twitter and Mastodon:
|
||||
|
||||
* <https://twitter.com/n4of7> (use nitter to avoid non-free JavaScript)
|
||||
* <https://twitter.com/n4of7> (use nitter to avoid proprietary JavaScript)
|
||||
* <https://mas.to/@libreleah>
|
||||
|
||||
Leah can also be contacted by her email address:
|
||||
|
|
|
@ -180,7 +180,7 @@ that, the solution was clear:
|
|||
|
||||
A project needed to exist, providing a fully free version of coreboot, without
|
||||
any binary blobs. At the time (and this is still true today), coreboot was not
|
||||
entirely free software and shipped with binary blobs by default. In particular,
|
||||
entirely libre software and shipped with binary blobs by default. In particular,
|
||||
CPU microcode updates were included by default, on all x86 machines. Working
|
||||
with Joshua who reviewed my work, I created a fully free version of coreboot.
|
||||
At first, it wasn't called Libreboot, and the work was purely intended for my
|
||||
|
@ -251,7 +251,7 @@ and forth with Lisa around mid 2016, mostly raminit patches, to get the board
|
|||
running at the FSF offices. This work ultimately lead to a most wonderful
|
||||
achievement:
|
||||
|
||||
The <https://www.gnu.org/> and <https://www.fsf.org/> websites now run on
|
||||
The FSF and GNU websites now run on
|
||||
Librebooted ASUS KGPE-D16 based servers, on a fully free GNU+Linux distro. This
|
||||
means that the FSF now has full software freedom for their hosting infrastructure.
|
||||
|
||||
|
|
|
@ -11,13 +11,8 @@ If you're using SeaBIOS, the boot process will work similarly to traditional
|
|||
BIOS systems; refer to the SeaBIOS documentation
|
||||
on <https://seabios.org/SeaBIOS>
|
||||
|
||||
GNU+Linux is the operating system of choice, for libreboot development. It is
|
||||
highly recommended over any other operating system, precisely because it consists
|
||||
of [Free Software](https://www.gnu.org/philosophy/free-sw.html) (free as in
|
||||
freedom). There *are* other free operating systems, such as BSD, but most of
|
||||
the software in a typical GNU+Linux system is also *copylefted*. To learn more
|
||||
about the importance of copyleft, read this page on the GNU website:
|
||||
<https://www.gnu.org/licenses/copyleft.html>
|
||||
Linux is generally assumed, especially for Libreboot development, but Libreboot
|
||||
also works quite nicely with [BSD systems](../bsd/).
|
||||
|
||||
Useful links
|
||||
============
|
||||
|
|
|
@ -6,13 +6,13 @@ x-toc-enable: true
|
|||
TODO: this guide should be reviewed and updated. Some info might be out of
|
||||
date.
|
||||
|
||||
[GNU GRUB](https://www.gnu.org/software/grub/) already has excellent
|
||||
[GRUB](https://www.gnu.org/software/grub/) already has excellent
|
||||
documentation, but there are aspects of libreboot that deserve special
|
||||
treatment. libreboot provides the option to boot GNU GRUB directly, running on
|
||||
bare metal (instead of using BIOS or UEFI services).
|
||||
|
||||
[The GNU+Linux section](../gnulinux/) also has libreboot-specific guides for
|
||||
dealing with GNU+Linux distributions when using GNU GRUB directly, in this
|
||||
[The Linux section](../gnulinux/) also has libreboot-specific guides for
|
||||
dealing with Linux distributions when using GRUB directly, in this
|
||||
setup. [A similar section exists for BSD operating systems](../bsd/)
|
||||
|
||||
GRUB keyboard layouts
|
||||
|
|
|
@ -106,9 +106,7 @@ from the serial console.
|
|||
|
||||
The following guide is for Ubuntu, but it should work in Debian and
|
||||
Devuan, to enable a serial console using GeTTY:\
|
||||
<https://help.ubuntu.com/community/SerialConsoleHowto> (we DO NOT
|
||||
recommend Ubuntu, because it contains non-free software in the default
|
||||
repos. Use Debian or Devuan)
|
||||
<https://help.ubuntu.com/community/SerialConsoleHowto>
|
||||
|
||||
Note: part of the tutorial above requires changing your grub.cfg. Just
|
||||
change the `linux` line to add instructions for enabling getty. See
|
||||
|
|
|
@ -1022,7 +1022,7 @@ Where can I learn more about electronics
|
|||
* [ElectroBOOM](https://vid.puffyan.us/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA)
|
||||
* [Jeri Ellsworth](https://vid.puffyan.us/user/jeriellsworth/playlists)
|
||||
* Boardview files can be open with [OpenBoardview](https://github.com/OpenBoardView/OpenBoardView),
|
||||
which is free software under MIT license.
|
||||
which is libre software under MIT license.
|
||||
|
||||
Use of `yt-dlp` (an enhanced fork of `youtube-dl`) is recommended for links
|
||||
to `youtube.com`. See: <https://github.com/yt-dlp/yt-dlp>
|
||||
|
|
32
site/git.md
32
site/git.md
|
@ -133,21 +133,35 @@ should be fairly anonymous. Use
|
|||
and [git show](https://git-scm.com/docs/git-show) to confirm that before you
|
||||
push changes to a public Git repository.
|
||||
|
||||
Licenses
|
||||
Licenses (for contributors)
|
||||
--------
|
||||
|
||||
We require all patches to be submitted under a free license:
|
||||
<https://www.gnu.org/licenses/license-list.html>.
|
||||
|
||||
- GNU General Public License v3 is highly recommended
|
||||
- For documentation, we require GNU Free Documentation License v1.3 or higher
|
||||
Make sure to freely license your work, under a libre license. Libreboot no
|
||||
longer sets arbitrary restrictions on what licenses are accepted, and many
|
||||
licenses out there already exist. We will audit your contribution and tell
|
||||
you if there are problems with it (e.g. no license).
|
||||
|
||||
*Always* declare a license on your work! Not declaring a license means that
|
||||
the default, restrictive copyright laws apply, which would make your work
|
||||
non-free.
|
||||
proprietary, subject to all of the same restrictions.
|
||||
|
||||
GNU+Linux is generally recommended as the OS of choice, for libreboot
|
||||
development. However, BSD operating systems also boot on libreboot machines.
|
||||
The MIT license is a good one to start with, and it is the preferred license
|
||||
for all new works in Libreboot, but we're not picky. Libreboot has historically
|
||||
used GNU licensing such as GPL; much of that remains, and is likely to remain.
|
||||
It's your work; obviously, if you're deriving from an existing work,
|
||||
it may make sense to use the same license on your contribution, for license
|
||||
compatibility.
|
||||
|
||||
You can find common examples of licenses
|
||||
[here](https://opensource.org/licenses).
|
||||
|
||||
If you *are* deriving from an existing work, it's important that your license
|
||||
(for your contribution) be compatible with the licensing of the work from which
|
||||
yours was derived. The MIT license is good because it's widely compatible
|
||||
with many other licenses, and permits many freedoms (such as the freedom to
|
||||
sublicense) that other licenses do not:
|
||||
|
||||
<https://opensource.org/licenses/MIT>
|
||||
|
||||
Send patches
|
||||
------------
|
||||
|
|
|
@ -4,7 +4,7 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
The `libreboot` project provides
|
||||
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html) *boot
|
||||
[libre](https://en.wikipedia.org/wiki/Open_source) *boot
|
||||
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||
peripherals) on [specific Intel/AMD x86 and ARM targets](docs/hardware/), which
|
||||
then starts a bootloader for your operating system. [GNU+Linux](docs/gnulinux/)
|
||||
|
@ -22,22 +22,21 @@ can be completed as soon as possible.**
|
|||
Why should you use *libreboot*?
|
||||
----------------------------
|
||||
|
||||
Libreboot gives you freedoms that you otherwise can't get with most other
|
||||
boot firmware. It's extremely powerful and configurable for many use cases.
|
||||
|
||||
You have rights. The right to privacy, freedom of thought, freedom of speech
|
||||
and the right to read. [Free
|
||||
software](https://www.gnu.org/philosophy/free-sw.html) gives you these rights.
|
||||
and the right to read. In this context, Libreboot gives you these rights.
|
||||
Your freedom matters.
|
||||
[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
|
||||
Many people use [proprietary](https://www.gnu.org/proprietary/proprietary.html)
|
||||
boot firmware, even if they use [GNU+Linux](https://www.gnu.org/distros/).
|
||||
Non-free firmware often [contains](faq.html#intel) [backdoors](faq.html#amd),
|
||||
Many people use proprietary (non-libre)
|
||||
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
Proprietary firmware often [contains](faq.html#intel) [backdoors](faq.html#amd),
|
||||
and can be buggy. The libreboot project was founded in in December 2013, with the
|
||||
express purpose of making Free Software accessible for non-technical users at
|
||||
the firmware level. It's true that `libreboot` can be called Open Source, [but you
|
||||
should call it Free
|
||||
Software](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html).
|
||||
express purpose of making coreboot firmware accessible for non-technical users.
|
||||
|
||||
The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialization](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||
handles only basic initialization and jumps to a separate
|
||||
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||
|
|
|
@ -6,8 +6,8 @@ x-toc-enable: true
|
|||
Unless otherwise stated, every page and image (e.g. JPG/PNG files) on
|
||||
libreboot.org or in the repository that it is built on, is released under the
|
||||
terms of the GNU Free Documentation License, either version 1.3 or (at your
|
||||
option) any newer version as published by the [Free Software
|
||||
Foundation](https://www.fsf.org/), with no Invariant Sections, no Front Cover
|
||||
option) any newer version as published by the Free Software
|
||||
Foundation, with no Invariant Sections, no Front Cover
|
||||
Texts and no Back Cover
|
||||
Texts.
|
||||
|
||||
|
|
|
@ -320,8 +320,8 @@ Anyway, Libreboot 20160907 used GRUB at git commit ID
|
|||
This new Libreboot releases used GRUB c0e647eb0e2bd09315612446cb4d90f7f75cb44c
|
||||
from May 10th, 2021.
|
||||
|
||||
Download GNU GRUB from the Git repository shown on
|
||||
<https://www.gnu.org/software/grub/> and check every commit since then.
|
||||
Download GNU GRUB from the upstream repository and check every commit
|
||||
since then.
|
||||
|
||||
GM45/X4X now set 352MiB VRAM by default
|
||||
=======================================
|
||||
|
|
|
@ -11,7 +11,12 @@ from the osboot one.**
|
|||
|
||||
Libreboot's policy is to provide as much software freedom as possible to each
|
||||
user, on each and every bit of hardware supported, and to *support as much
|
||||
hardware from coreboot as is feasible*. The *goal* of Libreboot is
|
||||
hardware from coreboot as is feasible*; what this means is that you should
|
||||
have the potential to study, modify and *share* all source code, documentation
|
||||
or other such resources that make Libreboot what it is. Put simply, you should
|
||||
have *control* of your own computing.
|
||||
|
||||
The *goal* of Libreboot is
|
||||
to do exactly this, and help as many people as possible by automating the
|
||||
configuration, compilation and installation of *coreboot* for *non-technical*
|
||||
users, easing it further for the average user by providing user-friendly
|
||||
|
@ -36,6 +41,13 @@ Most critical of these are:
|
|||
* HDD/SSD firmware
|
||||
* Intel Management Engine / AMD PSP firmware
|
||||
|
||||
What is a binary blob?
|
||||
----------------------
|
||||
|
||||
A binary blob, in this context, is any executable for which no source code
|
||||
exists, that you cannot study and modify in a reasonable manner. By definition,
|
||||
all such blobs are *proprietary* in nature, and should be avoided if possible.
|
||||
|
||||
Specific binary blobs are also problematic, on most coreboot systems, but they
|
||||
differ per machine. Read more on the FAQ, and on this page, for how we deal
|
||||
with binary blobs in the Libreboot project.
|
||||
|
@ -61,23 +73,23 @@ nature of this is what you're about to read.
|
|||
The libreboot project has the following policy:
|
||||
|
||||
* If a blob *can* be avoided, it should be avoided. For example, if VGA ROM
|
||||
initialization otherwise does a better job but coreboot has *free* init code
|
||||
initialization otherwise does a better job but coreboot has *libre* init code
|
||||
for a given graphics device, that code should be used in libreboot, when
|
||||
building a ROM image. Similarly, if *memory controller initialization* is
|
||||
possible with a binary blob *or* free code in coreboot, the *free* code
|
||||
possible with a binary blob *or* libre code in coreboot, the *libre* code
|
||||
should be used in ROMs built by `lbmk`, and the *blob* for raminit should
|
||||
not be used; however, if no free init code is available for said raminit,
|
||||
not be used; however, if no libre init code is available for said raminit,
|
||||
it is permitted and lbmk will use the *blob*.
|
||||
* Some nuance is to be observed: on some laptop or desktop configurations, it's
|
||||
common that there will be *two* graphics devices (for example, an nvidia and
|
||||
an intel chip, using nvidia optimus technology, on a laptop). It may be that
|
||||
one of them has free init code in coreboot, but the other one does not. It's
|
||||
one of them has libre init code in coreboot, but the other one does not. It's
|
||||
perfectly acceptable, and desirable, for libreboot to support both devices,
|
||||
and accomodate the required binary blob on the one that lacks native
|
||||
initialization.
|
||||
* An exception is made for CPU microcode updates: they are permitted, and in
|
||||
fact *required* as per libreboot policy. These updates fix CPU bugs, including
|
||||
security bugs, and since the CPU already has non-free microcode burned into
|
||||
security bugs, and since the CPU already has non-libre microcode burned into
|
||||
ROM anyway, the only choice is either *x86* or *broken x86*. Thus, libreboot
|
||||
will only allow coreboot mainboard configurations where microcode updates
|
||||
are *enabled*, if available for the CPU on that mainboard.
|
||||
|
@ -94,8 +106,8 @@ The libreboot project has the following policy:
|
|||
a configuration for their hardware.
|
||||
|
||||
Generally speaking, common sense is applied. For example, an exception to the
|
||||
minimalization might be if *blob* raminit and *free* raminit are available, but
|
||||
the *free* one is so broken so as to be unusable. In that situation, the blob
|
||||
minimalization might be if *blob* raminit and *libre* raminit are available, but
|
||||
the *libre* one is so broken so as to be unusable. In that situation, the blob
|
||||
one should be used instead, because otherwise the user might switch back to an
|
||||
otherwise fully proprietary system, instead of using coreboot (via libreboot).
|
||||
|
||||
|
@ -121,9 +133,9 @@ Configuration
|
|||
The principles above should apply to *default* configurations. However, libreboot
|
||||
is to be *configurable*, allowing the user to do whatever they like.
|
||||
|
||||
It's natural that the user may want to create a setup that is *less* free than
|
||||
It's natural that the user may want to create a setup that is *less* libre than
|
||||
the default one in libreboot. This is perfectly acceptable; freedom is superior,
|
||||
and should be encouraged, but the user's freedom to choose should also be
|
||||
and should be encouraged, but the user's *freedom to choose* should also be
|
||||
respected, and accomodated.
|
||||
|
||||
In other words, do not lecture the user. Just try to help them with their
|
||||
|
@ -136,19 +148,20 @@ FREEDOM CATALOG
|
|||
A *blob status* page should also be made available, educating people about the
|
||||
status of binary blobs on each machine supported by `lbmk`.
|
||||
|
||||
It is desirable to see a world where all hardware and software is free.
|
||||
Hardware!?
|
||||
It is desirable to see a world where all hardware and software is libre, under
|
||||
the same ideology as the Libreboot project. Hardware!?
|
||||
|
||||
Yes, hardware. RISC-V is a great example of a modern attempt at free hardware.
|
||||
It is a free ISA for the manufacture of a microprocessor. Many real-world
|
||||
Yes, hardware. RISC-V is a great example of a modern attempt at libre hardware,
|
||||
often called *Open Source Hardware*.
|
||||
It is a an ISA for the manufacture of a microprocessor. Many real-world
|
||||
implementations of it already exist, that can be used, and there will only be
|
||||
more.
|
||||
|
||||
Free *hardware* is still in its infancy. We should start a project that will
|
||||
Such *hardware* is still in its infancy. We should start a project that will
|
||||
catalog the status of various efforts, including at the hardware level (even
|
||||
the silicon level). Movements like OSHW and Right To Repair are extremely
|
||||
important, including to the Free Software movement which otherwise will
|
||||
typically think less about hardware freedom (even though it really, really
|
||||
important, including to our own movement which otherwise will
|
||||
typically think less about hardware freedoms (even though it really, really
|
||||
should!)
|
||||
|
||||
One day, we will live in a world where anyone can get their own chips made,
|
||||
|
@ -165,9 +178,11 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project:
|
|||
Problems with RYF criteria
|
||||
==========================
|
||||
|
||||
You can read those guidelines by following these hyperlinks:
|
||||
Libreboot previously complied with FSF RYF criteria, but it now adheres to a
|
||||
much more pragmatic policy aimed at providing more freedom to more people, in a
|
||||
more pragmatic way. You can read those guidelines by following this URL:
|
||||
|
||||
* [FSF Respects Your Freedom (RYF) guidelines](https://ryf.fsf.org/about/criteria)
|
||||
* FSF Respects Your Freedom (RYF) guidelines: **https://ryf.fsf.org/about/criteria**
|
||||
|
||||
The FSF RYF guidelines state the following:
|
||||
|
||||
|
@ -177,29 +192,29 @@ This is a violation of every principle the FSF stands for, *and it should be
|
|||
rejected on ideological grounds*. The rest of libreboot's policy and overall
|
||||
ideology expressed, in this article, will be based largely on that rejection.
|
||||
The definition of *product software* is completely arbitrary; software is
|
||||
software, and software should always be *free*. Instead of making such
|
||||
software, and software should always be *libre*. Instead of making such
|
||||
exceptions, more hardware should be encouraged, with help given to provide as
|
||||
much freedom as possible, while providing education to users about any pitfalls
|
||||
they may encounter, and encourage freedom at all levels. When an organisation
|
||||
like the FSF makes such bold exceptions as above, it sends the wrong message,
|
||||
by telling people essentially to sweep these other problems under the rug, just
|
||||
because they involve software that happens to run on a "secondary processor".
|
||||
If the software is possible to update by the user, then it should be free,
|
||||
If the software is possible to update by the user, then it should be libre,
|
||||
regardless of whether the manufacturer *intended* for it to be upgraded or not.
|
||||
Where it really *isn't* possible to update such software, proprietary or not,
|
||||
advice should be given to that effect. Education is important, and the FSF's
|
||||
criteria actively discourages such education; it creates a false hope that
|
||||
everything is great and wonderful, just because the software on one arbitrary
|
||||
level is all free.
|
||||
level is all perfect.
|
||||
|
||||
This view of the FSF's, as expressed in the quoted paragraph, assumes that
|
||||
there is primarily *one* main processor controlling your system. On many
|
||||
modern computers, this is *no longer true*.
|
||||
|
||||
Free *software* does not exist in a vacuum, but we had less freedom in the
|
||||
Libre *software* does not exist in a vacuum, but we had less freedom in the
|
||||
past, especially when it came to hardware, so *software* was our primary focus.
|
||||
|
||||
[The four freedoms are absolute](https://www.gnu.org/philosophy/free-sw.html),
|
||||
The ability to study, adapt, share and use/re-use software freely is important,
|
||||
but there is a lot of nuance when it comes to *boot firmware*, nuance which is
|
||||
largely non-existent outside of firmware development, or kernel development.
|
||||
Most typical application/system software is high level and portable, but boot
|
||||
|
@ -233,13 +248,13 @@ provide incentive for levels of software freedom, such as:
|
|||
The FSF were willing to ignore it, and certify the TALOS II product under RYF,
|
||||
but Timothy Pearson of Raptor Engineering had it freed anyway, without being
|
||||
told to. Hugo Landau reverse engineered the specification and Evan Lojewski
|
||||
wrote free firmware. See:
|
||||
wrote libre firmware. See:
|
||||
See: <https://www.devever.net/~hl/ortega> and <https://github.com/meklort/bcm5719-fw>
|
||||
* FSF once endorsed the ThinkPad X200, as sold by [Minifree Ltd](https://minifree.org),
|
||||
which contains the Intel ME; the bootrom is still there, as is the ME
|
||||
coprocessor, but the ME is put into a disabled state via the Intel Flash
|
||||
Descriptor, and the ME firmware in flash is removed. However, the ME is an
|
||||
entire coprocessor which, with free firmware, could be used for a great many
|
||||
entire coprocessor which, with libre firmware, could be used for a great many
|
||||
things. In the Libreboot and coreboot projects, there has always been interest
|
||||
in this but the FSF disregards it entirely. The X200 product they certified
|
||||
came with Libreboot pre-installed.
|
||||
|
@ -255,13 +270,13 @@ provide incentive for levels of software freedom, such as:
|
|||
machine comes in two versions: with ATI+Intel GPU, or only Intel GPU. If ATI
|
||||
GPU, it's possible to configure the machine so that either GPU is used. If the
|
||||
ATI GPU is to be used, a firmware blob is needed for initialization, though the
|
||||
driver for it is completely free. FSF ignored this fact and endorsed the
|
||||
driver for it is entirely libre. *The FSF* ignored this fact and endorsed the
|
||||
hardware, so long as Libreboot does not enable the ATI GPU or tell people how
|
||||
to enable it. The *Intel* GPU on that machine has free initialization code by
|
||||
the coreboot project, and a fully free driver in both Linux and BSD kernels.
|
||||
to enable it. The *Intel* GPU on that machine has libre initialization code by
|
||||
the coreboot project, and a fully libre driver in both Linux and BSD kernels.
|
||||
In the configuration provided by Libreboot, the ATI GPU is completely disabled
|
||||
and powered down.
|
||||
* All Libreboot-compatible ThinkPads contain non-free Embedded Controller
|
||||
* All Libreboot-compatible ThinkPads contain proprietary Embedded Controller
|
||||
firmware, which is user-flashable (*and intended for update by the
|
||||
manufacturer*). The FSF chose to ignore the EC firmware, under
|
||||
their *secondary processor* exemption. See:
|
||||
|
@ -277,17 +292,15 @@ Problems with FSDG
|
|||
|
||||
<img tabindex=1 src="https://av.libreboot.org/firmware.png" /><span class="f"><img src="https://av.libreboot.org/firmware.png" /></span>
|
||||
|
||||
The FSF maintains another set of criteria, dubbed [Free System Distribution
|
||||
Guidelines (GNU
|
||||
FSDG)](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html)
|
||||
or just *FSDG* for short.
|
||||
The FSF maintains another set of criteria, dubbed Free System Distribution
|
||||
Guidelines (GNU FSDG)]
|
||||
|
||||
The FSDG criteria is separate from RYF, but has similar problems. FSDG is
|
||||
what the FSF-endorsed GNU+Linux distros comply with. Thoughts:
|
||||
|
||||
* Excluding firmware blobs in the linux kernel is *bad*. Non-free firmware
|
||||
* Excluding firmware blobs in the linux kernel is *bad*. Proprietary firmware
|
||||
is *also bad*. Including them is a wiser choice, if strong education is also
|
||||
provided about *why they are bad* (lack of freedom). If you expose them to
|
||||
provided about *why they are bad* (less freedom). If you expose them to
|
||||
the user, and tell them about it, there is greater incentive (by simple
|
||||
reminder of their existence) to reverse engineer and replace them.
|
||||
* Firmware *in your OS kernel* is *good*. The FSF simultaneously gives the OK
|
||||
|
@ -298,21 +311,21 @@ what the FSF-endorsed GNU+Linux distros comply with. Thoughts:
|
|||
(replace the chip on the card/device). *If the firmware is loaded by the
|
||||
OS kernel, then the firmware is exposed to the user and it can be more
|
||||
easily replaced. FSF criteria in this regard encourages hardware designers
|
||||
to hide the firmware instead, making actual freedom less likely!*
|
||||
to hide the firmware instead, making actual (software) freedom less likely!*
|
||||
|
||||
Besides this, FSDG seems OK. Any free operating system should ideally not
|
||||
have non-free *drivers* or *applications*.
|
||||
Besides this, FSDG seems OK. Any libre operating system should ideally not
|
||||
have proprietary *drivers* or *applications*.
|
||||
|
||||
Hardware manufacturers like to shove everything into firmware because their
|
||||
product is often poorly designed, so they later want to provide workarounds in
|
||||
firmware to fix issues. In many cases, a device will already have firmware on it
|
||||
but require an update supplied to it by your OS kernel.
|
||||
|
||||
The most common example of non-free firmware in Linux is for wifi devices.
|
||||
This is an interesting use-case scenario, if freed, because it could be used
|
||||
for owner-controlled *software defined radio*.
|
||||
The most common example of proprietary firmware in Linux is for wifi devices.
|
||||
This is an interesting use-case scenario, with source code, because it could be
|
||||
used for owner-controlled *software defined radio*.
|
||||
|
||||
The *Debian* way is ideal. The Debian GNU+Linux distribution is entirely free
|
||||
The *Debian* way is ideal. The Debian GNU+Linux distribution is entirely libre
|
||||
by default, and they include extra firmware if needed, which they have in a
|
||||
separate repository containing it. If you only want firmware, it is
|
||||
trivial to get installer images with it included, or add that to your installed
|
||||
|
@ -336,8 +349,8 @@ it either.
|
|||
More detailed insight about microcode
|
||||
=====================================
|
||||
|
||||
To be clear: it is preferable that microcode be free. The microcode on Intel
|
||||
and AMD systems *are* non-free. Facts and feelings rarely coincide; the
|
||||
To be clear: it is preferable that microcode be libre. The microcode on Intel
|
||||
and AMD systems *are* proprietary. Facts and feelings rarely coincide; the
|
||||
purpose of this section is to spread *facts*.
|
||||
|
||||
The libreboot build system now enables microcode updates *by default.*
|
||||
|
@ -405,7 +418,7 @@ technically correct solution is to *not* apply the above patches, and instead
|
|||
supply microcode updates!
|
||||
|
||||
Pick your poison. Not adding the updates is *irresponsible*, and ultimately
|
||||
futile, because you still end up with non-free microcode anyway, just you get
|
||||
futile, because you still end up with proprietary microcode, but you just get
|
||||
an older, buggier version instead!
|
||||
|
||||
The libreboot build system *no longer* applies the two patches linked above!
|
||||
|
@ -429,11 +442,11 @@ Other considerations
|
|||
Also not covered strictly by Libreboot: OSHW and Right To Repair. Freedom at
|
||||
the silicon level would however be amazing, and efforts already exist; for
|
||||
example, look at the RISCV ISA (in practise, actual fabrication is still
|
||||
proprietary and not under your control, but RISCV is a completely free CPU
|
||||
proprietary and not under your control, but RISCV is a completely libre CPU
|
||||
design that companies can use, instead of having to use proprietary ARM/x86 and
|
||||
so on). Similarly, Right To Repair (ability to repair your own device, which
|
||||
implies free access to schematics and diagrams) is critical, for the same
|
||||
reason that Free Software (Right To Hack) is critical!
|
||||
reason that Libre Software (Right To Hack) is critical!
|
||||
|
||||
OSHW and Right To Repair are not covered at all by RYF (FSF's Respects Your
|
||||
Freedom criteria), the criteria which Libreboot was created to comply with.
|
||||
|
@ -482,12 +495,12 @@ that the work is *far* from complete!
|
|||
|
||||
If followed *with exemptions unchallenged*, RYF may in some cases encourage
|
||||
companies to *sweep under the rug* any freedom issues that exist, where it
|
||||
concerns non-free firmware not running on the host CPU (such as the
|
||||
concerns proprietary firmware not running on the host CPU (such as the
|
||||
Embedded Controller firmware).
|
||||
|
||||
I propose that new guidelines be written, to replace RYF. These new guidelines
|
||||
will do away with all exemptions/loopholes, and demand that *all* software be
|
||||
free on the machine, or as much as possible. Instead of only promoting products
|
||||
libre on the machine, or as much as possible. Instead of only promoting products
|
||||
that meet some arbitrary standard, simply catalog all systems on a grand
|
||||
*database* of sorts (like h-node.org, but better). Include Right to Repair and
|
||||
OSHW (including things like RISCV) in the most "ideal" standard machine.
|
||||
|
|
|
@ -5,9 +5,8 @@
|
|||
Introduction
|
||||
============
|
||||
|
||||
This event of such global importance to [Free
|
||||
Software](https://www.gnu.org/philosophy/free-sw.html) projects, and the Free
|
||||
Software movement as a whole, has made me decide to write an article. **The
|
||||
This event of such global importance to libre software projects, and the
|
||||
libre movement as a whole, has made me decide to write an article. **The
|
||||
events in question, covered by this article, will occur on 11 January 2022.
|
||||
This is just three days away from today, 8 January 2022 when this article was
|
||||
written, so if you make a decision, you should make it now, today, and prepare.
|
||||
|
@ -17,75 +16,77 @@ If you live in New Hampshire or in one of the neighbouring states, especially
|
|||
Massachusetts, please listen up! If you are further away and unable to reach
|
||||
New Hampshire all that easily, please spread the following news anyway. It's
|
||||
important. As alien as it may seem to many of my readers, I'm actually writing
|
||||
parts of this article as though someone who has never heard of Free Software is
|
||||
parts of this article as though someone who has never heard of Libre Software
|
||||
(often referred to as *Open Source Software*) is
|
||||
reading it, because I expect precisely that such people *will* read this
|
||||
particular article.
|
||||
|
||||
You will see the term *Free Software* used in this article, but some people
|
||||
call it Open Source Software. [However, you should call it Free
|
||||
Software.](https://www.gnu.org/philosophy/open-source-misses-the-point.html)
|
||||
The word "free" refers to freedom, not price, though the software is usually
|
||||
also free as in gratis / zero price.
|
||||
When we say libre software, we mean software that gives people the ability to
|
||||
freely study, adapt, share, use and re-use all code or documentation, so as to
|
||||
enable the free exchange of ideas and, simply speaking, democracy. This is your
|
||||
Linux distros, BSD projects, and accompanying software that typically comes
|
||||
packaged. It is sometimes referred to as *Open Source Software*. The word libre
|
||||
is Spanish for "liberty", meaning freedom. With such software, you, the user,
|
||||
are able to control your own computing according to your own priorities, which
|
||||
you otherwise would not be able to do.
|
||||
|
||||
The opposite of Free Software is called *proprietary software*, or *non-free
|
||||
software*. Proponents of Open Source sometimes call non-free software *Closed
|
||||
Source*, but you should call it *non-free* or proprietary, to highlight the
|
||||
fact that it isn't free.
|
||||
The opposite of libre software is called *proprietary software*. The purpose
|
||||
of Libreboot is to help users *avoid* proprietary software at the firmware
|
||||
level, whenever feasible.
|
||||
|
||||
What's happening in New Hampshire?
|
||||
==================================
|
||||
|
||||
An important bill is being proposed in New Hampshire, which would enshrine
|
||||
much of what we know as Free Software *into law*. Here is the proposed bill,
|
||||
much of what we know as Open Source *into law*. Here is the proposed bill,
|
||||
technically named "HB1273":\
|
||||
<https://gencourt.state.nh.us/bill_status/legacy/bs2016/billText.aspx?sy=2022&id=1363&txtFormat=html>
|
||||
|
||||
You can read it for yourself, but here is a paraphrasing of what it proposes:
|
||||
|
||||
* *Specifically* bans state-run websites from serving non-free javascript to
|
||||
* *Specifically* bans state-run websites from serving proprietary javascript to
|
||||
clients
|
||||
* Creates a commission to provide oversight, watching the use of Free Software by state agencies
|
||||
* Creates a commission to provide oversight, watching the use of libre code by state agencies
|
||||
* Bans state agencies from using proprietary software - maybe this could include schools, in the future!
|
||||
* If a person is tried in a criminal case, they have the right to audit the source code of any proprietary software that collects evidence against them
|
||||
* Encourages data portability (able to transfer data from one program to another)
|
||||
* Bans certain non-compete clauses and NDAs (non-disclosure agreements) pertaining to Free Software projects
|
||||
* Bans state/local law enforcement from assisting with the enforcement of copyright claims against Free Software projects
|
||||
* Bans state agencies from purchasing non-free software if free software exists, for a given task
|
||||
* Bans certain non-compete clauses and NDAs (non-disclosure agreements) pertaining to Libre Software projects
|
||||
* Bans state/local law enforcement from assisting with the enforcement of copyright claims against libre software projects
|
||||
* Bans state agencies from purchasing proprietary software if libre software exists, for a given task
|
||||
|
||||
However, this is only a short summary. You are advised to read the bill in
|
||||
detail. It's not very long.
|
||||
|
||||
At first glance, it may not seem that the bill affects individuals, but don't
|
||||
be fooled; this is a hugely positive step forward for everyone! If the state is
|
||||
using Free Software, that most likely means it'll be used in education aswell.
|
||||
using Libre Software, that most likely means it'll be used in education aswell.
|
||||
|
||||
Although perhaps not immediately and readily apparent, this is a stake in the
|
||||
heart of proprietary software's current dominance, because it would remove one
|
||||
key element of its attack against us; its abuse of education services.
|
||||
|
||||
If education services are using Free Software, that means they'll probably have
|
||||
If education services are using Libre Software, that means they'll probably have
|
||||
children (the ones being educated) using it too. This is a *huge* step, and it
|
||||
will result in more Free Software developers in the future. Free Software will
|
||||
will result in more Libre Software developers in the future. Libre Software will
|
||||
become more and more mainstream to the masses, which can surely only be a good
|
||||
thing!
|
||||
|
||||
Freedom is always superior. The more people that have it, the better off we all
|
||||
are, because freedom is also collective; it relies on others around us also
|
||||
having it, so that we can defend each other. If more people have it, especially
|
||||
if it results in more Free Software developers in the future, that's one thing,
|
||||
if it results in more Libre Software developers in the future, that's one thing,
|
||||
but imagine if *more* states like what they see and start to copy the new
|
||||
legislation.
|
||||
|
||||
Now imagine that countries besides the US start doing it, inspired by the US's
|
||||
success (and I think it will be a resounding success).
|
||||
|
||||
Imagine a world where [Free
|
||||
Software](https://www.gnu.org/philosophy/free-sw.html), free as in freedom, is
|
||||
the default everywhere. Imagine a world where [Free Software
|
||||
licensing](https://www.gnu.org/licenses/license-list.html) is required reading
|
||||
Imagine a world where such liberties over software are commonplace, actually
|
||||
the default everywhere! Imagine a world where it's considered as important as
|
||||
the ability to freely learn mathematics, or physics, as required reading
|
||||
material in schools. *Imagine a world where any five year old can install a
|
||||
free operating system such as GNU+Linux, and Computer Science is mandatory in
|
||||
schools from a young age. Imagine filing your tax returns with Free Software,
|
||||
libre operating system such as GNU+Linux, and Computer Science is mandatory in
|
||||
schools from a young age. Imagine filing your tax returns with Libre Software,
|
||||
exclusively. Imagine not even thinking about that, because it became the norm.*
|
||||
|
||||
*Imagine a world where proprietary software doesn't exist, because it is
|
||||
|
@ -98,34 +99,18 @@ Imagine a world where you're no longer being spied on because NSA, Apple and
|
|||
Microsoft no longer have backdoor access to your computer. *Imagine having the
|
||||
ability to say no, because that's what freedom is. Try to imagine it!*
|
||||
|
||||
Free Software is a revolution that we in the Free Software movement have
|
||||
rigorously upheld and fought for, over many years, but we still face an uphill
|
||||
battle because children are not taught in schools about free computing, nor are
|
||||
they encouraged to learn; they are taught to view computers as *products* to
|
||||
throw away every 1-2 years, that they can run a few *apps* on but otherwise are
|
||||
not allowed to do anything with. The *concept* of a *general purpose, fully
|
||||
reprogrammable computer* is heavily suppressed in mainstream culture. *Most*
|
||||
people in the world do not run a free operating system; the idea of a computer
|
||||
being a mere *appliance* is normalized (as opposed to the idea of it being a
|
||||
highly liberating tool for development and the expansion of human knowledge).
|
||||
|
||||
*This* is what we in the Free Software movement have fought for over the years.
|
||||
We believe that knowledge is a human right, that the ability to share, study,
|
||||
learn, adapt and modify the software is an inalienable right that everyone must
|
||||
have. [The four freedoms are absolute.](https://www.gnu.org/philosophy/free-sw.html)
|
||||
|
||||
One of our biggest problem has been simply that schools and governments do not
|
||||
teach people about free computing. The right to learn, the right to read and
|
||||
the right to hack. Our governments are made up of human beings just like you or
|
||||
me, and they can be bought/corrupted; Microsoft, Apple and many others (such as
|
||||
IBM) have done this for years, having the national infrastructures governing us
|
||||
run on their proprietary systems, instead of systems that respect freedom; it
|
||||
is essential that these systems run free software, because a free and democratic
|
||||
is essential that these systems run libre software, because a free and democratic
|
||||
society should expect nothing less. Those companies buy influence *and they own
|
||||
your politicians*.
|
||||
|
||||
All of this could change very soon. Something is happening in New Hampshire,
|
||||
which could redefine our movement and give *free software* real power
|
||||
which could redefine our movement and give *libre software* real power
|
||||
instead.
|
||||
|
||||
HOW TO HELP
|
||||
|
@ -142,7 +127,7 @@ should go to New Hampshire.**
|
|||
|
||||
The organizer of the proposed bill, *Eric Gallager*, has left instructions on
|
||||
Twitter. The following is a *nitter* link, which lets you view the relevant
|
||||
Twitter thread without running non-free Javascript in your browser:\
|
||||
Twitter thread without running libre Javascript in your browser:\
|
||||
<https://nitter.net/cooljeanius/status/1479663133207764992>
|
||||
|
||||
The original Twitter URL is:\
|
||||
|
@ -175,7 +160,7 @@ If this bill is passed in New Hampshire, more states will likely follow. It
|
|||
will lead to a massively renewed drive to liberate all computer users, and US
|
||||
laws tend to be copied/pasted around the world too.
|
||||
|
||||
This bill, if passed, will have a hugely positive impact on Free Software at a
|
||||
This bill, if passed, will have a hugely positive impact on Libre Software at a
|
||||
global level.
|
||||
|
||||
You *must* support this bill. If you want to see it pass, please go to New
|
||||
|
@ -185,7 +170,7 @@ OUR ENEMIES WILL BE THERE
|
|||
-------------------------
|
||||
|
||||
The *proprietary* software companies like Microsoft and Apple will also be
|
||||
there, trying to argue the case *against* the use of Free Software.
|
||||
there, trying to argue the case *against* the use of Libre Software.
|
||||
|
||||
There is already precedent; please watch this video, which shows how Microsoft
|
||||
(for example) might behave in the reading of the bill. This video is from a
|
||||
|
@ -195,48 +180,48 @@ javascript enabled, if you wish)
|
|||
|
||||
They will try to trick the law makers by claiming things such as:
|
||||
|
||||
* **"Free software is insecure / you will get hacked"** - nothing could be
|
||||
* **"Open Source is insecure / you will get hacked"** - nothing could be
|
||||
further from the truth! Free operating systems such as GNU+Linux, FreeBSD and
|
||||
especially OpenBSD, are among the most secure operating systems available.
|
||||
* **"Free software is used by criminal hackers"** - here, they use the
|
||||
* **"Open Source is used by criminal hackers"** - here, they use the
|
||||
term *hacker* to describe someone who illegally gains access to someone
|
||||
elses computer. Don't fall for it. Maintainers of free operating systems
|
||||
elses computer. Don't fall for it. Maintainers of libre operating systems
|
||||
like GNU+Linux distros or the BSDs are actively working to make the internet
|
||||
and computers in general *more secure*
|
||||
* **"Software authors deserve to be paid!"** - In fact, many free software devs
|
||||
are *paid* to work on Free Software! Many companies, including big ones,
|
||||
* **"Software authors deserve to be paid!"** - In fact, many libre software devs
|
||||
are *paid* to work on Open Source! Many companies, including big ones,
|
||||
work on it. There are also hobbyists or otherwise unpaid people, who might
|
||||
work on Free Software for a number of reasons (wanting to make the world a
|
||||
work on Libre Software for a number of reasons (wanting to make the world a
|
||||
better place, wanting the glory of recognition for solving a major problem,
|
||||
and more often than not, simply because *it is fun to do so and you make a
|
||||
lot of friends too!*) - No, these companies (e.g. Microsoft) are only arguing
|
||||
in reality for the ability to pay their *shareholders*, and they control the
|
||||
software exclusively. In fact, free software has repeatedly and consistently
|
||||
software exclusively. In fact, libre software has repeatedly and consistently
|
||||
over the years *defined* the computing industry, creating all kinds of new
|
||||
employment opportunities; for example, docker is widely used today and it is
|
||||
free software, used by millions of companies for commercial gain, and the
|
||||
libre software, used by millions of companies for commercial gain, and the
|
||||
apache web server revolutionized the web back in the day, enabling lots of
|
||||
ISPs to easily host websites - many of the common protocols that we depend
|
||||
upon today, that businesses depend upon (and get paid to maintain or provide
|
||||
services/support for) are in fact free as in freedom!
|
||||
* **"Developers should get recognition for their work"** - in free software, you
|
||||
* **"Developers should get recognition for their work"** - in libre software, you
|
||||
can easily make a name for yourself with relatively few resources except your
|
||||
own computer and an internet connection, plus some cheap hosting. When most
|
||||
developers work on *proprietary* software such as Windows, they don't get
|
||||
recognition; their copyright is assigned to their employer (e.g. Microsoft)
|
||||
who will take all the credit!
|
||||
* **"Free software is unreliable / costly to maintain"** - actually, it has been
|
||||
well known for years that free software is generally more stable and reliable
|
||||
well known for years that libre software is generally more stable and reliable
|
||||
than proprietary. In cases where it isn't, it is quickly improved, and in
|
||||
complete freedom. Free software has a lower cost to maintain and service, and
|
||||
you have a free market where you can choose who you hire to write/maintain it
|
||||
for you (if you won't do that yourself); meanwhile, proprietary software
|
||||
such as Windows is often full of bugs, crashes often and there is only one
|
||||
provider of support most of the time, who will charge a heavy price, while
|
||||
also charging a lot of money for the software itself - free software
|
||||
also charging a lot of money for the software itself - libre software
|
||||
is *free as in freedom*, but also usually *free as in zero price*.
|
||||
* **"Free software comes from potentially untrustworthy sources"** - This is
|
||||
pure nonsense, because the very freedoms provided by free software (access
|
||||
* **"Libre software comes from potentially untrustworthy sources"** - This is
|
||||
pure nonsense, because the very freedoms provided by libre software (access
|
||||
to source code, ability to work on it yourself, and see what others did)
|
||||
means that people generally do not add malware to public software sources,
|
||||
because they'd be discovered instantly. *Distributions* of GNU+Linux and
|
||||
|
@ -249,16 +234,16 @@ They will try to trick the law makers by claiming things such as:
|
|||
malware on a free system, precisely because security is handled much better;
|
||||
the design of unix-like operating systems in particular is also naturally
|
||||
more secure, due to better separation of root/user privileges.
|
||||
* **"Free software isn't controlled, and is unknown."** - this is completely
|
||||
false. These non-free software companies are only talking about *their*
|
||||
* **"Libre software isn't controlled, and is unknown."** - this is completely
|
||||
false. These non-libre software companies are only talking about *their*
|
||||
control, and it's quite telling that they completely disregard yours, in this
|
||||
very sentence. In fact, Free Software *is* controlled, but it's not controlled
|
||||
by some external entity; *your* installation of free software is controlled
|
||||
very sentence. In fact, Libre Software *is* controlled, but it's not controlled
|
||||
by some external entity; *your* installation of libre software is controlled
|
||||
by *you*.
|
||||
|
||||
If you're familiar with the *Matrix* films, proprietary operating systems like
|
||||
Windows/MacOS are basically like the Matrix; bland, no individuality, no
|
||||
independent thought, everything tightly controlled. By contrast, free operating
|
||||
independent thought, everything tightly controlled. By contrast, libre operating
|
||||
systems (such as GNU+Linux distributions or the BSDs) are like zion/io; vibrant,
|
||||
full of life, buzzing with activity, everything loose and free, and everyone
|
||||
is different (a highly diverse culture of people from all walks of life, acting
|
||||
|
@ -278,13 +263,13 @@ your own computer, and they actively pursue tactics (such as DRM) to thwart you.
|
|||
|
||||
Microsoft and Apple are not your friends. There is no such thing as the
|
||||
Windows community. When you use proprietary systems, you are isolated from
|
||||
everyone around you, and so are they. *You* are the product, for the non-free
|
||||
everyone around you, and so are they. *You* are the product, for the proprietary
|
||||
software to exploit at the behest of their developers who only care
|
||||
about *money*.
|
||||
|
||||
However, there *is* such a thing as the Free Software community. It is a
|
||||
However, there *is* such a thing as the Libre Software community. It is a
|
||||
vibrant community, consisting of millions of people collectively all over the
|
||||
world, and they are all free to work with each other infinitely. It gave us
|
||||
most of the technology that we take for granted today, including *the modern
|
||||
internet, where ISPs run free software almost exclusively!*
|
||||
internet, where ISPs run libre software almost exclusively!*
|
||||
|
||||
|
|
Loading…
Reference in New Issue