[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNU-linux-libre] Hardware related confusions, Was: MAME
From: |
Denis 'GNUtoo' Carikli |
Subject: |
[GNU-linux-libre] Hardware related confusions, Was: MAME |
Date: |
Sun, 3 Apr 2016 12:15:43 +0200 |
On Fri, 1 Apr 2016 20:42:40 +0200
Jean Louis <address@hidden> wrote:
> It is good to remember that "free firmware" cannot be free software,
> as there is no corresponding source code for that. It is firmware.
On Fri, 1 Apr 2016 19:14:23 -0300
Felipe Sanches <address@hidden> wrote:
> Now people seem to thing that the definition of "firmware" is
> something like "piece of lowlevel program without freedom-respecting
> source-code" :-P That's not true! Look how crazy this situation has
> got
That's because they have a very confusing understanding of what a
firmware really is.
This is probably because:
- "Firmware" is used in many different contexts. I like the definition
given before ("low level software that talks directly to the
hardware") There is still room for improvements though.
I would add the fact that it's not a generic purpose software.
- Technology changes too fast, that has several consequences:
- People continue to use a term when it no longer applies. Let me
give a fictitious example:
Imagine that the free software community had functional free
software firmwares for non-smart phones[1] (called feature phones in
jargon) before the smartphones would appear.
Now when smartphones would appear, people would continue using the
term fimrware[1] for a while, when relating to the software that
runs on such devices.
- Few people can gasp how the hardware works. Even computer
science courses in universities don't go in great details on the
topic. Many people with interest in computers get more or less how a
CPU worked many years ago. But most people with interest in
computers often don't deal with low level software.
- Among the people who deal with low level software, most of them are
really specialized, and few touches very different areas of low
level software.
- Some free software projects like the Linux kernel are confusing
since they threat all "big data that you have to send to a
peripheral for it to work" as "firmware" regardless of the fact
that it might not be a firmware.
- Proprietary software is even worse: Many of such data are
proprietary software, and as such, you can't even know if it's a
firmware(code), some register dump, some configuration format, or
whatever. Sometimes it's even encrypted (like with the Intel CPU
microcodes). So you send "Something" to the hardware, but you have
no clue what it is.
However the free software community often have clues on what it
does permit. For instance if you don't send that data[2] to your ATI
GPU, 3D acceleration will stop working.
Sometimes the hardware works fine without that data. Sometimes
manufacturer such as Intel document what doesn't work without that
data (called microcode here), for their CPU.
- Some hardware have code in ROM:
- Sometime the data is a "patch file", this is to permit patching
bugs in that code. The "patch file" has no permanent effects, you
have to load it each time you start the peripheral.
- Sometimes it's just a full firmware that is run instead of what
is in the ROM. This is to have the same effects than above
(fixing bugs).
I may have missed some of the reasons (yes there might be even more of
them).
I feels like that: https://xkcd.com/386/
Making related free software projects explain it in a way that regular
people can understand would be the first step in fixing it.
This is what Replicant is working towards
with: http://www.replicant.us/freedom-privacy-security-issues.php
There is still lot of room for improvement, especially to make it
easier to understand for less technical people.
Maybe something like it should be done for libreboot too.
This kind of documentation is really important for such projects.
This is what makes it possible for users to appropriate themselves the
technology. I think it's as important as the code[3].
References:
-----------
[1]This is fictitious.
[2]Such data is in fact composed of several files, some are probably a
firmware, some probably are register dump, maybe there is some
configuration too? I didn't look into it yet.
[3]Think of users not running libreboot and Replicant. Also for users
running it, it might be more or less important depending on their use
case(like journalism in repressive countries for instance).
Denis.
pgpFC4ZK4FKl8.pgp
Description: OpenPGP digital signature
- Re: [GNU-linux-libre] MAME, (continued)
- Re: [GNU-linux-libre] MAME, Felipe Sanches, 2016/04/01
- Re: [GNU-linux-libre] MAME, Jean Louis, 2016/04/01
- Re: [GNU-linux-libre] MAME, Felipe Sanches, 2016/04/01
- Re: [GNU-linux-libre] MAME, Felipe Sanches, 2016/04/01
- Re: [GNU-linux-libre] MAME, Jean Louis, 2016/04/01
- Re: [GNU-linux-libre] MAME, Felipe Sanches, 2016/04/01
- Re: [GNU-linux-libre] MAME, Jean Louis, 2016/04/01
- [GNU-linux-libre] Hardware related confusions, Was: MAME,
Denis 'GNUtoo' Carikli <=
- Re: [GNU-linux-libre] Hardware related confusions, Was: MAME, Jean Louis, 2016/04/03
- Re: [GNU-linux-libre] [Libreboot-dev] Hardware related confusions, Was: MAME, Francis Rowe, 2016/04/04
- Re: [GNU-linux-libre] [Libreboot-dev] Hardware related confusions, Was: MAME, Alexandre Oliva, 2016/04/04
- Re: [GNU-linux-libre] [Libreboot-dev] Hardware related confusions, Was: MAME, Alexandre Oliva, 2016/04/04
- Re: [GNU-linux-libre] MAME, Alexandre Oliva, 2016/04/02
- Re: [GNU-linux-libre] MAME, Denis 'GNUtoo' Carikli, 2016/04/02
- Re: [GNU-linux-libre] MAME, Denis 'GNUtoo' Carikli, 2016/04/02
- Re: [GNU-linux-libre] MAME, Denis 'GNUtoo' Carikli, 2016/04/02
- Re: [GNU-linux-libre] MAME, Denis 'GNUtoo' Carikli, 2016/04/02
[GNU-linux-libre] Please respect Mail-Followup-To header, J.B. Nicholson, 2016/04/01