|
|
Log in / Subscribe / Register

Conill: the FSF’s relationship with firmware is harmful to free software users

Ariadne Conill writes about the FSF's policy toward proprietary firmware and, specifically, the rules for "Respects Your Freedom" certification.

Purism was able to accomplish this by making the Librem 5 have not one, but two processors: when the phone first boots, it uses a secondary CPU as a service processor, which loads all of the relevant blobs (such as those required to initialize the DDR4 memory) before starting the main CPU and shutting itself off. In this way, they could have all the blobs they needed to use, without having to worry about them being user visible from PureOS. Under the policy, that left them free and clear for certification.

This is not a new story; see Papering over a binary blob from 2011, for example.


to post comments

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 1:11 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (50 responses)

I have a lot of disagreements with this article. One of the biggest is that it misrepresents the FSF in several significant ways.

It starts from the beginning,

> The normal Linux kernel is not recommended by the FSF, because it allows for the use of proprietary firmware with devices

https://www.gnu.org/distros/free-distros.en.html recommends PureOS, which uses the Debian kernel, not Linux Libre.

There are various arguments people made over here:

https://news.ycombinator.com/item?id=30042576

Almost feels below LWN's standards.

I am interested in exploring ideas to improve RYF. A key factor for that to happen is for the FSF to hire someone on the licensing team, returning it to it's normal size of 2 people. It went down to 1 last summer.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 1:47 UTC (Mon) by developer122 (guest, #152928) [Link] (10 responses)

Their policy harms user freedom because, in the absence of real freedom for sale in the market, they push hard for the appearance of freedom - freedom theater.

Modern devices require blobs of all kinds for their basic function. These blobs contain 0% free software code and never will. They're custom-written for the hardware that needs them.

ANOTHER LICENCE CANNOT FIX THIS. THIS IS NOT A LICENCING PROBLEM.

Instead the FSF policy is to bury these mandatory blobs as deeply in the hardware as possible, as ROMs if need be. They would prefer that nobody know that the blobs exist, not think about them, and to DEFINITELY not interact with them. The blobs should be completely inaccessible from the Free OS.

But this means that the blobs are much harder to know about. Much harder to inspect. Much harder to understand. Much harder to verify (in)security of. And by the letter of the RYF policy and the FSF thinking that created it, absolutely impossible to replace with Free alternatives. All of this is robbing the end user of actual, practical Freedom.

The RYF was not created in a vacuum, and to move past it will require a *radical* rethinking of the FSF policy on firmware that informed it's creation.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 1:53 UTC (Mon) by developer122 (guest, #152928) [Link] (3 responses)

As for the upstream market, the only way the blobs situation in the market is going to improve is through Open Hardware. LibreSoC, OpenPOWER, the growing number of FPGAs with open toolchains, and hopefully something that isn't proprietary out of RISC-V.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 7:04 UTC (Mon) by gfernandes (subscriber, #119910) [Link]

Agree with this.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 10:39 UTC (Mon) by Vipketsh (guest, #134480) [Link] (1 responses)

> FPGAs with open toolchains

This is very nifty and a lot can be done with them in their own right, but any suggestion that FPGAs are in any way a viable path for Open Hardware is out of touch with reality.

In general-purpose computing with an FPGA you are orders of magnitude (note the plural), slower, more power hungry and expensive than any silicon solution. I doubt anyone would pay a lot more just to be "open" with the worst device. There are situations where FPGAs win out (AI & DSP), but nothing in general-purpose computing.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 23:00 UTC (Mon) by developer122 (guest, #152928) [Link]

They aren't going to give you top performance of a xeon, but they are perfectly serviceable for a LOT of applications. Service processors, roots of trust, and low-power/performance devices. You need a lot of small cores and glue logic in modern devices. Raptor's machines use them to implement the interface POWER processors expect to load firmware from, and adapt it to SPI flash.

You also need something to actually simulate and develop designs on. It's been invaluable for the development of lots of RISC-V stuff in addition to LibreSoC bits.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 2:31 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (2 responses)

> Instead the FSF policy is to bury these mandatory blobs as deeply in the hardware as possible, as ROMs if need be. They would prefer

You are misrepresenting FSF, like the article does.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 2:34 UTC (Mon) by developer122 (guest, #152928) [Link] (1 responses)

You can claim "misrepresentation" all you please. It's all right there in the RYF policy.

And then there's https://twitter.com/marcan42/status/1377899937170554883

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:59 UTC (Mon) by IanKelling (subscriber, #89418) [Link]

Maybe misrepresent was the wrong word. I disagree with your interpretation of the criteria. Anyways, reading back my comment it sounds dismissive, and doesn't address your points, sorry, I would delete it if I could.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:54 UTC (Mon) by gfernandes (subscriber, #119910) [Link] (1 responses)

__because, in the absence of real freedom for sale in the market, they push hard for the appearance of freedom__

Freedom of sales was never t goal. I really don't know what you're talking about.

The FSF's sole purpose is to protect the freedom of the user. Not the freedom of the seller at all.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 13:50 UTC (Mon) by willy (subscriber, #9762) [Link]

I think you misunderstood the intent.

As a user I wish to buy a Free product.
There is no Free product available on the market.

Obviously, you can't buy freedom. Clumsy wording on developer122's part, but I understood what they meant.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 7:28 UTC (Mon) by IanKelling (subscriber, #89418) [Link]

> ANOTHER LICENCE CANNOT FIX THIS.

Is this a reference to my comment about the licensing team? That is because the FSF licensing team happens to do most of FSF's work on RYF, and having that team staffed would allow them to have some time in their day to think about policy. It wasn't meant to be a reference to software licensing.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 3:33 UTC (Mon) by mjg59 (subscriber, #23239) [Link] (36 responses)

> I am interested in exploring ideas to improve RYF.

A pretty simple improvement here would seem to be to promote hardware where non-free firmware can be replaced with free firmware rather than hardware where the non-free firmware cannot be replaced.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:00 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (35 responses)

> A pretty simple improvement here would seem to be to promote hardware where non-free firmware can be replaced with free firmware rather than hardware where the non-free firmware cannot be replaced.

By "can", I think you mean not now, but hopefully eventually when the nonfree firmware is released as free, or if someone creates a free version independently. RYF hopefully already promotes people buying that hardware and doing that work in order to get it certified. You're proposed change to RYF doesn't seem simple, it seems like there are a lot of factors to consider and I've just mentioned one.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:28 UTC (Mon) by developer122 (guest, #152928) [Link] (2 responses)

The FSF explicitly recommends through RYF that replacing proprietary firmware be made impossible (by making it a ROM) or to disable the device entirely. They may encourage device makers in their communications to undertake that reverse engineering work, but they also require device makers to shut out everyone else from participating. If the blob is made a ROM or the device disabled, nobody purchasing the device can help develop replacement software.

Case in point: Novena when it was first developed required a proprietary GPU driver and the open replacement was underway but unfinished. For RYF certification it was explicitly communicated by the FSF that Novena had to mechanically fuse out the GPU so that the proprietary driver could not be used. Otherwise they would not be RYF certified.

Had they done as asked, only they alone could have worked on the etnaviv open driver and it likely would not exist today. Every one of their customers, and potential collaborators, would have received disabled hardware. The didn't however, and some time later the driver was finished, outperforms the proprietary driver, and is available to *absolutely everyone* with a Novena computer regardless of when they purchased it.

Something is seriously wrong when an FSF policy directly prevents people from participating in the development of Free Software.

Value of certification?

Posted Jan 24, 2022 6:46 UTC (Mon) by zdzichu (subscriber, #17118) [Link]

For me, it's close to 25 years of using Linux and enjoying being in the open source community. But this is the first time I hear about "RYF certification". I had to search to confirm my suspicion what could it be (it's "Respects Your Freedom", launched by Free Software Foundation).
Personally, I don't see a point in getting devices specifically RYF certified. And I would say "don't bother" to manufacturers.
On the other hand, I heard about Novena laptop. I applaud their efforts and I'm happy they provide open hardware to the users. This requires actual work, and there is no (positive) effect of getting obscure "RYF-certified" rubberstamp.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 11:25 UTC (Mon) by mfuzzey (subscriber, #57966) [Link]

>Novena when it was first developed required a proprietary GPU driver and the open replacement was underway but unfinished. For RYF certification it was explicitly communicated by the FSF that Novena had to mechanically fuse out the GPU so that the proprietary driver could not be used. Otherwise they would not be RYF certified.

Though this isn't a *firmware* problem.
The vivante GPU in the i.MX6 does not have firmware, at least not any that has to be uploaded to it, no idea how it works internally (it may have some non volatile firmware, potentially upgradable in an unpublished way).
Yes initally there were only proprietary *drivers* (running on the main CPU) but now a free alternative exists in the form of etnaviv integrated upstream in both the kernel and mesa.

I regulaly use etnaviv without any firmware on i.MX6 devices that have never booted with a blob driver.

Other GPUs (like adreno), do have firmware though and the firmware blobs (which run on the GPU itself) are required even when using the open freedreno drivers.

But of course this just makes the the FSF position even worse if they require disabling hardware *today* just because it doesn't *yet* have a free driver.
Even if it were just restricted to firmware who's to stay that hardware that only has proprietary firmware today won't have free firmware tomorrow?

The article is also slightly wrong about wifi saying " based on the Freescale (now NXP) i.MX 6 CPU, which has an integrated Vivante GPU and WiFi radio"
The i.MX6 does not have integrated wifi and the Novena doesn't have an onboard wifi chip either, rather an mini pcie slot which can be used for a wifi card.
However it is very likely that whatever wifi module was used did require firmware so that's just a minor nitpick.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:35 UTC (Mon) by developer122 (guest, #152928) [Link] (12 responses)

The change, in actuality, is quite simple: retract the RYF requirements, specifically the requirement that proprietary firmware be made a ROM that is non-replaceable or that the device using the proprietary firmware be mechanically disabled.

This would permit *everyone* to analyse the blob, reverse engineer the blob, participate in the development of a replacement using their purchased hardware, and to eventually swap in the free alternative when it becomes available.

It would also allow some group of users the freedom to run the blob, if they so wished, and it is this possibility that terrifies the FSF.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:39 UTC (Mon) by developer122 (guest, #152928) [Link] (11 responses)

Of course, funny enough, in many cases the users were already going to be running the blob anyway.

In the case of the Librem, it just doesn't pass through the main CPU as *data* first (but through some obfuscated secondary processor).

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 16:36 UTC (Wed) by Wol (subscriber, #4433) [Link] (10 responses)

And how many of these blobs were written in assembly or machine code?

Okay, I guess quite a few MAY have been written in some higher language and cross-compiled, but if the blob is small, on a proprietary processor, it could well be the blob is - approximately - "the preferred form for modification".

In which case, we're just missing the most important item of all - the technical specs ...

Cheers,
Wol

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 18:05 UTC (Wed) by mpr22 (subscriber, #60784) [Link] (1 responses)

Machine code is not the preferred form of modification for programs written in assembly language unless you are a certain kind of historical IBM shop (and even then I'd say it was more a matter of necessity than preference).

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Mar 1, 2022 15:32 UTC (Tue) by ecm (subscriber, #129897) [Link]

Indeed, this wrong view completely ignores the benefits of an assembly language that you _cannot_ get from just disassembly. Symbol names and comments as for the big ones. In my program logic work I also make extensive use of macros to aid my sources' advanced learning and style.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 18:26 UTC (Wed) by farnz (subscriber, #17727) [Link] (1 responses)

Especially since these blobs are doing "link training" - more accurately described as working out exactly how to deform the signals so that you get the effect of instantaneous information transfer even though there's a finite transfer time along a wire. This guide for DDR4 gives you a good sense of what's involved in a typical link training setup and - it boils down, however, to a loop of "set registers from a data table, read result, update best set of registers based on the loop output". At the end of training, you get told "these are the right register values" to use, and that's it.

When I've worked with systems that do this, a long time ago, the "source" for the blob was an Excel 97 spreadsheet and some VBA to output training parameters. And the blob was a minimally structured bit of data for a sequencer inside the FPGA; it literally took the form "choose from the following N register sets the set that gets you the right output in these M registers", and then a list of register sets to try. The sequencer just programmed all M registers, toggled the "go" bit, and compared the output with the expected output - if it was the same, then done and this is the correct register set. If not, keep going until you've tried all N sets, and error if none of them work.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 29, 2022 21:55 UTC (Sat) by marcH (subscriber, #57642) [Link]

DisplayPort link training is very similar BTW. Others probably too.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 6:20 UTC (Fri) by robclark (subscriber, #74945) [Link] (5 responses)

> And how many of these blobs were written in assembly or machine code?

This is almost onto the right topic.. there is a lot of hysterical discussion about firmware.. but there is also a *wide* range of what firmware is, and what (if it is malicious) it has access to. Firmware ranges from things that run RTOS's (or maybe even linux) to things that you'd be hard pressed to describe as a "cpu".. I tend to just ignore people who have blanket positions on firmware, because if I was designing a piece of complex hw I'd want to push some logic into something I could update.. because respinning a chip if I got something wrong the first time is expensive. But discussing fw is complex because you need to understand the hw and what kind of threat it can pose. AFAIK the FSF position of "fw is bad, m'kay" isn't terribly useful.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 13:57 UTC (Fri) by khim (subscriber, #9252) [Link] (4 responses)

> I tend to just ignore people who have blanket positions on firmware, because if I was designing a piece of complex hw I'd want to push some logic into something I could update…

There's one important thing which FSF could have demanded: downgradeable firmware. IOW: if any firmware on device can be upgraded then it should be able to downgrade it, too — and you should be able to return device into “factory-shipped state”, absolutely.

That is some important thing which may practically help the end-user, which doesn't affect anyone who doesn't try to restrict user and which I would have been very glad to have.

Even if factory-shipped firmware is buggy and not as robust as “latest and greatest” the ability to go back to that state is quite valuable.

Other than that… I don't see what else you may want WRT any firmware whatsoever.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 14:49 UTC (Fri) by excors (subscriber, #95769) [Link] (3 responses)

> There's one important thing which FSF could have demanded: downgradeable firmware.

That defeats many of the security benefits of upgradeable firmware. If the vendor finds a vulnerability and pushes a security update to users, an attacker can read the vulnerability announcement and/or reverse-engineer the update to find the bug, then simply downgrade an updated device to an old vulnerable firmware release and exploit it.

Any sensibly-designed secure boot architecture will have anti-rollback support, specifically to prevent those downgrade attacks. (See e.g. https://www.psacertified.org/blog/anti-rollback-explained/)

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 15:35 UTC (Fri) by khim (subscriber, #9252) [Link] (2 responses)

> Any sensibly-designed secure boot architecture will have anti-rollback support, specifically to prevent those downgrade attacks.

And any freedom-respecting hardware would include a way out of that. Here's how you do that for ChromeOS devices. And here is how you rollback the Pixel phones.

It's not question of ideology or certain certificates. It's just practical need to be able to return to the “factory shipped” mode. You either owner and then should be able to do that or you are not owner and then it shouldn't be framed as sale of the device.

> If the vendor finds a vulnerability and pushes a security update to users, an attacker can read the vulnerability announcement and/or reverse-engineer the update to find the bug, then simply downgrade an updated device to an old vulnerable firmware release and exploit it.

Only if vendor is an idiot and couldn't distinguish between attacker and owner of the device. But if vendor is an idiot and couldn't even design system for that… then where the idea that anything else would be designed correctly comes from?

Yes, sometimes you need to, gasp, add $0.01 physical knob for that to work, but that is not a big deal to demand and pay for.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 16:11 UTC (Fri) by Wol (subscriber, #4433) [Link] (1 responses)

> Only if vendor is an idiot and couldn't distinguish between attacker and owner of the device. But if vendor is an idiot and couldn't even design system for that… then where the idea that anything else would be designed correctly comes from?

How is a vendor to know that? You need to throw in a third hat - the hat of possessor. Are they the owner? Are they an attacker? Or are they a user?

Too many people take the simplistic line "possessor == owner". Would it were that simple ...

Cheers,
Wol

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 16:35 UTC (Fri) by khim (subscriber, #9252) [Link]

> Too many people take the simplistic line "possessor == owner". Would it were that simple ...

That's perfectly sensible approach for the $5 “smart lightbulb”. If your margins don't make it possible to employ more sensible route then just go with “possessor == owner”.

If that's something more sophisticated then make it possible to lock it down, but leave the ability to disable that protection, too.

> How is a vendor to know that?

Why would the vendor need to know? It may give the ability to the end user to put it's own keys into the device — and noone except said user would be able to go back to factory state.

IOW: there are many schemes which may be used to combine reasonable security with the ability to reset the device to the factory-shipped state, but, indeed, there are no single “perfect” answer.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:37 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (5 responses)

> You're

Excuse me. Your

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:42 UTC (Mon) by developer122 (guest, #152928) [Link] (4 responses)

Oh look, it's the pedant who keeps harassing open source software projects when they use a more freedom-granting licence than the GPL.

https://twitter.com/marcan42/status/1376843838052962308

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 7:53 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (2 responses)

There's no pedantry in correcting your own mistake. I didn't harass any project. Please try to remember the comment guideline "Please try to be polite, respectful, and informative." I suggest emailing me directly if you want to discuss those things further.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 2:15 UTC (Tue) by NYKevin (subscriber, #129325) [Link] (1 responses)

Y'know, seeing people nitpick the English language at each other doesn't really strike me as doing any of those things, either. It might be best for everyone, on both sides, to focus on substance over form.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 16:38 UTC (Tue) by nybble41 (subscriber, #55106) [Link]

> seeing people nitpick the English language at each other

The original comment and the correction were posted by the same user. No one was nitpicking anyone else's language.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 11:34 UTC (Mon) by beagnach (guest, #32987) [Link]

a) Opening a bug clearly not harassment.
b) You obviously feel strongly about certain positions and actions the FSF and Ian Kelling have taken. Maybe for some good reasons. However acting like an obnoxious ass is not a good way of communicating those reasons. And you are acting like an ass.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:56 UTC (Mon) by mjg59 (subscriber, #23239) [Link] (12 responses)

No, I mean that hardware that has the potential to run free firmware is preferable to hardware that can never run free firmware. RYF currently endorses the latter rather than the former, which means people who buy RYF hardware have no way to increase the freedom of their hardware.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 7:18 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (11 responses)

> No, I mean that hardware that has the potential to run free firmware is preferable to hardware that can never run free firmware.

By "hardware that can never run free firmware", are you talking about hardware that runs nonfree firmware but is not replaceable or hardware that simply doesn't have capability to run any firmware at all, or both?

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 7:29 UTC (Mon) by mjg59 (subscriber, #23239) [Link] (7 responses)

That's a great question that has some interesting philosophical issues! Is hardware whose behaviour can never be altered better or worse than hardware that can be convinced to behave differently? From the user freedom perspective, it seems like the latter would be better - making it easier for people to repurpose hardware to act in ways its designers never anticipated seems like a win.

So taking that into account - when I say "hardware that can never run free firmware", it feels like hardware that can have its behaviour altered ought to be preferable to hardware that has inherent and unalterable behaviour. And, in that case, there's a gradient. Hardware that runs free firmware is ideal. Hardware that theoretically could run free firmware but currently can't is hardware that /could/ be converted to hardware that runs free firmware, so it's user-hostile but not as bad as it could be. Hardware that, as far as we know, runs non-free firmware that can only be replaced with other non-free firmware (eg, hardware that only runs firmware that has a manufacturer signature) is worse, but there's a possibility that a vulnerability in the signature validation code would allow us to run free firmware on it. Hardware that reads non-free firmware out of ROM could, theoretically, have that ROM replaced with one that contains free firmware. Hardware that has no firmware at all can never have its behaviour changed, and so the user has no ability to alter its behaviour.

RYF currently pushes users towards either the former one (good!) or the latter two, and as a result discourages people from buying hardware that exists in a space where, in theory, a software update at a later point in time could transition it into a state where the users have additional freedom. That doesn't seem like a choice that long-term improves the availability of free firmware.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 0:26 UTC (Tue) by pabs (subscriber, #43278) [Link]

There is also hardware that runs free firmware but requires the firmware to be signed, which means that the free firmware is effectively non-free firmware.

An example of this is Intel's Sound Open Firmware project, where the project itself is libre, but various laptop vendors have required Intel's signatures on the uploaded binaries.

https://www.sofproject.org/

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 13:42 UTC (Fri) by anton (subscriber, #25547) [Link] (5 responses)

Yes, there's hardware that cannot be changed. And then there is firmware (i.e., in ROM) for programmable hardware, and software that's also called firmware because it replaces what would otherwise be firmware, but it's software because it can be updated; it resides in flash or in RAM loaded on system startup.

There's a reason why manufacturers use firmware or software instead of hardwiring everything, and why they use software rather than firmware: it enables faster time-to-market because immature software is more acceptable than immature firmware or immature hardware. The manufacturer just delivers an update for software, while immature firmware may cause a recall.

Concerning "respects your freedom", I have not looked closely at it, but it seems to me that there are two aspects at work here:

One is the practicality of distinguishing hardware from firmware. Can they do it, and if so, how? E.g., is the PLA of the 6502 instruction decoder hardware or firmware? By contrast, it is far easier to distinguish software from firmware: If somebody can update it, it is soft.

The other is the tactical question of how to get manufacturers to make the software free: It seems to me that the idea is that if they give the manufacturers the choice to forego either the dubious advantages of proprietary software or the advantages of using software rather than firmware, manufacturers will choose the former. Unfortunately, it seems that until now most manufacturers choose to forego the advantage of "respects your freedom" labeling.

But OTOH, if you stick "respects your freedom" on a piece of hardware where not all software is free, the label becomes a freewashing exercise. Some suggest that the option of turning the software into firmware also opens an avenue to freewashing, and maybe the criteria should be tightened, but that would also need an answer to the question of how to distinguish firmware from hardware.

Concerning future free software, I find it totally appropriate for a manufacturer to not get the label while that software is not there, and getting the label as soon as it is there. If they want the label, this approach increases the probability that they won't slack off until they succeeded.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 16:12 UTC (Fri) by khim (subscriber, #9252) [Link] (4 responses)

> The other is the tactical question of how to get manufacturers to make the software free.

It's not the “tactical question”. That ship have already sailed.

And you either accept that fact and deal with it or you invent useless and pointless certificates.

> If they want the label, this approach increases the probability that they won't slack off until they succeeded.

They don't want it. I have only know about it's existence because I have read about it in the article which made it absolutely clear to me why I don't want it.

I know a lot of devices which were made with an idea to empower their users and give them the ability to tinker with different things: Arduino and Raspberry Pi, Flipper Zero and HiFive Unmatched, there are lots of them. What they have in common is the fact that they don't have that silly “respects your freedom” moniker as long as it can only be given to crippled and obsolete hardware which nobody needs and very few want.

Once upon time FSF was at the very center of FOSS and tinkerers world. Today it pushes itself further and further into irrelevancy.

And instead of thinking about how to return the mindshare (it doesn't matter what you are writing or certifying if people are not looking for cooperation with you) it does things which make it less and less relevant.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 17:36 UTC (Fri) by anton (subscriber, #25547) [Link] (3 responses)

They don't want it.
In that case, why worry about what the requirements for that label are?

As for positions of the FSF, they have always been minority positions. The purpose of the FSF is not compatible with adjusting their positions to achieve maximal mindshare (i.e., becoming proponents of proprietary software).

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 18:10 UTC (Fri) by khim (subscriber, #9252) [Link] (2 responses)

> The purpose of the FSF is not compatible with adjusting their positions to achieve maximal mindshare

Before Linux even arrived FSF was making GNU tools available for proprietary OSes. Specifically to make sure people would be able to use them for their own needs. And maybe later would become a GNU developers.

So it was capable of doing that long time ago.

> i.e., becoming proponents of proprietary software

You don't have to become proponents of proprietary software. But have to admit that it exists.

FSF tries to play very strange game and pretend that if you just stop talking about proprietary software it would, somehow, disappear.

This is naive. Specifically because of that:

> As for positions of the FSF, they have always been minority positions.

Instead of promoting anything at all you are just becoming a laughing stock.

> In that case, why worry about what the requirements for that label are?

Because their propaganda makes life harder for people. If I want to install Debian then I have to seek some “kinda-sorta-unofficial-except-produced-by-the-same-people-who-make-official” image.

Which, frankly, just makes life harder for newbies and achieves nothing else.

RYF label? Frankly, I'm surprised it still exists. If Ariadne Conill wouldn't have written it's article I wouldn't have even known it's still there and even includes some strange things, like four-figure motherboards.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 18:44 UTC (Fri) by anton (subscriber, #25547) [Link] (1 responses)

Before Linux even arrived FSF was making GNU tools available for proprietary OSes.
And many of them still are (although sometimes with fewer capabilities than on free OSs). But the FSF never claimed that the proprietary OSs respect your freedom.

I have no idea what your Debian installation problem is about and what it has to do with the FSF. Debian policy is determined by Debian Developers, not the FSF, and is sometimes at odds with FSF policy; e.g., manuals for GNU software are usually considered non-free packages by Debian, or not packaged at all.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 19:02 UTC (Fri) by khim (subscriber, #9252) [Link]

Please don't feign ignorance.

Situation with Debian is more-or-less-the-same as with RYF certifications: Debian wanted to be endorsed by FSF, crippled their official installers to do so, failed to achieve that goal. This article is similar to papering over a binary blob in more ways than one: yes, the problem with FSF is more than a decade old, yet everything is the same even today: Debian is needlessly crippled yet FSF doesn't recommend it because it's not crippled enough.

> Debian policy is determined by Debian Developers, not the FSF, and is sometimes at odds with FSF policy; e.g., manuals for GNU software are usually considered non-free packages by Debian, or not packaged at all.

True. And I, for one, would have been happier if Debian stopped these useless attempts to get endorsement from FSF, made an official installation DVDs actually usable (and thus reduced workload: they already provide usable DVD images, you just have to dig a little on the website to find them) but, apparently, not everyone agrees.

RYF does similar harm: people are crippling their devices for no good reason and this doesn't, really, help anyone. That's what the article which we are discussing says.

Thankfully both FSF's OS distribution enforcement and RYF-list are freak sideshows which affect very few people, but they still do some harm, thus couldn't be completely ignored.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 8:52 UTC (Wed) by marcH (subscriber, #57642) [Link] (2 responses)

> or hardware that simply doesn't have capability to run any firmware at all

Is there still any product like this?

A toaster maybe? A very cheap one.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 12:38 UTC (Wed) by bosyber (guest, #84963) [Link]

At the moment I'd almost expect only expensive, special ones or old ones not too, everything else probably has some firmware which makes it either a toaster or a milk-foamer (no indeed those cheap ones really are just a simple on/off circuit still ;)

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 13:29 UTC (Wed) by excors (subscriber, #95769) [Link]

https://hackaday.io/project/159569-the-toaster has a toaster teardown which finds a "Crastal" microcontroller. https://wiki.restarters.net/Toasters says "More modern toasters use a microcontroller to perform the timing function, interfacing to a set of push buttons and LEDs or other controls with which to set the desired toasting time". NXP has a document at https://www.nxp.com/docs/en/application-note/AN3414.pdf suggesting how to build a toaster with a microcontroller (they recommend one that's 16MHz, 8-bit, 2KB flash, 128B RAM).

https://youtu.be/zLFG068HtgM shows an $8.88 toaster which uses a "multiple furnace disabilities timing IC" which (according to the datasheet) is designed specifically for toasters and includes a single-sided heating mode for bagels. That's definitely not programmable as packaged (it only has 4 pins), but it's not clear if it has a microcontroller hidden inside it.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 5:07 UTC (Mon) by pabs (subscriber, #43278) [Link] (1 responses)

RYF needs to acknowledge that reverse engineering of proprietary software/firmware is something that can happen and is often the main path to replacing a piece of proprietary software/firmware with libre software/firmware. Placing that proprietary software/firmware away on secondary processors, hidden flash storage or ROMs only reduces the chance of that process from occurring. So RYF should incentivise manufacturers like Pine64, Novena or Purism to be *transparent* about all their blobs and *require* they either be loaded into the device RAM by the libre driver, or that the mechanism for updating the device flash be either publicly documented or have libre software to do it.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 15:09 UTC (Mon) by jfred (subscriber, #126493) [Link]

>RYF needs to acknowledge that reverse engineering of proprietary software/firmware is something that can happen and is often the main path to replacing a piece of proprietary software/firmware with libre software/firmware.

This is a good way of putting this, I think, because the FSF and GNU got their start in much the same way. Had most of UNIX's functionality been implemented in non-upgradable firmware rather than software, would GNU have been able to replace it piecemeal the way that it did? Or take the apocryphal printer story: if most of its functionality had been implemented in non-upgradable firmware rather than software, Stallman still wouldn't have been able to solve his problem even had the driver been free.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 1:33 UTC (Mon) by flussence (guest, #85566) [Link] (25 responses)

I've known this since the one incident where Stallman showed up to disrupt an Xorg developer talk waving around a cringe-inducing "Don't buy from ATI" sign (that must've dated it to around 2007). Notably the FSF never supported the struggling radeonhd project and its attempts to reverse-engineer open firmware for that hardware; they would rather push people toward the nvidia driver instead… because the firmware blobs were baked into the driver blob.

Saying it's only firmware they're ignorant about is a bit of an understatement. The FSF has a long and embarrassing history of dreaming up pointless, perverse incentives for tearing down software they don't like, with disproportionately large effort dedicated to bullying FOSS ones — radeon above, the whole farce about denying interop between *emacs and GCC*, and a more recent example is uutils, where a FSF troll went out of his way to harass them for not using the GPL (and then threw a tantrum at *github* because their login page's "non-free JS" impeded the process of being an asshat - talk about missing the point!)

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 2:16 UTC (Mon) by IanKelling (subscriber, #89418) [Link] (13 responses)

I think you are talking about me regarding the nonfree javascript, which the FSF advocates against: https://www.gnu.org/philosophy/javascript-trap.en.html. Please don't call me an asshat in comments here, especially over something you've never bothered to contact me about.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 2:37 UTC (Mon) by developer122 (guest, #152928) [Link]

No, there was a quite vocal person who has now erased their comments on the "not GPL" github issue for the rust reimplementation core utils. One who proceeded to fork the repo and violate the MIT licence by not providing credit and was then called out for it.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 2:54 UTC (Mon) by flussence (guest, #85566) [Link] (4 responses)

The most notable thing about this response is that you're angry about being caught, not sorry that you did it.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:37 UTC (Mon) by oldtomas (guest, #72579) [Link] (3 responses)

The way I read it is that he takes issue with being called an asshat, which is understandable.

I find that disgusting myself, too. That might be OK in a close circle of friends, where you know that it won't offend anyone, but definitely not in a public forum.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 17:22 UTC (Tue) by ballombe (subscriber, #9523) [Link] (2 responses)

Agreed. flussence posts are generally borderline offensive, bu this one cross the line.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 27, 2022 18:08 UTC (Thu) by flussence (guest, #85566) [Link] (1 responses)

Keeping a scorecard of a private individual's comments is generally considered creepy beyond the pale.

I made a point to not namedrop anyone, only brought up the odious behaviour of someone acting on authority of the FSF - which was a widely publicised event at the time considering Stallman had just been kicked out, and relevant here since it shows how consistently out of touch they all are with the community they try to claim ownership of.

What's borderline offensive is the immediate attempt to turn this into a litigation of terms and conditions by which FSF members may be held accountable when they barge into other people's living rooms demanding tribute.

No.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 16:19 UTC (Fri) by Wol (subscriber, #4433) [Link]

> Keeping a scorecard of a private individual's comments is generally considered creepy beyond the pale.

Is he? Or does he just remember you and has decided he doesn't like you? Reputation matters, and online personae have reputations just as much as meat-space. I'm quite happy to have a (hopefully good) reputation, but I'm sure (in fact certain) some people here consider me an idiot. Your nick is one I always recognise, in a nice way I would add ...

But nicks and names carry reputations, and some people have longer memories than others. You'll probably remember him, next time round ...

Cheers,
Wol

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:45 UTC (Mon) by developer122 (guest, #152928) [Link] (6 responses)

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 12:57 UTC (Mon) by PengZheng (subscriber, #108006) [Link] (5 responses)

It seems to me that he as a member of FSF has legitimate reasons
to remind the project leader the consequences of license choice.
Opening an issue without repetitive reopening cannot be called harassment.

The mentioned twitter is really toxic.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 16:27 UTC (Mon) by ldearquer (guest, #137451) [Link]

+1

I fail to see how Ian's post is harassment (even though I'm not too sympathetic to all of it).

The twitter posts though...

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 16:59 UTC (Mon) by NYKevin (subscriber, #129325) [Link] (3 responses)

> It seems to me that he as a member of FSF has legitimate reasons
> to remind the project leader the consequences of license choice.
> Opening an issue without repetitive reopening cannot be called harassment.

It may not be harassment, technically, but it's still highly obnoxious. If the project is not under a CLA, then "fixing" the bug would require all of the developers to agree to relicense their contributions, which is probably not realistic if you have a nontrivial number of developers. If the project *is* under a CLA, then you really should be reaching out directly to the people who actually own the copyright instead of making a scene in the GitHub issues. Regardless, it's Not A Bug because the software works as intended.

If I received a bug like this on one of my personal projects, I'd just WONTFIX it and lock comments. No response, just silently close the bug. Because, frankly, it is not deserving of a real response.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 18:40 UTC (Mon) by edgewood (subscriber, #1123) [Link] (2 responses)

For MIT->GPL, there's no need to relicense. The project governance team (which might be the sole author for some projects) can just change the repo license and start making future commits under the GPL.

All past commits will still be under the original MIT, but a mixed MIT and GPL project effectively becomes GPL. When you release code under permissive licences like MIT, you're allowing others to distribute it and modify it to make it copyleft or proprietary.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 0:05 UTC (Tue) by NYKevin (subscriber, #129325) [Link] (1 responses)

Yes, *legally* you can do that, but if you don't want it to turn into a massive flame war on the project mailing list, or at worst an outright fork, you need everyone (or nearly everyone) to agree with it. It is not at all realistic to suppose that you can just file a bug on Monday and the project will change the license on Tuesday, just like that.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 4:32 UTC (Wed) by edgewood (subscriber, #1123) [Link]

Right, that's why I said that the project governance team would need to do it. But it's a political issue, not a legal one.

For a political issue, the change is easy once the agreement to make the change is made (it is not necessarily, ahem, easy to get to this point).

For a legal issue requiring relicensing, you still have a ton of work after the decision.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 11:29 UTC (Mon) by beagnach (guest, #32987) [Link] (10 responses)

Maybe you've got some good points in there, but they're mostly obscured by your obnoxious and insulting tone.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 11:40 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (9 responses)

Being aggressive while talking politely is no less obnoxious.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 20:07 UTC (Mon) by bpearlmutter (subscriber, #14693) [Link] (8 responses)

> Being aggressive while talking politely is no less obnoxious.

I think I would have to disagree: I'd contend that aggressively disagreeing with someone, while remaining polite, contributes to more civil discourse, makes it easier for people to understand the actual issues, and makes it less emotionally challenging for people to change their minds.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 11:36 UTC (Tue) by nye (guest, #51576) [Link] (7 responses)

I disagree with this for numerous reasons, but one of them is very practical and straightforward: if somebody responds only to the choice of words in a message, but not its content, then you can conclude with absolute confidence that they are acting in bad faith, have nothing of value to say, and can safely be ignored entirely.

You'll note that the message complaining about bad words was the single most obnoxious and condescending post in this entire comment section: nothing but an unwarranted personal attack with no other content. Even amongst a lot of heated comments, it's the only one which I consider to be pure trolling.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 13:38 UTC (Tue) by bpearlmutter (subscriber, #14693) [Link] (6 responses)

> I disagree with this for numerous reasons, but one of them is very practical and straightforward: if somebody responds only to the choice of words in a message, but not its content, then you can conclude with absolute confidence that they are acting in bad faith, have nothing of value to say, and can safely be ignored entirely.

I don't think that's actually true. Sometimes perhaps, but sometimes people are simply so worked up about some issue that they try to express the strength of their conviction and feeling using invective.

But be that as it may. Your statement seems to me to suggest that people strive to maintain a polite tone, in order to avoid triggering others into thinking (as you say you would) that they're arguing in bad faith.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 16:37 UTC (Tue) by nye (guest, #51576) [Link] (5 responses)

Sure, but the point that we're dancing around is what Cyberax was alluding to: it's fairly common to find people using polite phrasing to be unpleasant to somebody else, and that doesn't actually make it better than if they were using impolite phrasing to do the same. In some cases it in fact makes it worse, because they're using their choice of language as a fig leaf so that they can disingenuously claim "I was never impolite! Why are you getting so mad?", or the like.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 19:32 UTC (Tue) by bpearlmutter (subscriber, #14693) [Link] (4 responses)

I guess what you're saying is that people should not be rude while trying to argue a position, and there are many ways to be rude, with invective being only one? Good point! I completely agree! Being snide, or deliberately misinterpreting someone's words, are two examples, one of which really annoys me. But (unless carefully controlled and among people who are all tuned in to the nuances) invective is pretty much guaranteed to be rude. So I'd still recommend avoiding invective—but also avoiding other sorts of rudeness.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 20:12 UTC (Tue) by Wol (subscriber, #4433) [Link] (3 responses)

One thing to watch out for, though, and it definitely applies to me.

Look past what the other person is saying, and ask yourself "do they have justification for what they're saying?". Because I can get a bit rude when I'm annoyed and pissed off, sorry. Or I'm super polite but quite clearly furious.

The perfect recent article was when I was building a kernel, and couldn't find out where my initramfs had disappeared. Turns out I had an UNmounted /boot partition, and genkernel was mounting it, shoving the inirramfs there, and unmounting it again. Not nice, but hey ho. So I found the option "automount-boot=false". And genkernel fails with "you have /boot and you've told me not to mount it. FATAL ERROR". So wtf is the point of that option!?!?

And then I got told the fix was to set the option "install-output=false". Which promptly failed with "can't find input files".

If the response of the bug-wranglers had been "why do you want to do that" and taken my response seriously - because I don't want grub-mkconfig rendering my system unbootable - I'd have been frustrated. But because the attitude was "why would anyone want to put the initramfs in the /boot directory when they've got a /boot partition. Don't do that!", you can understand my language got a bit fruity - because doing what they thought was sensible rendered my system unbootable! (And their "fix" made matters even worse.)

(I ended up deleting /boot from fstab, which turned out to a better solution still. But it would have been nice to have been taken seriously.)

So yes. Some people are rude because they're just being aggressive. But some people are rude because they have good cause to be pissed off. Acknowledge that, and they'll probably calm down very quickly.

Cheers,
Wol

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 20:36 UTC (Tue) by amacater (subscriber, #790) [Link] (2 responses)

Wol:

I spend a bunch of time trying to help users of Debian who've done "something" along the way. I try and support them in IRC or
one of the mailing lists. I try and ask specific questions - but you rarely get the answers you need when narrowing things down.
Referring people to esr and how to ask smart questions doesn't help when they just can't remember what they've done ...

So it's trying to be dispassionate but remain interested on my part - and trying to filter irrelevancies - and trying to understand just what
process can have gone wrong. And yes, I've been on the other end - floundering, trying to work out which of five error messages
is relevant, shouting at people they don't understand me, frustrated and annoying - and breaking each of my rules of calm, consideration and assuming that folk are competent (if sometimes mistaken) and can benefit from a considered, instructive approach.

Philosophy of firmware is one of those meta-things that is very meaningful to a few, very annoying to many - and the pragmatists
feel like butting heads together. It's not one of those things that's going to go away quickly because each side starts from a view
rational to them but can't build a shared rationality - and then annoyance kicks in. It's a very similar process to trying to debug
something and accusing people of being crass or stupid because they can't see it the way you can.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 22:36 UTC (Tue) by Wol (subscriber, #4433) [Link] (1 responses)

Yep I know. But seriously, what is the point of giving a user an option and, if they select that option, bombing with a fatal error "you're not allowed to do that"? That's what pissed me off in the first place. All I wanted was for the flag to "do what it said on the tin" and it didn't.

And then I'm advised to set another flag (which doesn't do what I want) to change the destination of the output, only to discover it *also* alters where the program looks for its *input*.

I'm afraid, as a user, I consider "doesn't do what it says on the tin" bugs very serious. As a developer, I'm quite ready to say "sorry I can't fix it", but if the developer expects the user to shrug off the fact the software ISN'T WORKING, I'm sorry, that's not acceptable. I currently work for a company where customer service comes first, and if the customer has reasonable grounds for being upset, you don't answer back! The first priority is to keep the customer happy, even if there's nothing you can actually do.

And yes I do know what it's like dealing with clueless lusers :-) I'm just walking away from a piece of software where I've repeatedly asked for CLEAN input files to test on. All I've been given is files that have already been messed up in one way or another ...

Cheers,
Wol

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 27, 2022 16:41 UTC (Thu) by khim (subscriber, #9252) [Link]

> But seriously, what is the point of giving a user an option and, if they select that option, bombing with a fatal error "you're not allowed to do that"?

That one is easy: to catch mistakes. Suppose that your /boot is not, usually, available (e.g. it's not external USB stick so someone needs to bring it and plug into the machine before you can run that script). And yes, I have seen system configured like that.

In that configuration both option and error message look perfectly fine.

And if designers of that script have only thought about that usecase they would be very annoyed if you wouldn't explain that your config is different and would just complain that they are doing stupid things when they, in fact, did everything they could to support all feasible (to them) usecases.

> All I wanted was for the flag to "do what it said on the tin" and it didn't.

It did precisely what's written on the tin, just not what you expected: script, correctly, waited till you would bring and mount that elusive boot drive in /boot.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 3:01 UTC (Mon) by developer122 (guest, #152928) [Link] (2 responses)

One of the things that gets glossed over quite a lot that I think should be highlighted is the FSF equivalence of upgradability and maliciousness. In the 2011 article linked above, they're quoted:

"The current thinking is that by removing the ability for this software to be upgraded, we can effectively treat the wireless networking hardware as a circuit, and importantly, not a malicious circuit that can be upgraded."

They have _repeatedly_ argued, in the case of this phone, the novena, the librem, and countless other cases, that either the user must be stripped of the freedom to update any blobs, or the device in question must be mechanically disabled.

But why are ROM's good, while the possibility of a Free replacement bad? As noted above, this is stripping the user of the freedom to inspect/verify/modify/replace the blob with a free alternative, so it obviously comes at a huge cost. There are also plenty of harmful ROMs out there, intel boot guard being one which may prevent you from running a Free OS.

The answer is that there's a phobia that the vendor will somehow force the user to install replacement firmware which is malicious. This is somehow still a concern when the vendor is a chip vendor supplying chips with a "trusted" company like Purism or Raptor or Novena between them and the customer.

Back in reality, Raptor pushed out an update to their ethernet card to substitute the proprietary firmware with their own free alternative. Novena now uses a fully open-source GPU driver. An in every case, the user has to actually do the task of installing this update as they're running a Free OS that doesn't do the vendor's bidding.

In cases where the blob has been ROM'd? Zich. Those users are still living with a blob crawling around under the surface and forever will be.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 3:56 UTC (Mon) by zblaxell (subscriber, #26385) [Link] (1 responses)

Really what the FSF should be asking for is the ability to inspect and replace all the blobs from outside the device, so malicious firmware can be easily detected and removed (or installed--end-user freedom works both ways, and any attempt to make this interface more secure is going to require yet another firmware blob to implement the security protocol). As others have pointed out, upgradable blobs are a feature, especially in modern devices and SoCs that are networks of over a dozen distinct CPUs.

The firmware security worst-case scenario is implanted malware that can defend itself. Common SoCs have security features that disable access to stored blobs, and when malware burns those fuses the malice becomes permanent, and the device has to be discarded. There are broad similarities to the current RYF requirements: there's a modifiable blob that can no longer be modified, hope it's not malicious (or both privileged and vulnerable, which is roughly the same thing).

Some blobs (like DRAM settings) have "source" available in the form of "if you have a multi-million dollar piece of equipment and the skills and experience to use it, you can measure the dozens of parameter values you need to make the hardware work properly."
Those measurements are the same for every copy of the device under normal operating conditions (sometimes users do need to modify them for extreme temperature or power constraints). Most users can just use the values someone else measured, but this doesn't seem to meet the FSF's definition of "source code." The binary is a loop in assembly language that reads a table of register addresses and parameter values and loads them into DRAM controller registers, followed by the table.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 24, 2022 6:21 UTC (Mon) by IanKelling (subscriber, #89418) [Link]

> Most users can just use the values someone else measured, but this doesn't seem to meet the FSF's definition of "source code."

I think you may be mistaken, but I don't want to speak for FSF, I would recommend asking FSF by emaling licensing@fsf.org.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 16:08 UTC (Tue) by rsidd (subscriber, #2582) [Link] (4 responses)

This all starts from RMS finding that he couldn't fix a buggy printer driver and concluding that what the world needs is free software. No. What the world needs and needed was open STANDARDS. An entirely different thing.

It is fine if HP's printer driver is proprietary, if it is also documented. Or NVidia has a proprietary graphics driver if it is also documented. Then someone else can write a better driver for it, or a driver for a different OS.

We are almost at that situation with, say MS Office. It is proprietary but the documents are really almost interchangeable with other suites including LibreOffice. I used to protest when people sent me word files. I haven't for years now. It's really not an issue at all. Likewise PDF and many other things. The solution to the remaining glitches is to insist on better standards upstream, compliant with the upstream package (no requirement of reproducing proprietary bugs).

The confusion between "open standards" and (what RMS misleadingly insists on calling) "free software" ("open source" is much more accurate, though still not 100% so) has caused a lot of damage over the years, including in firmware issues.

Imagine if the FSF had been pushing for open standards, including in firmware. The vendor (Intel, Nvidia, Broadcom, whoever) has their binary blob, but everything is documented and anyone can make their own blob under an open source licence. It would have been a different world.

By demonizing "proprietary software" and ignoring the actual issues facing users, FSF won some battles but the war is ongoing. Things are getting better thanks to the "pragmatic" "open source" movement and not thanks to the dogmatic FSF.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 20:15 UTC (Tue) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

You really need to have both open standards and open source. If you have open standards but not open source, each person who wants to make use of the open standard needs to start over from scratch. If you have open source but not open standards, people need to waste time reverse engineering the standard before they can start anything. It's only when you have both that you can really take off. You just see open standards as more important because we have fewer of them. You're so used to having open source that you blithely assume it.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 26, 2022 1:38 UTC (Wed) by rsidd (subscriber, #2582) [Link]

I am used to "open source", yes, since the late 1990s. It is a different philosophy from, though essentially the same licence conditions as, "free software". It is explicitly a pragmatic and not dictatorial philosophy and has had 100x the success that the FSF has achieved.

But even prior to that, there was much free/open source software out there, though not explicitly called that. BSD (not a full OS yet), X11, TeX, etc. RMS simply co-opted those into the "GNU system" though they had an independent existence.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 25, 2022 21:12 UTC (Tue) by madscientist (subscriber, #16861) [Link]

> Imagine if the FSF had been pushing for open standards, including in firmware. The vendor (Intel, Nvidia, Broadcom, whoever) has their binary blob, but everything is documented and anyone can make their own blob under an open source licence. It would have been a different world.

Exactly what form would such a "push" take, and what makes you think it would have been in any way successful? The FSF created copyleft as a concrete step individual users can take to both make their own lives better and also help others at the same time, without requiring any help or attention from companies. Maybe now, after FOSS is such a huge part of the market, there is enough leverage there to convince companies to prefer open standards. Without the already-existing FOSS ecosystem this push would have had exactly zero impact.

Conill: the FSF’s relationship with firmware is harmful to free software users

Posted Jan 28, 2022 17:23 UTC (Fri) by jschrod (subscriber, #1646) [Link]

Ah yes, open standards -- like Unix(tm).

That's all that we needed to get the Unix vendor wars. I was there and still have my scars -- and I prefer FOSS to these open standard times very much, thank you.

Hardware certification & open source

Posted Jan 27, 2022 8:56 UTC (Thu) by kronat (subscriber, #117266) [Link] (31 responses)

What about FCC certifications, or other kinds of hardware certification, in which the software may be used to ensure the correct compliance? In this case, I see the FSF way as the only possible one: hide such software but let everything else visible and open.

Hardware certification & open source

Posted Jan 27, 2022 9:57 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (9 responses)

Why is hiding it better? Even if there's a requirement that only certified blobs can be run, users benefit from being able to examine the corresponding source code and verify that it compiles to an equivalent (ideally, identical) binary. The hardware would still impose restrictions on user freedom, but:

1) The user can learn from the implementation
2) The user can either take that knowledge or that source code and apply it in other situations
3) The user can identify potential security issues
4) The user can, while not being able to fix bugs themselves, potentially identify them and report them to upstream

There's probably other benefits! Hiding firmware in ROM encourages people to pretend that it's not software - we should push back on that, and encourage people to understand the benefits that free software brings even if local law prevents exercising the full power of the FSF's four freedoms.

Hardware certification & open source

Posted Jan 27, 2022 17:00 UTC (Thu) by kronat (subscriber, #117266) [Link] (8 responses)

> users benefit from being able to examine the corresponding source code [...]

I totally agree with you, but there are cases in which the corresponding source code has been written under a patent license agreement that locks the source code itself. In this case, locking that code deep inside a coffin is the best possible solution in the real world.

Hardware certification & open source

Posted Jan 27, 2022 19:28 UTC (Thu) by mjg59 (subscriber, #23239) [Link]

Why? The source is preferable to a binary representation, but it's still going to be easier for me to reverse engineer a binary blob and gain insight into what my hardware does than it's going to be to read out a ROM that's not mapped into the system address space.

Hardware certification & open source

Posted Jan 27, 2022 20:57 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Patents don't prevent people analyzing code for security issues.

Hardware certification & open source

Posted Feb 5, 2022 23:24 UTC (Sat) by JanC_ (subscriber, #34940) [Link] (5 responses)

Hiding source code is only useful when you violate patents, not when you license them…

Hardware certification & open source

Posted Feb 22, 2022 7:45 UTC (Tue) by smurf (subscriber, #17840) [Link] (4 responses)

It's perfectly useful. Patents are written in a very obscure legalese, designed to make the inner workings of the patented thing as obfuscated as possible. Otherwise you could just tweak a key part of the patented idea and replace it with something else.

If it's significantly more work to figure out how the thing is supposed to work than to reverse-engineer the code implementing it, well, there's your answer.

The flip point of this is that the patent system was envisioned to foster sharing new ideas, not to inhibit it. Unfortunately you can't point at a piece of code the same way you'd point at a piece of machinery and say "see, that's the fooselwort from my invention, it's obvious that they stole it!".

It's a real problem, but the current obfuscation in both patents and code is its worst-possible solution IMHO.

Hardware certification & open source

Posted Feb 22, 2022 9:54 UTC (Tue) by geert (subscriber, #98403) [Link]

Exactly. All Intellectual Property laws were envisioned for the greater good of society, and tried to find a good balance between the benefit for the owner and the benefit for society. But the modern approach of the owners is to try altering the deal, so we (society) constantly have to pray the deal isn't altered any further.

E.g. disclosure in patents is hampered by obfuscation.
E.g. copying for fair use and after copyright expiry is hampered by DRM, anti-circumvention laws, and repeated extention.

Hardware certification & open source

Posted Feb 22, 2022 14:03 UTC (Tue) by excors (subscriber, #95769) [Link]

> Patents are written in a very obscure legalese, designed to make the inner workings of the patented thing as obfuscated as possible.

Hmm, that doesn't seem to describe most of the patents I've looked at.

To pick an arbitrary example that would be relevant for a GPU, the S3TC texture compression patent (now expired, so there should be no risk of liability from reading it) at https://patents.google.com/patent/US5956431A/en has a perfectly readable "Background" and "Summary", explaining broadly what the new technology is for and how it works. Then there's the "Detailed description" which is still not too bad and gives most of the information you'd need to implement it. It's certainly not good technical writing, I guess because it was probably written first by an engineer (who understands the technology but may not be a great writer) and then adapted by a lawyer (who only half understands the technology and really likes saying "preferred embodiment" and referring to stupid flowcharts), but it's not actively obfuscated - if you have a reasonable level of background knowledge then you can skim over the nonsense parts and extract the important information without too much trouble.

I don't think that's an outlier; most patents that I can remember reading have a similar kind of description, some better and some worse, usually written clumsily but making a good-faith attempt to describe the technology. (Perhaps it's different in other fields though, I can't claim to have very wide experience.)

The "Claims" is the largely unreadable legalese, but that section doesn't matter when you're trying to implement the technology described in the readable sections. It only matters when you're trying to _not_ implement what was patented, so you can solve the same problem in a non-infringing way, in which case you need legal advice.

> Otherwise you could just tweak a key part of the patented idea and replace it with something else.

That's why the claims are structured as they are ("claim 6: the system in claim 5, further comprising ...", where each claim is separately enforceable) - it's a tree of variations of the idea, where the root node is the most generic and the leaves are the most specific. You can avoid one of the leaf claims by tweaking a part of the idea, but then you might be infringing a different leaf claim (if the patent writer had already thought of that tweak), and/or you'll still be infringing one of the broader claims. As you get closer to the root, the claims are more likely to get thrown out for being too obvious or for there being prior art - the more specific claims are there in case the broader ones turn out to be invalid. But none of that depends on deliberately obfuscating the idea.

Hardware certification & open source

Posted Feb 23, 2022 0:24 UTC (Wed) by JanC_ (subscriber, #34940) [Link] (1 responses)

But there is no reason for you to obfuscate your code when you licensed all relevant patents (it might be useful for the patent holder, but not for you as the licensee).

Hardware certification & open source

Posted Feb 23, 2022 1:38 UTC (Wed) by excors (subscriber, #95769) [Link]

You can never be sure if you've licensed all relevant patents, though. Maybe a patent troll will turn up years later with one that you had missed.

As I understand it, they are required to do some analysis of publicly-available materials to have reasonable confidence that you're infringing their patent before suing you; they can't sue purely speculatively. (Once they have sued with reasonable grounds, then you can be legally compelled to share your private code with them to help them prove infringement, but not before.)

It's much more economically viable for the patent troll if they can download a hundred companies' public firmware source trees and grep for their patented algorithm, than if they have to spend weeks manually reverse-engineering each firmware blob to find the ones that might infringe. So hiding your source code will increase the chances that they won't bother looking for your accidental infringements.

Hardware certification & open source

Posted Jan 27, 2022 14:17 UTC (Thu) by smurf (subscriber, #17840) [Link] (15 responses)

Why is that the only possible way? It's the worst possible way, because the thing cannot be updated.

I'd assume that malicious actors who are able to digitally sign a firmware replacement with the vendor's keys are significantly less common that firmware errors which can be more-or-less-trivially fixed with an update. Oops, the FSF certification says we can't do that, sorry about that, please buy our new-and-improved version instead, and trash the one you have?

Thanks but no thanks. There is exactly zero justification for the FSF's position on this issue (if you disregard those that won't hold up under a smidgen of scrutiny).

Hardware certification & open source

Posted Jan 27, 2022 16:40 UTC (Thu) by kronat (subscriber, #117266) [Link] (14 responses)

I remembered that there was a similar discussion on another article, and I found it: https://lwn.net/Articles/810489/ . In there you can find all the details for the certification process in both Europe and US and various other things (the discussion was centered on a phone).

My understanding is that certified software cannot be modified (nor updated!) because of the regulation: if the user can freely modify it, then it is impossible to get the certification, and if it is updated (even by the vendor itself) it has to undergo another round of a (costly) certification process. Moreover, we mere mortals cannot even have a look at it, because of the various patent license agreements that may be included in the software itself.

All in all, instead of fighting all this, which is unlikely to change, FSF choose to put such problematic software under the carpet and focus on the things that can be fixed, like the software stack that the user uses and interacts with.

Hardware certification & open source

Posted Jan 27, 2022 19:58 UTC (Thu) by Vipketsh (guest, #134480) [Link] (13 responses)

> There is exactly zero justification for the FSF's position

The justification is this: there is no difference between implementing a state machine directly using logic gates and implementing it with a processor and an embedded ROM. Both "do things", perhaps buggy perhaps not, and neither can be changed. In other words: from the outside they both look exactly the same.

However you turn it pretty much any chip that has any sort of complexity has a processor + ROM inside. It is perfectly normal for a SoC to have a ROM inside handling the boot procedure and there is no way the device could work without it (i.e. it is not reasonable for you to even think of changing it). Many chips which look like something simple with an I2C interface (e.g. many power controllers) actually have some ROM + processor inside too. The pattern is everywhere.

Somewhere along the way you have to accept that things have a processor + ROM inside. The FSF has somewhat arbitrarily decided that if the device is indistinguishable from hardware, then it's hardware and to me that makes a lot of sense. Where do you draw the line ? Do you want to have full access to microcode too ? Perhaps demand your 3-4GHz processor come on a fully programmable logic fabric (FPGA) with source code so you can inspect it ? It's a slippery slope and you have to stop somewhere. I'm not sure the FSF drew the line in the best possible place, but it is an understandable one.

Hardware certification & open source

Posted Jan 27, 2022 21:54 UTC (Thu) by khim (subscriber, #9252) [Link] (12 responses)

> Where do you draw the line ?

More interesting question is: why do you want to draw the line?

> Many chips which look like something simple with an I2C interface (e.g. many power controllers) actually have some ROM + processor inside too. The pattern is everywhere.

Yes. And that, in turn, means that utopia which FSF dreams about, a world without nonfree software is no longer possible, in practice.

Instead of accepting that fact and deciding what to do about that fact — they force others to cripple their hardware and insist that this act, somehow, promotes freedom.

Classic having lost sight of our goals, we redouble our efforts, if you ask me.

> I'm not sure the FSF drew the line in the best possible place, but it is an understandable one.

No. It's not understandable. Something that is more useful and gives me more freedom shouldn't be, suddenly, declared “nonfree” when the exact same thing with certain freedoms removed is called “free” and “respecting my freedoms”.

Removal of my freedoms can not make something “more free”.

> In other words: from the outside they both look exactly the same.

And why that is important? Freedom to tinker is freedom to tinker, it doesn't matter if it's inside or outside. Some things I couldn't change (because they are embedded in ASIC) some things I could change (because they are implemented with loadable firmware). I don't see how changes to something that I may, one day, change to do my bidding into something that I may never change at all help anyone. Can you explain why this change is beneficial and who is the beneficiary?

P.S. When I discovered this craziness is also when I stopped caring for FSF and “free software” movement entirely. If people are mad enough to don't understand the simple logic then I don't see how following them may lead to anything good. Once upon time what FSF was telling made some sense. But not anymore. Sorry.

Hardware certification & open source

Posted Jan 28, 2022 7:46 UTC (Fri) by smurf (subscriber, #17840) [Link]

Thank you. This saved me from spending time I don't really have to write what amounts to the exact same argument (and conclusion).

Hardware certification & open source

Posted Jan 28, 2022 9:22 UTC (Fri) by Vipketsh (guest, #134480) [Link] (10 responses)

> why do you want to draw the line?

Because it is not reasonable to replace all ROM code (e.g. SoC startup) and it is also not reasonable to demand a vendor to tell you about internal design details just because they made a certain design decision along the way (i.e. use processor + ROM).

> cripple their hardware and insist that this act, somehow, promotes freedom.

Put like that I agree with you. Remove the "promotes freedom" part and phrase "cripple their hardware" a little different and I agree with the FSFs position as well.

If the FSFs said "all software in the device must be free, ROM or otherwise" (I'm guessing that's what you are getting at here) there is not even a remote chance that a single device out there meets that requirement. They tried to draw the line somewhere to make it possible to create a device with their stamp on it, even if it ended up creating some comical implementations. Is their stamp usefull in any way ? Probably not, but the problem they are dancing around is real.

Where I think the FSF is a bit crazy is saying that if you somehow hide loading the firmware it is no different to having a ROM to begin with. I can see the logic, but implementation wise it is comical.

> Removal of my freedoms can not make something “more free”.

In my opinion you are now moving the goal posts very far. First we had "Free software" that was all about user-visible things: kernel, shells, utilities etc. and now the argument seems to be "no, no, we always meant internal hardware details to be open as well".

I think you have all the same freedoms the FSF stood for in the past today as well. The world moved on, technologies changed and so did implementation strategies in chips but that does not mean that all of a sudden your freedoms are removed -- you never did have the freedom to arbitrarily change state machines inside a chip.

Hardware certification & open source

Posted Jan 28, 2022 12:02 UTC (Fri) by khim (subscriber, #9252) [Link] (1 responses)

> Because it is not reasonable to replace all ROM code (e.g. SoC startup) and it is also not reasonable to demand a vendor to tell you about internal design details just because they made a certain design decision along the way (i.e. use processor + ROM).

So you accept the fact that there would be some non-free code inside of your device. Good.

> Remove the "promotes freedom" part and phrase "cripple their hardware" a little different and I agree with the FSFs position as well.

The certificate is called Respects Your Freedom certificate. Not FSF Recommends or FSF's choice. They called it RYF, not me.

And “cripples your device” is also very much on-target: firmware updates are important. These devices weren't designed with unfixable, unmodifyable ROM in mind. Examples from freeboot and other pieces (where code for “freedom-respecting” devices have to deal with artificially-unfixable bugs because these bugs couldn't just be fixed like happens with normal devices) were shown above by others. Cases where functionality was intentionally reduced to pass the certification were shown, too.

> In my opinion you are now moving the goal posts very far.

Me? Nope. FSF did that, not me. I have never wanted nor needed that certificate and after I have found out what it really provided I have never looked for it. Coz it's worse than useless: if you see it then you, then, have to look for what exact functionality was removed to obtain it.

> First we had "Free software" that was all about user-visible things: kernel, shells, utilities etc. and now the argument seems to be "no, no, we always meant internal hardware details to be open as well".

Nope. First we had BSD-style free software and FSF invented “copyleft”. The argument was: yes, it's less free (which is obvious) but it only punishes “bad guys” while “normal users” retain all the important freedoms. Some argued that it's not true, the ability to take something and build something bigger from it without publishing sources is important, too, but that idea wasn't very popular: freedom to restrict freedom of others wasn't considered “the right one” (your freedom to act ends where my nose begins, etc).

Then FSF moved into the realms of hardware and invented these crazy requirements. Which actually make device worse for the regular user which just wants to use it! That's what makes me mad. While FSF “punished the evildoers” I could side with it. Now FSF started “punishing innocents”. The actual end-users of the device who are paying for it our of their own pocket. Sorry, but that's where I draw the line.

> The world moved on, technologies changed and so did implementation strategies in chips but that does not mean that all of a sudden your freedoms are removed -- you never did have the freedom to arbitrarily change state machines inside a chip.

My freedom to receive bugfixes was removed, sorry. Intentionally. My ability to run free firmware replacement was removed, sorry. Intentionally. These are not theoretical how many angels can dance on the head of a pin? style freedoms, these are very practical and important freedoms. And FSF demands their removal, there are no other reason to remove them.

Now, if the reason why FSF demands their removal is practical (we are not sure if evil corporations wouldn't use fuses to deprive users of their important freedoms) then this is what they could have mandated: firmware must be downgradable and it should be possible to return device to factory state. That would have given me real important freedom. And I would have liked it and maybe have looked for such a certificate.

Instead they demand crippled devices which could never be fixed and which I can not study and/or modify at all. Thanks, but no, thanks.

P.S. And please don't start with the “someone may promise to make device downgradeable yet add fuses and then blow them anyway”. If someone is willing to do plain and simple fraud then nothing stops him from sending one device for the certification and then selling entirely different one in shops. That's much more practical concern then some hypothetical “hidden fuses”.

Hardware certification & open source

Posted Jan 28, 2022 23:11 UTC (Fri) by Wol (subscriber, #4433) [Link]

> My freedom to receive bugfixes was removed, sorry. Intentionally. My ability to run free firmware replacement was removed, sorry. Intentionally. These are not theoretical how many angels can dance on the head of a pin? style freedoms, these are very practical and important freedoms. And FSF demands their removal, there are no other reason to remove them.

Have you read Terry Pratchett's "Science of Diskworld"? The argument about how many angels can dance on the head of a pin is an extremely serious philosophical question! Just because our arrogant "we know better in the 21st century" minds don't believe in angels ...

The FSF's obsession with RYF is EXACTLY THE SAME ARGUMENT, just viewed through 1980s blinkers!

And unfortunately for us, in the 1920s Godel proved that your argument is subject to exactly the same philosophical blinkers, just looking through a different set of eyes! :-)

By the way, I am agreeing with you that I think the FSF stance is stupid, it's just that by being dogmatic you are yourself making exactly the same mistake that they are, just disappearing down a different one of those twisty little passages, all ....

(And I'd actually thought about angels on a pin, even before I saw your response! :-)

Cheers,
Wol

Hardware certification & open source

Posted Jan 28, 2022 14:12 UTC (Fri) by farnz (subscriber, #17727) [Link] (6 responses)

But what the FSF is actually saying is that the Four Freedoms don't matter as long as I'm willing to put the software in a ROM instead of in user-rewritable memory.

The issue with the RYF certification is that I can take exactly the same hardware that uses user-rewritable memory, add a ROM and maybe a microcontroller, and voilà, I'm in a better place in terms of a certification that purports to push me to respect the Four Freedoms than if I allow the user to upload arbitrary code to the hardware. This feels backwards; the FSF is actively saying via RYF that if I make it hard for you to run your own software on your hardware, that's fine, but if I make it easy, then I'm punished just in case you choose to run proprietary software.

Hardware certification & open source

Posted Jan 28, 2022 16:28 UTC (Fri) by Wol (subscriber, #4433) [Link] (5 responses)

> But what the FSF is actually saying is that the Four Freedoms don't matter as long as I'm willing to put the software in a ROM instead of in user-rewritable memory.

User-rewriteable, or vendor-rewriteable? I thought that USER-rewriteable was perfectly okay with RYF. What matters to the FSF is tivo-isation, where the VENDOR can rewrite it, but not the user.

Or am I seriously out-of-date? :-)

Cheers,
Wol

Hardware certification & open source

Posted Jan 28, 2022 16:53 UTC (Fri) by khim (subscriber, #9252) [Link]

> Or am I seriously out-of-date? :-)

Ugh. I don't know. Have you read that decade old article? Situation haven't changed since then.

> What matters to the FSF is tivo-isation, where the VENDOR can rewrite it, but not the user.

Not even close. From that POV situation where binary blob have to come from the host system and it may determine what kind of blob should be uploaded would be perfectly acceptable. After all without the ability to actually deliver binary blob vendor couldn't do anything.

But no, that's not enough for FSF. It says that if you cripple your device and ensure that nobody can ever fix bugs or upgrade the firmware on the “secondary embedded processor” — then it's fine, it's Ok, your device respects your freedom. But if you add the ability to, you know, look on what's driving that secondary processor, maybe even make it possible to control it, then… bam: device no longer “respects your freedom” because, you know, you can actually study how it works now. That's apparently so awful that couldn't be allowed.

Hardware certification & open source

Posted Jan 28, 2022 17:09 UTC (Fri) by farnz (subscriber, #17727) [Link] (3 responses)

Nope, for RYF certification, it's OK to have your proprietary blob in a ROM that cannot be replaced, but not OK to load unsigned code from the user. It appears from the way that people are doing things that with a little bit of sleight of hand (flash only rewriteable by the proprietary code, not from free code), you could get RYF certification for a device where the vendor can replace the firmware, but the user cannot, since the certifier cannot check that the flash really is read-only.

This is part of why the RYF scheme is such a mess; I can take a system that's almost entirely built on proprietary software, shove the lot into ROM, leaving just the Free Software on modifiable storage, and I have a system that meets RYF guarantees. I can also have a system where the user controls all the running software, but because I don't currently have Free Software for part of it, I can't get RYF certification, even though I might supply no software at all for the hardware that has no Free Software driver.

In the extreme, an RPi with the Broadcom VideoCore software in ROM is RYF-certifiable, as long as the proprietary software is in ROM, the VideoCore is locked down to stop you running user-supplied code on it, and the Free software can be freely changed by the user. An RPi where you don't use the VideoCore at all is not RYF-certifiable, because you could later upgrade the software stack to mix Free software on the ARM cores and proprietary software on the VideoCore.

And yet, in the latter case, I could reverse-engineer the VideoCore hardware and make Free software for it, whereas in the former case, I cannot ever replace the proprietary software with Free software.

I understand where the line comes from - it's attempting to say that only field-replaceable software needs to be Free, and if it's not field-replaceable then it's basically the same as hardware - but it leads to a situation where I can have a multicore ARM running gigabytes of proprietary code and RYF certification, but the same SoC with fully user replaceable code, and no proprietary software can't get RYF.

Hardware certification & open source

Posted Jan 28, 2022 19:52 UTC (Fri) by khim (subscriber, #9252) [Link] (2 responses)

> Nope, for RYF certification, it's OK to have your proprietary blob in a ROM that cannot be replaced, but not OK to load unsigned code from the user.

Is it actually true? They have laptops in the list. With SSD and DVD drives.

Do they actually cripple these, too, and make firmware unupdateable on these?

I just couldn't find any info on Technoethical web site.

Hardware certification & open source

Posted Jan 29, 2022 10:30 UTC (Sat) by farnz (subscriber, #17727) [Link] (1 responses)

For all the noise the FSF makes about RYF, it's not actually internally consistent with its own rules. The claim is that firmware in ROM is OK, firmware that can be changed by the vendor is not, but the reality appears to be that the rules allow for firmware in changeable memory as long as the Free software can't directly change the firmware.

So SSDs and ODDs get away with it, because the Free software can't rewrite the firmware flash, only the firmware itself can do that (and can implement arbitrary anti-Freedom checks in the process). GPUs, however, don't, even if you soft-disable them so that the proprietary driver can't work without additional Free code to enable the GPU, because reasons (that from the Free software side of the system, the SSD/ODD has firmware in ROM).

It's a mess that comes from taking a rule without thinking through the rationale; the "ROM content does not have to be Free software" rule makes sense if you're thinking about a boot ROM that's literally carved in silicon inside the SoC and just brings up enough of the hardware to replace the running code with external code. It does not make sense when thinking about hardware that loads its firmware from external sources, because it closes off the option of reverse engineering the hardware and producing your own firmware.

Hardware certification & open source

Posted Jan 29, 2022 16:38 UTC (Sat) by khim (subscriber, #9252) [Link]

> The claim is that firmware in ROM is OK, firmware that can be changed by the vendor is not, but the reality appears to be that the rules allow for firmware in changeable memory as long as the Free software can't directly change the firmware.

Thus, basically, precisely and exactly backward from where others are trying to push?

> So SSDs and ODDs get away with it, because the Free software can't rewrite the firmware flash, only the firmware itself can do that (and can implement arbitrary anti-Freedom checks in the process).

Worse, they can attack the host system easily.

There are ways to mitigate that problem, but, again, it's not clear if anyone on list of FSF-endorsed distributions works on that or even if they think about these issues at all.

> It's a mess that comes from taking a rule without thinking through the rationale

Yes, and no. Mostly it comes down to an attempt to push the World back to the state of 1980th or maybe even 1960th. When everything was either free software or, if not, you can easily view bits with naked eye and reverse-engineer everything.

The world have changed, these principles have become pointless, but instead of stopping and thinking about what new rules may you invent which make at least some sense in the middle of XXI century they try to push history back.

It's not even comical. It's sad.

Hardware certification & open source

Posted Jan 29, 2022 22:17 UTC (Sat) by marcH (subscriber, #57642) [Link]

> They tried to draw the line somewhere to make it possible to create a device with their stamp on it,

In other words they tried to find a _binary_ answer for an "analog" problem that is too complex for that.

Some people complained the FSF has become "out of touch" but that's not true: this shows it is 100% ready for social media, partisanship, etc. Very well in tune with the times.

> even if it ended up creating some comical implementations.

It is indeed a "show" for the most part.

Hardware certification & open source

Posted Jan 27, 2022 18:31 UTC (Thu) by flussence (guest, #85566) [Link] (4 responses)

Isn't that what the FCC warning labels on most electronics since the dawn of time are for? The "This device may not produce harmful interference" ones?

i.e. It's the user's responsibility to not tweak their devices in such a way as to break regulations, and the manufacturer's responsibility for not shipping it in an abusable state out of the box. Beyond that it's impractical to do any more than put up a sign reminding everyone there are laws for this kind of thing. Someone who really wants to be a nuisance can cause "decertification" with or without software, or source code (and by the nature of being a nuisance with radio transmitters, they're often easy to catch).

Having something like a wifi or cell modem chip with fully hackable code would in theory make it easier to cause problems, but so would not using tri-wing screws and epoxy in a lot of cases - and those are not exactly ubiquitous.

Hardware certification & open source

Posted Jan 27, 2022 20:52 UTC (Thu) by NYKevin (subscriber, #129325) [Link] (3 responses)

> Isn't that what the FCC warning labels on most electronics since the dawn of time are for? The "This device may not produce harmful interference" ones?

That warning references "part 15 of the FCC rules" which turns out to be 47 CFR Part 15, a rather lengthy regulation containing this sentence:

> Except as follows, an intentional or unintentional radiator must be constructed such that the adjustments of any control that is readily accessible by or intended to be accessible to the user will not cause operation of the device in violation of the regulations.

Similar sentences are repeated throughout the regulation, pertaining to more specific cases than "an intentional or unintentional radiator." (A "radiator" in this context means "something that radiates on the RF spectrum.")

So in short, the FCC doesn't want it to be easy for individual users to violate the rules by adjusting the device's controls. This is not an unreasonable goal, IMHO, because it's much easier to police a small number of manufacturers than it is to police ~300 million Americans. OTOH, the average user is not going to reprogram their cell phone or WiFi router at all, much less in a way that violates the FCC rules. It really comes down to what you consider "accessible to the user." Which user? All of them, or just the ones who are clever enough to actually do it?

> Having something like a wifi or cell modem chip with fully hackable code would in theory make it easier to cause problems, but so would not using tri-wing screws and epoxy in a lot of cases - and those are not exactly ubiquitous.

Increasingly, those things are getting used in the neverending quest for thin phones that break when you drop them.

Hardware certification & open source

Posted Jan 28, 2022 8:42 UTC (Fri) by smurf (subscriber, #17840) [Link]

Well, I'd argue that a firmware update is neither "readily" nor "intended to be" able to circumvent RF restrictions.

So, yeah, those arguments are basically a smokescreen. You don't want to publish your specs and/or your sources, fine, your choice, but then just plain say so instead of hiding behind an FCC reg that's not intended to do what you want us to believe.

Hardware certification & open source

Posted Jan 28, 2022 16:24 UTC (Fri) by nybble41 (subscriber, #55106) [Link]

> It really comes down to what you consider "accessible to the user." Which user? All of them, or just the ones who are clever enough to actually do it?

If we assume the latter interpretation, a sufficiently clever user could equally well reverse-engineer and replace a ROM, or even rewire the device's circuitry.

Hypothetically, if replacing the software required the same tools and skills as, say, replacing a resistor, would that satisfy the requirements and still allow for the software itself to be open-source? Perhaps something along the lines of the internal write-protect screw that needs to be removed to update the bootloader on certain Chromebooks? Anyone doing that has various other equally accessible ways to modify the device besides changing the software.

Hardware certification & open source

Posted Jan 29, 2022 9:58 UTC (Sat) by farnz (subscriber, #17727) [Link]

Admittedly, the US version has to meet both 47 CFR Part 15 and 47 CFR Part 97 rules, because it's designed as an amateur radio transceiver, but my Icom IC-7300 has a grid of surface-mount diodes for configuring its SDR software, acting as a ROM you program with a soldering iron. Take off the wrong diode, and there's no guarantee that the device will meet Part 15 rules.

So, current feeling seems to be that if you have to disassemble the case and apply a soldering iron to breach the rules, then you're compliant with Part 15 rules - it's not readily accessible to the user, and it's clearly not intended to be accessible to the user (it's a tiny grid of 1.2 mm by 0.8 mm diodes as close together as Icom's factory can handle).

You could easily do similar on a device - a 3x3 grid of diodes where the outer 8 have to be in the correct positions to enable TX, and the inner diode disables signature checks on firmware. Voilà, a device that meets Part 15 rules if unmodified, but where a user of sufficient skill can take it apart, remove the middle diode, and run their own software; if you do that modification, you can't legally sell the device any more, but that's a different matter.


Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds