3 ms·
It's a matter of perspectives. The article author's one is that of taste. The bazaar folks' (including web startup folks)is that of practicality. To illustrate
by blinkingled 14y ago
It's a matter of perspectives. The article author's one is that of taste. The bazaar folks' (including web startup folks)is that of practicality. To illustrate using the same example from the piece - so what if a bunch of crypto code is copy / pasted? It's all out in the open - if anyone ever comes up with an actual problem with the code copy / paste, how hard can it be to fix it?
Matter of the fact is that the world doesn't have a critical mass of people with agreeing tastes and fundamentals to get them to come together and build something moderately complex.
What we do have however is a world full of reasonable people who just want to build something and make it work so they can solve some problem of theirs. There are also people who will happily reuse what the folks before them built - improving it in the process.
If we were to impose a high barrier to entry for people to code and design systems in absolute best possible way - we are effectively saying only a few will build software for the whole world. That'd be a net loss IMHO.
The point about bad design is worth arguing when software doesn't do what you want it to do, i.e. fails practice. But that is mitigated by the fact that individual stall in the bazaar does enforce some design, some testing, some sort of sanity to ensure it at least works most of the times.
Is it a sad situation - yes, we would be much better off with every programmer being perfect. But so long as that is impractical the bazaar alternative works in creating tons of fixable, mostly usable, continuously improved software - for which I can hardly call it a lost cause.
- DanBC 14y ago> To illustrate using the same example from the piece - so what if a bunch of crypto code is copy / pasted? It's all out in the open - if anyone ever comes up with an actual problem with the code copy / paste, how hard can it be to fix it? Crypto is a bad example to use. Crypto is hard. I don't want random people writing their own crypto, I want them to carefully use other crypto packages, after having spent a long time reading the documentation. Copy pasting is better than creating their own from new, but still leaves them potentially open to weird edge cases, but now with a false sense of security because they copy pasted.
- cantankerous 14y agoI think the big problem with all the copy paste code is that you wind up with many redundant dependencies and equivalent pieces of software in varying qualities. Granted that it's open source, you can't rely on any kind of competitive (ie market-driven) mechanism to improve all of these redundant pieces of software over time. This is an inefficient part of how things are done....but that's not to say there's an obvious, more-efficient alternative to what we're doing now.
- blinkingled 14y agoAbsolutely - it is a problem in that it is inefficient and error prone. And @DanBC - yes, no doubt people shouldn't be writing their own crypto (but to be fair copy/paste is not akin to making their own crypto - it's just a wrong way to reuse.) But my point was that this isn't a "it doesn't work" type problem, this is a "it can get better" type of a problem - and I've seen many instances where these types of problems are discussed on the mailing lists of several projects and people with an itch to fix it go ahead and do it. It just highlights the differences in perspectives - get it to work first and even if we had to hack it we can make the design better later on if there are enough people bothered by it.