Today, most of this kind of software can be found on the World Wide Web. The title refers to the two approaches to developing software. Eric performed a software engineering project which he documents on the Web site provided below. Here are some important lessons Eric Raymond learned while developing an application. Every good work of software starts by scratching a developer's personal itch.
Good programmers know what to write.
While I don't claim to be a great programmer, I try to imitate one. An important trait of the great ones is constructive laziness. They know that you get an A not for effort but for results, and that it's almost always easier to start from a good partial solution than from nothing at all. Or, to put it another way, you often don't really understand the problem until after the first time you implement a solution. The second time, maybe you know enough to do it right.