People to Ignore in Software Development

chromatic on 2005-03-12T00:54:03

When discussing feature requests, development practices, and design issues of any public software project, reasonable people will disagree. That's fine. It's normal. It happens. It can be healthy if you deal with them appropriately.

However, sometimes some people draw lines in the sand around one position -- whatever the position -- and say something like:

Which is exactly why open source software will never replace commercial software or Microsoft.

Flip the bozo bit. Flip them all. Don't argue. Don't read any further. Above all, don't take the person seriously.

There might be merit to the argument, but you're not going to hear it from that source.

(You probably should ignore the people who continue the argument from that point too, but I don't like to flip the entire double-word of bozo bits immediately.)


Never ...

Ovid on 2005-03-12T01:06:58

The key for me was the word "never." Whenever I hear "always", "never" and related terms, I look for for the logical flaw. Someone was probably parroting, not thinking.

Re:Never ...

Aristotle on 2005-03-19T06:07:42

So you always look for “never”?

:-)

The problem with Open Source Software...

btilly on 2005-03-13T04:49:45

is that too many of the people involved are too fast to flip the bozo switch. Which is exactly why open source software will never replace commercial software or Microsoft.

OK, now that chromatic is no longer reading, I mostly agree. Mostly in that I agree that when you see sweeping claims like that, then usually the speaker is an idiot. But only mostly in that I like to avoid flipping the bozo switch, and I like to wait for a few more red flags before deciding to ignore.

Besides I don't think that Open Source will ever replace all commercial software. Not just for the trivial reason (it is possible for open source software to also be commercial), but because of more intrinsic issues as well.

First of all, as commented on in The Innovator's Solution, when existing technology is not good enough to perform like you want it to, then a proprietary solution has the edge over standardized ones. Once technology over performs for the needs, standardization around a relatively open platform offers better benefits. I believe this, and believe that this applies in computing. Which is why in market niche after market niche there tends to be a very proprietary start followed by later waves of increased openness. (To name one example, the workstation market started off with a variety of proprietary systems like VMS and then standardized around Unix.) Since I think that there will always be interesting problems which computers are not yet good enough for, there will always be a window where being proprietary is a temporary advantage. (I'm reminded of a speech that Tim O'Reilly used to have complaining about the fact that open source people were ignoring the new generation of potential closed monopolies in PDAs and in powerful web applications - the forces of openness always seemed to be fighting a rearguard action. His observations fit well with this theory...)

Secondly I remember something that I heard in the late 90s, I think from ESR. A parallel was drawn between the open source - proprietary axis and how open engineers are. (Engineering is obviously a fairly mature profession.) In engineering the closer something was to infrastructure (eg bridges), the more open it got, while the closer you got to consumers (eg the latest hot toy), the more proprietary it got. I see no reason that software will not work out to be similar. For instance I see no signs that recent hot titles in the game industry will someday standardize on being open source, while I hope that some day all of the basic infrastructure for my desktop will be open source. (Actually that's already happened, but I hope it becomes more common.)

So in short, there is room for both proprietary and open source software in the world, and I don't think that open source dynamics will ever change that fact.

Cheers,
Ben

Re:The problem with Open Source Software...

ziggy on 2005-03-18T14:58:48

Besides I don't think that Open Source will ever replace all commercial software. Not just for the trivial reason (it is possible for open source software to also be commercial), but because of more intrinsic issues as well.
The points about the Innovator's Solution and esr's engineering continuum are good points. But with software, there is something even more fundemental.

Software is an odd offshoot of mathematics, a scientific discipline. In all branches of science, we build on the work of others. Sure, it may take some time, but eventually, your brand honkin' new fundemental insight or process (which you might patent) will be used far and wide, and may even become so basic that it winds up in an undergraduate textbook.

So open source will never entirely replace proprietary software, because there will always be a bleeding edge that isn't very well understood (as described by the Innovator's Solution). The nature of the bleeding edge favors proprietary solutions.

But over the long term, the trend favors open source. What was once a poorly understood problem (which favored proprietary solutions) gets studied and eventually becomes a solved problem. Solved problems are like commodities, and they are very difficult to make proprietary. Not impossible, but difficult. (Some problems, like CRM, never get enough eyeballs to be "studied enough" to make open source solutions viable.)

Case in point: back when I was on a PRIME, we bought a utility called syncsort to sort text files. I forget why we needed to buy it; perhaps PRIME never supplied sort(1), or their implementation had fundemental problems (limited size, slow performance, excess swappage, whatever). But on a Unix box, sort(1) uses a highly optimized set of algorithms, and if you can't get that, there's always the GNU version, the BSD version, or the version you could write yourself in about a day by flipping through a textbook in a good library. I'm sure there's still a market for proprietary sorting utilities, but only in obscure cases.

That's a very small instance of how open source wins in the long term. It's the same pattern driving Linux, Apache, MySQL, Firefox, and so forth.

Getting back to the bozo bit, I agree with chromatic. Anyone who can prognosticate that either model of software is doomed isn't seeing the whole picture. Making sweeping statements that ignore half the topic under discussion is enough of a red flag to flip the bozo bit.

brevity and impact

sfink on 2005-03-24T23:51:43

While I wouldn't disagree with your example, I also find that it is useful at times to make a blanket "never" and "always" statement -- not because you believe it, but because it's a concise way of presenting an argument or counterargument.

If you're a reasonable person, then you'll probably fall somewhere in the middle of most issues. But if you fully explain your exact position, you're in danger of indulging in public masturbation. It may be absolutely fair to the topic at hand, but it buries your actual addition to the conversation in a big slimy pile of... oh why did I have to use masturbation as a metaphor? Anyway, you can be more targeted by making grandiose pronouncements that argue a forgotten side of the issue. You won't be right, but the reasons why you're wrong will probably be relatively easy to point out, and generally many people will have great fun doing so. Let them; it's just further proof that you got your main point across.

To reasonably intelligent people, it'll be obvious that you were taking an extreme position. But inability to pick up on that subtlety is at most half a bozo bit. (Turn it on probabilistically if you don't want to pay the space cost of partial bits.)

Re:brevity and impact

pudge on 2005-03-30T17:18:30

So, reasonably intelligent people will presume you don't mean what you say?

Does that say more about you, or them?

When I see people taking illogically extreme positions, unless they mean to be playing devil's advocate, or doing it for the purpose of exercise, I assume they are not reasonably intelligent.