User: Password:
|
|
Subscribe / Log in / New account

Linux-2.6.33-libre released

From:  Alexandre Oliva <lxoliva-3d8yaqT+vUfYtjvyW6yDsg-AT-public.gmane.org>
To:  FSFLA press contacts and <prensa-3d8yaqT+vUfYtjvyW6yDsg-AT-public.gmane.org>, gnu-linux-libre-qX2TKyscuCcdnm+yROfE0A-AT-public.gmane.org
Subject:  [en] Take your freedom back, with Linux-2.6.33-libre
Date:  Mon, 01 Mar 2010 03:16:07 -0300
Archive-link:  Article, Thread

For immediate publication

Cyberspace, March 1st, 2010---Linux hasn't been Free Software since
1996, when Mr Torvalds accepted the first pieces of non-Free Software
in the distributions of Linux he has published since 1991.  Over these
years, while this kernel grew by a factor of 14, the amount of
non-Free firmware required by Linux drivers grew by an alarming factor
of 83.  We, Free Software users, need to join forces to reverse this
trend, and part of the solution is Linux-libre, whose release
2.6.33-libre was recently published by FSFLA, bringing with it
freedom, major improvements and plans for the future.


== History

All firmware in Linux-1.3.0 was Free Software.  Whatever little
relevance the GNU/Linux operating system had back in 1995 was enough
for a few hardware vendors to disclose the details of their hardware
or even offer all the software needed to make it work under terms that
respected users' essential freedoms.  They knew Linux, already
licensed under the GNU GPLv2, wouldn't have drivers for their
components otherwise.

Over the year that followed, Mr Torvalds changed his stance, and
started accepting binary-only firmware in Linux.  Because of this
decision, GNU/Linux ceased to be an incentive for hardware vendors to
respect users' essential freedoms.  Since the Linux developers
forfeited the defenses provided by the GPL, nearly all of the vendors
decided to keep only to themselves the control over the ever-growing
computers that passed for peripherals.

Some 143KB of object code disguised as source code were present in the
4.7MB compressed tarball of Linux-2.0, released in June, 1996.  Some 6
years later, there were 1.3MB of non-Free firmware hiding in the 26MB
compressed tarball of Linux-2.4.19.  In Linux-2.6.33, all of these
pieces and them some, adding up to 2MB, lie in a subtree created some
two years ago to hold firmware in Linux.  Another 650KB still
disguised as sources were recently added to the staging subtree, and
another 9.2MB (duplicates removed) live in a separate archive, created
to eventually replace the firmware subtree in Linux.


== Perspective

The largest single piece of non-Free firmware in the linux-firmware
repository weights 1.25MB today.  In the 1980s, half as many bytes
were held as enough memory for any application in a personal computer.
It was then that Richard Stallman started working on GNU, when entire
operating systems were smaller than that.  He realized that users
should be entitled to the four essential freedoms over all the
software that ran on computers, even when they were far less powerful
than today's peripherals.

We have achieved that, a Free operating system for general-purpose
personal computers, but it lasted for only a few years.  The kernel
that provided the piece that was missing in the GNU operating system
hasn't been Free Software for more than a decade, and it requests
users to install a growing number of non-Free programs that are not
included in it.


== Progress

We welcome, applaud and thank the various recent efforts that resulted
in Free firmware for various devices: Atheros contributed Free
firmware for its ar5k and ar9k wireless networking cards; experts in
reverse engineering developed Free firmware for some of Broadcom's b43
wireless networking cards; others developed the Free nouveau driver
for nVidia video cards, and, more recently, completed the task with
Free firmware for them, unfortunately a bit too late for the final
pieces to make Linux-2.6.33.

However, just like RMS, we realized that developing Free Software
isn't enough to establish freedom for the users of GNU/Linux.  We also
need to educate them to value their freedom, and to recognize and
reject non-Free Software.  Otherwise, the products that require users
to give up their freedom would continue to find willing customers.

A few years ago, the Free Software community realized that Linux was
no longer Free Software, and started various efforts to fix this
problem.  One of them, born nameless within gNewSense, was named
Linux-libre within BLAG.  Once we took responsibility for it, in
addition to removing the non-Free components from Linux, we replace
the requests for non-Free firmware with messages that inform users
that the hardware in question is a trap.

Our hope is that more users will use this Free version of Linux,
present in various GNU/Linux-libre distributions, to find out about
hardware components that do not respect their freedoms, then tell
vendors how unhappy they are, and use their freedom and power of
choice to support vendors that do respect their customers.

Large businesses, governments or lots of users working together,
applying a little pressure at the right spot of vendors' pockets, can
often get them to change their minds and voluntarily respect
customers' freedom.  Failing that, we can still help, participating in
or funding reverse engineering efforts.  The manufacturers that
voluntarily respect our freedom deserve the most appreciation, but a
product that works in freedom despite the efforts of the manufacturer
is much better than nothing.


== What's new in Linux-2.6.33-libre

We don't maintain the Linux-libre source files directly.  Instead we
maintain "deblobbing" scripts that clean Linux "sources", thus
producing Linux-libre sources.  The main improvement in this
generation of Linux-libre, the fourth since we got involved, consisted
of making the deblobbing scripts more efficient.

As we accumulated thousands of patterns to recognize blobs, sequences
that look like blobs but that aren't, requests for non-Free firmware
external to Linux, and documentation that induces users to install it,
running the GNU sed script generated to locate and remove blobs became
too expensive for many users: in recent releases of Linux-libre, GNU
sed took some 15 seconds and more than 2GB of RAM to compile all the
patterns in the script.

The solution was to rewrite the main script in higher-level scripting
languages.  GNU awk reduced the start-up time to about 3 seconds, and
memory requirements dropped by an order of magnitude, but 3 seconds
multiplied by the 260 files that get cleaned up with this script to
form Linux-2.6.33-libre is a lot of time to waste.  Python and PERL
compile our huge collection of patterns in tenths of a second, while
reducing memory use by almost another order of magnitude.  However,
internal limits in PERL's pattern matching algorithm produce incorrect
results in deblob-check, so using it with PERL is not recommended for
now.

For deblob-main's cleaning-up of small files in Linux, Python was
determined to be fastest, which is why it is the new default.  For
verifying that a large tarball is clean, Python and PERL's run-time
jump to more than 90 minutes, up from 5 minutes with GNU awk and as
little as 3 minutes with GNU sed.  GNU awk comes ahead when listing
all the blobs in a Linux tarball, now with a long-wished feature:
printing before each blob the name of the file within the tarball that
contains it.

Future releases may be smarter in choosing suitable backend depending
on task and inputs.  For now, users of deblob-check should be aware of
the new flags: --use-python, --use-awk, --use-perl, and --use-sed, and
the corresponding environment variables PYTHON, AWK, PERL, and SED.

The lower memory footprint and CPU requirements for checking and
cleaning up individual files means it is again possible to clean up
Linux trees on the fly, which a number of users used to find valuable.

Over the next few days, we'll also roll out Linux-libre, generation 4,
for earlier Linux releases, fixing a few deblobbing errors in staging
drivers and catching a few more occurrences of non-Free blob names in
documentation and error messages.


== Request for comments

A number of our users have expressed legitimate dissatisfaction with a
consequence of the method we've used to stop the kernel from inducing
users to install non-Free firmware.  It is not our goal to prevent
users from loading or running non-Free firmware, but the only way we
thought of to avoid inducing users to run non-Free firmware had the
side effect of making it impossible to use the non-Free firmware just
by installing it.

In Linux, several drivers call request_firmware with a blob name.
This request is logged, including the blob name, and passed on to a
userland program, supposed to locate a firmware file with that name
and upload it to the kernel.  Given the logs, in addition to existing
and potential behavior of the userland program, this amounted to Linux
telling its user to install a specific non-Free program, which is
unacceptable.

Linux-libre releases since generation 2 replace the blob name with a
name that the firmware loader is unlikely to match, and that could be
recognized in userland to inform users about the lack of Free firmware
for some hardware component of the system.  We also reject whatever
response the firmware loader produces for such requests, to minimize
the risk of accidental matches and hardware damage.

We reasoned that anyone determined to use the firmware could still
build a module, or a complete kernel, that issues the request and uses
the response.  This possibility was considered too cumbersome by some.

Recently we came up with another way to achieve the goal of stopping
the kernel from inviting users into the trap of non-Free Software:
where Linux requests a firmware file that we know is non-Free, we
could anonymize the blob name with a unidirectional hash of its name
and a kernel build and/or session identifier, and issue a request for
a file named after the computed hash.

Given a suitable implementation of the userland firmware loader,
whatever pieces of firmware the user chose to install would still be
readily located and made available to the kernel.  However, because of
the unidirectional nature of the hash, a request for firmware that's
not installed won't steer users toward that firmware, because the hash
code won't immediately identify it.  Thus, if the user insists on
installing this firmware, Linux-libre will work with it, but it is
very unlikely anyone will install the firmware because of Linux-libre.

Join us at linux-libre-3d8yaqT+vUfYtjvyW6yDsg@public.gmane.org and let us know your suggestions,
other ways to address this issue, or your opinion about this plan and
whether it might be accepted upstream.  Feedback and help are welcome!

In the mean time, Be Free! with Linux-2.6.33-libre, and help us
reverse the growing dependency of Linux on non-Free firmware.


== About Linux-libre

Linux-libre is a project maintained by FSFLA, that releases cleaned-up
versions of Linux, suitable for use in distributions that comply with
the Free Software Distribution Guidelines published by the GNU
project, and by users who wish to run Free versions of Linux on their
GNU systems.  The project offers cleaning-up scripts and Free sources,
binaries for some Free GNU/Linux-libre distributions, binaries to
replace with minimal changes the kernels in non-Free GNU/Linux
distributions: Freed-ebian and Freed-ora, and artwork with GNU and the
Linux-libre mascot: Freedo, the clean, Free and user-friendly
light-blue penguin.  Visit our web site and Be Free!
http://linux-libre.fsfla.org/
http://www.gnu.org/distros/


== About FSFLA

Free Software Foundation Latin America joined in 2005 the
international FSF network, previously formed by Free Software
Foundations in the United States, in Europe and in India.  These
sister organizations work in their corresponding geographies towards
promoting the same Free Software ideals and defending the same
freedoms for software users and developers, working locally but
cooperating globally.
http://www.fsfla.org/

----

Copyright 2010 FSFLA

Permission is granted to make and distribute verbatim copies of this
entire document without royalty, provided the copyright notice, the
document's official URL, and this permission notice are preserved.

Permission is also granted to make and distribute verbatim copies of
individual sections of this document worldwide without royalty
provided the copyright notice and the permission notice above are
preserved, and the document's official URL is preserved or replaced by
the individual section's official URL.

http://www.fsfla.org/anuncio/2010-03-Linux-2.6.33-libre

----------



-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


(Log in to post comments)

Linux-2.6.33-libre released

Posted Mar 1, 2010 16:08 UTC (Mon) by tzafrir (subscriber, #11501) [Link]

> Recently we came up with another way to achieve the goal
> of stopping the kernel from inviting users into the trap
> of non-Free Software: where Linux requests a firmware file
> that we know is non-Free, we could anonymize the blob name
> with a unidirectional hash of its name and a kernel build
> and/or session identifier, and issue a request for
> a file named after the computed hash.

Have they started doing that already? Where can I find the page with all the names of blob files?

I wonder if a userspace script to compute the name (trivial brute-force attempt. The size of the dictionary is rather limited) would be allowed into such a distribution.

Request for comments

Posted Mar 2, 2010 1:33 UTC (Tue) by lxoliva (guest, #40702) [Link]

No, we haven't started it. It's a request for comments on the plan.

As for the brute-force attack, it seems to indicate a misunderstanding of the purpose of the proposed change. It's not meant to make it impossible for people to find the information they want. That it can be brute-forced is not important. What's important is that Linux-libre wouldn't be at fault if a user was determined to fall in the trap.

I don't see how such a userland script would be useful for someone who wants to run only Free Software, which is our primary target audience, so I wouldn't be inclined to add it, but I don't think there'd be objections if someone wrote it and published it.

For blobs included in (non-Free) Linux, you can get the blob names from the deblobbing logs, published along with the tarball. For blobs not included in Linux, patterns that match their names can be easily extracted from the deblobbing script, although exhaustive search on all expansions of some of the regular expressions might be a bit more work than you'd wish.

Mr Corbet, I get the impression you may have missed the link to the Linux-libre web page in the section “About Linux-libre”: http://linux-libre.fsfla.org/.

There, people would find links to our source releases as well as binary releases for various distros. Pointing links only to the source release makes the project look far more limited than it is. I'll give you that the link could have given more visibility, though ;-)

BTW, the address of our mailing list, linux-libre@fsfla.org, got mangled in the copy of the article you published. Would you like us to forward unmangled announcements directly to you next time?

Links

Posted Mar 2, 2010 1:46 UTC (Tue) by corbet (editor, #1) [Link]

Clearly I found the web site link. I even found the source, I just had to spend a fair amount of time looking for it. As a service to the readers, I provided that link so they would not have to go through the same process. Your entire announcement was published, I don't think I hurt anything. So I'm not sure what the reason for your comment is.

Links

Posted Mar 2, 2010 2:33 UTC (Tue) by lxoliva (guest, #40702) [Link]

I don't think you hurt anything, even though you didn't link to the Freed-ora 13 2.6.33-libre-based binaries, or to the gNewSense/mipsel 2.6.33-libre-based binaries (still under construction). The only mangling that took place was from gmane AFAICT. The message is far more important than the bits, and I am a bit concerned that people jump to the bits and from them to conclusions without as much as seeing, let alone understanding, the message. Some of the comments seem to indicate my concern was founded, unfortunately. Anyhow, thanks for spreading the word!

Request for comments

Posted Mar 2, 2010 11:29 UTC (Tue) by tzafrir (subscriber, #11501) [Link]

> I don't see how such a userland script would be useful
> for someone who wants to run only Free Software, which
> is our primary target audience, so I wouldn't be inclined
> to add it, but I don't think there'd be objections if
> someone wrote it and published it.

Those who "want to run only Free Software" are a minority. And even they occasionally need to get some work done which requires non-free tools.

BTW: I suppose you don't use a computer with non-free BIOS. Likewise a phone with a non-free GSM stack. Or a disk controller that uses proprietary firmware (such as the one in most DOKs).

Request for comments

Posted Mar 2, 2010 16:23 UTC (Tue) by pboddie (guest, #50784) [Link]

Those who "want to run only Free Software" are a minority.

Maybe I'm part of that minority, then, but maybe I'm just more aware (through experience) of the pitfalls of relying on proprietary software. And given that the majority have probably not considered such issues or regard them as peripheral - being able to run a program to do something now, but to not consider what they might need to use when they next need to perform the same task - it isn't really an informed majority who are involved here.

BTW: I suppose you don't use a computer with non-free BIOS. Likewise a phone with a non-free GSM stack. Or a disk controller that uses proprietary firmware (such as the one in most DOKs).

Yet people do care about these things. For example, one motivation for a free BIOS has been that of ensuring reliability: a "pragmatic" reason, to drop the magic word of people who belittle the efforts of anything to do with "freedom". And to continue your argument, one could equally observe that most computers already come with Windows installed and that everything seems to work, and then ask why anyone would need to change this.

As with many aspects of modern life, one does have to ask whether people should be preoccupied with where their software comes from, just as they might wonder where their food, water, power, gadgets (and so on) come from. When someone offers alternatives in these areas, there may well be people whose observations amount to a cry of "nobody cares!", but then you have to question what the motivations of such detractors are, because "nobody cares!" is generally not the truth and certainly isn't an adequate response.

Request for comments

Posted Mar 2, 2010 16:46 UTC (Tue) by tzafrir (subscriber, #11501) [Link]

pboddie, what I deduce from your reply that you don't care using a non-free device, as long as you can pretend you don't provide it the software.

Request for comments

Posted Mar 2, 2010 19:23 UTC (Tue) by martinfick (subscriber, #4455) [Link]

Strange conclusion. You seem to imply that if he is oppressed, he should not care about it? Only those who have achieved freedom should ever desire it?

Request for comments

Posted Mar 3, 2010 12:58 UTC (Wed) by pboddie (guest, #50784) [Link]

I believe you're suggesting that I have the choice between a sealed unit that I can't change, which undoubtedly contains proprietary software or information, and an unsealed unit that I can only feed with proprietary software or information in order to make it work, and that I would therefore always choose the former. There is an argument that by discouraging use of the latter kind of hardware, people might indeed be tempted to choose the former, thus demonstrating an "out of sight, out of mind" mentality.

However, this isn't what the referenced project is all about. Aside from concerns about whose proprietary information is floating around in the kernel and whether its owners are comfortable with it being there, such initiatives make people aware of things such as device initialisation which is being initiated by the kernel, and raise the possibility of such processes being changed and improved. Immediately, there's an obvious parallel between these binary blobs and more traditional proprietary software which isn't easily waved away by using words like "firmware".

I concede that hacking the firmware of a hard disk controller, for example, would be a fairly specialised activity, but there might still be people interested in doing so. And the history of Free Software has demonstrated that what might seem like an uncommon area of marginal interest today could be a popular area of customisation tomorrow. The open hardware movement is showing that the choice I appear to have isn't always limited to those two options I mention above.

Request for comments

Posted Mar 4, 2010 4:50 UTC (Thu) by JoeBuck (guest, #2330) [Link]

Unfortunately, you will always be playing "out of sight, out of mind". Essentially every processor and every peripheral has firmware. Sometimes it's loadable, sometimes it's built in. I'm all for enabling people to program to the metal as much as possible, and I'm certainly concerned about what some of that proprietary firmware is doing. But in the end, the "entirely free" GNU/Linux based distros available today simply hide the problem, by only supporting hardware that does not allow its (completely hidden and proprietary) firmware to be replaced, plus the very few peripherals that have sufficient documentation to program for.

Linux-2.6.33-libre released

Posted Mar 1, 2010 17:55 UTC (Mon) by mrshiny (subscriber, #4266) [Link]

When they say "the hardware is a trap", I think many people would agree that it is a completely different problem than most "traps". If my network card has non-free firmware I can almost always replace it with hardware that has free firmware, if I care about that sort of thing. The important stuff, that is, the software I am running, doesn't usually care what brand of ethernet card I have.

Linux-2.6.33-libre released

Posted Mar 1, 2010 23:03 UTC (Mon) by nix (subscriber, #2304) [Link]

It's a bit harder to do that with graphics cards. They *all* have heaps of
non-free firmware, as far as I know: at least they all need it if you want
to get access to advanced features (and these days, 'advanced features'
includes, er, accelerated 2D).

Linux-2.6.33-libre released

Posted Mar 2, 2010 3:43 UTC (Tue) by mrshiny (subscriber, #4266) [Link]

That may be true (though I think we are finally making progress on that front). But I think my point still stands, which is that software is more and more insensitive to the specific hardware it runs on. My OpenGL games may not work unless I have the non-free nVidia driver loaded, but that is not due to being trapped by nVidia per se. Any driver that implements OpenGL can free me from that particular trap. (Maybe OpenGL itself is a trap? or 3D? It's a sad world if that is the case).

Linux-2.6.33-libre released

Posted Mar 2, 2010 13:51 UTC (Tue) by nix (subscriber, #2304) [Link]

Er, well, your driver needs to use the card's acceleration features if you don't want to die of boredom waiting for a couple of frames to draw. In practice, hardware support is mandatory for 3D at useful resolutions. That the hardware isn't documented is the trap.

Linux-2.6.33-libre released

Posted Mar 2, 2010 16:19 UTC (Tue) by mrshiny (subscriber, #4266) [Link]

My driver needs to know the hardware, yes. But I am usually not trapped into a particular piece of hardware in the same way that Java, Javascript, .Net, Flash, etc, have been called traps by RMS in the past. If you have lots of software written in Java, and Java is not free, you are beholden to Sun to run that software. If I have a 3D app which uses OpenGL, and my nVidia driver is not free, I can buy an ATI instead and easily escape the trap. My app does not need to change.

nouveau and traps

Posted Mar 2, 2010 18:25 UTC (Tue) by lxoliva (guest, #40702) [Link]

Before some people who do care wrote nouveau, the Free ctx_progs that make the cards support 3D, and the corresponding 3D drivers for X, you'd just be jumping from one trap to another.

nouveau and traps

Posted Mar 2, 2010 18:37 UTC (Tue) by mrshiny (subscriber, #4266) [Link]

If I can leave the trap any time I want, and go to some other hardware which is not trapped (or which is a different trap) then by definition I am not trapped.

Consider a C++ compiler. If you are using the MS C++ compiler, you are relying on proprietary software, which harms the ozone layer and causes pain in small rodents. But you are not automatically "trapped" just because it is proprietary. If you stick to the C++ standard language you can always switch to a different compiler, such as G++. If you instead switch from MSVC to Borland C++ you are no more trapped than before, because the existence of GCC means you have an escape any time you want.

Similarly, if my software uses 3D, but does not use nVidia specific features, then I am not trapped. The nVidia driver is hardware specific, so it is, in a sense, trapped, but the user apps are not trapped. I can go to ATI or nouveau or the Intel 3D card or some other card, or even a software renderer, because my software is not relying on the specific hardware. It is not trapped.

Now, until recently there may not have been ANY 3D hardware that was blob-free. But in that case you might say that ALL 3D software is "trapped" and the trap is 3D itself. I think that's taking things a bit too far. But regardless, the app itself is not tied to a specific non-free bit of hardware.

Linux-2.6.33-libre released

Posted Mar 3, 2010 12:51 UTC (Wed) by nix (subscriber, #2304) [Link]

Er, ATI 3D hardware has non-free firmware, so that wouldn't escape the
trap.

Linux-2.6.33-libre released

Posted Mar 1, 2010 18:11 UTC (Mon) by anselm (subscriber, #2796) [Link]

Great! Finally somebody trying to out-RMS RMS. I'll go fetch popcorn.

Linux-2.6.33-libre released

Posted Mar 1, 2010 19:27 UTC (Mon) by jengelh (subscriber, #33263) [Link]

Next thing they'll do is wanting open hardware. Oh wait, we already have that with OpenSPARC...

Linux-2.6.33-libre released

Posted Mar 2, 2010 9:18 UTC (Tue) by alankila (guest, #47141) [Link]

Perhaps we should stop habitually assigning virtue to RMS thoughts, lest
people begin to compete in stallmanless. It's all fun and games until someone
actually installs this distribution and gets a dmesgful of messages
containing nothing but hash codes and lecturing about how bad you are for not
ensuring that your hardware is RMS+ -compliant!

I confess this entire posting sounds like a big joke to me, right from the
trollish "Mr. Torvalds is an enemy of Freedom"-beginning, but perhaps there
truly are people with this kind of outlandish ideas. It scares me.

Linux-2.6.33-libre released

Posted Mar 2, 2010 9:21 UTC (Tue) by quotemstr (subscriber, #45331) [Link]

Poe's Law points out that it is hard to tell parodies of fundamentalism (or, more generally, any crackpot theory) from the real thing, since they both seem equally insane. Conversely, real fundamentalism can easily be mistaken for a parody of fundamentalism.

Linux-2.6.33-libre released

Posted Mar 2, 2010 10:37 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

You made up a quote that doesn't even exist in the text What do you call
that?

Linux-2.6.33-libre released

Posted Mar 3, 2010 9:53 UTC (Wed) by alankila (guest, #47141) [Link]

I thought that summarized pretty well what they were saying in a lot more
words.

Very poor summary

Posted Mar 4, 2010 2:56 UTC (Thu) by lxoliva (guest, #40702) [Link]

If you thought that was a good summary, we're totally failing to communicate.

The enemies of the Free Software movement are those who actually deny users' the freedoms they deserve. Linus doesn't do that. He “just” helps and supports others do that. He's not an oppressor, just an accomplice.

Where he is, between a naïve accomplice who honestly believes to be doing no harm and someone who actively benefits from others' misery, is not for me to tell or assess, but if he hadn't taken this stance, maybe, just maybe, vendors would have kept on contributing source code for the firmware they wanted to add to Linux, just like they did back in 1995, and we'd all be much better off.

And, even if vendors didn't, I wouldn't like to be someone who succeeded at the expense of others' freedoms, and I wish Linus wouldn't either.

Very poor summary

Posted Mar 5, 2010 7:26 UTC (Fri) by alankila (guest, #47141) [Link]

I think this argument hinges on a fallacy. You seem to be basically arguing
that we are here in this point of time now, and look back 10 years ago and
wish something crucial had been done differently.

You seem to be arguing that categorically all other things would be the
same, except this firmware issue would now be a lot better. But what if by
fighting the firmware battle 10 years ago, we'd lose other fights? Maybe
it's even completely a losing battle: maybe all the hardware that now got
closed firmware would still got nothing but closed firmware, but thanks to
the hard-line stance, this hardware would not run in Linux, and
consequently it would have that much less real-world users.

I think world domination is primarily a popularity contest. I find it
ridiculous to whine about closedness of firmware, and do actions that harm
driver support on Linux, when it isn't that stellar to begin with.
Meanwhile, everything keeps on working in Windows, and users will never
leave Windows if that is the case. And thus the battle for popularity is
lost, and with that, practically everything else.

And yes, let me retract "Linus Torvalds is an enemy of freedom" and replace
that with "Linux Torvalds is an accomplice to enemies of freedom". I was
not paying close enough attention to notice this distinction.

Whose fallacy?

Posted Mar 5, 2010 15:09 UTC (Fri) by lxoliva (guest, #40702) [Link]

I wish you could tell me where you got the idea that nothing else would have changed.

Anyhow, to the concrete argument, rather than responding to your mud-slinging.

Are you aware that there are lots and lots of non-Free drivers that have never gone into Linux, because they would be blatant violations of the GPL, but that are nevertheless offered to the public by manufacturers of the corresponding devices, and even by some distributors?

Had Linus decided to keep the non-Free firmware out, just like he has been doing for the past couple of years, moving it to the firmware tree and then to a separate repository, this wouldn't have changed, except that the non-Free firmware would be about as much of a second-class citizen as the non-Free drivers have always been. Less so, even, because drivers actually depend on the kernel ABI and API, whereas firmware depends at most on driver-specific ABIs.

So, no, GNU/Linux wouldn't have lost in popularity. That's as fallacious as the often-brought-up argument that, if distros didn't include the firmware, users would be left with non-functional computers. That's utter nonsense. When people bought the computers, they already got the firmware straight from the hardware vendor!

Now, had Linux taken a hard stance back then, much of the same firmware would likely still have been pushed onto customers willing to tolerate that, with or without help from distros. Others might have been released as Free Software, like those that were present in Linux 1.3.0.

Even if Linux had taken a merely informative stance, rather than mopping the garbage under the rug like it did, customers might at least have been aware of the problem back then, if they happened to pay attention, instead of being fooled for a whole decade. And then, the problem might have been reduced, if enough people, becoming aware of it, took action, rather than becoming “so hopelessly dependent on the system that they will fight to protect it” -- Morpheus.

Whose fallacy?

Posted Mar 9, 2010 7:46 UTC (Tue) by alankila (guest, #47141) [Link]

Let's just say that my outburst was triggered partially by libre-projects
attempt to make firmware filenames obfuscated, thus making it difficult to
find out what firmwares to load. At that point, I decided that the project
has reached some kind of lala-land and that mockery would be appropriate.

Linux-2.6.33-libre released

Posted Mar 1, 2010 18:29 UTC (Mon) by josh (subscriber, #17465) [Link]

Creating a Linux tree with the non-free firmware stripped out seems quite useful, particularly since distributions like Debian have to do that work anyway; might as well consolidate efforts.

Breaking the request_firmware mechanism to attempt to prevent users from understanding why their hardware doesn't work, on the other hand, seems inane.

lsfw?

Posted Mar 1, 2010 19:24 UTC (Mon) by proski (subscriber, #104) [Link]

Indeed, it would be more useful to show users why their hardware does work. Maybe they could develop a utility to show what firmware was loaded by the kernel during the system uptime, which drivers users it for which devices and what is the legal status of those firmwares.

The is a big difference between keeping users informed and keeping users puzzled and annoyed.

lsfw?

Posted Mar 1, 2010 19:32 UTC (Mon) by josh (subscriber, #17465) [Link]

Agreed entirely. I very much appreciate efforts to help users make an informed decision about proprietary software: avoid installing it by default, or installing it silently without the user knowing. However, it helps no one to attempt to keep users ignorant, or let users systems fail to work with no obvious reason why.

Linux-2.6.33-libre released

Posted Mar 1, 2010 21:22 UTC (Mon) by BenHutchings (subscriber, #37955) [Link]

Not only do the linux-libre break request_firmware() but they seem to strip out every table of numbers they don't understand. In many cases these are reverse-engineered lists of register initialisations which are the preferred form for modification (they are not the ideal form, but the driver developer is not hiding anything).

Linux-2.6.33-libre released

Posted Mar 2, 2010 6:03 UTC (Tue) by lxoliva (guest, #40702) [Link]

The only cases in which I know I removed “reverse-engineered” lists of registers were cases in which they had been copied literally (through mmio dumps) from non-Free drivers, and included without permission from the copyright holder.

I try really hard to tell code from data. It isn't always easy, and sometimes the developers don't supply enough information to tell one case from the other. In such cases, I often take a conservative approach, in the hope that someone with the device will be able to dig out the info and let me know that the bits are fine to include. I remember some such case regarding rtl8187 drivers, maybe 1.5 year ago or so. Those bits were later determined to be non-software, and thus perfectly fine.

If you know of any other examples, I'd be delighted to mark them as false positives. Please let us know at linux-libre@fsfla.org. Thanks!

Linux-2.6.33-libre released

Posted Mar 3, 2010 0:35 UTC (Wed) by BenHutchings (subscriber, #37955) [Link]

The only cases in which I know I removed “reverse-engineered” lists of registers were cases in which they had been copied literally (through mmio dumps) from non-Free drivers, and included without permission from the copyright holder.

Whatever makes you think these are copyrightable?

How to tell whether an incomprehensible stream of bits is copyrightable

Posted Mar 3, 2010 6:24 UTC (Wed) by lxoliva (guest, #40702) [Link]

I can't tell without having the faintest idea of what it is, or at least of how much creative work went into it. Do you have any tips to share in this regard?

In general, if something is very regular, I take it as non-creative and thus not copyrightable, but if it's sufficiently random that it could be code with creativity involved, it wouldn't be responsible to say it's GPLed unless whoever came up with it says so.

What about the hardware itself?

Posted Mar 1, 2010 18:49 UTC (Mon) by felixfix (subscriber, #242) [Link]

I will be more impressed when they build their own processors, DRAM, disk drives, etc. Of course, they will have to mine their own iron and other raw materials, and make sure they do that using libre excavators and transport and furnaces and so on. Then publish it on their own libre internet ...

Make sure they don't use power from the proprietary grid. But if they use solar power, better make sure those components are all libre.

Point is, at some point we depend on others. Purity of the sort they describe is at the limits of possibility, but hardly pure enough to satisfy real purists, thus making me half wonder if it isn't a Yes Men farce sponsored by The Onion.

What about the hardware itself?

Posted Mar 1, 2010 21:36 UTC (Mon) by MarkVandenBorre (subscriber, #26071) [Link]

I recognise your sarcasm, but... Projects like RepRap (htpp://reprap.org) carry the seeds for that kind of evolution.

Batter ways

Posted Mar 1, 2010 19:44 UTC (Mon) by wilreichert (subscriber, #17680) [Link]

If they really care this much they should put their energies behind HURD development instead of a castrated half working Linux kernel.

Batter ways

Posted Mar 1, 2010 20:50 UTC (Mon) by Zack (guest, #37335) [Link]

Considering that a linux-libre kernel mostly runs fine, especially when some prior attention is given to the hardware, and gives one a normal fully fledged GNU/Linux operating system the term "castrated half working Linux kernel" is a little far fetched.

Why should people who modify a piece of Free Software to their liking consider doing work on another project instead ?

Batter ways

Posted Mar 1, 2010 21:26 UTC (Mon) by wilreichert (subscriber, #17680) [Link]

Let them modify the kernel to their hearts content, its their right. My opinion is that its more worthwhile to add functionality to one project than to remove it from another. It depends on their end goal as to what makes sense for them - a firmware free Linux or a firmware free *nix.

Batter ways

Posted Mar 1, 2010 21:56 UTC (Mon) by Zack (guest, #37335) [Link]

>It depends on their end goal as to what makes sense for them - a firmware free Linux or a firmware free *nix.

I can image their goal is an operating system which does not depend on non-free software. Linux will do just fine as the kernel for that operating system, but for a few snags.

I get the impression that you (any many here) have a very pessimistic view of the capabilities of a blob-stripped linux, even comparing it to HURD in terms of functionality. But it is just plain old linux as you know it, just with some (often replaceable) hardware that might not work.

The linux-libre kernel finds its way into several distributions, at least one of which I know has a live-cd, which makes it an ideal tool to determine if your next purchase is freedom-compatible enough to be worth your money.

Ultimately the existence of linux-libre could make the lives of everyone easier, including those whose play loose and soft with software freedom in the name of pragmatism.

The need to criticize a project that puts anyone in a win-win situation eludes me.

Batter ways

Posted Mar 1, 2010 22:05 UTC (Mon) by dlang (subscriber, #313) [Link]

quote:
I can image their goal is an operating system which does not depend on non-free software.

but that is not what they are doing.

they are perfectly happy to depend on non-free software, as long as it is in flash as opposed to being loaded by the driver. In fact, they tell vendors to put the code into flash to satisfy them.

Citation required

Posted Mar 2, 2010 1:10 UTC (Tue) by lxoliva (guest, #40702) [Link]

I get the impression dlang is mistaking us for someone else.

I don't know of any member of FSFLA having ever told any vendor to put the non-Free Software in flash.

Quite the opposite, we encourage the vendor to do so, and release the firmware as Free Software. Then, the freedom #1, to study the source code and adapt the software to one's own needs, is not rendered useless by the fact that one cannot possibly install a modified version on ROM.

If it's in modifyable memory, this changes a lot to me. But you might get different answers if you ask others.

Citation required

Posted Mar 2, 2010 1:38 UTC (Tue) by dlang (subscriber, #313) [Link]

by saying that it is acceptable to have the firmware in flash, but not in the driver you are telling them by your actions to put it in flash. it's a much simpler thing to do to get you to stop complaining than getting all the legal/management approvals to release the source of the firmware..

you state in your documents that you want them to release the source, but by your actions, and in your documents you state that you consider firmware in flash to be acceptable.

Citation required

Posted Mar 2, 2010 5:57 UTC (Tue) by lxoliva (guest, #40702) [Link]

You still seem to be going with incorrect assumptions about *my* position, as main developer of Linux-libre.

I do believe that non-Free firmware hiding in otherwise Free operating systems is worse than non-Free firmware hiding in hardware, but that doesn't imply that the latter is fine.

You may have heard or read someone around me say such things, but are you sure it was FSFLA or Linux-libre developers? Can you provide a citation to back that up?

Citation required

Posted Mar 3, 2010 10:44 UTC (Wed) by mpr22 (subscriber, #60784) [Link]

I do believe that non-Free firmware hiding in otherwise Free operating systems is worse than non-Free firmware hiding in hardware, but that doesn't imply that the latter is fine.

Conversely, I think that "non-Free firmware hiding in otherwise Free operating systems", while certainly disagreeable, is an improvement-of-freedom relative to "non-Free firmware hiding in hardware", because it offers greater scope for remedying lack-of-freedom.

The lack of freedom in the former case can be remedied by replacing it with Free firmware, an operation which (essentially) only has to be done once to liberate everyone who uses that operating system with that device. Remedying the lack of freedom in the latter case, if possible at all, requires either buying a different device entirely, or doing something to each physical instance of the device whose owner is concerned by their lack of freedom which may (depending on the design) present a non-trivial hazard to the device's continued usability.

Power cut / brownout / system crash while you were reflashing your DVD drive? Better hope the manufacturer included a "recovery" firmware and brought its activation signal out to an accessible header.

Citation required

Posted Mar 4, 2010 5:03 UTC (Thu) by JoeBuck (guest, #2330) [Link]

I certainly don't want to attribute to Alexandre any positions that he does not hold, but I also have this issue with at least some proponents of removing binary blobs.

A GPU-based graphics chip is a very powerful engine that ideally we all should be able to program, and there are projects like Nouveau dedicated to figuring out how. But the fact that you can load a program onto a device and run that program, even if you don't know all the secret sauce yet, to me makes a more free device than one that appears to run with entirely free software, but only because the firmware program is in ROM and unalterable. I'm interested in the freedom to tinker.

Citation required

Posted Mar 4, 2010 10:22 UTC (Thu) by jschrod (subscriber, #1646) [Link]

Well written, thank you.

Linux-2.6.33-libre released

Posted Mar 1, 2010 20:39 UTC (Mon) by alvieboy (subscriber, #51617) [Link]

So, basically you say:

1) You're against having closed-source firmware blobs on your harddisk, and upload them on-demand to relevant hardware which needs it,

2) You are not against hardware which needs it to have it inside on a flash or similar storage.

Most hardware we have include some sort of binary, closed-source, firmware, ranging from simple USB devices, from CD players, DVD recorders, to high-end stuff like RAID controllers, SATA controllers, IDE controllers, so on, so on.

The only difference between these scenarios is it's cheaper for the HW manufacturer to have no persistent storage on the device (flash,eeprom,ROM) and have it be uploaded when you need to use the device.

I do agree distributing this firmware is not a good thing, but you cannot blame hardware vendors for that - they are just cutting manufacturing costs.

We need to be practical - and having a distro that ultimately won't run on any HW platform because they decide not to have firmware blobs on some installation medium is probably not getting them anywhere.

Alvaro

Linux-2.6.33-libre released

Posted Mar 1, 2010 21:55 UTC (Mon) by gnb (subscriber, #5132) [Link]

>it's cheaper for the HW manufacturer to have no persistent storage on the
>device (flash,eeprom,ROM)

Not only that, but it saves the user having to run some utility that is
typically poorly-designed, non-free and often not even available on a free
OS in order to upgrade the firmware. From the end-user's point of view,
pushing manufacturers to have the firmware in NV storage on the device is
simply a step backwards.

How much does the source code cost?

Posted Mar 2, 2010 1:18 UTC (Tue) by lxoliva (guest, #40702) [Link]

Why couldn't HW manufacturers share the code and the advantages with customers?

If HW manufacturers are interested in cutting costs, sharing the source code they own costs them nothing, and letting the community contribute to the software actually reduces costs for the manufacturer.

If you don't believe that could be so, how would you explain the success of Free Software projects in other low-level settings, even entire operating systems, boot loaders, BIOS, cell phones, storage and networking products, media server communities, etc?

If entire operating systems that ran on the small PCs from 20+ years ago could be Freed, why shouldn't the same reasoning apply to the larger operating systems that run on today's peripheral computers?

How much does the source code cost?

Posted Mar 2, 2010 4:50 UTC (Tue) by shemminger (subscriber, #5739) [Link]

There may well be no source code, at least not in the usual sense. Though some components have embedded CPU, the "firmware" for a lot of stuff is just the output from some CAD tool or other automated programmable gate array tool.

I'll take it

Posted Mar 2, 2010 6:18 UTC (Tue) by lxoliva (guest, #40702) [Link]

Source code in unusual senses would be fine ;-)

The goal is to have the four freedoms. If changes to the software can configure the device to perform different tasks, or to perform better the tasks it already performs, denying these freedoms to owners or users of the devices amounts to inflicting willful harm on them. It's actively putting roadblocks to stop people from using the device to their greatest potential.

Why anyone would tolerate or support this sort of abuse, other than other similar abusers, is beyond me.

I'll take it

Posted Mar 2, 2010 11:58 UTC (Tue) by hppnq (guest, #14462) [Link]

If changes to the software can configure the device to perform different tasks, or to perform better the tasks it already performs, denying these freedoms to owners or users of the devices amounts to inflicting willful harm on them.

Then why don't you limit your efforts to contributing something useful to the kernel, like free firmware replacements?

Why anyone would tolerate or support this sort of abuse, other than other similar abusers, is beyond me.

If you really cared about freedom, you would stop insulting people who exercised the very basic right to choose what works for them.

I'll take it

Posted Mar 2, 2010 13:49 UTC (Tue) by vonbrand (guest, #4458) [Link]

I fail to see how "not using the device to its fullest potential" is harming me when I knowlingly buy the device for the potential it does give me as sold.

Quite beside the fact that most of the time I'm *very* far from being able to tweak said device to its fullest, and even when I'm able to do so I usually have much more pressing matters to attend.

Delusion

Posted Mar 5, 2010 5:26 UTC (Fri) by lxoliva (guest, #40702) [Link]

If you think you can know in advance all of the quirks in a product you're going to buy, that will affect you and that the vendor won't be willing to fix, you're deluding yourself.

Even if you already bought the same product before and want to buy another before it goes EOL, vendors often replace parts during the lifetime of a product, and the easy-to-replace firmware that controls it may change from one batch to another, and you may end up with a product with different quirks.

So, no, you don't buy it knowingly because you can't possibly know ahead of time. What you know is what the vendor purports it to do, but you know marketers... If more politicians did 1^{-9} of the good their marketers purport them to do, the world would be a much better place.

Now, of course the only thing between you with the quirks and the dream the vendor sold you is the lack of freedom for *someone* to come up with the solution. It doesn't have to be you, although you can and should help if it matters to you.

How much does the source code cost?

Posted Mar 2, 2010 13:42 UTC (Tue) by vonbrand (guest, #4458) [Link]

Because they don't "get" open source?
Because the firmware isn't theirs to share in source form?
Because badly written firmware could damage the device, and thus be costly in terms of support?
Because the "source" is a hodgepodge of high-level(ish) source, assembler, plus some binary-only "last minute fixes" they are just ashamed to publish?
Because the tools required to build the firmware can't be freed (for any of the reasons above)?

How much does the source code cost?

Posted Mar 4, 2010 4:44 UTC (Thu) by BenHutchings (subscriber, #37955) [Link]

Why couldn't HW manufacturers share the code and the advantages with customers?

Firmware is typically written by the chip vendor. Their customers - board and system vendors - want a complete working package of hardware, software and firmware and they don't care about the source code for it (except for Linux drivers, since they need to be rebuilt for new kernel versions). You, as an end user, may want source for the firmware, but you are not a customer of the chip vendor so they won't pay much attention to you.

If HW manufacturers are interested in cutting costs, sharing the source code they own costs them nothing, and letting the community contribute to the software actually reduces costs for the manufacturer.

Releasing source code always carries some cost - it requires work on documentation and maybe legal review, and it can be used against the licensor as evidence of patent infringement. That might be balanced by the benefit of outside contributions, but this is questionable. Most of the development of firmware will take place before the hardware is available to the public, and by the time any outside contributors have got up to speed the hardware is likely to be off the market. Also, building and debugging the firmware might in some cases require expensive proprietary tools which would deter outside contributors.

In some cases a common firmware source tree could be maintained over several generations of hardware, or even across entirely different hardware families. In this case, it could well be suitable as a free software project. For example, the gPXE network boot code supports many different network adapters. My employer is one of several network controller vendors that contributes to and distributes gPXE firmware. However, the firmware that runs on our network controller themselves is unlikely ever to be free software.

How much does the source code cost?

Posted Mar 4, 2010 7:16 UTC (Thu) by lxoliva (guest, #40702) [Link]

> Releasing source code always carries some cost

If it's retrofitted into the plan for a product, yes, most definitely. But that's just because of a mistake that was made before. It's like assigning to an open standard the cost of escaping from a proprietary file format.

But if it's planned ahead of time, you can significantly reduce, if not completely do away with legal review. Documentation sure may be nice to have, but we're not asking for documentation, just the source code. If you can also put in the same documentation that your own developers used, that's surely welcome, and it surely wouldn't cost you much.

As for evidence of patent infringement, that argument doesn't hold any water. If you source code could be such evidence, so does the object code, and if a third party is sufficiently suspicious of infringement, a subpoena can take care of getting the corresponding source, even if getting the source isn't actually strictly necessary.

Linux-2.6.33-libre released

Posted Mar 2, 2010 5:56 UTC (Tue) by Janne (guest, #40891) [Link]

This project seems like an utter waste of time. Let's think about it for a moment:

Linux kernel is free software. It's distributed under the GPL and the source is readily available. It
contains few blobs of firmware that are not free, however.

Now, keeping the above fact in mind, what should one do if he wants to run only free software?
Easy: use hardware that does not require those firmware-blobs. Problem solved, you would then
be running only free software.

But instead of that, FSFLA decided to waste their time and energy in to removing those blobs. It
seems to me that they think that merely having those bits of code on their hard-drives will
somehow taint them and their computers, and that is why they have to be removed. To me that
seems like a such.... extreme and fundamental way of looking at this.

Those bits can be on your hard-drive, and they would not affect you at all if you only used
hardware that did not require them. Instead of wasting your time on this, how about actually
making free software better? The work you are doing will not bring one additional user to free
software. If you used your time improving Open Office, GNOME, KDE or any other piece of Free
Software you might actually make more people use free software. What you are doing now does
not do that.

Inducing others into the trap

Posted Mar 2, 2010 6:32 UTC (Tue) by lxoliva (guest, #40702) [Link]

Janne, you seem to be missing the “social movement” part of the Free Software social movement.

Solidarity is not just take care of stuff that harms you, and screw the rest.

Sure, if you have those bits in your disk and they don't take away any of your freedom because they are inoperant on your computer, you lose nothing in practice.

But when you tell your neighbor to use the same software you use, it might very well be that your neighbor would find herself deprived of control over her different computer, because of the very software that you dismissed as inoperant.

Solidarity suggests us to stand together against this threat.

Besides, if the software is useless for you, harmful for your neighbor, potentially harmful for everyone else, and the attitude of the proponents of such software is harmful to everyone, the question that really matters is not why take it out, but rather why put it in in the first place. Why give anyone the impression that it, and the hardware that only works by taking your freedom away, are something to be wished for, rather than avoided?

Inducing others into the trap

Posted Mar 2, 2010 8:18 UTC (Tue) by Janne (guest, #40891) [Link]

"But when you tell your neighbor to use the same software you use, it might
very well be that your neighbor would find herself deprived of control over
her different computer, because of the very software that you dismissed as
inoperant."

And then again, the neighbour might find out that his computer does not
work, because those blobs have been removed. So he ends up running Windows
instead, and his opinion regarding Linux and other free software is
permanently soured. I have seen that happen.

Fact is that to most people, computers are tools and appliances. they don't
care about source code. The people who could do something with the source
are few and far between.

So what if I run Linux with some firmware-blobs? How does it harm me? I'm
not "in control"? Sure I am. I could at any moment decide to use something
else which does not require those blobs. But it could be that I have made a
decision that using that hardware with those firmware-blobs outweights any
negative that they bring with them.

"Besides, if the software is useless for you, harmful for your neighbor,
potentially harmful for everyone else, and the attitude of the proponents
of such software is harmful to everyone, the question that really matters
is not why take it out, but rather why put it in in the first place. "

Because without that code, that piece of hardware is just an expensive
doorstop?

Like I said, the proper way to handle cases like this is to simply not use
that hardware. Vote with your wallet, and let the manufacturer know why you
chose their competitors product instead. If something is harmful, then
don't use it. But something those firmware-blobs are needed.

"Why give anyone the impression that it, and the hardware that only works
by taking your freedom away, are something to be wished for, rather than
avoided?"

I have used Linux with proprietary drivers, and I did not think that
someone had "taken my freedom away". Fact was that if I wanted proper 3D-
acceleration, I needed those drivers. Now, according to you, I should have
accepted the fact that I could not get 3D-acceleration in Linux, since
getting 3D would mean "giving away my freedom". I disagree with that.

But lets assume that I had "given away my freedom". What freedom would that
be? How was I worse off by using those drivers? I could not access the
source and tinker with it? I'm not a programmer, so having access to the
source is next to useless to me.

The problem is that people look at these issues from a programmers
perspective. But fact is that overwhelming majority of computer-users are
not programmers. They just want a computer that works. What we have here is
a case where those people are expected to sacrifice functionality in
exchange for freedoms that do not benefit them in any shape or form. When
they are faced with that choice, they would choose MacOS or Windows
instead.

I know how I would have been worse off by not using those drivers: no 3D-
acceleration. The benefits of not using those drivers would have been
nonexistant for me.

Inducing others into the trap

Posted Mar 2, 2010 13:56 UTC (Tue) by nix (subscriber, #2304) [Link]

... and if you download an upstream 2.6.33 kernel and try to compile it, you find that interrupts don't work on Radeon, because the firmware for it isn't in the tree. You can hunt it down in another tree (linux-firmware) and point the kernel at it, but the only info I've found about this is *in the git commit message adding the dependency*, and even that doesn't mention that the newly-required firmware was never added to the kernel tree at all, even in the firmware/ subdirectory.

... but maybe I missed the prominent message at release time... or maybe it's a simple mistake.

Inducing others into the trap

Posted Mar 2, 2010 18:45 UTC (Tue) by khc (guest, #45209) [Link]

do you have the link to the commit handy? Does it affect all radeons?

Inducing others into the trap

Posted Mar 3, 2010 12:30 UTC (Wed) by nix (subscriber, #2304) [Link]

r6xx, r7xx, those being the only ones that gained interrupt support this
time around and need firmware for it.

Commit d8f60cfc93452d0554f6a701aa8e3236cbee4636, which introduces
interrupt support, and the source code are the *only* places which
reference the new firmware files, and the source code actually constructs
the filename from pieces so grepping for it will fail. The firmware in
question, radeon/R600_rlc.bin and radeon/R700_rlc.bin, is *only* in the
linux-firmware tree. So the only way you'll notice this, unless you're an
obsessional follower of commit logs, is to spot the firmware loader
moaning about the absence of firmware, and then you have to figure out
that you have to get the linux-firmware tree, point the kernel at it via
CONFIG_EXTRA_FIRMWARE_DIR, and *explicitly name the firmware* in
CONFIG_EXTRA_FIRMWARE, or you'll have no interrupt handling. (At least you
get a warning message about this from Mesa apps.)

Oh yes, you can let the firmware loader get udev to load it off the
filesystem, assuming you've figured out what it's called and dropped it in
the right place. But that only works if the Radeon DRM isn't built in,
because if it is the firmware loader is asked for this stuff at
initialization time, long before udev is up. And if the DRM isn't built
in, X won't use it unless you explicitly load the module first: X can't
autoload it soon enough and tries to kick up UMS while KMS is still
initializing. That, at least, is considered a bug, but I *like* built-in
Radeon KMS and don't want to make it a module: I get a nice high-res
framebuffer console and everything.

Radeon KMS: lovely results, and a setup user experience like pushing forks
into your eyes. Welcome to the wonderful world of the firmware loader. I
much preferred it when the damn hardware worked *without* your having to
pay so much attention to the nasty non-free lumps that get uploaded to
it. I'm not planning to distribute my kernel binaries anyway: why am I
paying in configuration pain for the distributors who do?

Inducing others into the trap

Posted Mar 2, 2010 19:06 UTC (Tue) by lxoliva (guest, #40702) [Link]

You'll notice that not using that hardware and voting with the wallets is precisely something that the text suggests.

Making the non-Free firmware built-in, trivial to run, is precisely what prevents people from becoming aware of the problem, so as to take this sort of action.

Now, don't you think it's a bit too self-centered that, because you don't see how valuable the help s that you could get from a community to improve the software you can't improve because you don't know how to program, and don't care enough to learn (which is fine), you and everyone else must be deprived of this freedom?

I don't know about you, but I have been victimized by bugs in software+hardware combinations that could have been fixed with small software changes, but that the vendor refused to make and refuse to let me make. Stuff ranging from video resolution tables in Video BIOS, enabling/disabling backlights of LCD panels, bugs in implementations of WiFi encryption in routers, bugs in ACPI tables that required such essential features as USB keyboards and disks to be disabled, bugs in interrupt routing tables that broke wired network interfaces, caused random reboots and freezes, and the list goes on and on. A few of them could be worked around, others made the machines so useless that I demanded them to be fixed (still under warranty) and, since the manufacturer refused, I ended up having to return them after much struggling with the vendor.

Now, if you think anyone is doing me a favor for letting me use the hardware I paid for the way I see fit, refusing to fix obvious defects and refusing to let me fix them, maybe you'd also see as a favor say a watch that couldn't have its time adjusted by you, and that had to be taken to a repair shop to be adjusted, and after a year or two repair shops would no longer fix it because the manufacturer won't let them any more, so that you buy newer models.

I don't want to live in a world in which this stuff would be ok, but it's the very kind of stuff that we'll get by progressively giving up control over our devices to those who can and will profit as much as they can from this control.

Open your eyes, Janne, the devices you're sold as black boxes could be *so* much more useful to you if you could just improve one tiny bit here and there, rework one or another detail, add a feature or two, with help from people who won't have an interest in not helping so as to induce you to buy their next improved model.

Would you buy a house whose inside you can't paint with the colors you see fit? That you can't move some walls and doors so as to better fit your needs, that you can't as much as hang pictures off those walls, because someone else prohibits you from doing that? You might rent it and accept the conditions, but if you bought a house under such restrictions, would you really think of it as yours?

I guess the reason you can't see the benefits of freedom is because of the blinds you let them put on you. You can see a number of the benefits when it comes to the main operating system on your computer, why would the operating systems on gadgets and peripherals be any different? Take them blinds out, open your eyes, and Free your mind!

Inducing others into the trap

Posted Mar 2, 2010 20:40 UTC (Tue) by foom (subscriber, #14868) [Link]

> Making the non-Free firmware built-in, trivial to run, is precisely what prevents people from
> becoming aware of the problem.

Exactly so. Where's the version of linux that excludes drivers for all hardware that includes on-
board non-free firmware in ROM or Flash?

Some people get all worked up about the firmware that is uploaded to the device, but conveniently
ignore the built-in firmware which is *even more* harmful. At least if the non-free firmware is
nicely available in a file on your disk, you have a good starting point for working on replacing it
with free firmware. So letting people use it in the meantime so they can work on replacing it makes
some sense.

But the hardware with non-free firmware in ROM or Flash -- who knows if you can even replace
that at all! Might as well toss that hardware out, you'll probably never get free firmware for it! So
you surely don't need to include any support whatsoever for *that*.

Inducing others into the trap

Posted Mar 4, 2010 16:23 UTC (Thu) by jzbiciak (subscriber, #5246) [Link]

But the hardware with non-free firmware in ROM or Flash -- who knows if you can even replace that at all! Might as well toss that hardware out, you'll probably never get free firmware for it! So you surely don't need to include any support whatsoever for *that*.

Good luck getting the firmware for your computer monitor, your mouse, your keyboard, your PSU, your UPS, your KVM, your television, your television remote controls, your telephone, your refrigerator, your washing machine, your toaster, your coffee maker.... So much harmful firmware everywhere!

Or maybe not. My monitor has poorly translated menus (what does "Input Not Support" mean?) and a quirky interface, but it gets the job done. My mouse works. My keyboard works. My KVM has some quirks (doesn't work with one of my mice, and doesn't cache EDID information for my monitor) but also works well enough to be useful and worth what I paid.

I suppose I could try to get firmware source for all of this. I could even set about fixing the few quirks. But, realistically, I won't and it's unlikely anyone else will either.

I guess the flip-side arises with safety critical firmware, such as what's behind all the Toyota sudden acceleration fiasco. But, I don't know that you really want to let anyone with a basic knowledge of assembly code actually tinkering with that. Broader review though would potentially be helpful.

In the end, though, there's another freedom that we shouldn't forget: The freedom to not sweat the small stuff. If my analog phone gets replaced with a digital phone that does substantially the same thing with similar reliability, do I lose freedom if I don't get the source code with the phone for the firmware that handles "redial" and such? In a very technical sense, I suppose so. But, if the phone comes to me as an appliance that does what it's advertised to do, no more, no less, I gain the freedom of not caring about what else it might be capable of doing. And if it doesn't work as advertised, I can fall back on the implied warranty of merchantability/fitness for a particular purpose.

Now, sure, we should all have freedom to tinker, but that doesn't mean JTAG headers should start popping up everywhere. It just means I shouldn't get sued if I break the warranty-voiding stickers on an otherwise black box. Indifference is not hostility. (Laws like the DMCA are actively hostile in this space. Most of the time, though, manufacturers simply don't care.)

Some things will be more tinker-friendly than others, and tinkerers can vote with their dollars. The sad reality is that there isn't a lot of money in catering to tinkerers in mass-market devices.

Inducing others into the trap

Posted Mar 6, 2010 14:41 UTC (Sat) by bronson (subscriber, #4806) [Link]

> there's another freedom that we shouldn't forget: The freedom to not
sweat the small stuff

Great quote! I remember the days of scouring Fry's entire inventory
looking for the few remaining 3com cards with Tulip chipsets. Of buying,
installing, and returning motherboards until you find one that can boot.
Those were rough days. I'm glad they're mostly over (802.11N, I'm looking
at you).

If this project was more Harald Welte style, where one would contact
companies and trying to get them to release firmware, then rewrite the
firmwares of those that refuse, I would definitely get excited by it. I
might even help out.

However, simply removing firmware blobs from your own kernel is unlikely to
be noticed by any company or do any good in the world, but it WILL make it
much harder to get a fully functional computer. I fail to see the upside.

If you're simply trying to get that nice clean FLOSS feeling, you can get
that today! Just make the effort to buy the right hardware. What does it
matter if there are non-free firmware blobs available to the kernel if none
of them are being loaded?

Thanks for volunteering

Posted Mar 6, 2010 18:26 UTC (Sat) by lxoliva (guest, #40702) [Link]

Your efforts in contacting companies and getting them to release the firmware source code, and then developing the Free replacements, are definitely something that would fit in nicely in the project.

Meanwhile, while you're too busy criticizing what you don't understand (your failure to see the upside is enough evidence that you don't), we will keep it making it easy for people to tell whether they made a good hardware choice, so as to encourage more people to do so, so that the companies feel the pressure and make the decision to release the firmware in spite of your not doing your part to that end. Still don't the upside?

Thanks for volunteering

Posted Mar 6, 2010 18:34 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

I believe that bronson has a good point that this effort needs to concentrate
on getting firmware replacements in place to not regress on the user
experience and make the hardware usable for users who have already bought
them

Freedom is good but freedom with a awesome user experience is better and
Nouveau is a good example of the right mindset

Thanks for volunteering

Posted Mar 6, 2010 19:28 UTC (Sat) by lxoliva (guest, #40702) [Link]

Bronson has a good point that the efforts of reaching for vendors and trying to get them to release their firmware as Free Software is useful. But that would be no help in ridding Linux of the pollutants it has now. Even if the vendors released the bits, someone would have to clean things up. So, no, I don't see that this effort we make needs to concentrate on something else. It's two separate, independent valuable efforts.

As for user who have already bought stuff, giving them easy access to the stuff they're addicted to will just keep them addicted, perpetuating the problem of making decisions that are harmful to themselves and to everyone around them.

You might call the shining colors they see while under influence of those substances an awesome user experience; I call that hallucination, and I don't think it's any good.

But I don't think you regard the hallucinations as an awesome user experience, because you also appreciate the efforts that went into setting nouveau completely Free, so that now the experience can be really awesome.

Thanks for volunteering

Posted Mar 6, 2010 19:36 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

I see the efforts as definitely complimentary and freeing the firmware to
make the hardware more useful is no addiction and is a step up towards
preserving freedom and providing the practical benefits at the same time and
yes you might need to do some clean up work but that is no different from any
code being released

Thanks for volunteering

Posted Mar 6, 2010 19:47 UTC (Sat) by lxoliva (guest, #40702) [Link]

Your response gives me the impression that we've miscommunicated.

It would be very odd to say that freeing up the firmware is an addiction, as you seem to have understood from what I wrote. Quite the opposite. Freeing up the firmware is a great thing, for it makes the device usable in freedom, regardless of whether it's the vendor that liberates it or some reverse engineer who writes a replacement and sets it Free.

The addictive and harmful stuff that I alluded to was the non-Free software (not just firmware) that so many distros insist in giving users easy access to, using arguments that come across as oxymoronic to me: that this would improve the user experience. Keeping users fooled, controlled, spied, dependent, divided and hopeless is not awesome, it's awful. Getting the impression that offering these addictive substances to users will solve any technical or social problem is IMHO yet another hallucination induced by these substances.

Thanks for volunteering

Posted Mar 6, 2010 20:10 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

I wasn't talking about distros at all and that is a distraction from the
point I was making which is that while freedom is a good value it is a bit
more abstract for a lot of users and you should try your best to provide a
good user experience and consider participating in efforts to write free
firmware replacements such as the OpenFWWF one for Broadcom

When Fedora includes the firmware by default a lot of users were pleasantly
surprised that their wireless cards were suddenly functional out of the box
and we need to provide more of that

To give another example we had for several years talked about how
proprietary drivers were bad but having functional 3D acceleration for ATI
and Nvidia cards via free and open source drivers in Fedora now has a lot
more users convinced that this is the more sustainable path in the longer
term

What's the goal?

Posted Mar 6, 2010 20:59 UTC (Sat) by lxoliva (guest, #40702) [Link]

Sustainable distribution of non-Free Software (no matter how much Free Software is put in the mix) doesn't seem like a goal I share, or something I'd like to be involved in :-(

Now, if you meant that feeding people's addictions to non-Free Software will somehow pave the way for software freedom for all, and get everyone to, some day, stop using all the non-Free Software they became dependent on (it doesn't have to be the same day for everyone, mind you), I'm very interested in reading your thoughts on how to accomplish that. Thanks in advance,

BTW, 3D doesn't work on ATI cards on systems with only Free Software installed. In fact, without the non-Free firmware, loading up the radeon driver messes up the whole system, as I have experienced first-hand, and that others confirmed in this discussion.

What's the goal?

Posted Mar 6, 2010 21:18 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

To repeat I was referring to distribution of free and open source drivers
as the more sustainable path and who said anything about sustainable
distribution of non-free software? You seem to be reading things which I
have never said and doing it repeatedly for some reason and asking me to
justify things I have never said is pointless and annoying

Progress often happens in stages and again Nouveau is a good example of
that as well and more participation in such efforts is going to help

What's the goal?

Posted Mar 6, 2010 22:00 UTC (Sat) by lxoliva (guest, #40702) [Link]

You wrote of distributing the software for wireless cards and ATI video cards to work out of the box, but those are unfortunately not Free Software. You wrote including this non-Free Software (and also some Free Software) convinced users this was a more sustainable path in the longer term.

Sustainable means it's something one can keep on doing indefinitely. Whether or not distributing mixtures of non-Free and Free Software is suitainable is not relevant to the goals of liberating the cyberspace, eliminating non-Free Software and enabling all users to be Free. Why would we want or even care that this is sustainable?

Progress is welcome, and nouveau is indeed a great example, which is why it is cited in the article. (BTW, thanks for letting me know about advances that were quite unexpected to me!)

Hut firmware for ATI video cards and many WiFi cards are counter examples to the progress. Instead of motivating people to write replacements, they accommodate people in their addiction, and induces others to enter the progressive addiction path.

Your writing seems to given equal value to the just-Freed nouveau and the proprietary software that controls ATI video cards and many WiFi cards, to the point of saying we needed to provide users with more of the latter. I strongly object to that notion. If you didn't mean to suggest that, I'm very interested in knowing what it is that you're actually suggesting.

(reads again)

Here's another possibility of reading what you wrote that, although requiring some corrections and assumptions, indicates I've misunderstood much of what you wrote:

When you wrote of wireless cards and happily-surprised users, you were only referring to b43 cards on which openfwwf worked, not to wireless cards in general. Now, I don't know whether Fedora shipped the non-Free firmware for b43. If it did, as I assumed because it ships non-Free firmware for lots of WiFi cards, users wouldn't be surprised with the inclusion of openfwwf, but they would have been surprised years ago when Fedora started adding non-Free firmware.

When you wrote of 3D on ATI video, you made a mistake, because 3D doesn't work on ATI video cards unless the non-Free firmware is loaded. Even nouveau, as currently provided in all Fedora releases that have ever included nouveau, still requires has non-Free blobs built into it. The exception is the last two or three builds in the development tree for F-13, that has 2.6.33 patched with the post-2.6.33 fixes that finally made 3D on nVidia cards functional without non-Free Software.

So, if you were speaking only of openfwwf and the just-Freed nouveau as examples of stuff we need more of, and the reference to ATI was a mistake, we're in full agreement. But if it was something else, can you please clarify? TIA,

What's the goal?

Posted Mar 6, 2010 23:02 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

Your second reading is closer to my position than your first reading which
has a lot of misunderstandings in it but you haven't got everything I said
correctly

Nouveau is a example where progress happened in different stages

a) A few people participated in writing a completely free driver
b) Others participated in writing a free replacement for the firmware

I am suggesting that the Radeon driver can progress this way as well and
since the advantages of the freedom is here directly visible to end users
(ATI lags behind in their proprietary driver releases compared to new X
releases and Nvidia proprietary drivers are often problematic as well) they
will see that it is the more sustainable path

"Now, I don't know whether Fedora shipped the non-Free firmware for b43. If
it did, as I assumed"

Your assumption here is wrong because the non-free firmware for b43 is not
redistributable and this is not going to be acceptable for Fedora even with
the firmware exception

If Fedora included the non-free b43 firmware somehow then Free replacement
would be actually a regression not in freedom but in the user experience
since the free replacement does not support all the hardware that the non-
free firmware does but in this specific case freedom leads to a better user
experience and same in the case of Nouveau since Fedora never included the
proprietary Nvidia driver

I am suggesting that freedom can lead to a better user experience which is
possible and desirable and we need more of that and hence I consider any
effort to write free firmware replacement as strongly complimentary and
interconnected to whatever you have been doing and I am recommending that
you consider participating in such efforts

What's the goal?

Posted Mar 6, 2010 21:50 UTC (Sat) by nix (subscriber, #2304) [Link]

Without the non-free firmware the card works fine, if unaccelerated. And I
far prefer a small amount of non-free firmware and a large body of free
software to the memory-leaking slow dysfunctional closed unfixable horror
that was fglrx...

I'm not going to chastise ATI/AMD for going from adamant hostility to free
software (post-r200) to funding developers and writing free drivers and
helping revamp the X-on-Linux graphics stack, because they didn't *at the
same time* rewrite several hundred Kb of firmware.

What's the goal?

Posted Mar 6, 2010 22:09 UTC (Sat) by lxoliva (guest, #40702) [Link]

Their change in stance was welcome. They didn't have to rewrite the blobs, though. They could just set them Free, or release enough info so that others can rewrite them. Surely they have either if not both.

My old ATI card works fine only if I blacklist the radeon driver. I had it completely disabled for a long time (it didn't work after replacing the blobs disguised as sources with empty arrays), and when the blobs were moved out of the tree, I tried again, but then I ran into the interrupt storm, figured it still wouldn't work and moved on.

What's the goal?

Posted Mar 6, 2010 23:50 UTC (Sat) by nix (subscriber, #2304) [Link]

Personally, I'm glad they chose to release info and get working on the
code as soon as they could, rather than waiting for God knows how long for
the lawyers to clear *everything* before starting any work at all. The
wait for docs was years long as it was.

The interrupt storm, well, IRQ support is very new and IRQs are only
supposed to be on at all with the firmware loaded. I doubt the not-loaded
case is tested very often. It certainly merits a bug report.

Inducing others into the trap

Posted Mar 3, 2010 6:58 UTC (Wed) by Janne (guest, #40891) [Link]

"I don't know about you, but I have been victimized by bugs in software+hardware combinations
that could have been fixed with small software changes"

If you are a programmer, sure. But I'm no programmer.

"Now, if you think anyone is doing me a favor for letting me use the hardware I paid for the way
I see fit, refusing to fix obvious defects and refusing to let me fix them, maybe you'd also see as a
favor say a watch that couldn't have its time adjusted by you, and that had to be taken to a repair
shop to be adjusted, and after a year or two repair shops would no longer fix it because the
manufacturer won't let them any more, so that you buy newer models."

Why would you buy a piece of hardware from a company that treats you like dirt?

"Open your eyes, Janne, the devices you're sold as black boxes could be *so* much more useful
to you if you could just improve one tiny bit here and there, rework one or another detail, add a
feature or two, with help from people who won't have an interest in not helping so as to induce
you to buy their next improved model."

You still haven't answered the simple question I asked: How does Regular Linux limit my
freedoms, whereas Linux-libre does not? Seriously? And before you start telling me about the
ability to fix the code myself etc., I will remind you again: I'm no programmer. I could not make
"tiny improvements here and there" since I'm not a programmer.

Like I said: the problem is that FSF looks at this from a programmers perspective. But most
people are NOT programmers. They try to cater to programmers, while everyone else is shunned.
End result is that Linux has something like 1% market-share. If this was about liberating users,
the resources would be invested in spreading free software as far and wide as possible. But
instead of that, we have wasted effort that remind me of inquisition. Like Linux-libre and
gNewSense that are about cleansing the world of proprietary code, as opposed to actually
spreading free software or making free software better.

"Would you buy a house whose inside you can't paint with the colors you see fit?"

Flawed argument. I know how to paint walls, I don't know how to hack C, so removing the ability
to hack the code has ZERO downsides for me. Well, what about programmers? Well, last time I
checked, they can keep on hacking Linux, even the "non-libre" version of it. Sure, there might be
bits and pieces that they can't access, but that problem can be solved by avoiding hardware that
needs those closed bits and pieces. Removing those bits doesn't really accomplish anything, you
just get a kernel that can do less. The fact that those bits reside on the hard-drive does NOT in
any shape or form limit the freedoms of the user. They MIGHT limit the freedoms, if the users
makes the decision to use them. But even then, that is something the users decides.

Isn't it one freedom to choose using hardware that needs proprietary bits? Aren't we free to
choose?

"I guess the reason you can't see the benefits of freedom is because of the blinds you let them
put on you."

Of course I can see the benefits of freedom. But the thing is that all these things are by
programmers, for programmers. How exactly would Linux-libre benefit me? How exactly would
it benefit my 70 year old mother? Because she could hack the code and fix problems herself?
O.... K.....

I'm not saying that GPL is bad, or free software is bad (far from it). What I AM saying is that this
effort is useless and waste of time. If someone cares so much about those binary-blobs, he can
choose to avoid them.

"Take them blinds out, open your eyes, and Free your mind!"

And I can do that by using hardware that has free drivers available. What exactly am I missing
here? How exactly am I being limited by running standard Linux-kernel as opposed to Linux-
libre? Seriously? That is a simple question and I wish to get an answer to it.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 10:36 UTC (Wed) by lxoliva (guest, #40702) [Link]

Unfortunately, the answer is not as simple as the question. Or, rather, it is simple, but it's a bit long. Please bear with me.

You know what? I know nothing about painting, and I'm sure I'd suck at it if I tried. I still want the freedom to paint the walls of my house with whatever colors and paint I choose, and I'm sure I'll be able to find a competent painter to paint it for me whenever I fancy. Wouldn't it suck to buy the house and then find out that, if you want it painted, you have to hire the very person who sold you the house to do that job? That's what you get with non-Free Software, be it an application, an operating system or firmware for some piece of hardware.

Now consider this: do you agree that freedom of the press is important? Most people do. But how many of them write on newspapers, or otherwise work in the press, actively exercising that freedom? You don't have to be a journalist and exercise the freedom yourself in order to benefit from the freedom of the press. You can *choose* to exercise this freedom, if it's there, but even if you don't, the fact that many others do makes things better for you. But if it isn't, everyone loses. Consider how silly our current debate would be, if taking place between a proponent of freedom of the press and a non-journalist who doesn't perceive the indirect value that this freedom affords her.

On to software. Even if you never even realize that an improvement to a piece of software could make your computer (think cell phone, portable media player, media recorder, watch, notebook, desktop, whatever) work better for you, odds are that others will, and if they have the freedom to do it and share it with others, odds are that the benefits will percolate to you as well. And, if you *do* realize an improvement that would help you, you have the freedom to learn how to program, or to lure a programmer to do the job for you (hiring, asking kindly, whatever).

So, you see, the “I'm not a programmer” argument is fatally flawed, it misses the forest and the ecosystem focusing on a single tree. What's more, it seems to be some kind of a mantra that the industry of control spreads unto people, making them believe that it knows better than ourselves what's best for us, promoting such myths as “I need to hide this from you to protect you” (security by obscurity) and “you're not smart enough to do this job, close your eyes and trust me”. Don't be a fool, don't believe these myths!

“Why would you buy a piece of hardware from a company that treats you like dirt?”

Exactly!

“How does Regular Linux limit my freedoms, whereas Linux-libre does not?”

Besides the point that you identified yourself, it promotes and endorses the horrible idea that it's normal and acceptable to give up control over certain parts of your computer, it gets people used to that. As the amazing and terrifying growth of the blobs required by Linux shows, this is a dangerous slippery slope. If we don't revert this trend, Linux and other low-level pieces of software will be increasingly kept as closely guarded secrets, and we'll be back to the point in which RMS and everyone else were 25 years ago: nearly all the software around them had turned proprietary. And this is happening again.

And, worse, it's not only happening in some small bits and pieces of Linux. Freedom is evaporating into the cloud. More and more phones (the most common computing platform nowadays) are using GNU/Linux or Android or BSD, but non-Free versions thereof. Non-Free through withholding of source code (iPhone's BSD-based system) or Tivoization of Linux and Symbian.

Now, of course these businesses want to keep people ignorant and incapable of perceiving the value of freedom: such people are much easier to control and lure with “ooh, shiny” traps and tricks, and they *will* buy pieces of hardware from companies that treat them like dirt, because they don't see there is an alternative, they don't see they can take part in shaping the alternative, they aren't willing to make a tiny little bit of sacrifice to shape it, but they are willing to fight *for* those who keep them hostages (did I mention Stockholm's Syndrome?), and they will sacrifice freedom for short-term convenience (echoes of Ben Franklin come to mind), convenience that will be lost as soon as those whom they gave up their freedom find it profitable to also take it away. Then you're left with what? Freedom to give up your freedom, to choose your master? That's no freedom! When you get to that point, you're already under control, your freedom is already lost.

See how Linux's stance of accepting, promoting and endorsing the slippery slope affects your freedom? Keep in mind is that promoting the software is not the same as promoting the freedom: when the promotion of the software involves software that takes the freedom away, the message of freedom is fundamentally lost.

See how Linux-libre helps you, your gradma and everyone else, by exposing the problem, helping people realize they're losing their freedom, and inviting people to vote with their wallets for hardware manufacturers to respect their customers? Even if you don't choose to run it on your current computer, it might help you choose a computer that respects you next time you go shopping, so that you can vote right with your wallet. And then, since you can, we can hope you will, and so will many others, and then we'll get the change we need, rather than change they can spare ;-)

(Was it just me that read “change we need” as something a bunch of street beggars might say, and that could be answered to their satisfaction with handful of coins? :-)

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 13:55 UTC (Wed) by Janne (guest, #40891) [Link]

You are still not making any sense.

You are making the claim that "freedom is important". And you are right, it is important. But this project does not promote freedom. I mean, those binary blobs are still out there. Simply removing them from the kernel does not suddenly enable developers to hack away at that code. It's still closed. Only thing this project does, is to give us a kernel that is not as functional as the vanilla-kernel. It does not in any shape or form increase the users or developers freedom.

Yes, freedom is important. But freedom that people are unable to take advantage of is next to useless. I might have the freedom to move to Mars. But since I'm unable to do so, that freedom is meaningless to me.

Free software is very important to coders, and that in return gives the users better software as well. But like I said, this project does not help coders write better software, since code that was previously closed is not being made free.

"On to software. Even if you never even realize that an improvement to a piece of software could make your computer (think cell phone, portable media player, media recorder, watch, notebook, desktop, whatever) work better for you, odds are that others will, and if they have the freedom to do it and share it with others, odds are that the benefits will percolate to you as well."

Great! And how does this project enable that? Answer: it doesn't. That unhackable code is still unhackable code. Simply removing it from the kernel accomplishes nothing.

"So, you see, the “I'm not a programmer” argument is fatally flawed"

It isn't. Most people are not programmers. And second, this project does nothing to help programmers write better code.

"Besides the point that you identified yourself, it promotes and endorses the horrible idea that it's normal and acceptable to give up control over certain parts of your computer, it gets people used to that."

And this is why Linux on the desktop has failed. Fact is that people want a computer that works. If you asked them if they would prefer a computer that ran 100% free software but had lots of features that did not work, as opposed to having a fully functional computer that ran proprietary software, they would pick the latter. That is a fact. Most people simply do not care about the freedom of the software, they just want software that WORKS. Most people are in no position to take advantage of that freedom, and they rightly do not care. Why should they concern themselves with things that they have no use of?

And what's more important is that we have the opportunity to give users a computer and software that is 99% free software, and it would be fully functional. But that is not acceptable to FSF-hardliners, who would rather have 100% free software but less functionality. End result is that people use Windows or MacOS instead. Instead of running 99% free software, they end up running 99% proprietary software. How does that benefit Free Software?

"See how Linux-libre helps you, your gradma and everyone else, by exposing the problem, helping people realize they're losing their freedom, and inviting people to vote with their wallets for hardware manufacturers to respect their customers?"

Most people have not lost anything. And those who have lost (programmers) do not benefit from this project at all, since the code that was unhackable is still unhackable.

Linux-libre does not help my grandma at all. All it would cause it for her to call me and ask "why doesn't my webcam work?". I could tell her all about free software and how she's better off when proprietary software is removed from her computer. At that point she would ask me "so you are saying that my webcam will not work in Linux? Could you come over and install Windows instead? It worked there just fine". The benefits free software gives are of no use to her, she doesn't care about them.

And I admit: my main computer is a Mac, and I have an iPod. Why? Because I felt they were superior to their alternatives. By using a Mac I'm supposedly "giving up my freedoms". But I honestly don't see that. Only thing I see is that I finally have a computer with an UI that is easy, powerful and good-looking. I finally have a computer that requires no hand-holding from me and where everything just works. Am I being stupid for choosing practicality over ideology? I mean, the closedness of the Mac has not harmed me in any shape or form. Only thing I have seen is that I get more enjoyment from my computer and my productivity went up. Is it stupid of me to choose those immediate and tangible benefits over benefits that give me n benefit at all?

I bet you are now about to make some comparison about painting houses or something. But again: I'm no programmer, so freedom of Linux or closedness of MacOS does not harm me.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 16:36 UTC (Wed) by Zack (guest, #37335) [Link]

>And I admit: my main computer is a Mac, and I have an iPod.

>I honestly don't see that. Only thing I see is that I finally have a computer with an UI that is easy, powerful and good-looking.

Please don't understand this the wrong way, but putting these "disclaimers" somewhere near the top of your earlier posts would have saved (at least me) some time.
This is not to indicate you are wrong or right in your opinion; it's just that your perspective is probably so different from mine that it's nearly impossible to formulate something sensible enough to contribute to the thought process of the other side.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 17:01 UTC (Wed) by Janne (guest, #40891) [Link]

"This is not to indicate you are wrong or right in your opinion; it's just that your perspective is probably so different from mine that it's nearly impossible to formulate something sensible enough to contribute to the thought process of the other side."

So, because I use a Mac, my thinking is somehow "tainted"? Fact is that I use both Linux and Mac. My main computer is a Mac, but I'm typing this message on my second laptop that runs Ubuntu.

Maybe what we need is exactly what you reject: different thinking. Should only hardcore Linux-users be allowed to comment on these kinds of things? Could you get a worthwhile discussion, if every participant has 95% identical opinions and thoughts on the subject-matter? Preaching to the choir doesn't really achieve anything.

I admit: I'm quite pragmatic when it comes to computers. I look for software and hardware that gives me maximum amount of satisfaction and use. It just happens that for me, Mac is it. But that does not mean that I have to "hate" Linux (I don't, I'm a card-carrying member of local LUG) or think free software as "stupid" (I don't think it's stupid, far far from it).

Mac is my primary machine, but I use and enjoy Linux as well. Linux gives me different kinds of benefits, and I enjoy testing new things. And I started using Linux in -98 or so, so I have quite a long experience with it.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 17:24 UTC (Wed) by Zack (guest, #37335) [Link]

>So, because I use a Mac, my thinking is somehow "tainted"?

No, it's because you write "I honestly don't see that"; if you are indeed honest about that, and I have no reason to doubt that, it is an explanation to me why you write things like
"You are still not making any sense."
, which makes me raise an eyebrow and think
"Hold on, *you* are the one not making any sense.",
which is what I wrote:
"it's nearly impossible to formulate something sensible enough to contribute to the thought process of the other side", leading to two people not making any sense to one another.

>Maybe what we need is exactly what you reject: different thinking.

Yeah, I know, "think different".
But from a broader perspective, the Free Software community already are the weirdos doing the different thinking; going in the direction towards proprietary software doesn't need any championing, it's the status-quo.

Freedom matters to everyonel, directly or indirectly

Posted Mar 4, 2010 20:30 UTC (Thu) by papik (guest, #15175) [Link]

> Mac is my primary machine, but I use and enjoy Linux as well. Linux
> gives me different kinds of benefits, and I enjoy testing new things.

Maybe if Mac was free, you wouldn't need Linux to enjoy those different
kind of benefits.

It seems to me that you are looking at present (as "now I can do X and Y,
with non-free software, but only X with free software, so I'll use
non-free software", with the risk that noone is aware that Y is non-free
and never having free software doing Y and no software doing Y~) while
lxoliva is looking forward (as "everyone must be aware that we can't do Y
with free software", hoping that someone will write/release free software
doing Y and Y~ in the future).

(It seems to me that the lines following lines ending with '-' are being
cut, at least from the preview)

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 17:28 UTC (Wed) by viro (subscriber, #7872) [Link]

*snort* How about some non-faith-based arguments? There are damn good rational ones for "why source for firmware is generally a desirable thing"; none that I can see for that publicity stunt, but hey, maybe you guys can produce some...

If some luser duhveloper says "this code must work, because my ideology says it must and if you don't share my beliefs, there's nothing I can do, we are just culturally incompatible", the silly bugger will get a rapid and painful course of education in the reasons why solipsism derivatives are BS, why his beliefs don't mean a damn thing for reality and why his faith is not strong enough to avert the well-earned, er, uncomfortable sensations. Why should the same kind of crap be treated any kinder in this case?

Ideology is basically a set of heuristics. The output may be deemed more or less satisfactory by *external* criteria; without those all you've got is a dogmatic religion.

If you have rational and ideology-independent arguments for the tree "freed" in that manner, make those. If not, there's really nothing to talk about.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 17:59 UTC (Wed) by Zack (guest, #37335) [Link]

If it's any comfort, I don't understand most of your post either.

You seem to draw parallels between removing firmware blobs from the linux kernel and faith/ideology. I don't see the correspondence between those, since I'm not really a religious person, so it's difficult for me to correlate them in a meaningful way.

Fortunately you also write

>There are damn good rational [reasons] for "why source for firmware is generally a desirable thing"

If you could present those, that could be very useful.

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 18:58 UTC (Wed) by viro (subscriber, #7872) [Link]

Read what lxo has written and tell me if his reasoning survives if you remove ideology. As for the rational reasons for firmware source being generally benefitial, they are obvious and mentioned in this thread. Starting with potentially improved odds of figuring out why given piece of hardware sucks in given way by whoever ends up having to debug the breakage caused by FPOS in question. Balanced by the risks of nausea from reading it, of course, but that's a separate story.

But the same odds are also improved by
* having hardware documentation that is not entirely full of crap
* having firmware not written in Object Intercal implemented in BLISS macros
* having no"! yes, sometimes the usual opcode for NOP deadlocks the branch predictor; we'll do a hardware fix someday, for now let them patch as(1)" in there,
etc. All of those are generally good things. And if some are *not* true, you'll probably have more good reasons to curse the bleeding vendor. Which doesn't mean that e.g. removal of fuloong 2f support would be an improvement (NOP breakage, making life rather interesting).

IOW, "P may make dealing with Y less painful" doesn't mean "P should be a prereq for doing anything with Y".

Freedom matters to everyonel, directly or indirectly

Posted Mar 3, 2010 21:12 UTC (Wed) by Zack (guest, #37335) [Link]

Thank you.

If I understand your examples correctly, handling firmware can be a very painful experience, nausea inducing even.

But *if* I understood them correctly, I'm not clear on your objections against the linux-libre kernel.

If someone were to say that shipping (a part of) such a vendor's product and mentioning their products name was a subset of the term "endorsement", I would not find that unreasonable.

Now if that someone would say, "I do not want to endorse any vendor that would inflict such a painful experience on those kernel-hackers, even though I myself am not a kernel hacker and my kernel might be less functional.
", I would find such an action to be social and commendable.

Where could such a user go and download a kernel that he could use in the secure knowledge that he would not be unwittingly causing problems for kernel-hackers ?

Regardless of the exact background leading to the creation of linux-libre, the end result addresses the above question nicely; now such users can go and use the linux-libre kernel.

Now "not wanting to harm anyone though inaction" might have ideological connotations, but in my opinion is more of a simple act of solidarity than any sort of strict ideology.

Freedom matters to everyonel, directly or indirectly

Posted Mar 4, 2010 15:17 UTC (Thu) by mrshiny (subscriber, #4266) [Link]

I concur that this libre tree is more of a political statement than anything else. In that sense I support it; people can make whatever political statements they want and this statement says "Only fully supported hardware is welcome".

I disagree with the underlying philosophy, though, because Free drivers make the hardware less relevant to Freedom and a Free kernel makes the drivers less relevant and a Free desktop environment makes the OS less relevant, etc, up the chain of abstraction. Yes, if there is no Free OS then you are limited, but the mere existence of a Free OS means that you can preserve some of your potential Freedom even if you are running Firefox on Windows. If Windows hurts you too much you can switch to Linux if you haven't already.

Just like hardware: you are not trapped into a particular graphics card if your apps use OpenGL; don't like how your card works or how it harms your Freedom? Get a new one. In the meantime, at least your card works. It's hardly a trap if you can leave any time.

Inducing others into the trap

Posted Mar 3, 2010 13:37 UTC (Wed) by malor (guest, #2973) [Link]

How does Regular Linux limit my freedoms, whereas Linux-libre does not? Seriously? And before you start telling me about the ability to fix the code myself etc., I will remind you again: I'm no programmer. I could not make "tiny improvements here and there" since I'm not a programmer.

To add to what lxoliva said... you're thinking of yourself as a single entity. "It doesn't affect me directly, so why should I care?" But modern operating systems and applications are ridiculously complex entities, with codebases so large that individual programmers struggle to keep up with just one major program. Even the best programmers in the world, whether they're in Free software or proprietary, are dependent on the work of others. And if you're not a programmer yourself, you're even more dependent on them.

So, when those programmers tell you that they can make your life better if they're allowed to completely understand hardware, and fix bugs and introduce new features in the code that runs that hardware, you should pay attention. Any given device with open firmware will be improved by that openness. Whatever functions it may or may not have, open code makes the possibility of new or repaired functionality possible, even if the manufacturer has lost interest in the product. Manufacturers who erect barriers to that kind of control over your hardware are using their control over that code to try to extract more money out of "the market", ie, you. It may be a limitation you're willing to accept, if their proprietary software is good enough, but you put yourself into a subservient position by doing so.

You don't have to do that; you don't have to be subservient. And even if you personally would never change a firmware, there's thousands of people who will, and will happily share their improvement with you, often for free, since it costs them so little to give you a copy of their work.

If you're a Linux user, it should be pretty apparent by now what an advantage Free software can be for you, giving you as much control over your software environment as you choose to exercise. Pushing that freedom down into the firmware is an important next step to really owning your computing environment, in being able to use your general-purpose computing devices for whatever you wish. There's no reason to have to put on shackles to to use a device, and the linux-libre project is an attempt to entirely remove those shackles, both on you and on everyone that contributes to your chosen ecosystem.

Now, myself, I probably won't run this kernel, but I'm glad it exists. In fact, I hope the project eventually obsoletes itself. Just like Free software was so important to giving you choices about what you do with your operating system and applications, Free firmware gives you the same choices about your hardware. If a device has a feature, you can't be artificially excluded from that feature because you didn't pay a high enough price, or because the manufacturer would prefer to sell you something new instead.

Marketers hate that idea, because they really love being able to sell the same code and hardware at multiple different price points, and force product churn by selling you a new product to do something your old product was perfectly capable of doing. Anything that marketers hate should be something of interest to you, because it's probably a net positive in your life.

Inducing others into the trap

Posted Mar 3, 2010 14:14 UTC (Wed) by Janne (guest, #40891) [Link]

"So, when those programmers tell you that they can make your life better if they're allowed to completely understand hardware, and fix bugs and introduce new features in the code that runs that hardware, you should pay attention."

Sure. But this project does not help achieve that. All it does is that it removed a bunch of non-hackable code from the kernel. That code is still unhackable, regardless of whether it's in the kernel or not.

"You don't have to do that; you don't have to be subservient. And even if you personally would never change a firmware, there's thousands of people who will, and will happily share their improvement with you, often for free, since it costs them so little to give you a copy of their work."

Yep. But this project does not do that. Why is it that you think that thanks to this project, we will magically get open firmwares and the like? This project simply removed the binary-firmwares from the Kernel.

"If you're a Linux user, it should be pretty apparent by now what an advantage Free software can be for you, giving you as much control over your software environment as you choose to exercise."

Sure, but my ability to take advantage of that control is very limited. Like I said elsewhere, my main computer is a Mac, a proprietary OS. Yet that closedness has never harmed me in any shape or form. And the fact is that even though MacOS is closed, my user-enjoyment and productivity has gone up.

And if you are about to say that I'm "subservient" to Apple or something like that.... Well, go right ahead. You would be wrong, but you are entitled to your opinion. I view computers first and foremost as tools, and I want to use a computer that gives me maximum amount of satisfaction. And that computer happens to be a Mac running OS X. Is it stupid for me choose it over Linux? And I was 100% free to make that choice, no-one forced me.

"There's no reason to have to put on shackles to to use a device, and the linux-libre project is an attempt to entirely remove those shackles, both on you and on everyone that contributes to your chosen ecosystem."

That sounds all fine and dandy, "removing shackles". But what it gives in return is non-functioning computer. Is it really about "removing shackles" if you end up with non-working hardware? That seems like ultimate shackles to me. You can tell me about the benefits of free software while I stare at the computer that does not work. So the benefit is that it turns working computer in to non-working computer?

Now, don't get me wrong. I'm a big supporter of GPL, free software and open source. I just don't understand what this project hopes to accomplish. I would understand if they somehow tried to turn that non-hackable code in to free, hackable code. But that's not what they are doing, they are just removing it.

Roadmap to freedom

Posted Mar 4, 2010 6:58 UTC (Thu) by lxoliva (guest, #40702) [Link]

As I wrote in the first thread way above, the greatest relevance of this project is not in the bits, but rather in the awareness. It's a matter of social mechanics.

If you already made the mistake of buying a computer that will only function if you feed it wiht your non-Free Software and your freedom, now you'll know that you and everyone else is missing essential freedoms and everything else this entails, including the benefits of a community helping improve the functioning of the device. (if you've ever found any program that does absolutely everything you want, everything you'll ever want, and do that just the perfect way for you, you may throw the first rock)

And then, once you know it, since you value freedom and the benefits it brings with it, you'll avoid making the same mistake next time.

The more people do that, the more pressure we, the community you and I are part of, will be making for vendors to respect us and our freedom. Pressure that matters for them, because, remember, we won't be making the same mistakes again, i.e., as you put it, we'll be voting with our wallets, not buying from vendors who treat us like dirt, which is something the announcement goes into as well.

Under this kind of pressure, the vendors might choose to continue down that path, and sell less and less, or do the little work it takes to respect our freedom, in which case they will sell to happy customers.

And it doesn't matter much how long the chain of distribution is. If we make pressure on those who want to sell to us, they will take care of transferring the pressure to their suppliers, and so on, until it gets to whoever can set the bits Free. And, if they don't, their direct customer will just pick another supplier: they won't keep on buying stuff that their own customers are not willing to buy.

That's the path set to recover freedom for all, so that we can all benefit. Refraining from giving positive feedback to the misbehavior is key, and awareness is key to accomplish that, and avoiding trivial and transparent functioning of devices that take your freedom away is key to raise awareness. This is how Linux-libre accomplishes that. See?, it's not that hard to understand.

Sure, it's a plan that requires cooperation from lots of people, it at times even requires making some sacrifices, but small ones, compared with what we have to gain if we succeed, and even smaller ones compared with sacrifices made for freedom throughout history.

Inducing others into the trap

Posted Mar 4, 2010 2:59 UTC (Thu) by N0NB (guest, #3407) [Link]

It seems that not only do some wish to repaint the walls of their house or move said walls as they see fit, but they also want to (figuratively) recoat the inside of their hot water tank or reconfigure the internals of the gas valve on the furnace.

At some point we reach a practical limit of what we have the resources to do. And while I cheer Free drivers/firmware, removing the firmware blobs without a suitable replacement at hand (such as MadWifi's HAL sticking around until ath5k was capable) seems Quixotic to me. OTOH, a project such as this could only be born as a result of the incredible success of Free Software over the past almost 20 years.

Inducing others into the trap

Posted Mar 3, 2010 13:08 UTC (Wed) by miguelsvieira (guest, #64029) [Link]

I think that an important point that you're missing, Janne, is that for we -- non-programmers members of the community -- it is not that easy to avoid (or simply stop) using those blobs, most of all when they are inside the kernel. To be sincere, I have absolutely no idea how many of them I run into when I use computers.

Having the option of a free kernel/distribution that -- just for starters -- lets you know exactly what pieces of hardware you have that would not function without blobs seems, for me, very good indeed. I believe that might help people (esp. non-programmers, such as you and me) wonder about what kinds of trade-offs we're making, how we could proceed differently etc. For example, how do I choose compliant hardware? Or, do I really want high performance 3D acceleration, considering that this would require me to accept many other bugs, eventually tiny but certainly resilient (as they would probably no be fixable by the community, because they're inside blobs)? Does my need for high performance 3D acceleration outweighs the value that I put on using and helping free software?

One of the things that I value in free software is the fact that it helps us in trying to overcome planned obsolescence for hardware. In that sense, choosing free over blob helps the community in making free, good drivers for old hardware -- something that is mostly ignored by hardware companies, which are interested in selling us more of their latest release. That latest release might work right now (with blobs), but of course the companies are not willing to guarantee that it will work when it becomes "old hardware".

The transparency of a completely "just-works" kernel deals away with the pondering of those issues. I believe I'd be much more hardware-conscious, as you suggest (in what I believe is your main argument: free kernels are unnecessary as long as people use free, compliant hardware), if I knew exactly where are the blobs, why they are needed etc. Then, one would even be able to decide that he can't "afford" to use the free kernel, and therefore stick to the nonfree one -- but at least it'd be an informed decision; which in the future could help that same person in avoiding a bad hardware purchase, and therefore in avoiding proprietary software.

Inducing others into the trap

Posted Mar 4, 2010 20:10 UTC (Thu) by vonbrand (guest, #4458) [Link]

To find out which pieces of your machine use non-free firmware, it would be easier to go lspci(1) and such, and look up what you find in a list. Maintaining and publishing said list (with usage instructions, as required) would be a much better use of the time involved, IMHO.

OTOH, with today's hardware increasingly "intelligent", I tend to doubt you'll find anything that doesn't use some non-free firmware, from the keyboard + mouse up.

Inducing others into the trap

Posted Mar 2, 2010 9:09 UTC (Tue) by viro (subscriber, #7872) [Link]

I don't know if you remember that bunch of freaks, but there used to be a gaggle of fundies who whined a lot about The Peril To Immortal Soul(tm) incurred by running any Unix in general and Linux in particular. Just think of all the daemons, and then there are horrible, horrible names of programs (kill, killall) and functions (abort())... IIRC, they even tried to do something about that - put together an exorcised distribution (i.e. one with Bad Names replaced). I _think_ they overlapped with the "slackware is teh satanism!!1!!11!!!" crowd, but I could be wrong - it's been a long time ago and I might be conflating two different sets of idiots.

And yes, I realize that your religion is different. The general feeling, OTOH...

Inducing others into the trap

Posted Mar 2, 2010 13:58 UTC (Tue) by nix (subscriber, #2304) [Link]

IIRC 'Jesux' was a joke originated when the fundies started one of their periodic bookburning runs against something harmless (Harry Potter? something like that), trying to imagine what they might do if they realized how many daemons and zombies and SIGABRTs there are in Unix. I doubt they'd actually waste their time with something so marginal and, well, geeky. (But their lunacy passes all bounds, so maybe they really *did* go ahead and complain about it.)

Inducing others into the trap

Posted Mar 4, 2010 11:05 UTC (Thu) by cortana (subscriber, #24596) [Link]

*Future Change Warning:* Proposed Federal censorship regulations may prohibit us from giving you information about the possibility of calling this function. We would be required to say that this is not an acceptable way of terminating a program.

From the glibc manual, hehe ;)

Linux-2.6.33-libre released

Posted Mar 2, 2010 10:09 UTC (Tue) by Zack (guest, #37335) [Link]

>Linux kernel is free software. It's distributed under the GPL and the source is readily available. It contains few blobs of firmware that are not free, however.

>Now, keeping the above fact in mind, what should one do if he wants to run only free software?
>Easy: use hardware that does not require those firmware-blobs. Problem solved, you would then be running only free software.

That would solve the problem for that end-user. But there are distributors that try to make a good faith effort to not ship non-free software. With the increasing amount of binary blobs in the kernel this is getting more difficult.

>Instead of wasting your time on this, how about actually making free software better?
>The work you are doing will not bring one additional user to free software.

Popularity isn't the primary goal; making sure a piece of software is in line with the four software freedoms is the goal. From that angle it's very hard to see how they are "wasting their time", since they are doing work that results directly in what they set out to do; making sure distributors (and some end-users) have access to a kernel for their OS that complies with the four software freedoms. A goal not very surprising or out of order for a branch of the FSF.

Linux-2.6.33-libre released

Posted Mar 2, 2010 11:47 UTC (Tue) by Janne (guest, #40891) [Link]

"Popularity isn't the primary goal; making sure a piece of software is in
line with the four software freedoms is the goal."

If the goal is to liberate users from perils on proprietary software then
popularity is ABSOLUTELY a goal! Or is the idea that there will be a
handful of people running "pure" free software, whereas 99% of people are
running Windows or MacOS?

Like I said, instead of wasting time in an effort that does't really
benefit free software at all, we should be investing those resources in
actually making free software better, so more and more people choose free
software over proprietary software.

"From that angle it's very hard to see how they are "wasting their time",
since they are doing work that results directly in what they set out to do;
making sure distributors (and some end-users) have access to a kernel for
their OS that complies with the four software freedoms."

And you can achieve those four software freedoms by simply using hardware
which has free firmware and drivers available. Like I said: waste of time.

"A goal not very surprising or out of order for a branch of the FSF."

You could say that again. It's looking more and more that FSF is about
satisfying the needs of handful of extremeists, as opposed to bringing free
software to the masses.

Linux-2.6.33-libre released

Posted Mar 2, 2010 15:29 UTC (Tue) by dbruce (guest, #57948) [Link]

This (and similar projects like GnuSense or whatever it is precisely called) are useful as benchmarks. They provide something to give to OEMs who want to demonstrate that they really and truly support Free Software, with all the asterisks and gray areas removed.

If a few years from now we reach a point where new hardware routinely works in Linux without proprietary blobs, that would be a very valid thing to celebrate, and folks like these would deserve a lot of credit.

I agree that "Linux-libre" doesn't make a lot of sense for ordinary users. As another poster pointed out, it will only run on compliant hardware, in which case the proprietary blobs in the standard kernel would never have been loaded anyway.

Linux-2.6.33-libre released

Posted Mar 2, 2010 22:52 UTC (Tue) by rahvin (subscriber, #16953) [Link]

If it became an issue that affected profits all the manufacturers would do is put the binary blob in some flash (and use proprietary updates that will probably require windows) or ROM on the hardware itself, lock it up so it can't be changed or updated and the live with any bugs that result. That USED to be the way things were, these hardware blobs were in a bit of rom on the hardware and weren't upgradeable. If you ran into a bug you had to buy new hardware.

These binary blobs are a good step in the evolution of hardware because they allow hardware patching for bugs discovered after release. Most of these binary blobs aren't for hardware like winmodems where the stuff is being run in the CPU, it's truly specific to the hardware and an attempt to make the hardware better by making it possible to fix firmware bugs.

The only possible thing this could ever change is to reverse this trend (towards firmware that's fixable after manufacture) and lock everything up back in ROM's on the hardware. Personally I think this is a terrible idea that's a waste of time at best and a disastrous degrading of capability at the worst. These firmware blobs aren't software, as others have noted a significant number of them aren't even code!

I have to wonder where people get these ideas, although hardware blobs like winmodems where code is being executed by the CPU should be replaced where possible, most of these hardware blobs are insignificant and unimportant in the sense of freedom of code and simply aren't a big deal.

Linux-2.6.33-libre released

Posted Mar 3, 2010 0:22 UTC (Wed) by foom (subscriber, #14868) [Link]

> These firmware blobs aren't software, as others have noted a significant number of them aren't
> even code!

They *are* software, and not having the source *is* a problem. Take 802.11 adapters, for
instance. Some of the proprietary firmware blobs (that run on the devices' embedded CPU, not on
the main CPU) are less functional than the hardware allows. For example, it might not support
base station mode, when the hardware is perfectly capable of doing so.

Obviously, being able to modify the code to add that feature is of great value.

But I agree with the rest of what you say: the way to get there *certainly* isn't to prefer hardware
that has the firmware stuck in Flash/ROM rather than uploaded at boot.

Again, if someone makes a linux distribution that only works on hardware not containing
proprietary code already on the device *or* loaded at boot, that might be interesting.

Linux-2.6.33-libre released

Posted Mar 3, 2010 10:53 UTC (Wed) by paulj (subscriber, #341) [Link]

are less functional than the hardware allows.

Never mind that - those blobs are often quite substantial bits of software running on quite capable hardware (particularly these days). Often these blobs have access to a DMA capable bus and hence have complete, unfettered access over your computer, while also interacting with remote entities, e.g. over a network.

False dilemma?

Posted Mar 4, 2010 3:26 UTC (Thu) by lxoliva (guest, #40702) [Link]

It's hard to tell whether you're trying to portray a false dilemma or you honestly don't see that there are more than two possibilities involved, namely:

- build the firmware into permanent memory and keep it a secret

- build the firmware into permanent memory and set it Free so that users can contribute to it and find great new uses for the device so that it gets more popular (dlink anyone?)

- have the secret firmware uploaded to the device as needed

- set the firmware Free so that users can upload the original or modified versions thereof to the device as needed

Why do you jump from the conclusion that, by refusing to help hardware vendors impose their choices upon users, and helping users be aware of the problem so they make better purchases next time, vendors would retreat to permanent memory?

There are a number of real-life examples that show the opposite: vendors who, instead of retreating to proprietary territory, pursuing their own interests, embraced and extended freedom, quite often without extinguishing it.

Do you regard hardware manufacturers as particularly dumb people who would prefer to go back to the software dark ages over pursuing their own interests and profiting from the pursuit, or do you perceive any significant change to the hardware manufacturing and selling business in teh last 40 or so years?

You might remember (or have read) that, back then, hardware manufacturers would actually release complete source code to the computers they sold (that were *far* less powerful than today's peripheral computers), and users were glad to contribute to the process of perfecting the system.

It was only when third parties got in and started selling software separately from hardware that proprietary software took over. Why would hardware vendors, that still ship the corresponding software along with the hardware that's their primary business, behave so differently now from the way they did back then, given that there aren't third parties involved?

This is getting long already, but I'd like to also address the point that the ability to patch the firmware so as to fix bugs in it, which hardware vendors evidently perceive as an advantage, may actually turn out to be harmful to users in the long run.

The reason is that, when it's very hard to fix a problem, you'll work very hard to avoid the problem in the first place, but when it's easy to fix it, you're often sloppier on testing, because the customers will do the testing for you and help you shake the bugs out.

With the short shelf life of these products, odds are that many customers will end up finding bugs that the vendor will decide not to fix, either becuase it's not cost effective or because they've already moved on to other products. Fixing stuff that was already sold and that won't sell much anyway is of little economic interest to fix, and customers will be stuck with the problems unless they take it back to the shop for a refund, which few will do.

Linux-2.6.33-libre released

Posted Mar 2, 2010 15:52 UTC (Tue) by pboddie (guest, #50784) [Link]

Like I said, instead of wasting time in an effort that does't really benefit free software at all, we should be investing those resources in actually making free software better, so more and more people choose free software over proprietary software.

When you wrote "we" in the above, I think you actually meant to write "you", unless you're actually involved in this initiative and have taken the bizarre decision to criticise it publicly. In any case, since it doesn't look as if you're giving friendly advice ("handful of extremeists [sic]"), I guess those involved might want to look a bit further for strategy tips.

That said, with the more prominent strategic initiatives in the area of making Free Software more popular stuck in the mire of "shiny, shinier, shiniest" while abandoning basic functionality and reliability, they might be looking for some time. Meanwhile, beyond the narrow experience of a bunch of desktop users whose "Nvidia is working fine now", proprietary hardware remains a continuous and real problem.

Linux-2.6.33-libre released

Posted Mar 3, 2010 7:11 UTC (Wed) by Janne (guest, #40891) [Link]

"When you wrote "we" in the above, I think you actually meant to write "you", unless you're
actually involved in this initiative and have taken the bizarre decision to criticise it publicly."

Well, I consider myself to be a part of the community, as are the people behind Linux-libre.

"In any case, since it doesn't look as if you're giving friendly advice ("handful of extremeists
[sic]"), I guess those involved might want to look a bit further for strategy tips."

It seems to me that the motivator behind this project is the idea that mere existence of
proprietary code is bad in on itself, and it needs to be removed. Even if those bits just sat in the
HD unused. I, for one, can't see the harm. Sure, they could cause harm if they were being used,
but the user can choose to avoid hardware that needs proprietary code. So why do we need
Linux-libre?

"That said, with the more prominent strategic initiatives in the area of making Free Software
more popular stuck in the mire of "shiny, shinier, shiniest" while abandoning basic functionality
and reliability"

Those two are not opposites, you can have both. You need both. And the people who make
software sexy are usually different from the people who work on the plumbing.

If we only focused on the latter (functionality and reliability) we would all be running Emacs.
Emacs might be good for certain users, but 99.9% of worlds population would choose something
else, and that "something else" would be Windows or MacOS. How exactly would free software be
better off then?

If we want to liberate users, we need to make free software appealing to the masses. If we want
more free hardware, we need more users. And if getting more users means making the software
"shiny", then so be it.

It's quite telling that you consider software that looks good and sexy to be a bad thing. No
wonder Linux is stuck at around 1% of the market.

"Meanwhile, beyond the narrow experience of a bunch of desktop users whose "Nvidia is working
fine now", proprietary hardware remains a continuous and real problem."

If they are a problem, then don't use them.

Linux-2.6.33-libre released

Posted Mar 3, 2010 17:10 UTC (Wed) by pboddie (guest, #50784) [Link]

It seems to me that the motivator behind this project is the idea that mere existence of proprietary code is bad in on itself, and it needs to be removed. Even if those bits just sat in the HD unused. I, for one, can't see the harm.

One motivation for Debian's audit of the binary blobs was that the ownership of such data (and ability to redistribute it) was in question. I don't regard that as a harmless situation.

Those two are not opposites, you can have both. You need both. And the people who make software sexy are usually different from the people who work on the plumbing.

Haven't you just contradicted yourself? Maybe the people working on this particular plumbing don't feel qualified or well-positioned to make Linux "sexy". "We" can work on both, and that also means that "we" can be "wasting time" doing both.

It's quite telling that you consider software that looks good and sexy to be a bad thing. No wonder Linux is stuck at around 1% of the market.

No, but it's interesting that you have chosen to misrepresent my position as taking an all-or-nothing choice between "sexy" software and reliable software. When you have people complaining about, for example, the functional state of KDE 4 versus KDE 3 while people bang the drum for "new and exciting" paradigms, desktop effects, and so on, it's clear that someone has to make the case for keeping the fundamental stuff working.

And most people just want stuff that just works, "sexy" or not. The notion that a user interface has to have lots of flashing, whizzing stuff before the average person will consider using it is based on a very narrow view, typically focused through the lenses of Mac OS X and Windows Vista/7, and is frequently unsupported by actual user observations.

If they are a problem, then don't use them.

Fine advice for anyone trying to source components for an open hardware project that doesn't involve just picking up a motherboard and the rest of the off-the-shelf gear from some retail outlet.

Linux-2.6.33-libre released

Posted Mar 2, 2010 9:59 UTC (Tue) by eduperez (guest, #11232) [Link]

This kernel distribution removes all binary firmware files from the source code; then, hardware which requires such blobs becomes unusable under that kernel, correct?. Now, my question is: what hardware do you use?

Do you restrict yourself to hardware where a free firmware is available? Does that think exist, do you have a list of "clean" hardware? How can you be sure a piece of hardware does not contain a firmware?

If you "permit" the use of hardware with an embedded firmware, how is that better (in terms of freedom) than using hardware with a loaded firmware?

Thanks.

Freedom-compatible hardware

Posted Mar 2, 2010 21:37 UTC (Tue) by lxoliva (guest, #40702) [Link]

This kernel is for people who want to Be Free, rather than to give up freedom in exchange for some short-term apparent comfort. Ideally, this would be everyone, but Stockholm's Syndrome kicks in and the rest is history.

Anyhow, for these people, the blobs are useless, because the very hardware that would require it to function is useless for them, at least until some Free alternative arises.

The FSF, the older sister of FSFLA, maintains a list of hardware (peripherals and complete systems) that are suitable for people like us, who want to live in freedom, or at least in software freedom. http://fsf.org/hardware/

The hardware I use the most is a Lemote Yeeloong notebook.

I don't fully understand your last question, but I'll try to answer what I think you asked. Sorry if I misunderstand, please let me know if you meant to ask something else.

I don't see a significant ethical difference between modifyable software to control a device in semi-permanent memory in the device, or provided by some other software component on a per-session basis.

Both keep the vendor in a position to control and impose its choices on the user and alleged owner of the device.

What makes the latter case worse IMHO is the cost-shifting that the vendor imposes on operating system vendors. The vendor saves the costs of permanent memory, and gets others to replicate and distribute part of the product for them. When the firmware is non-Free, this amounts to enlisting operating system distributors as accomplices in taking freedom away from users.

Distributors don't get any real benefit from that (comparing with vendors shipping the firmware built into the device), they just get their hands dirty. But those who do keep their hands clean and not take part in luring users into the traps may lose if flocks of freedom-unconscious users judge the distributors (or rather the products they distribute) not in terms of polluted their distros are, but rather on how easy and comfortable they make it to use freedom-depriving devices.

In the end, distributors that aim at popularity among the freedom-unconscious face the prisoners' dilemma, enter a race of who adds pollutants faster, and the result is the tragedy of the commons we see now. I addressed this in a bit more detail in the Linux-libre speech at last year's Libre Planet conference. Audio and slides are here:
http://groups.fsf.org/wiki/Alexandre_Oliva_%28LP09%29

Now, if the hardware device cannot me modified, period, say because its programming is all rendered in permanent hardware (actual ROM), then freedom #1 can't be exercised anyway, and even freedoms #2 and #3 lose significance (what's the use of improving and distributing something that can't be used without a hardware fab anyway?). The vendor isn't at an advantageous position to tinker with built devices than the customers, so this case is not unethical IMHO.

I hope this answers your question.

Linux-2.6.33-libre released

Posted Mar 4, 2010 8:27 UTC (Thu) by jebba (✭ supporter ✭, #4439) [Link]

The linux-libre kernel runs on a wide variety of hardware. You lose a number of wifi adapters and 3D acceleration in some cases. On top of that there's the missing odd sound card or adapter. But most things "just work" as you would expect using the mainline (or distro) kernel. It runs fine on thinkpads I have had, for instance (using ethernet). It's not like it breaks most systems...

Linux-2.6.33-libre released

Posted Mar 2, 2010 10:09 UTC (Tue) by eghost (guest, #63998) [Link]

As someone who actually works on the boundary between software and hardware,
this all sounds a bit silly. The firmware is there to coax the recalcitrant
hardware into presenting something resembling a consistent and reliable
interface for the software to talk to. It should be considered part of the
hardware.

You can make hardware reliable and stable, as long as

a) you don't want it to do very much
b) you don't care how much power it draws and
c) you don't care how big it is

None of those things are true for modern hardware. Everyone wants more
functionality in fewer square millimetres and with lower power consumption.
The hardware is, let us not forget, quantum mechanics in action. Its
behaviour cannot reasonably be fully simulated prior to manufacture, so what
you get is a chip with unexpected behaviour. Some poor buggers in the
firmware department then undertake the task of working out how to get it to
do what it said on the tin, so that people writing software (free and
otherwise) can do something useful with the published API.

Don't expect them ever to tell you what they did; they're not used to anyone
caring.

I'm sure we'll have free hardware eventually, but currently it's at the
noble experiment stage. When all the dedicated tinkerers I know have a
micro-fab in their garage and can play with new hardware designs, that's
when it becomes possible. And FPGAs don't cut it. I'm not holding my breath.

As for the philosophy; I don't see much similarity with Saint Stallman[tm]
here. For all his sandals and extreme hair, what he did in the beginning was
"There is no proper freedom in this area so I shall create something which
has it and give it away to fill the gap." - a creative response.

What I see here is "There is no proper freedom in this area so I shall take
something that already existed anyway and remove stuff." - a destructive
response.

A response to match the ideals would be to start making free hardware.

Linux-2.6.33-libre released

Posted Mar 2, 2010 10:31 UTC (Tue) by Rehdon (guest, #45440) [Link]

Well said. I can see only one use for this kind of project, and that would be being a functionality test case for a 'proprietary blob'-free linux kernel: seeing how well/bad that would fare using modern hardware could be an interesting experiment.

I wouldn't suggest that 'ordinary users' (I'm one of them) download and install linux-libre on their boxes though. And I'm tired of the rhetoric, really really tired.

Rehdon

Linux-2.6.33-libre released

Posted Mar 2, 2010 23:00 UTC (Tue) by rahvin (subscriber, #16953) [Link]

The best success this effort could have is to get all the firmware shoved back onto a non-upgradeable (or upgradeable using a windows tool) ROM or EEPROM. It's a step backwards IMO. Having the blob of hardware band-aids that is a typical firmware is not going to help anyone do anything, it doesn't advance freedom and it's only success would be to blackmail hardware makers into putting everything back into non-upgradable ROMS like in the old days. That way if hardware has a bug you buy new hardware rather than download a firmware with an extra bandaid for the bug in the hardware.

This is just silliness to me.

Similarity with the spirit of the GNU project

Posted Mar 3, 2010 7:17 UTC (Wed) by lxoliva (guest, #40702) [Link]

So, RMS set out to put together a w/holy free operating system, or die trying (of old age, presumably).

Now, you know one of the decisions of the project was to use whatever Free Software was already available to do the job, rather than writing it all, right? Such stuff as sendmail, X11, TeX, and even Mach (intended to be used as the lower layer of HURD) were already Free back then, and GNU was happy to use them.

Now, what if RMS had found out that say TeX contained some non-Free bits? Turn a blind eye to it wouldn't be honest, so they'd have to be (i) removed, and (ii) reimplemented, as people found the needed and the will to do so.

You'll notice that (ii) necessarily follows (i), even if they're mostly simultaneous, say, because some of the bits are absolutely trivial to rewrite and release under a Free Software license compatible with any other pieces it gets combined with.

However, the harder it is to reimplement the bits, the longer the time is likely to be between (i) and (ii). In any case, (i) can be a great motivator for someone who was comfortably unaware of the non-Free bits.

Unfortunately, the blobs in Linux are of the harder type to reimplement, because most often information is not available. There is progress, albeit slow. In the mean time, the Free Software community needs a Free kernel, and Linux is growing less and less Free, so Linux-libre fits.

And it fits perfectly well in the original plan for GNU: use Free Software that is already available, and implement whatever else is needed to get a w/holy Free system that people can use. If using Free Software that is already available means cleaning up nearly-Free Software, so that it becomes Free, so be it => Linux-libre.

It would be just silly to reimplement stuff from scratch, as some suggested, and it would be nonsensical to wait until all the remoevd non-Free bits are reimplemented before letting people use what is Free and perfectly usable.

Sure, you may find one component or another here and there that will adamantly refuse to serve you, but as someone else pointed out, you can always replace the component if you wish to. (and you can find a freedom-friendly replacement, and you don't find out that the hardware system vendor doesn't limit the system so that it refuses to function if you replace the WiFi cards or the hard disks or any component whatsoever with something not supplied by their salesmen or authorized repair shops)

Similarity with the spirit of the GNU project

Posted Mar 3, 2010 13:09 UTC (Wed) by nix (subscriber, #2304) [Link]

Well, obviously what RMS did with TeX was 3) declare that a project that
requires you to change its name and the name of all its font files and all
the references to such files within all documents, or requires you to add
an elaborate mapping mechanism to allow such changes without impact (which
was eventually done) *is* nonetheless free.

The TeX license is sufficiently far from free that special clauses had to
be inserted into the DFSG and other such definitions specifically to
grandfather it in.

DFSG is not the Free Software definition

Posted Mar 4, 2010 5:18 UTC (Thu) by lxoliva (guest, #40702) [Link]

DFSG is a bunch of rules that the Debian community came up with, in an attempt to create measuring points to indicate whether or not a piece of software complies with the Free Software Definition, i.e., whether the user of the software isn't being denied the 4 freedoms over the software. Don't mistake the shadow in the cavern for the real thing.

So let's see how the constraints posed by requirements of the TeX license get in the way of the 4 freedoms:

#0: run the software for any purpose: no conflict here

#1: study the source code and adapt it so that it does what you wish: no conflict here

#2: distribute the software, as you received it, whenever you wish: no conflict here

#3: improve the software, and distribute your improvements: gotta do a bit more work to rename the files, but that's about it, nothing significantly different from replacing easily-replaced logos and trademarks in any piece of Free Software.

So, no grandfathering as far as the Free Software definition is concerned. That the DFSG needed adjustments is just more evidence that it wasn't (and still isn't) equivalent to the FSD. That the DFSG was corrected, rather than insisting on a divergence, is a good sign that the people in charge took it for what it is (a set of heuristics), rather than as the essence.

DFSG is not the Free Software definition

Posted Mar 5, 2010 0:11 UTC (Fri) by nix (subscriber, #2304) [Link]

Er, they had to rename the files and *write a complete filename mapping
layer to compensate for that renaming*. This was *not* a small job :/ I'd
say that after that mapping layer was written, it was free and useful:
before that, it may have been free but the freedom was not much use to
anybody.

Mapping layer for compatibility

Posted Mar 5, 2010 4:42 UTC (Fri) by lxoliva (guest, #40702) [Link]

Please correct me if I'm wrong, but my understanding is that this remapping layer was not somethng demanded by the software license. Renaming files and fixing internal references to it would be enough to meet the requirements of the license and to distribute fully-functional software.

The catch, if you can call it that, is that pre-existing programs (documents) that referenced the file names that were no longer there would no longer “just work” on the modified software. They'd have to be mechanically modified as well.

I won't get into the debate of whether exposing internal implementation details as part of the public API is a good idea, even more so when these details must be modified when the progarm changes. However, nobody prevented the modifiers from implementing a script to make the needed changes, all mechanical, and the fact that it could be done in lower internal layers of the modified software, rather than as user-visible API changes, goes to support, rather than detract, from the fact that the original software was indeed Free, and I only bring this up because someone might make a successful case that, if it wasn't so, then some important freedom was missing.

Having the freedom doesn't mean its enjoyment has to be effort-free. Even the most permissive licenses carry some requirements with them, as light as keeping copyright notices intact and not removing the copy of the license. Copyleft licenses are more demanding, but none of the requirements, by themselves or taken as a whole, prevent you from enjoying any of the freedoms (although the combination of those requirements with others one might have accepted may have that effect, which makes it copyleft).

Some trademark issues have similar effects to those in TeX, but that the requirements are enough of a pain that some people set out to replace all the trademarks and logos ahead of time, to be able to keep that out of their minds in subsequent relevant modifications, is, to me, an indication that the freedom is there, just not so trivially accessible.

I like the metaphor that respecting someone else's freedom is not giving her a ride to the place she wants to go, but rather refraining from placing or keeping unsurmountable roadblocks on her way.

So I stand by my understanding that TeX is Free Software, just like Firefox is Free Software. If Debian read its heuristics in such a way that it reached a different conclusion, and (assuming) for this reason alone it set out to create IceCat, may an indication that the tide is turning, and that the essence is being lost and the heuristics taking over. If that is so, it is very sad. OTOH, it may very well also be that Debian just needed to make the changes and figured sharing it with others was the best way to go. If that is so, it is very good.

Similarity with the spirit of the GNU project

Posted Mar 3, 2010 16:56 UTC (Wed) by eghost (guest, #63998) [Link]

So presumably, since microcode patches are required for correct functioning
of Intel processors, the ability run on an Intel CPU must also be removed.
These microcode patches are downloadable firmware updates for the CPU,
pure and simple. And that's non-free, so as long as your distribution
contains the Intel Microcode Update Utility, it is not properly libre.

Some hardware has its firmware in ROM, but sometimes you need to patch that
ROM to get correct operation. I presume it will also not be permitted to use
any basically ROM-based hardware which was not perfect at manufacture.

Hardware people often think of firmware as just software, and they're wrong.
Software people who fail to think of firmware as part of the hardware are
also wrong.

If one accepts running on an Intel CPU, or any peripheral device with an
out-of-band method of updating its firmware, why does one not accept an in-
band method of updating the firmware? The important thing is that the API
for the device be published, and that all host operating systems should be
equal before it.

Now I may be wrong, but this all sounds very much to me like a bunch of
software people getting into an area where they aren't really experts.
Removing something with the intent of replacing it yourself in time, where
you have the necessary expertise, is one thing. Removing it in the hope of
annoying some unknown person into fixing it for you isn't quite the same
thing - that's just annoying people.

So out of curiosity, I wonder what *is* the plan with regard to fixing the
problem of hardware manufacturers not publishing their Verilog or VHDL or
whatever? And their manufacturing process? And detailed information on their
analogue parts (for things that deal with radio like WiFi and TV and FM). A
lot of is stuff you don't even *know* before you've got the part back from
the Fab.

That's what you'd need to write your own firmware after all. This isn't a
case of asking for an API reference.

Merge into Linux? Useful as test suite before buying hardware!

Posted Mar 4, 2010 15:40 UTC (Thu) by dwheeler (guest, #1216) [Link]

I have two thoughts on this.

First, has anyone discussed merging this in the future into the Linux kernel itself? I can imagine a configuration option that said "only include material meeting $LICENSE_CRITERIA". With that, it'd be easy for kernel developers to realize when something has been added that doesn't meet that criteria, identify what doesn't meet it, accept patches that replace it (and see why), etc. Obviously that's up to Linus et al., but as long as it wasn't REQUIRED, they might think that's a good thing.

Second, I can see this as being really useful as part of a test suite before buying hardware. Buying hardware is tricky today. If I could run a "libre" test suite, then I could see which one was supported by purely OSS drivers... and buy that one instead.

Merge into Linux? Useful as test suite before buying hardware!

Posted Mar 5, 2010 9:33 UTC (Fri) by alex (subscriber, #1355) [Link]

In theory you should be able to get that by disabling the firmware loader.
There has been a push to remove the binary blobs in the linux source tree
and make them available via the firmware loader interface. While not
everything has been expunged I'm sure patches doing so would be useful.

Merge into Linux? Useful as test suite before buying hardware!

Posted Mar 5, 2010 15:23 UTC (Fri) by lxoliva (guest, #40702) [Link]

Disabling the firmware loader would disable support for Free firmware too.

Something that AFAIK hasn't been taken to the Linux developers yet is some means to distinguish Free from non-Free firmware (say, different request_firmware calls), so that you could choose freedom.

Anyhow, as long as Linux still includes or requests non-Free firmware, disabling the firmware loader doesn't get even close to solving the real problem: the source code that, per the GPL, needs to be offered or distributed along with the binaries, still contain the non-Free firmware and the requests for non-Free firmware, which is likely to be mistaken as indication that the firmware might be a solution for a technical problem, rather than being a symptom of a social problem.

Merge into Linux? Useful as test suite before buying hardware!

Posted Mar 5, 2010 15:47 UTC (Fri) by alex (subscriber, #1355) [Link]

Sure, perhaps it would have been better if I had said point the firmware loader to a directory that only has bona-fida free firmware in it. I have a linux-firmware git tree on my systems but I'm unaware if there is a free firmware only equivalent. I'd certainly try it out if there was.

"Anyhow, as long as Linux still includes or requests non-Free firmware, disabling the firmware loader doesn't get even close to solving the real problem: the source code that, per the GPL, needs to be offered or distributed along with the binaries"

The GPL is very specific about what boundaries exist (and the Linux version of the GPL even more so). I agree having the firmware in the Linux source tree is undesirable and I think most kernel hackers are on-board with that point of view. However the kernel copying a set of bits from the disk to the hardware isn't a violation of the GPL any more than it would be copying the non-copyleft mp3 on my disk to my music player. You are free after all to use GPL software to do anything :-)

...and the requests for non-Free firmware

Does the request_firmware() call actually need specific firmware or just leave it up to the user-space tool to determine the correct firmware?

While I certainly don't object to the libre project (after all it's your time not mine :-) it's going diverge more and more as the kernel grows. You may want to consider submitting patches that remove identified firmware from the kernel (although if it breaks functionality by not using request_firmware I doubt there will be any point).

Merge into Linux? Useful as test suite before buying hardware!

Posted Mar 5, 2010 17:00 UTC (Fri) by lxoliva (guest, #40702) [Link]

Sorry, my allusion to the requirements for distributing source code was totally unclear. I wasn't talking about any potential legal problem here, but rather about the fact that the source code that invites users into the trap would have to be distributed along with the binaries. This invitation, as well as the firmware that's also there, but that could be stripped off without GPL infringement, if it's in separate files, are the social problem, and they will be there regardless of whether the binaries have the firmware loader disabled.

Divergence is expected, if unfortunate, and not a major concern. Submitting patches to help fix the social problem we're concerned with is pointless, it was tried before and Linux developers don't appear to be interested in helping fix it.

That said, I'm probably going to give it another shot, with at least part of the plan proposed in the announcement. It might help reduce divergence, and it might be that Linux developers are not sufficiently opposed to the idea of telling Free from non-Free firmware that it might go in. Who knows? Maybe they'll surprise me and buy into it all, as an option ;-)

Advice

Posted Mar 5, 2010 17:35 UTC (Fri) by alex (subscriber, #1355) [Link]

While I respect the position of the FSF and other individuals on the
political position of software freedom I'd advise you to concentrate on the
engineering aspect with any submission to lkml/Linus. There are certainly
hackers sympathetic to reducing proprietary taint in the kernel, however the
kernel in itself is very much not a political vehicle.

The best you can hope for is reducing the diff between the Linus tree and
your -libre branch. I doubt the Linus tree will ever fully align with the
political goal you are aiming for.


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