> 6) You opened (at least) my eyes that technical elegance is not > always the best and that in OS there are more important things. > > And I think many of us will be more careful with second, third > and fourth, ..., implementations which all do the same ...
Yep! This is all about the cathedral and the bazar! http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ 1-Every good work of software starts by scratching a developer's personal itch. 2-Good programmers know what to write. Great ones know what to rewrite (and reuse). 3-Plan to throw one away; you will, anyhow. 4-If you have the right attitude, interesting problems will find you. 5-When you lose interest in a program, your last duty to it is to hand it off to a competent successor. 6-Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging. 7-Release early. Release often. And listen to your customers. 8-Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. 9- Smart data structures and dumb code works a lot better than the other way around. 10-If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource. 11-The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. 12-Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong. 13-Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. 14-Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected. 15-When writing gateway software of any kind, take pains to disturb the data stream as little as possible�and never throw away information unless the recipient forces you to! 16-When your language is nowhere near Turing-complete, syntactic sugar can be your friend. 17-A security system is only as secure as its secret. Beware of pseudo-secrets. 18-To solve an interesting problem, start by finding a problem that is interesting to you. 19-Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one. Best Regards, Antonio Gallardo
