Wiki has many pages that explore new, creative, maybe crazy new analogies for software:
Here's a try: It is like building a video game where you can choose any scenario and characters you want. But, it has two catches: the characters have to ultimately produce something of value to the external world, and other video-game developers have to be able to efficiently change the game to fit new external requirements. Related: SoftwareGivesUsGodLikePowers. --top