Microsoft-Entwickler stellt Lex-Linus infrage
Hernan argumentiert in seinem Blogeintrag(öffnet im neuen Fenster), dass Raymond in seiner These(öffnet im neuen Fenster) die Behauptung aufstelle, quelloffene Software sei prinzipiell sicherer als proprietäre, da der Programmcode allen zur Revision offensteht. Er postuliert, dass der Quellcode zwar von vielen eingesehen werden kann, er aber der Meinung sei, dass er nicht eingesehen wird.
Bugs in einem Code zu entdecken sei auch nur der erste Schritt. Den entdeckten Fehler danach zu korrigieren, sei weitaus schwieriger, so Hernan. Als Beispiel zieht Hernan die Arbeit der Sardonix-Projekts hinzu. Das im Jahre 2001 gegründete und von der Defense Advanced Research Projects Agency (DARPA) finanziell unterstützte Projekt sollte das Mehr-Augen-Prinzip in Form einer Webseite nutzbar machen und gleichzeitig dokumentieren.
Schon 2002 beklagte Crispin Cowan, der das Projekt initiierte, dass niemand den dort bereitgestellten Code inspiziere, es sei eine langweilige und mühselige Arbeit, die niemand machen möchte. Bis zur Aufgabe des Projekts 2004 hätten nur Studenten der Universität Berkeley, die von ihrem Professor für das Projekt abgestellt wurden, Fehler im Code entdeckt und repariert. Hernan zitiert den inzwischen ebenfalls bei Microsoft angestellten Cowan: "Man muss Menschen dafür bezahlen, um Code zu inspizieren, genauso wie es Microsoft tut."
Mehr Augen bei Microsoft
Hernan behauptet, dass bei Microsoft weitaus mehr Augen auf Code sehen als in der Open-Source-Gemeinde, darunter auch professionelle Programmierer und eine starke Exekutive. Zusätzlich lanciere der Konzern auch verschiedene Projekte(öffnet im neuen Fenster), über die der Code auch an externe Programmierer zur Revision weitergegeben wird. Hernan gesteht aber ein, dass bei großen Open-Source-Projekten wie dem Linux-Kernel oder dem Apache-Projekt, das Prinzip der Code-Revision durch viele Mitarbeiter durchaus funktioniere. Dass auch zahlreiche große Firmen mit aktiver IT-Struktur und professionellen Mitarbeitern Open-Source-Projekte einsetzen und ihrerseits den verwendeten Code betreuen, bleibt allerdings unerwähnt.
Weiter argumentiert Hernan, dass Code-Revision der ineffizienteste Weg sei, um gute Programme zu schreiben. Schon während der Programmierung sollten statische und dynamische Analyse und Fuzz-Testing verwendet werden. Und dafür sei das Microsoft Security Development Lifecycle (SDL) als Application Security Framework am besten geeignet, so Hernan.
Hernan stellt das SDL von Microsoft der Arbeit der Firma Coverity(öffnet im neuen Fenster) gegenüber. Coverity erhielt im Jahre 2006 den Auftrag, die Qualität und Sicherheit von quelloffener Software zu verbessern. Auftraggeber war das neu gegründete U.S. Department of Homeland Security. Hernan erkärt, dass Coverity anders als Microsofts SDL lediglich auf Code-Revision anhand statischer Analysen setzt. Dennoch fand das Unternehmen in 11,5 Milliarden Zeilen Code 38.453 Bugs, die durch das Mehr-Augen-Prinzip nicht entdeckt wurden. Hernan erklärt dazu: "Ich denke es gibt einfach noch nicht genügend Augenpaare." Er möchte allerdings mit der Nennung der Zahl nicht behaupten, quelloffene Software sei übermäßig fehlerhaft. Eine Liste der von Coverity inspizierten Software liefert Hernan nicht in seinem Blog, lediglich die Anzahl der Projekte wird mit 280 bezeichnet.
Hernan beendet seinen Blogeintrag mit einem Kompliment an die Open-Source-Gemeinde: Dort entstehen konkurrenzfähige Projekte und das Thema Sicherheit wird ebenso ernst genommen wie bei Microsoft. Allerdings sollte auch in der Open-Source-Welt nicht das Prinzip "Hoffnung" gelten. Das Mehr-Augen-Prinzip, beziehungsweise die "Linus' Law" sei im Gegensatz zu SDL zwar adrett, schmuck und fesselnd, aber prinzipiell falsch. Dass Microsoft bei der Arbeit an Windows 7 auf das Vier-Augen-Prinzip zurückgriff, um die Fehlerquote gering zu halten, erwähnt Hernan allerdings mit keinem Wort.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



