Linus on taking up and working on open source projects
Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision.
So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way useful first, and then others will say "hey, that almost works for me", and they'll get involved in the project.
And if there is anything I've learnt from
Linux
Linux (, LIN-uuks) is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries—most of which are provided by third parties—to create a complete operating system, designed as a clone of Unix and released under the copyleft GPL license.
, it's that projects have
a life of their own, and you should not try to enforce your "vision"
too strongly on them. Most often you're wrong anyway, and if you're not
flexible and willing to take input from others (and willing to change
direction when it turned out your vision was flawed), you'll never get
anything good done.
In other words, be willing to admit your mistakes, and don't expect to get anywhere big in any kind of short timeframe. I've been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had expected to do something that big, I'd never have started. It started out small and insignificant, and that's how I thought about it.
- Linus Benedict Torvalds
>>Don't think about some big picture and fancy design. >>If it doesn't solve some fairly immediate need, it's >>almost certainly over-designed. Premature optimisation is the root of all evil. -
Donald Knuth
Donald Ervin Knuth ( kə-NOOTH; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer science. Knuth has been called the "father of the analysis of algorithms".
Kannappan