Now, here’s an interesting thing: nobody at all in the FOSS world has ever used the phrase “A Million Eyes.”
Tracing the concept back is quite simple. It started with a (presumably) casual quote by Mr Torvalds, (presumably) quoted in the tech press at the time, and was enshrined by Eric Raymond in The Cathedral and the Bazaar as “Linus’ Law”[1]
Interestingly, Linus himself has never said any such thing, nor does he endorse the concept. However, Eric’s (Wikipedia derived; sorry, but this is the horrible way that the modern world is going) version is as follows:
“The law states that 'given enough eyeballs, all bugs are shallow’; or more formally: 'Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix will be obvious to someone.’”
I prefer the “more formally” version. It is, essentially, an admission of defeat. Where are these people supposed to come from? We are not talking neutral and otherwise uninformed eyes, here.
Over at Pog-San’s, however, I have recently become embroiled in an attempt to fathom the mind of oiaohm, an employee of a renowned M$ reseller (ie a VAR).
Oiaohm has an interesting variant on this theory. Apparently a million eyes is not quite enough, because Microsoft has “many more eyes.”
They’re just the wrong sort of eyes, is all.
————————————-
[1] http//en.wikipedia.org/wiki/Linus’_Law
————————————-
Incidentally, if anyone out there can explain what “more formally” means, other than “we didn’t really mean that, honestly. Don’t hold it against us!” ... I would be personally chuffed.


Comments
I take it this is a response to a recent blogpost from poggie san. Quoting from there:
“•programmers know their code will be visible and take care to produce better code”
Well, browsing sites like bitbucket, gitorious, sourceforge etc. has showed me that many of the foss programmers have simply no clue how sh*tty their code is. If they don’t know it’s bad, how can they make it better?
I’m kinda sleepy, so I’ll rescan his blog post tomorrow.
i was watching a video where they were bragging that freebsd team didn’t slack off of christmas eve and released a security patch. never mind that the ahci driver doesn’t work on many macs (models used by millions). these people really do not understand the enormous manpower that goes into making desktop OSes reliable enough.
There are basically two kinds of bugs:
1. Those that affect functionality (including regressions)
2. Those that affect security
If there is an “issue”, but it doesn’t manifest itself in either functionality or security then nobody cares.
For the first category Windows has code coverage driven (among others) regression testing (quality gates runs on each “merge”) and ~1.5 billion users for testing functionality and one don’t need to see teh codez to do that (so, yes, Windows does have ManyMoreEyes™ – good to see that at least some of loons realize that).
Number of bugs from the second category is minimized by pervasive use of static code analysis (it’s an SDL requirement that all shipping code should be statically analyzed) and new ones are mostly found by fuzzing (including white-box fuzzing – e.g. SAGE) and/or stressing.
All these are too “professional” and for this reason should be avoided at any cost in Linux (and more generally – in most FOSS) development. ManyEyes™ should be enough for everyone.
the problem is that when there is a issue you are at ms’s mercy to fix it. stuff like the vista’s shutdown button. also you are talking about vanilla windows. virtually all computers come packed with drivers and supporting apps that have poor testing. the gpu switcher on a lenovo didn’t work and the program gave a .net framework error, this is a known problem with ati and they still haven’t fixed it yet.
@Garegin:
OK, I’ll bite. Let’s say I have a (category 2 on Linsuxoid’s list) bug I want fixed. Ignore the operating system for a moment.
Do I (a) fix it myself? It so happens that I am a professional programmer. In theory I could do this.
But if I’m not a professional programmer, it doesn’t really matter how many eyes I have, does it?
Or do I (b) rely on the manufacturer?
Regardless of the choice of OS, 99% of people would choose (b).
This is not a difficult concept to comprehend.
And in any case, a trillion eyes won’t do unless some clever sod comes along and actually fixes the bug.
In other words, it is a diseased concept, a straw man, and a bunch of crappy lies sold to people who don’t have a clue.
A heart surgeon, as skilled as they might be, can’t perform brain surgery since it’s not their domain.
I may be an experienced developer but I don’t have the right domain experience to fix many of Linux’s problems.
Further still, I often don’t have the time to familiarize myself with many of the projects IN my domain. Half the reason I use frameworks like Django or JQuery is so that I can absolve myself of the responsibility of the mechanics going on under the hood. Sure, I know what Django is doing, but I have primary tasks to complete that don’t involve knowing the exact details of how it gets the job done.
...to do so would defeat the purpose of using a framework to save time in the first place.
You must be signed in to leave comments.