Thanks to Sam Tuke for a well-written and constructive response to my article Is free software major league or minor?. Tuke refers to my post as a "dismissal" of free software, however, which is ironic at best. There is no such dismissal in my article. Instead, there is a challenge: "Can we raise our game?" Furthermore, I would argue that classifying that challenge as a "dismissal" stems from a fundamental lack of faith in our ability to succeed -- which is ironically, the accusation Tuke levels at me. Where does this disconnect happen?
Playing well and seeking excellence is a goal in itself. Free software developers have every right to pat themselves on the back for doing that -- the existing free-licensed open source software production infrastructure is one of the most collaborative and constructive systems ever created in history.
just how much more "excellent" does free software have to be to overcome the monetary disadvantage? That's not a rhetorical question!
Nevertheless, there is also something to be said for winning. And merely being "excellent" is not necessarily enough to accomplish that. Free software exists in competition with an older and better-established proprietary software ecology, which has its own rules and advantages. Owing to the ability to charge license fees per copy of software used, proprietary software producers generally have a lot more liquid cash to spend on development, marketing, and what we will politely refer to here as "other activities.".
By comparison, free software development is driven largely by amateur labor. There is, of course, a significant amount of commercial labor applied to free software, but this is rarely true of the most innovative technologies, and even where it applies, the business revenue models are much more restrictive than for proprietary software. As a result, free software development, even when it is paid for, must be done on a much tighter budget. Furthermore, there is often little left over for marketing and "other activities."
So that raises an interesting question: just how much more "excellent" does free software have to be to overcome this monetary disadvantage? That's not a rhetorical question! There is probably some combination of efficiency, collaboration, and community responsiveness that is sufficient to topple the giants.
Defensiveness is only human nature, of course. It's easy for any criticism, even the most constructive one, to be taken as an attack. And I am no master of tact, as I well know.
But as long as we refuse to face reality; wall ourselves into an insular fantasy world; and make excuses for the status quo -- we will not break the barrier. At some point, if we really want to succeed, we will have to think about just what stands between us and the goal and decide what we're going to do about it.
So where specifically does Tuke go wrong? Well, it's mostly a matter of reading the wrong things between the lines. Tuke is responding defensively, I believe, because he's committed to the status quo of free software culture, and resists the idea that it is not sufficient to achieve his political goals.
As requested, here's a point by point response to Tuke's post.
“What I hope is that there is a way to make a system that responds better to end user needs — probably by increasing the ways that end user values can be communicated”
I hope this too, but lets not forget that there is very likely already more voluminous, frequent, and high quality dialogue between Free Software end users and developers than in any large scale software project on earth. Your statement sounds like this communication problem is unique to FOSS, and that it is a particularly pernicious problem for the community.
It is not unique to free software. Indeed it is a worse problem for proprietary software, which is precisely why it is the right point to attack -- it's possible to make progress in this area. It is however, a "pernicious problem for the community", because it is the only mechanism we have to compensate for the kind of active sensing and collaboration from manufacturers that we generally do not have.
I don’t believe that this is so, and in my view the current level of organization of interaction in the most important projects is already an incredible achievement of technology and collaboration.
Again, "excellent" isn't the same as "good enough". One of the reasons why free software's community structure is so good is that it has to be. Proprietary software producers get away without it because they press other advantages. It is my opinion, however, that we can do still better -- and we need to if we want to displace proprietary software.
"Excellent" isn't the same as "good enough"
We're still not "there" yet. There's a level of polish that needs to happen for these systems to be useful to end users. Right now they're good enough for people like me (and probably Sam Tuke), but we can't let that blind us to the fact that there is still more to do. We have to somehow compensate for the lack of commercial infrastructure by pushing community infrastructure. This is tricky, and my article doesn't tell how to do it -- because, frankly I don't know the answer. But that doesn't mean I don't think there isn't one. Indeed, it's because I think there is an answer that I encourage this approach.
“It is no more ethical to promote a system of free software when doing so will result in no software being written than it would be to promote a free produce initiative when doing so would mean no crops get planted”
Your argument assumes that FOSS is to some degree static, or at least that it will be in relation to the lost application of functionality. If AutoCAD ceased to exist, your argument implies, the niche that it served would remain forever unfilled, and those people affected would suffer.
No! This is a fundamental misunderstanding on Tuke's part. The point here is that the mechanism by which free software gets created is important. Without that mechanism, there is no miracle of free software development, and the ethics of free software is irrelevant.
Here's a break-down of my statement, in case the phrasing is too complex:
The same thing applies to free software:
The point here is not to claim that free software can't be produced, but rather that it is meaningless to talk about "ethical" motivations for having free software available without also talking about how to make that happen. The mechanism of producing free-licensed open source software, including in particular, the open source development process, is just as important ethically as user freedoms -- because without it, there are no freedoms.
The mechanism of producing free-licensed open source software is just as important ethically as user freedoms -- because without it, there are no freedoms
Thus, a dismissive attitude towards objective productivity concerns such as "code quality" or "end usability" is itself unethical.
In other words, if we want to show that free software is more ethical than proprietary software, we have to talk about it in real terms -- including productivity and marketability. It isn't enough to ask "Which is better, an X software under a free license or X software under a proprietary license?" Clearly, the free one is always better if the two choices are otherwise equivalent.
But that's not the challenge presented by proprietary software advocates.
The challenge is "Which is better, putting up without X software because it hasn't been created yet or isn't yet usable under a free license, or paying a license fee for usable X software under a proprietary license?" That one needles a bit more -- we've all experienced situations where the free software alternatives are stuck "chasing the tail lights" of proprietary software.
Our answer to that challenge must include the productivity question: how exactly is the free software alternative going to be delivered?
Our answer to that challenge must include the productivity question: how exactly is the free software alternative going to be delivered? Just how much of a delay in production is tolerable, due to the better licensing conditions offered? Is that tradeoff reasonable to the end users of the software? Can we ever reverse it? (There are cases where the free software is leading the proprietary -- as with 3D desktop environments, where we frequently now see X ideas copied into Windows and Mac systems).
The point here is not to deny the possibility of free software being produced, but to insist that we talk about how it happens.
Free Software evolves and adapts. The greater the need, the greater the response of the community and the faster a solution is developed.
Supporters of a commercial free market analysis would argue that without money being exchanged to express these needs and responses, that the market can't work. Thus, they would argue, license fees are essential to productivity. They tend to regard the exceptions as flukes.
If you pay attention to my previous writings, you will see that I don't support this opinion, but it is the conventional capitalist argument. We need to be aware of why these "flukes" are not flukes, but actually representative of new rules. And we need to apply those rules to make this kind of productivity work. Falling back on ideological rhetoric at this point is not useful -- these are objective, pragmatic problems that need objective, pragmatic solutions.
“‘Free Software’ and ‘Open Source Software’ is the exact same artifact [sic], no matter who is promoting it, nor on what advantages of it they promote” 
This, in my view, is wholly incorrect. Richard Stallman, who has probably written and publicly said more about the philosophical and ethical nature of FOSS than anyone else, addresses this particular point in his article “Why Open Source Misses the Point of Free Software”.
I've read it. It contains a number of misrepresentations and half-truths, which I find just a bit offensive. Perhaps I will have time to address Stallman's essay in a later post.
To me, the idea that a group of diverse people from all walks of life, class, and nations can agree on something as technically and politically complex as producing free software is an amazing and beautiful thing
More importantly, though, the above essay draws a distinction not between two types of software artifact, but between two groups of people supporting the production of that artifact (even here the article is specious -- there aren't two natural positions on supporting free software, there are several). The few real differences between "open source" software and "free" software have nothing to do with Stallman's points: the "Open Source Definition" addresses all the same concerns as the "Free Software Definition." Thus, "Free Software" and "Open Source Software" are indeed the same artifact, regardless of what the motivations behind producing them were (Stallman even concedes this point in the linked article).
To me, the idea that a group of diverse people from all walks of life, class, and nations can agree on something as technically and politically complex as producing free software is an amazing and beautiful thing. To then conclude that it's all worthless because they don't all ascribe to the same metaphysical belief system about that product seems unfathomably obtuse to me. This is why I can't respect Stallman's position on this subject, even though I myself think that "software freedom" is the greatest benefit of using free software.
When Microsoft or some other company tries to call restrictive licenses "Open Source", they are simply lying
Open Source projects abound with a mess of different licenses, restricting freedoms here and there, ensuring the control and commercialisation of the project in question. Open source is the hip new buzzword of marketing execs - its a get rich quick scheme for businessmen all over the world.
Don't confuse the GPL or copyleft with the "free software" / "open source" distinction. "Free software" does not mean "only software under GPL" or "only software under copyleft", although both are common misconceptions. Neither does "Open Source" include any of those restrictive licenses to which you allude. When Microsoft or some other company tries to call restrictive licenses "Open Source", they are simply lying. This is not condoned by "Open Source" advocates any more than calling zero-cost proprietary software "free software" is condoned by "Free Software" advocates.
There is no depth to the term, there is no responsibility implied or association with freedom. Some companies and individuals may assume a greater meaning to the term open source, but that is superimposed by them - it is not part of the meaning of the phrase. Open source is the sanitised, baggage free version of Free Software. All the business benefits, none of the responsibilities or inconvenient drawbacks.
It is only the action of "some companies and individuals" that give meaning to either term. In as much as name recognition value is concerned, though, "open source" is much better, as can be demonstrated by a simple experiment. Type the words "open source" into a Google search, then count how many hits on the first page are actually about free-licensed open source software. Then do the same for "free software."
Doing this myself, I find that the score is 11/11 for "open source" (100%) and 3/11 for "free software" (27%). If you exclude hits for the respective organizations themselves, the dichotomy is even worse: 9/9 (100%) versus 1/9 (11%). The one relevant external hit for "free software" was also returned by the "open source" hit -- both included the OpenOffice.org website. "Free Software", while it may be meaningful within our community, is, as a marketing term, a failure.
For my own purposes, I use "open source" when I'm trying to communicate with "outsiders" -- people who don't yet know what it's about. I introduce the term "free software" gradually, as people become more familiar with it. Since I am almost always talking about the artifact and not the movement, the words are indeed interchangeable.
“Free Software is revolutionary. It is participatory. It respects and welcomes the user, all users, all human beings in fact. Many business and individuals are united in their interest in open source in order to make more money more quickly. Free Software advocates are united by far more profound and important objectives. I think that this is a distinction worth preserving.”
This makes just as much (possibly more) sense if reversed:
“Open Source is revolutionary. It is participatory. It respects and welcomes the user, all users, all human beings in fact. Many business and individuals are united in their interest in free software in order to make more money more quickly. Open Source advocates are united by far more profound and important objectives. I think that this is a distinction worth preserving.”
So it doesn't really support what you're trying to say. If anything, the "Open Source community" is the one that emphasizes participatory process. I agree that it is important to distinguish this from things that are called either "free software" or "open source" software, but aren't "free-licensed open source software." But as I've pointed out, both labels can be misleading, and "free software" is demonstrably more so.
“even the most abstract idea has to work in the real world, not just sound pretty, in order to be valuable” In a few paragraphs which encapsulate this quote you imply that FOSS is not as productive or effective at production of software as commercial software is. I strongly believe the contrary - Eric S. Raymond thoroughly establishes FOSS as a superior method of producing high quality code efficiently in his collection of essays...
I implied no such thing. What I said is that this quality is important and must be addressed... as it is by writers like Eric Raymond, who is one of those "unethical" Open Source advocates, so I find it a little ironic that Tuke falls back on his work here.
Whether or not FOSS can match commercial methods of software development is an important question that deserves continued study, but you don’t bring any new evidence to the table here to discredit research already conducted, and therefore I don’t feel that its reasonable that you call FOSS’ productive efficacy into question in the quiet way that you do.
I don't need to bring anything new to the table. Raymond's The Magic Cauldron contains a fairly unchallenged list of known business models for commercial free software development. They all clearly supports much thinner profit margins than the proprietary models do. This is not controversial, and is born out by many actual examples.
In practice commercial free software development is less entrepreneurial... the source for real innovation in the free software community is the amateurs
This doesn't make it impossible to make money on producing free software, but it does make it quite a bit harder. In practice it means that commercial free software development is less entrepreneurial -- fewer risks are taken and effort tends to be concentrated on adapting what exists rather than creating new solutions (the source for real innovation in the free software community is the amateurs). That's a disadvantage that free software must overcome if it is to displace proprietary software.
Once again, this is not rhetorical. I don't bring this up to claim that free software is inferior, but rather to address the challenge of how to make sure it isn't.
“Can we really make a free software system that is every bit as usable as the proprietary alternatives? Can we make them work for non-expert end-users the way that proprietary companies like Microsoft can?”
Why do you address this question to the future? We already have, and have had for several years the ability to offer end users a better product than Microsoft. Usability tests, conducted by Suse and others, have shown many times how KDE and GNOME are at least as intuitive and usable as commercial operating systems. With my own eyes I have seen user after user sit down at a GNU/Linux machine and ‘simply know’ how to most of what they want. What’s more usability is constantly improving in response to forum discussions, polls, surveys (and the odd executive decision) - a fluidity of meeting need that is not matched elsewhere.
Here, Tuke mistakenly uses a very limited definition of "usability" -- namely the ability of a user to use an already-installed desktop environment. There's little question that he's right in that context. But it's not the metric I was referring to.
The issue is that, primarily for compatibility reasons, the free software environment is less likely to successfully install, without expert intervention, on a given piece of hardware -- particularly recent, commercially-available desktop or laptop PCs.
The best kind of tech support is the kind you never need to use
The best kind of tech support is the kind you never need to use. So the perception is that the proprietary software is better supported, even if it turns out it's even harder to get support for it when something does go wrong. Help is also much easier to find for installing proprietary software (most of the time, an end user can get the retailer to install it for him).
Without cooperation from manufacturers, this is difficult to overcome, and that cooperation is much easier to achieve when you have money to spend on it -- as proprietary software producers do. We have to be a lot better at fixing compatibility problems, a lot better at providing support, and/or a lot better at persuading manufacturers to join us if we want to overcome this barrier.
“Microsoft’s strangle-hold on the computer hardware production market is actually a benefit to users! Since they use their massive economic power to control the marketplace, they create an enormous incentive for manufacturers to ensure their equipment works with Microsoft software”
Again, in my opinion this statement is totally fallacious. GNU/Linux relies on tens of thousands of reverse engineered drivers. The community has had to work in the most hostile territory imaginable when pursuing device compatibility![...]
Tuke is actually supporting my position here. It takes time to reverse-engineer products and most Linux driver developers don't even get to start until the hardware is already on the market.
It takes time to reverse-engineer products and most Linux driver developers don't even get to start until the hardware is already on the market
Proprietary driver developers, on the other hand, usually do their work before the product ever sees the retail environment, much less arrives at the end user. This is because most manufacturers won't even sell a product unless and until they have a Windows driver to package with it. They don't give Linux this kind of treatment, because they don't see the profit in doing so.
“nearly every consumer device you pick up at the local discount store will work in Windows. You will have to be a lot pickier with GNU/Linux” This maybe true, but you miss a crucial point here - most hardware in use today is not currently purchasable from your local discount store. Most hardware is ‘old’ by commercial software terms, unsupported by the latest commercial operating systems, and useless to end users with new computers.
Support for older hardware is indeed a strength of GNU/Linux, and Tuke's on the money about why that is. However, it's mostly experienced technically-literate users who will notice this. Most inexperienced users can't do this any more than they can rebuild a car engine when it fails. They will simply pay for someone else to fix the problem, and the cheap and easy way is usually just to buy new computer hardware with a new proprietary operating system installed on it. We can scoff, but this is how such people cope.
Support for older hardware is indeed a strength of GNU/Linux, and Tuke's on the money about why that is
I think Tuke can be forgiven for missing the point here -- the statement about Microsoft's "benefit" to users was deliberately phrased in an aggressive way, because I wanted to challenge readers to shift perspective.
It has been observed (or is it a myth?) that in some totalitarian states, one could at least count on the trains to run on time. I think most of us would agree that that's not a good enough reason to accept a totalitarian state -- but it does show how matters of everyday convenience can get in the way of the long-term good of society. It does not follow that everything "nice" is "good."
I'm asking you to think hard about why someone comfortable with Windows, who's spoiled by expectations that brand new off-the-shelf hardware is going to automatically work with their computer, is going to want to switch to a GNU/Linux system, where they will probably have to fight hard to get everything working properly
But then, I'm not asking you to start using Windows. I'm asking you to think hard about why someone comfortable with Windows, who's spoiled by expectations that brand new off-the-shelf hardware is going to automatically work with their computer, is going to want to switch to a GNU/Linux system, where they will probably have to fight hard to get everything working properly.
Why will they give up this extra time and effort? What are they getting in exchange? When you can answer that, you might be able to sell them on the idea.
Obviously, this is a moving target. There isn't one class of end users. Some of us are already in the free software camp -- those of us who particularly value the advantages of freedom; who don't particularly mind the extra complexity; who accept (or even enjoy) the community effort required to learn new systems. For these savvy users, GNU/Linux is indeed already "good enough."
But it has to be understood that, among desktop and laptop PC users, these are a small minority of the market -- maybe 5-15%. We've already reached many if not most of those. On the other hand, most users are mass-market users who don't really care about computers at all -- they just need one to do the things they do care about. They are a very intolerant and demanding group.
“Our specialty has to lie in lifting the veil and showing how things can work, and in making systems of software production and refinement that proprietary competitors can’t match”
I agree with your conclusion. However, as you have done throughout your article, you underestimate the value, power and achievement of what we already have.
I don't think I've underestimated anything, but what more is there to say about it? It is very good from an engineering standpoint. A lot of technically literate users who are willing to take on the kind of involvement that free software currently demands are being served by it. If you're happy with this situation, then I argue that that puts you in the "minor league" camp: free software is fine as a niche player. If so, though, then it's hard to rectify that with attacks on proprietary software for serving the people we refuse to serve.
For such users to move to free software and stay there, the community has to be a much more inviting place than it is today
On the other hand, if you think that proprietary software needs to be displaced by free software, then we have a lot of work cut out for us. It's clear to me that it is not merely a question of marketing or legal manipulation (though Microsoft has certainly engaged in a lot of both). There are reasons why many users find proprietary software gives them a smoother, easier way to set up their systems. Mainly this is because they don't have to install anything -- they just leave it the way it was sold to them, or get a local expert to do it for them.
For such users to move to free software and stay there, the community has to be a much more inviting place than it is today. Accurate, up-to-date information has to be easier to find. Hardware has to be supported more quickly. New users have to be treated with more respect. There are many areas that need work.
Or, we have to give them something they really want -- badly enough to overcome the obstacles that stand in their way. When we really do that, the market will come to us -- all of the opposition's dirty tricks notwithstanding.
The challenge of my original article is for us to find that path -- to set up the real value proposition for free software in a way that makes sense for end users. Or, we can take the "minor league" route and declare victory now. That would certainly be the easy way out.