I was recently in an interview where the topic of software engineers came up. We were discussing how software development is still in its infancy and that a day will come when our jobs will be replaced by automated systems that will automagically create the powerful, scalable, dynamic applications that we develop today. This process of “evolution” from artform to science can be compared to other industries that have gone through a similar process. Agriculture and psychology are two areas that at one time were a unique and unrefined field relying on superstition, luck, and common knowledge. Now, technology and science have generated information and standards that have replaced the majority of highly skilled positions and most work is now done according to formulas.
How does this relate to opensource software? As I said before, the computer industry is still in its infancy. Every single programmer is an artist of sorts, crafting and building software as their own art. Consider coding style, design and architecture, etc, as different facets of our art. And just as every artist views their own work as the best, every programer will say that their work is different and better than the next. =)
Until some time in the future when all of the complex parts of software development can be replicated without human intervention, our “art” will remain ours. One common trait held by ALL artists is that they want their art to be seen by as many people as possible. Since most programmers work within a corporate environment where their work can only be accessed and seen by others within the company, opensource projects provide the kind of exposure to the outside world that every artist craves. Just as Michelangelo painted the Sistine Chapel Ceiling for all the world to see, our art is meant to be viewed and used by an open and willing audience. Only then will the art be appreciated for all that it is.