I like open source. I use open source software when it’s appropriate. I write open source software, at that, and I’m happy to do so. (To wit: PortalWizard, LogN, Opensymphony components, RSSLibJ, as well as others.) That said, I really, really dislike the Free Software Foundation. When I have a choice between their offerings and someone else’s, I nearly always go with the alternatives. I don’t use their licenses. I don’t defend them, or even their goals, really. In many ways, I’m actively antagonistic.
Why?
It’s pretty simple. I thought the FSF rocked until I had to deal with them directly, and the repercussions of that interaction made me reconsider all my assumptions.
Starting Down the Slippery Slope
I was working as a consultant for IBM in 1997, on their ProductManager suite. ProductManager needed a little language, for which I designed a grammar and lexer. When you need a compiler compiler and a lexer, you look at packages in the yacc
and lex
family… and the best of those, for C, remain the FSF’s bison
and Vern Paxson’s flex
. Not only was I trying to do well for IBM, but I was also aiming at using the best products available.
IBM, understandably, wanted to cover its pockets in the case of liability, so they had me talk to the respective authors to make sure that their code was actually theirs to give away. The reasoning was, as I understand it, that if (say) flex
incorporated some copyrighted Microsoft code, and Microsoft discovered that IBM was using that code, Microsoft could sue both the author of flex
and IBM. However, if IBM had a signed affadavit from the respective authors that asserted their right to distribute code, then IBM would have done due diligence to protect itself and other companies from illegal activity. It wouldn’t have been a full defense, but would be enough to mitigate most damage in court. (The realisation that IBM didn’t expect due diligence to be a complete shield was a blow to my faith in civil courts, too, even though that faith was pretty weak to begin with.)
So I wrote Vern Paxson and the FSF (because Richard Stallman was listed as the author of bison
, which surprised me.) Vern got back with me after a few hours, and said he’d be happy to sign a form for us. When I talked to him on the phone and explained the exact situation, he reversed his position, saying that he simply couldn’t honestly say that flex
had no copyrighted code in it. He didn’t think it did, but he wasn’t able to get such an assertion from each author.
That eliminated flex
for our project. I didn’t mind, for a few reasons: one was that lexers are fairly trivial, and we could replace lex with something feature-comparable; another reason was that Vern was very straightforward about the situation. I got the feeling that he actually considered the needs of his potential userbase.
A few hours after Vern’s initial reply came back, the FSF responded, too. (I was genuinely surprised at how rapid both responses were made.) They said that Richard Stallman was, indeed, the author of bison
, and soon we managed to strike up a dialog with him directly.
Eventually, we were in a conference call with him. I was a little awed, considering that I’d been using some of RMS’s tools (like Emacs) for quite some time even then. Basically, we had in mind a sort of quid pro quo, in that we wanted an affadavit signed and he wanted a monetary grant. It was also a chance for the FSF to score points in the courts, since the GPL hadn’t been challenged. Our reasoning was that if IBM was using the code, and was challenged, then the FSF would be piggybacking a defense of the LGPL from IBM’s defense team.
RMS would have none of it. What we were asking for, to be clear, was an assertion that the FSF had the right to apply their license to the software they made available. A denial of that assertion undermines their whole reason for being, after all, and we were certainly going to recompense the FSF for making good software available. Instead, RMS refused outright to sign the affadavit, and suggested quite bluntly that ProductManager (which costed IBM millions to develop, and was a pretty vertical product) should be open source, and we could send a check to him at this address, etc.
I was not impressed. It wasn’t so much the open source spiel that bothered me, but the refusal of the assertion. If it was my code, I’d have been happy to say it was mine, as long as I knew (a la Vern Paxson’s response). RMS, however, didn’t even entertain the thought from the impression he gave us. Instead, he came across as a complete hypocrite, an impression confirmed with further investigation of the FSF’s policies and approach. He was effectively implying that he’d stolen the code, and released it as open source just to further his personal views on software source code availability.
The Air Over There
I think the FSF is on crack. They want software to be open-sourced, as a statement of ethics, and yet they advocate strong-arming companies in order to get what they want. They don’t want the code, even – they just want all code to be open source, and they’re willing to act like brown-shirts to do it.
If you go to their home page, for example, you see this announcement at the end of the first paragraph:
Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as `Linux”, they are more accurately called GNU/Linux systems.
The opening sentence for the paragraph is “Welcome to the GNU Project web server.”
Um.
Not only is the sentence about Linux inappropriate for the paragraph’s subject matter, it’s retarded. Their justification is something like this: “Linux is just the kernel, and GNU provides the rest of the system that makes the kernel useful, so the name should be GNU/Linux instead of just Linux.”
That’s idiotic. For one thing, they’re targeting Linux in this, for reasons of publicity only. (Yes, that’s right, I just said the FSF was a bunch of publicity whores.) If they were going to be fair about this, they’d apply that reasoning to a lot of software: “GNU/Cygwin,” et cetera. To my knowledge, they don’t do this. For another, they presume that GNU is central to Linux… and it’s not. I know of developers who’ve created Linux distributions with BSD tools instead of GNU, for example, and the mere fact that it’s doable suggests that maybe GNU isn’t as critical to Linux as the FSF seems to suggest. Sure, maybe Linus used GNU tools to generate the kernel. Does that mean that every Visual Basic app needs to trumpet “MS/Whatever” as part of its name, too?
It gets worse. The FSF not only demands recognition (which, by the way, it got plenty of already), but it actively supports piracy, offering this newspeak as a replacement. “Use neutral terms to describe piracy,” they suggest, offering “unauthorized copying” as well as “sharing information with your neighbor.” Pardon me, fellows, for actually setting the price I want as recompense for my effort. The freedoms the FSF supposedly tries to work for include the rights to say “No, I wrote this with my blood, sweat, and tears, I want $100 for it or you don’t have to use it.”
And that brings up another annoyance with the FSF – the GPL. The GPL is a viral license, requiring programs that use GPLed code to be under the GPL themselves. In a way, that makes sense, although most other similar licenses are less militaristic;most of them respect the right of authors to keep their code proprietary, usually requesting links to the source of licensed software. The GPL, on the other hand, says that it’s all open, and they choose licenses accordingly.
To wit, they have a “Lesser GPL,” the LGPL, which doesn’t have the same viral effect that the GPL does. The FSF has a document, called Why you shouldn’t use the Library GPL for your next library (written before the LGPL was renamed to “Lesser GPL”), which explains that the LGPL is used where there’s no real reason to rely on the GNU offering. In other words, all the truly useful stuff they have (and there’s a good bit of it) is basically bait for the GPL; “use GetOpt, and we have you!”
That’s cowardly, in my opinion, arguing from a position of weakness.
And that’s the FSF for you.