Libreboot and the Leah Rowe follies

Hopefully, this story has developed enough that it’s safe to write about now.

Not too long ago I was on IRC (Freenode #fsf) and someone pasted this URL linking to the Libreboot mailing list (all typos are as in the original, very slight snippage made for brevity):

Hi,

The Free Software Foundation recently fired a transgendered employee of the FSF, just for being trans, because some transphobic cissexist people wrote negativly about her. The FSF fired her because they thougdt she, rather than the assholes bullying her, was causing the FSF potential damage. As a result, she was fired from the FSF.

As a trans person myself, I find this disgusting.

I’m declaring here and now to the whole world that Libreboot is no longer part of the GNU project. I do not believe that the FSF or the GNU project deserve to exist.

[…]

Long live the LGBT community, and long live the free software movement. Meanwhile, FSF and GNU can both go fuck themselves.

-- 
Leah Rowe

Libreboot developer

Later that day, John Sullivan of the Free Software Foundation responded with this statement (quoted below in part):

This morning, an open email circulated in which the author said that the Free Software Foundation ended a relationship with one of our employees for discriminatory reasons.

Although it is our usual policy not to comment publicly on internal personnel matters for privacy reasons, we felt it necessary to state unequivocally that the allegations made in that email are untrue.

It is part of our job to celebrate and improve the diversity of the free software world. We have strong anti-discrimination and anti-harassment policies to help provide a safe and supportive working environment. […]

(Not quoted or linked above was a reply from Dr. Richard M. Stallman himself also denying Ms. Rowe’s accusations. You know stuff just got real when RMS has to take time out of whatever he usually does to respond.)

In the days since, no further details have come forth. Of the two, I am personally much more inclined to believe the FSF. Especially in light of the fact that Ms. Rowe claims to speak for the “libreboot community”, when in fact it is more likely she’s really only speaking for herself, per this post by Darnien Zammit on zammit.org:

Given the recent kerfuffle, and in spite of my vested interest in wanting to continue being paid to continue this important work [on the Libreboot project], I find it necessary to spell out a couple of facts I find important about the libreboot project and the libreboot community:

1) I have recently noticed that Leah Rowe is the only person who has git commit access to the website, libreboot.org, and also the only person who has git commit access to the codebase, which has only become a problem recently.

2) The codebase is a deblobbed coreboot repository, with patches from libreboot contributors (but committed by Leah), and a bunch of install scripts for ease of use.

3) We (the contributors) are not consulted about any of the views expressed on the libreboot.org website when they are hastily published by Leah.

So, whenever you read “We believe….” or “We say that…” on the lists and websites, Leah has ultimate control of the libreboot project currently. It is clear that this person has been misusing control of the project to spew out irrelevant personal opinions on behalf of the “libreboot community”, a singleton group of people consisting of … yes you guessed it, Leah Rowe.

I find it quite distasteful that someone like Ms. Rowe would take it upon herself to speak on behalf of the community which uses Libreboot. I doubt that the vast majority of the users approve of her profanity-filled exit from the GNU project. Honestly, not only does this look bad on Libreboot’s users, incidents like this add up to look bad on free software users in general.

It’s not really the use of profanity I mind as much as deciding to dissociate with a larger umbrella project like GNU over something like this. Especially given that it’s impossible to verify due to the fact names weren’t named, and the overwhelming majority of free software users are going to give the FSF the benefit of the doubt. Even if there is a rogue manager at the FSF, I’d rather, we as a community, give the FSF a chance to rectify the situation than have it splattered all over the net the way Ms. Rowe did.

I hope that someone forks Libreboot so the users who don’t want to be associated with Ms. Rowe in any form may choose otherwise. This is absurd and nobody who uses a free software project like Libreboot should have to put up with it.

Mislabeling of Microsoft’s latest Windows addition

Recently Microsoft made the announcement regarding the ability to run some GNU/Linux programs under Windows. Unfortunately, it was a lightning rod attracting the most high-profile abuse of the name of the kernel, Linux.

In Mike Gerwitz’s blog post entitled “GNU/kWindows”, he sets the record straight on exactly what is going on. The main points:

  1. What most people have been referring to as “Linux” is actually GNU.
  2. “Most users would not even recognize what GNU is” thanks to the mislabeling that has been ongoing for the past two decades.
  3. The GNU Project is about freedom. Not just passing around the source code, but freedom. Specifically, these four freedoms:
    • The freedom to run the program as you wish, for any purpose (freedom 0).
    • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
    • The freedom to redistribute copies so you can help your neighbor (freedom 2).
    • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Note that source code access is only a precondition for two of these four freedoms. It’s very possible to distribute source code that cannot legally be run for specific purposes, or that cannot be legally redistributed.

It is also worth noting again (Mike does not touch on these points, but maybe he should have), the “open source” movement which seems to get all the publicity splintered from the original free software movement founded by Richard Stallman back in 1984. Without the free software movement there would have been nothing for this “open source” splinter faction to splinter from. In fact, “open source” started off as a “marketing campaign” for free software. It was an attempt to get people talking less about freedom–and unfortunately, it worked.

There is a GNU kernel, the Hurd. A lot of people choose to ignore its existence, as it is not “release quality” yet; the goals and philosophy behind it differ radically from those of the kernel, Linux. (There is technically a recent release, but it’s numbered 0.7. Usually versions numbered 1.0 denote development versions.) It is still there, and I have faith the GNU Project developers will complete it. I do check in on their progress with Hurd every so often (about once every 2 to 3 years). I do plan to switch to a system which boots Hurd when the time is right.

Microsoft has done the free software community more of a disservice by naming this the Windows Subsystem for Linux (WSL) when a more appropriate name would be the Windows Subsystem for GNU (WSG). As I read it, they are using GNU bash, GNU libc, etc.

Mark Shuttleworth ought to be especially ashamed of himself, per this quote:

In our journey to bring free software to the widest possible audience, this is not a moment we could have predicted. Nevertheless, we are delighted to stand behind Ubuntu for Windows, committed to addressing the needs of Windows developers exploring Linux in this amazing new way, and are excited at the possibilities heralded by this unexpected turn of events.

He had a great opportunity to say “exploring GNU” instead, and set the record straight. Remember, Linus Torvalds himself has said the kernel, Linux, is nothing without an operating system (OS) to boot into:

Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc. These are separate parts and may be under a stricter (or even looser) copyright. Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren’t in the distribution – ask me (or GNU) for more info.

Unfortunately this paragraph has been omitted in every version of the kernel, Linux, released since (at least the surviving RELNOTES-0.12 doesn’t have it, it may have been in versions released between, but who knows how many copies of those survive and where). Of course, personally, I make it a point to either refer to “GNU/Linux” or “a GNU variant” (when the kernel really matters less than the operating system and software) when referring to what operating system I run. I could only wish everyone else did the same.

This is before even getting into the broader implications of making it more convenient to use Microsoft Windows. The spying on users that Microsoft has been doing has only gotten worse with Windows 10. Microsoft has combined that with a rather aggressive attempt to get users to upgrade to Windows 10, either by discontinuing support for earlier versions of Windows, or by just pestering them with unwanted offers to upgrade “for free” to Windows 10. It’s obvious to see what direction this is going.

The best choice to develop software for a given OS, is to actually run that OS. Unless of course it is an OS intended to run on a different device (embedded systems) in which case cross-compiling is unavoidable. Choosing to run an OS like Windows, to develop for an OS like GNU/Linux or another GNU variant, is a highly questionable and self-contradictory choice. I don’t know what the point was behind Microsoft’s port of the Bash shell and a GNU variant environment to Windows, but they would have served the community better making their own GNU/Linux or GNU variant distribution. Actually, the best case scenario is pledging to release Windows 11 under the GPL. (A man can dream…)

Giving proper credit: the GNU Project’s ongoing battle

While hardly a fresh topic, I’ve never really blogged about this, and it came up in a recent discussion on IRC.

In particular, a user identified as “MTecknology” pointed me to his blog entry on the topic, which seems to take a stance opposing the GNU Project and the Free Software Foundation (FSF) in their bid to seek proper credit for nearly three decades of work on free software. (Note: “free software” here and elsewhere in the post refers to freedom, not price, specifically the four freedoms definition used by the FSF.)

I’d like to respond to and rebut these points as best I can. For space and time reasons I am not going to respond to every point made in the original post. An omission of any points in MTecknology’s original post should not be interpreted as an acquiescense to its validity.

Before I get to that, however, I’d like to point something out that not a lot of people know. Richard Stallman and the free software movement began in 1984. They had been going for years before the major BSD-derived Unixes we know today (OpenBSD, FreeBSD, NetBSD, DragonFly BSD) gained any serious traction, and well over a decade before the “open source” movement splintered off from it. Without the free software movement, the “open source” movement would have had nothing to splinter off from.

I don’t directly support the open source movement at all, only the free software movement. I use free software almost exclusively. The exceptions I make are very few and far between, most notably for firmware and font software.

Anyway, on with the rebuttal. Single-level blockquotes are MTecknology, double-level are from the FSF as quoted by MTecknology, mostly if not entirely from the GNU/Linux FAQ and the Linux and GNU page. I’ve left all the text intact, as it was in MTecknology’s blog entry, so any spelling/grammar/punctuation mistakes in the quotes are his. I have also my best to verify quotes attributed to the FSF actually came from the FSF.

I ventured onto the gnu.org website wanting to read what their licenses actually were. In the process I decided that I should figure out what GNU actually is. Aside from discovering that the FSF seems to be just a source of income for GNU, I was quite disturbed.

Note this alongside a statement MTecknology made on IRC, which, by the way,
is one of the most egregious things I’ve ever read in an IRC client window:

2011-05-08T19:32:17 <MTecknology> I guess in my head though, FSF is a microsoft type corp trying to sit over top of the free software movement
2011-05-08T19:32:29 <MTecknology> key word 'try;

The FSF is a 501(c)3 non-profit (essentially, a charity) which shepherds the development of software under the free software movement, specifically and most prominently the GNU operating system. This by itself makes any comparison with Microsoft, a multi-billion-dollar for-profit corporation, patently egregious and completely devoid of any reason or sanity.

Developers of software released under free software licenses tend to actually care about their users. Microsoft, in particular, wants to charge $30 just to file a bug report (at least as of the last time I checked). There have been instances where Microsoft has refused to even acknowledge obvious bugs in their products, much less deliver a timely fix.

But that is not the deepest way to consider the question. The GNU
Project was not, is not, a project to develop specific software
packages. It was not a project to develop a C compiler, although
we did that. It was not a project to develop a text editor,
although we developed one. The GNU Project set out to develop a
complete free Unix-like system: GNU.

Well, you have yet to produce this complete system. So to this point
all you have contributed to the FOSS community IS in fact just a set
of software packages. Don’t get me wrong, these are great pieces of
software, but the point still stands.

The GNU operating system is nearly complete, here in 2011. The only component of the GNU operating system that has not been completely developed is the kernel, the GNU Hurd. Like it or not, most systems incorrectly labeled “Linux” are in fact GNU variants, booting Linux, the kernel. Porting software to Linux, the kernel, does not change the fact that it’s still software from the GNU Project and part of the GNU operating system.

I considered writing a list of GNU software that one would need to remove to get a true “Linux operating system” and the commands to do so. I’m not sure I’ll ever publish the list, even if I write one, as removing all the software on the list would reduce most GNU variants to a completely unusable state, and at minimum I’d get flames from people blindly following my instructions (“you broke my system, you %$^*@#!!”). Suffice it to say that almost every useful program on a GNU variant booting the kernel, Linux, is linked against the GNU C library, at minimum. Removing just the GNU C library will render a system running any GNU variant unusable almost immediately.

(Ironically, were I to publish such a list or set of instructions, the rm command itself, which would be deleting most of the components which came from GNU, is part of GNU coreutils, and the rm binary and the GNU C library would have to be the last two things removed from the system.)

Many people have made major contributions to the free software in the system, and they all deserve credit for their software. […] We made a list of the programs needed to make a complete free system, and we systematically found, wrote, or found people to write everything on the list. We wrote essential but unexciting (1) components because you can’t have a system without them. […]

By the early 90s we had put together the whole system aside from the kernel. We had also started a kernel, the GNU Hurd, which runs on top of Mach. Developing this kernel has been a lot harder than we expected; the GNU Hurd started working reliably in 2001, but it is a long way from being ready for people to use in general.

[…]

(1) These unexciting but essential components include the GNU assembler, GAS and the linker, GLD, both are now part of the GNU Binutils package, GNU tar, and more.

I don’t think the GNU project is the sole reason everything became an integrated system. Your work sure helped immensely, but you aren’t the glue that sticks everything together. We have an integrated system because countless developers and other contributers got together to build a complete system. You wrote “essential but unexciting” software applications and the world appreciates it. You have yet to develop your own kernel and rely on Linux.

 

GNU Hurd is a work in progress. Due to reasons I’m not entirely sure of, the development has taken quite a long time. (If you do want reasons why we don’t have GNU Hurd 1.0 yet, consider asking the developers. Maybe one of them will comment on this post.)

Just because GNU Hurd, the kernel of a complete GNU system, is not completed, does not disqualify the remainder of GNU from being an integrated system.

Fortunately, we didn’t have to wait for the Hurd, because of Linux. Once Torvalds wrote Linux, it fit into the last major gap in the GNU system. People could then combine Linux with the GNU system to make a complete free system: a Linux-based version of the GNU system; the GNU/Linux system, for short.

Perhaps it’s the other way around. Perhaps Linux was developed knowing GNU was working on other software. Perhaps they kept compatibility in mind. It seems more that Linux was built in a way that would allow GNU to “fit into” the Linux based OS. This little argument goes both ways and is ineffective either way.

Linus Torvalds himself has said that Linux, the kernel, is useless without an operating system such as GNU to boot into. (This is from the README file of a very early release of Linux, the kernel, back before actual dsitributions of GNU/Linux were common.)

I went through and easily ripped all GNU apps out from various operating system. So, what should I call it now? I can’t call it “GNU/Linux” because GNU isn’t part of the system at all. I also can’t call it “Linux” by your whole rant. What can I call it then? The fact of the matter is that either way Linux is still the core and the system should be called “Linux” either way.

If one removes from a GNU variant (whether GNU/Linux or something else) all components that came from GNU, and one either has a non-functional system in short order, or one forgot to remove something like the GNU C library (which is also GNU software).

To answer the question, though, it depends on what exactly the replacement software is. If, say, the GNU libc is still there, to me, there’s still a case for calling it a GNU/Linux distribution.

Wouldn’t it be better for the community if you did not divide people
with this request?

When we ask people to say “GNU/Linux”, we are not dividing people. We are asking them to give the GNU Project credit for the GNU operating system. This does not criticize anyone or push anyone away.

However, there are people who do not like our saying this. Sometimes those people push us away in response. On occasion they are so rude that one wonders if they are intentionally trying to intimidate us into silence. It doesn’t silence us, but it does tend to divide the community, so we hope you can convince them to stop. […]

The hell you’re not dividing people! […] these two groups [“supporters of the free software movement” (and) “the open source movement”] are commonly just grouped into the “FOSS community.” Those that call their systems Linux tend to not even see this line you refer to; when they do they tend to ignore it completely. They do however still see the very clear line between (GNU, GNU/Linux) vs. (Linux).

Those who call the entirety of the system “Linux” often simply do not realize the contribution of GNU to the system they are running. And so, you get people saying “I don’t want the GNU people meddling with our software, I’m a Linux user, damnit” without realizing just how ridiculous such a statement really is.

If Linus Torvalds wanted to have a full operating system to be called Linux, he should not have stopped at writing just a kernel. As it stands today, Linux is a kernel. There are a few programs that were written specifically for Linux kernel administration, such as the module utilities modprobe/insmod/rmmod/lsmod/etc (which, while not part of GNU, still depend on the GNU libc). None of these programs in concert with each other form anything close to a complete operating system without adding software from GNU.

You’re acting as if the whole world is out against you. In my view, it seems you’re really just out against the world. Maybe you should start fighting the world and listen to it. There’s obviously something you’re doin wrong. You go so far as to blame any divisions in the community on those who don’t share your view.

I don’t think the GNU project is against anyone. They simply want proper credit for what they made. Calling the entire system “Linux” gives a disproportionate amount of credit to Linus Torvalds, and leaves people with the mistaken idea that Linus wrote a lot of programs he in fact had nothing to do with.

The comparison I use most often is that I don’t “run Linux” any more than you “drive a DieHard battery” to work. Calling the entire system “Linux” can also be considered paramount to speaking of a painting by who framed it, in such as fashion as to mislead the listener into thinking the framer and painter are one and the same. Would you be happy if you spent 5 years making a painting only to get no credit for it?

I usually, but not always, refer to “GNU/Linux.” However, on occasion, I simply refer to my system as a GNU variant, particularly in cases where the actual kernel I’m running is not particularly relevant. There are GNU variants which boot the kernel from FreeBSD, and it should be possible in theory to boot GNU varians from other kernels as well (specially the other *BSD kernels).

Many other projects contributed to the system as it is today; it includes TeX, X11, Apache, Perl, and many more programs. Don’t your arguments imply we have to give them credit too? (But that would lead to a name so long it is absurd.)

What we say is that you ought to give the system’s principal developer a share of the credit. The principal developer is the GNU Project, and the system is basically GNU.

If you feel even more strongly about giving credit where it is due, you might feel that some secondary contributors also deserve credit in the system’s name. […]

Since a long name such as GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv becomes absurd, at some point you will have to set a threshold and omit the names of the many other secondary contributions. There is no one obvious right place to set the threshold, […]

But one name that cannot result from concerns of fairness and giving credit, not for any possible threshold level, is “Linux”. It can’t be fair to give all the credit to one secondary contribution (Linux) while omitting the principal contribution (GNU).

I drew a line and it stands as my threshold. I happened to fraw that line at “Linux.” Nothing more, nothing less. I honestly don’t care where the credit is due. The system runs on Linux and that’s what it should be called. I have no interest in giving credit to individual contributors. I give that credit instead to the FOSS community which is where it belongs.

(The emphasis was added by me.)

So, MTecknology shows his true colors: a complete disregard of fairness, and complete apathy for proper credit for who wrote the software he uses. To some, proper attribution is priceless; a lack of attribution is something that can never be adequately compensated for with any amount of money if it is due and not given. Atari learned this lesson in the early 1980s when several of their top video game designers left for Activision, in part over this issue (though the pathetic salary Atari was paying them in comparison to the money Atari made from their efforts certainly didn’t help); it’s not always about the money or only about the money.

I do agree that at some point, a longer name becomes unwieldy. However, the developers of Apache, Perl, Python, FreeCiv, etc. usually do not suffer from the same problem that the GNU Project is dealing with here. You’ll hear people refer to “Apache on Debian GNU/Linux 6.0” or “Perl 5.9.1 on FreeBSD 8” etc. These other software packages simply don’t have the same problem.

Why not just say “Linux is the GNU kernel” and release some existing version of GNU/Linux under the name “GNU”?

It might have been a good idea to adopt Linux as the GNU kernel back in 1992. If we had realized, then, how long it would take to get the GNU Hurd to work, we might have done that. (Alas, that is hindsight.)

If we were to take an existing version of GNU/Linux and relabel it as “GNU”, that would be somewhat like making a version of the GNU system and labeling it “Linux”. That wasn’t right, and we don’t want to act like that.

You have yet to make Hurd a widely released product. You’re perhaps not capable? Linus built the first kernel himself. He clearly stated what it was capable of and that he didn’t expect it to go furhter. His code was then in a position to be lifted up by a community that made it what it is today. Why is it that you can’t get your kernel working? I would assume because you’re either too busy whining, you’re too busy tearing at Linux to make it fit your needs, or because you’re not capable of doing it in the first place.

GNU Hurd is working; it’s not “done” in the sense that it’s not production quality yet, but it is working and there are install releases for a GNU/Hurd system.

The early releases of Linux, the kernel, weren’t exactly that great either. I applaud the GNU Hurd development team for wanting to get it right, for not rushing a half-completed project out there as GNU Hurd 1.0 and saying “here’s our kernel.” Linux, the kernel, has come a long way since even its 1.0 release.

By the way, if the FSF really was like Microsoft, GNU Hurd 1.0 would have been released years ago, bugs and all. That GNU Hurd is still sitting at 0.4 actually speaks volumes for the honesty and trustworthiness of the GNU Project, and the Hurd development team.

The popularity has nothing to do with calling it “Linux.” The reason we use “Linux” is because all the above FUD reassures us that you’re on a whining power trip.

Wanting proper credit for one’s contributions is a power trip? Really? I don’t think asking for proper attribution qualifies as a power trip, especially in this particular case, when the lack of attribution translates to a potential misattribution to someone else, as it does in the case of the GNU operating system and Linux, the kernel.

Et tu, Google?

And Google joins the “you carry our phone in your pocket, but we still own it” club:

CNet reports on Google’s decision to nix a tethering application for its G1 phone from the Android Market. I can only wonder if this is the first in a series of arbitrary moves similar to those Apple has made.

I am almost as suspicious of Google with regard to Android as I am of Apple and its iPhone. Whether intentionally or not, Google is misleading people by advertising its use of Linux, the kernel, in Android. However, from what I have read, Android is not a GNU variant. The SDK also contains non-free software; Google also makes heavy use of the term “open source” and I believe this is an attempt to deceive in light of the presence of non-free software in the SDK.

Note these section of the EULA for the Android SDK:

3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. “Intellectual Property Rights” means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.

3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. Except to the extent required by applicable third party licenses, you may not load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.

This looks an awful lot like it came straight out of a Microsoft or Apple EULA to me with merely a search-and-replace in the first line.

The potential for confusion surrounding Google’s use of the term “Linux” here is is a great example of the dangers of incorrectly using “Linux” to refer to the entire operating system instead of just the kernel. It is also a great example of why one must read carefully to ensure that a given software release is in fact free software lock, stock, and barrel and not to just treat “open source” as magic words. Given that Google packages non-free software with the SDK, I believe it best to treat the entire Android operating system as non-free.

The moral of the story? Don’t be fooled: on a broader scale, Android is just like the iPhone OS. If one uses an Android phone, one is trusting Google, a company that has had its share of criticism on more than one occasion.

“Meet the new boss / Same as the old boss.” –The Who, “Won’t Get Fooled Again”