4 ms·
I always understood this article as being about software design in open source. Every project (library, application, you name it) needs to be designed, by one
by bojanz 12y ago
I always understood this article as being about software design in open source.
Every project (library, application, you name it) needs to be designed, by one or more people thinking deeply about the problem space.
You can't expect software design to just happen, once the code has been written, it's already too late, see you in v2. You can't expect a 100 people to do it, there will either be a lot of conflicting visions, or no vision at all. And you can't expect to do it in your 1 hour of "free coding time" a day, because it doesn't give you enough time for deep thinking about the problem.
If you try to bypass design and solve it from "another angle", you get libtool, a solution that is a hundred times more complex than the problem it solves.
Look at successful open source projects (Rails, Go, even Linux). They were all initially designed by someone, handed down to the community to improve.
They still have strong minded architects leading the effort. Now compare it to those random "Let's clone X!" threads that never produce anything.
So, there's cathedral thinking even in the bazaar. And it's the only thing preventing it from eating us alive.
- nailer 12y ago> If you try to bypass design and solve it from "another angle", you get libtool, a solution that is a hundred times more complex than the problem it solves. Agreed. One good thing about right now is that there are less people in the conversation, so things might actually be possible. If Linux, FreeBSD, OpenBSD and SmartOS decided to have a standard way of building a shared library with another flag to ld() they could obviate the need for libtool much faster than they could have in the 90s. And if not, that's fine, we'll just build it for Linux.
- mcguire 12y ago"...libtool, a solution that is a hundred times more complex than the problem it solves." http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html Remember, almost all of those systems had someone "thinking deeply about the problem space".