The Free Software Foundation has gotten on my last nerve


Generally, I don't talk about the FSF (promulgators of the GNU "Free Software" license). The main reason is that I've spent most of my life writing software for a living and these folks are just plain wrong on how collaborative software should be done, in my humble opinion. However, this time they've gone too far and I'm not going to sit here and let this go unnoticed. If you've ever supported the FSF financially before, please stop. Why? Because they've made themselves into the PETA of the software. They're angry with Apple and to show it, they've engaged in what is appropriately referred to as a "denial of service attack" on Apple's technical support organization, the Genius Bar. Learn more after the link

After reading a posting on SlashDot, I went and found the original link to the "Defective by Design" web site (sponsored by the Free Software Foundation) and their posting which is attempting to organize people to clog as many slots in the Genius Bar as possible on Friday and Saturday of this week (yesterday and today) in an effort to "raise awareness" within Apple and the community about their "5 reasons to avoid the iPhone". I'm not going to link to the five reasons, because I don't want their pages showing up with any more regularity on Google's searches.

So, what's wrong with the FSF?

Well, in short, they don't believe in really free software. At best, they're a misnomer, and at worst, they're a virus intended on infecting the entire world with software that must comply with their licensing terms. The crux of the matter is that many of us who have been giving away software (either binary or source) for decades have done so under terms that suit our purposes. For example, NCSA Telnet (funded by the State of Illinois and the US government) was public domain--completely free for all uses personal and commercial, without attribution. Because of this, it was the genesis for an entire range of software (commercial, public domain, and in between) written far and wide, including Japanese and Chinese versions, versions that worked with other operating systems, and much more. Due to the Public Domain status of the code, anyone code create a for-profit version if they liked, and we did... TCP/Connect was a derivative of NCSA Telnet. TCP/Connect II was as well, but to a considerably lesser extent. We used the code to start out at a level playing field with everyone else and then add useful, and sometimes costly, components to the system. If we'd been required to republish the source code, we'd likely never have survived... and here's where I have a problem with GNU and the FSF in general.

The GNU Public License (GPL) is designed for companies that don't make their money selling software. If you're a company selling support (think Red Hat), then you have little problem using the GPL. Yes, you realize that your software isn't going to be proprietary for the most part, because the GPL requires that you give the modified versions of the software back to the community, that you make the source code available to your users and any potential competitor, and that you disclose this all in a timely fashion and at your own expense. All things considered, the GPL works great if you don't see your software as a competitive advantage.

GPL falls apart when your most significant selling point is a piece of software, and the smaller the package, the more it falls short. If you were writing a package of software that created GPX files from GPS data taken from a user's hand-held of vehicle GPS (such as LoadMyTracks, our FreeWare GPS loading package), then your only compelling feature is the software and the way that it works. If you were to incorporate GPL'd code into the system (excepting for the use of the LGPL, but that's a different beast), then you would have to give away all the source code to your software.

As it stands, ClueTrust gives away LoadMyTracks for use by any Macintosh user, so the GPL wouldn't be preventing us from making money (since we don't make any from it right now), however it would severely limit our ability to make money from that code in the future (unless we were to use a dual-license, such as that used by the MySQL folks). Further, if we were to open up the LoadMyTracks source code under the GPL, it would mean that anyone who wanted to incorporate that code into their system would also have to comply with the GPL (with fun features such as making their source code available).

Free(?) Software Foundation? Not!

And here's where I take issue with the "Free" in the Free Software Foundation. If I give you something for free, such as a piece of fruit, then you would expect that you could eat it, throw it out, give it to somebody else, or even sell it.... it's free, and my giving it to you makes it yours, without remuneration. That's what free means. To quote the OED: "not in the control or power of another".

The GPL, the FSF's primary tool, locks down how the source code that is used with it may be used. It puts the control and power firmly in the hands of another. The recipient has received something with strings attached. Or, to quote my friend Rob, "the GPL is Free as in 'on parole'".

Now, if you want to see free, step on over to NCSA Telnet (if you can find a copy) and look at the Public Domain disclaimer.... it's yours to do with what you wish, you control what you do with the code. Too old for you? Check out FreeBSD... the FreeBSD license is about 20 lines long, and all but 6 of that are a legal disclaimer. The other six detail the fact that you can't use their name in advertising, and that you need to have their copyright notice in them, but beyond that "Redistribution and use in source and binary forms, with or without modification, are permitted."

The beauty of this license, and the similar license found in Apache, MIT's X-Windows, and many others, is that they allow people to take the same base and do with it completely as they wish. There are plenty of people who contribute their fixes and modifications back into the source code at the main repository. As an example, Apple regularly puts code back and makes it available for use in the FreeBSD tree. There are also people who keep their modifications a short time or forever, and make a go at building a business with them, much like InterCon did with NCSA Telnet.

Now, having been in the position of both having given away software and having used that software later for commercial purposes, I think I am in a good position to comment on these issues. I never felt that other people basing their products on NCSA Telnet was in any way "harming" me, the University, the State of Illinois, or the US Government. I didn't feel that they were making money "off the backs" of somebody else. What I felt was that my employers had chosen to give away the fruits of my labor, which were duly paid for, for the betterment of the computing community. If somebody else felt magnanimous about that in the future, they were free to do the same thing. If, on the other hand, they wanted to make a profit from it, they were free to do that too.

In the case of NCSA Telnet, there were both commercial and non-commercial products that came out of it. Some of the freeware products were given away in source and object form, and some were just available as object. In the end, I believe that there was a leg-up given to a number of people and organizations because of the freedom they had to work the way they wanted to.

In the case of TCP/Connect, by the way, we replaced and re-engineered a large amount of the code that came from NCSA Telnet because it wasn't well suited for TCP/Connect II. However, the availability of that code in the early days gave us the ability to bootstrap our company without outside funding. In a strange way, you could say that the U of I and the US Goverment provided seed capital in the form of free source code to us and to anyone else who asked.

OK, enough, what do you want us to do?

Not much. I would implore you not to financially support the FSF. They don't need the money and they're not working on your behalf. Groups like Creative Commons provide sufficient information to put legal notices into play on new software, so you don't need the FSF. In fact, Creative Commons even lets you choose between a BSD-style license and a GPL-style license (along with a strict declaration of Public Domain) so that you can choose how things are used.

Beyond that, if you're working in software, or any other endeavor that may put you in a position to "give" things away, think long and hard about any strings you want to place on them.

For example, I'm struggling with the Share-Alike clause of the license agreement for content contributed to the OpenStreetMap effort. Frankly, once I've done the work, I want anyone to benefit from it, for any purpose, and by any license. If you want to take my road information and put it into the TomTom, please be my guest (especially if the roads are in Ireland, where the maps on the TomTom are a bit weak). If you want to build a cool new navigational system, use my data. I've already put it to use for myself and the work is done and I never expected to make any money from it anyway. If I did, I'd put it in a licensable form and make you sign a license agreement to use it. Under this circumstance, I'm having a bit of trouble putting my information up on OSM, because I don't want to bring it under the CC-SA license (Creative Commons Share Alike).

Good luck, and happy coding