Ich zitiere mal aus
diesem Buch ("Die Geburt eines Betriebssystems", Kapitel 7):
"Ich erinnere mich, dass im Dezember dieser Typ aus Deutschland Kontakt zu mir aufnahm, der nur 2 Megabyte RAM hatte. Er versuchte den Kernel zu kompilieren, und konnte den GCC nicht ausführen, weil GCC damals mehr als ein Megabyte benötigte. [...] Also entschloss ich mich, diese Eigenschaft speziell für diesen Anwender zu realisieren, obwohl ich selbst sie im Grunde nicht brauchte. [...] Page to disk war praktisch die erste Eigenschaft, die ich entwickelte, um den Bedürfnissen eines anderen gerecht zu werden."(Für die DAUs unter euch: Er hat virtuellen Speicher in Linux eingebaut)
Soviel zum Thema "sehr spezieller Fehler". Im Übrigen ist es meistens so, dass man einen bestimmten reproduzierbaren Fehler nicht alleine bemerkt hat, es sei denn, das Programm ist in einem frühen Stadium und dann sollte man eh nicht auf Fehlerfreiheit setzen.
Die herkömmlichen Entwicklungsprozesse in Wirtschaftsunternehmen sind mitnichten nachhaltig, denn Wirtschaftsunternehmen entwickeln i.d.R. was Geld bringt und nicht zwangsläufig, was das Beste ist. Ein gutes Beispiel hierfür ist das OS/2 Betriebssystem (gute Technik, eingestellt wg. schlechtem Marketing) oder der Internet Explorer in den früheren Versionen (hielt sich nicht an Standards, keine Tabs, keine Add Ons etc. - alles erst mittels Druck durch die weglaufenden User von anderen Browsern geklaut).
Von günstiger kann man ebenfalls nicht sprechen, denn ich denke nicht, dass sich OSS Entwickler ihren Idealismus genauso mit Geld bezahlen lassen, wie die angestellten Entwickler eines Unternehmens, was nicht ausschließt, dass man nicht doch Vollzeit und gut bezahlt an einem OSS Projekt arbeiten kann (siehe Mozilla Foundation).
Richtig ist, dass spezielle Lösungen - prinzipiell Maßanfertigungen - i.d.R. nicht als OSS entworfen werden, aber in zuhnehmenden Maße auf OSS Lösungen aufbauen und damit nicht nur günstiger in der Entwicklung, sondern auch schneller fertig sind.