I met and had breakfast last week with Ben Hyde. A really smart and interesting fellow — I wish I had recorded our conversation. We had fascinating and wide-ranging discussions all morning — but like when trying to remember the really hilarious stand-up routine you heard last night, you can only remember one or two jokes. So it is with that morning.
We did talk about my earlier post comparing the open source movement to the labor movement. Ben agreed that there was merit to an analogy around the idea of “principle for organizing the labor pool”, but suggested that professionalization was a better analogy. My initial reaction was that I liked the idea — we both grew up in an era before software engineering was invented. Back then, it was an art.
When I speak about computer programming as an art, I am thinking primarily of it as an art form, in an aesthetic sense. The chief goal of my work as an educator and author is to help people learn how to write beautiful programs…My feeling is that when we prepare a program, the experience can be just like composing poetry or music…Some programs are elegant, some are exquisite, some are sparkling. My claim is that it is possible to write grand programs, noble programs, truly magnificent ones!…computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. Programmers who subconsciously view themselves as artists will enjoy what they do and will do it better.
— D. Knuth (Computer Programming as an Art. Turing Award Speech 1974)
What the discussion highlighted was the way in which the open source movement falls short of either of these two labor movements. In the event that open source becomes a union movement, open source developers need to start paying dues to fund open source organizations, and start to negotiate with their employers to insist on “free software rights” as part of their employment agreements. Free software sanctions against organizations that balk.
To become a professional movement, there needs to be some form of accreditation with a governing body (like the AMA, or Bar Association) in order to be permitted to “practice open source programming”. Presumably, only accredited practitioners would be allowed access to the source code.
Neither one of these scenarios seems very likely.