Am Donnerstag, dem 13.03.2025 um 02:37 +0100 schrieb Dirk Lehmann:
> GPU shaders should be clearly respected as software (and not
> hardware).  Therefore, `intel-media-va-driver-non-free` is rightly in
> the Debian archive `non-free`.

First of all, I completely agree that:
1. shaders are computer programs
2. the shaders in that package are unfree

They are not unfree because of license restrictions but because of
missing sources for some blobs.

Please note that Debian does not only require sources for computer
programs. Generated data should also preferably include all sources
that allow developers to study, modify and generate their own versions
of that data.

There are many edge cases. What about JavaScript executed in the web
browser? What about file formats which are de facto executable programs
in some kind of virtual machine such as PostScript or TrueType fonts?

> for me is a computer machine a stack of three layers:
> 
>     Machine/Computer
>    ,-----------------------------------------,
>    | optional non-free/proprietary software  |
>    |-----------------------------------------|
>    | Free and open-source software           |
>    |-----------------------------------------|
>    | Hardware (maybe non-free/proprietary)   |
>    '-----------------------------------------'

I do not agree with that. Shaders do not run “on top” like apps or
JavaScript in the web browser. They are loaded into the GPU just like
the firmware and are executed there.

> The question must be: Is firmware to be considered as hardware or
> software?  I.e. in your case of GPU shaders the question is:
> 
>    * Should be GPU shaders considered as hardware or software?

That is not the question. Firmware is not hardware either.

>    1. Firmware needs to be developed by the chip-vendor itself.
> 
>       (Hardware from companies point of view)
> 
>    1. GPU shaders will not be developed exclusively by the chip
> vendor
>       itself.  In contrast, they providing SDKs for development.

This is also true for these GPU shaders.
   1. They are developed by the hardware vendor and its community.
   2. They are not developed by a software company like shaders for a
      game engine.
   3. The whole purpose is to enable hardware capabilities, in this
      case video encoders and decoders.
   4. The same shaders developed by the GPU vendor can be used by any
      video player or library.
   5. The available libraries in user space are free.

> The answer is: The path is the goal.  The 3-layer machine/computer
> model we agree all, hopefully.  We can map the companies-/logistic-
> point of view very well to that 3-layer model, imho.

That model does not make sense to me. I want firmware and shaders to be
free just as software. But there is a practical difference between
software which we can replace by alternatives and firmware which is
required by the hardware.

The only way to achieve the end goal is by only buying hardware which
works without non-free firmware. This is the long-term goal but not
always possible in the short term.

There are libreboot, coreboot etc., but they all require unfree blobs
from hardware vendors. This might change with more RISC-V options
coming to market, but the situation is as it is.

In the meantime, we have non-free-firmware for people who want/need it.
It will exists regardless of whether it is included in the installation
media or not.

From the information security and privacy perspective, those shaders
are also comparable with firmware.
   1. Your wireless firmware runs on the network device. It does not
      have access to your kernel or any other thing running in main CPU
      and memory. It can only see the network traffic that you route
      through that interface.
   2. Your GPU firmware runs on the graphics card. It does not have
      access to your kernel or any other thing running in main CPU and
      memory. It can only see information that you send to this
      graphics card for display.
   3. The shaders run on the GPU. They do not have access to your
      kernel or any other thing running in main CPU and memory. They
      can only see information that you send to this graphics card for
      decoding and encoding.

My point is that these particular shaders could be argued to belong to
non-free-firmware and not non-free.

Regards
Stephan

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to