Sharing the code just seems like The Right Thing to Do. It costs us rather little, but it benefits a lot of people in sometimes very significant ways. There are many university research projects, proof of concept publisher demos, and new platform test beds that have leveraged the code. Free software that people value adds wealth to the world.
John CarmackAn interesting question: is it easier to motivate a learned individual that never does anything, or educate an ignorant individual that actually produces things?
John CarmackThe important point is that the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don't fight each other.
John CarmackIf you aren't sure which way to do something, do it both ways and see which works better.
John Carmack