Wednesday, September 5, 2007

Is all open-source software free? Is all free software open source?

Well, no, and no. Most open-source software is free, but not all of it. The simple definition of "open-source software" is software whose developers provide access to the source code—the program itself, not just the part we see as users—and allow other programmers to modify it and re-release it. But some open-source software does cost money, so it's not necessarily "free" software.

Free software, according to the Free Software Foundation's definition, should also provide access to the source code, but should not cost anything. The FSF's basic philosophy is that "free software" is more analogous to "free speech" than "free beer." They do believe that software should be free-as-in-beer (it's a commodity that you don't pay for), but more than that, they believe that it should be free-as-in-speech (it shouldn't be locked down or suppressed, but rather let go to do what it needs to do).

But not all developers who don't charge for their software are members of the FSF, or necessarily subscribe to that philosophy. In fact, I'd bet that a fair number of freeware developers aren't even aware that the FSF exists, and have never considered releasing their source code. They just want to put out a cool game or productivity app, and don't want to charge for it for whatever reason—maybe it's just a programming exercise that turned out well, or a class assignment, or a demonstration of a fledgling programmer's work that might help land a job programming totally non-open-source software for Microsoft. A lot of freeware developers for Windows and Mac, particularly, don't make their source code available. Other developers are deeply devoted to the principles of the Free Software movement, and write their programs according to those principles. Most people who are developing software for Linux tend to keep it free and open-source.

So not all open-source software is free, and not all free software is open source. The terms are often used interchangeably, but they aren't really the same. It's true that most of the applications I'll look at here are free, because I'm really cheap. But I love the sense of community and sharing that the open source model supports; it's even catching on outside the programming world, in such areas as sewing and cooking. For my money (or not), open source is the way to go.

No comments: