On 平成 20/10/12, at 4:14, Rafael Almeida wrote:
Hello,
From time to time I see people debating about blobs on kernels.
Random noise from an old fogey newbie --
Forty years ago, you pretty much expected a decent schematic inside
the back panel of appliances. That meant that, even if you lived way
out in the sticks where service technicians never came, you had a
hope of fixing something that broke if you could read a schematic and
had some basic tools.
Society has changed since then. There aren't as many places in the
world that are more than a day away from a decent service center. If
you're running a "mainstream" OS. If you are in a non-3rd-world area.
In other words, the big companies think they have a good excuse for
(1) cutting the expense of providing schematics and for (2) competing
by keeping their competitors from knowing what they are up to.
It used to be enough that it was against the law to adjust broadcast
equipment in such a way as to interfere with other, legally operating
broadcast equipment. That was more-or-less reasonable. But now it's
against the law to adjust the equipment period, unless you have an
engineering license from some organization that is not overseen by
the government and is often either in the pocket of some big company
or consortium, or directly financed or owned by the same. (I think of
this as competing in the lobbies.)
It is true that putting the entire schematic and source code inside
the back panel is not really all that possible any more. But putting
them on the web is not impossible.
It is true that putting the manufacturing masks of integrated
controllers on the web provides useful information only to those who
can afford certain kinds of electron microscopes. I'm not sure what
I'd do with a mask set, or the definition files (I forget what they
are called) that are more commonly used these days, since we usually
don't build masks by hand.
Which kind of begs a question: How, exactly, does competition by
secrets really benefit anyone? What evil does it actually prevent?
You'll always be vulnerable to disgruntled ex-employees, and without
the ex-employee, your competitor usually is using such a different
set of tools that trying to use your secret technology is not going
to be significantly cheaper than developing their own wonderful
solutions. When they are using the same tools, they'll eventually
find your secret on their own, and in the process develop something
better than whatever it is you're busy protecting.
I tend to think it's more like cutting off one's nose to spite one's
face. For every competitor you frustrate, you frustrate at least ten
users. And cut off opportunities to let users help you refine your
devices. Take about hubris -- who can really think they can produce
such a perfect design that they don't need user feedback? That's the
same class of thinking that leads people to try to become dictators.
Anyway, APIs are useful to many more people, and even those tend not
to be published.
And then there are field-reprogrammable logic arrays. It's easy for
management to consider the gate definition files the same as the
manufacturing masks. But you could also say they are missing an
opportunity to open another dialog with their user community.
The contents of micro-controller ROMs would seem about as useful as
the manufacturing masks, but does the same apply when the ROMs are
actually flash, and can be patched in the field? Or how about when
they are RAM, loaded at boot by the host OS?
This idea of always loading the micro-controller code from outside
the device is seriously bent thinking. It's just plain wrong. It
absolutely leaves the hardware fatally dependent on the host OS. Not
just the brand and version, but the stability of the host. If the
speed advantages of RAM are so great, the original (at time of
manufacture) version of the controller code should still be loaded
from a ROM on the device, and part of the API should be code that
allows the controller code to be patched, or wiped and replaced, if
the run-time issues of patching a running device are too complicated
for the manufacturer to handle under its choice of real-time
controller system.
And, again, where are the APIs?
The blob issues kind of exposes the ultimate way to pervert the GPL,
but it also exposes the sheer idiocy of trying to trade in secrets.
You can't eat a secret. You can try, but you will be like that guy
Isaiah said, eating a banquet in your dreams, eventually waking up to
the real reality that you've gained no nutrition thereby. Even very
large "fortunes" disappear overnight. And bankrupted companies
generally tend to take their secrets with them to the grave.
Source and schematics published openly, however, can survive serious
economic troubles. Like eighty years ago serious. Since even people
often survive after companies a