|Just another Perl shrine|
Re^2: Why do People like larry or David Cross write free language and distribueby davido (Cardinal)
|on Jul 06, 2011 at 17:38 UTC||Need Help??|
Funny, he lived in Panorama City... only about 2.5 miles northwest of me in the San Fernando Valley, Los Angeles, CA.
I was going to respond in this thread earlier but never got the time until now.
Some people donate their time to be little league baseball coaches. Some teachers host academic or other special interest clubs after school. Some enthusiasts learn to become HAM operators, and even happily teach others. I love sailing, and have gladly shown dozens of people their way around the deck and cockpit of a sailboat. My next door neighbor fixes up muscle cars just to drive them down to Burbank on Friday evenings occasionally.
Some people love the challenge and exercise of programming; of finding a problem and then finding a solution to the problem. That others might be interested in the problem and its solution too is their reward, just as the volunteer baseball coach feels rewarded when his kids catch the spirit of the game.
Other programmers see the value in places like CPAN. Everything there is uploaded for you to use for free. Each module represents anywhere from dozens to hundreds to thousands of hours of work, which represents a similar amount of time savings for the next person who uses them. But modules don't exist in a vacuum. Some modules build on others. Most co-exist with others in final programs. Lincoln Stein may have spent a LOT of time developing CGI, but he undoubtedly incorporated many modules into his own scripts that he didn't design himself. Therefore, while his contribution helped many others, the contributions of many others helped him.
The value of a system that involves free archive and distribution is that it fosters innovation. And hopefully innovation fosters "getting things done efficiently."
Our value as programmers may not be specifically in releasing code that is sold for profit, but rather in "getting things done." If we look at it from a profitability standpoint, we get more done at less expense when we all help each other along. In the Wealth of Nations (Adam Smith), he discusses the division of labor. Economists often discuss comparative advantage. The principle is that a person performs the portion of a task that they're good at. They may have a comparative advantage in that particular area (I'm combining two principles here). But for that area to be effective, someone else must be ready to take on other aspects of the production. Maybe I put the lacquer dot on the head of the pin. Maybe you polish the tip. Maybe someone else melts the steel. Well, in development we all produce more if people are allowed to specialize.
The Perl community has found success in pushing innovation forward by allowing individuals to specialize. Individuals find the time to specialize because they don't have to worry about the areas they choose not to specialize in; there's a module for that by someone who chose that other area as one of his specialties. And like that, we "get things done", which is how we create compensable value.
So maybe it's for fun, for profit, for satisfaction, for whatever... But all of those are good reasons. Just because work is shared doesn't mean it can't produce compensable value.