What Does It Mean To Be an Open Source Author?
lolococo writes to tell us that Laurent Cohen, founder of the open source project JPPF (Java Parallel Processing Framework), has decided to share what life is like for an open source contributor in general and little bit about what that means. "There came a time of coding, releasing, coding, releasing. The project started gathering some momentum, as a small community of users started to use it, but why was it not working in this case, or why did it not have this feature, or how could I do this, etc...? You get the drift. Oh my, now I had to start interacting with other folks! What was I to do? That started a (thankfully short) period of intense existential self-questioning. What was the purpose of this project? Why did I actually open-source it? I resolved this by deciding unilaterally that it would be a free contribution, for whomever would be interested enough to look into it. I also decided that it was my personal responsibility to support these brave folks into using the project, and to make it, as much as possible, a happy experience for them."
And I suspect if they included all those real-world lessons that we'll see far less CS graduates, from the sheer boredom. But I wish they had included those courses in my CS curriculum because now I would be doing something else, other than programming. I realized after I started working that programming for a small semester project is very different from programming in the real world and if I had gotten the entire picture I would have said, "this looks interesting, but there is too much stuff other than programming that I have to do that I absolutely don't care about... I think I will pass." But of course not too much highly ranked CS departments will allow this because it's not theoretical enough.
I think this is also why there are so many open source programmers, because their day job just don't allow them to do what they love, or they don't have a significant role.
I prefer the term "developer". It encompasses most of what we do. Other terms are appropriate; author is as descriptive as programmer, I suppose. I do shy away from "engineer" or "designer", as those monikers evoke different and more restrictive facets of our profession. Referring to programming as an art form elicits strong and varied reactions from many people. Personally, I do see the field as an art form. A sculptor or painter (for example) has the joy of creation, taking raw materials and creating a (hopefully) pleasing and meaningful result. They also have the joy of experiencing their work being examined, critiqued, and possibly purchased by total strangers. And, they have an appreciation for the hidden beauty of the work that the audience never gets to see -- the minute changes in texture of the canvas or the structure of the stone. Software developers share all of these experiences with other artists. There is beauty in the finished product (ostensibly) and a hidden beauty in well-turned algorithms and eloquent functions. Those who would chafe at the notion of software developers as artists usually believe that an artistic bent is an unwholesome trait for a developer, that we need rigidness and structure in our psyche to be able to produce good code. While I wholeheartedly disagree with that belief, I have to acknowledge that it exists.