Free Software Development Goes Public
Coming Out of the Programming Closet
I remember the first time I suggested an improvement to a piece of free, Open Source software. The testy response I got was, "Learn to program and do it yourself." This attitude was similar to that displayed by what I call "academic writers," whose fiction and poetry is so obscure that no one reads it except other academics.
But in the last few years, I've noticed a slow change in attitude among the Open Source and free software developers I know personally. More and more of them seem to be thinking in terms of writing software that is useful to others, not just what they want for themselves.
There is nothing wrong with this. Artists need audiences. So do techies. Sure, it's nice to write a "deep" piece of fiction that only top-rung English professors will appreciate, but it's also nice to write something that a whole bunch of people will read and understand, and perhaps even write you a letter or e-mail now and then that says "Thanks. Nice work."
Playing an instrument, reading a poem or performing a dramatic work on a stage in a theater full of adoring fans is certainly more gratifying than doing it alone, in private, or strictly in front of other musicians or actors.
Let's not veer off into the skeptical-but-valid "Is programming really an art?" question. Let's just say that it is a skill that takes both talent and practice, and that not everyone can do it well. In this way, if no other, it is similar to acting, singing, and other performing arts. And there is no reason talented programmers shouldn't get the same level of recognition as talented actors and musicians.
Will Success Spoil Rock Codeson?
It depends on what you call "success." By monetary standards, Bill Gates is more "successful" than Alan Cox a million times over. But I know who I'd rather invite over for a beer, and I'm sorry, Bill, it's not you. I can also think of dozens of actors and musicians whose work I think is wonderful, but who have never been (and may never be) nearly as famous or rich as others for whom I have no respect.
To go back to the theatrical metaphor, there are plenty of marvelous shows that run for months in off-Broadway and off-off-Broadway theaters without taking in one percent of what a big-time musical like Cats can earn on a single weekend night. But the small theatrical productions often have better acting than what you see in the "major" shows. The music is often more interesting. Scripts in low-budget shows are often far superior to the blanded-down words used in productions with millions of dollars invested in them, that have been tested and revised in so many out-of-town tryouts that somuch life has been squeezed out of them that all they have to offer is glitz and glitter with little or no underlying value. The soul of theater, if you will, is in people working out on the edge, going beyond the norm, thinking with their hearts instead of reading market research studies and holding "focus group" sessions with audience members.
There is beauty in putting your heart into a creation, and there is beauty in watching others respond to that creation. Whether that creation is a song or a piece of code hardly matters; the "click" that comes from connecting with an audience can and should be there in either case. Actors generally recognize this, which is why there are dozens of small stage theaters in and around Los Angeles where screen actors perform - almost always unpaid - works that would never make it onto TV or into movie theaters. There is commercial success, and there is satisfaction. The two are not always the same.
Most of the "free software" writers I know make their livings writing commercial software or from some sort of programming-related consulting. But, like auto mechanics who build race cars on weekends for fun, when they go home they work on projects of their own choosing.
Mechanics who prove their creds on the racetrack always have their pick of the best "shop" jobs. Actors who get good reviews in small stage productions tend to get steady work in movies and TV. And a programmer who has gained recognition by doing excellent free software development is likely to have his or her pick of jobs. In this sense, fame gained by writing free software has direct financial value, and if it is widely-used software, not something that will be used only by a few other programmers, that value is increased substantially.
Building a Portfolio
When an actor, musician or writer goes looking for a job, he or she is expected to show potential employers or freelance clients samples of previous performed or published work. If that work has been performed or published to great public acclaim, so much the better.
Right now, programmers, like auto mechanics, are in short supply. A resume that says you have worked for So-and-So inc. for X amount of time, and have experience with Y language (or for the mechanic, on Z make of car) will get you in the door and will probably land you a decent job. And if you're satisfied with that, fine. The world needs ordinary grunt-work coders and ordinary "do brake jobs all day" mechanics. But in either field, the plum jobs go to those who can point to extraordinary individual accomplishments.
For the mechanic, the best proof of accomplishment has traditionally been the winning race car. For the programmer, the stellar proof of personal accomplishment is a popular piece of free software.
Look at Miguel de Icaza. A few years ago he was an obscure listing in the Linux Source, best known for his work on Midnight Commander. Today he's running a well-financed startup, and I'm sure he didn't have to look very hard for backers. But his work on Midnight Commander and other free software projects, even before Gnome made him famous, was more than enough to guarantee him not only an excellent living as a programmer, but complete freedom from "industrial-style" code writing for the rest of his life.
I suspect we'll see a lot more energetic, imaginative young programmers following in Miguel's footsteps instead of going into the highest-paying jobs they can find as soon as they can find them. Will some of them be doing this so that they can reap great financial rewards later? Of course! Not everyone can be a saint like Richard M. Stallman; Jean-loup Gailly, previously best-known as the principal author/maintainer of gzip, is now CTO of MandrakeSoft. And I'm sure there are countless others whose free software fame is getting them not only kudos but excellent salaries. And there's nothing wrong with that.
Passing Batons
We can sit around and cry about how free software developers are being "corrupted" by fame and money, but it's pointless. For one thing, just as the mechanic who gets promoted to shop foreman can still build race cars on his own time, and successful movie actresses often do unpaid stage acting on the side, there's no reason for people who use free software work as a springboard to fortune to give up their prior love. And many don't. They keep on doing what they always did, after work, on their own time. (And a few exceptionally lucky ones actually get to develop free software all day long for pay, but they're still a rare breed.)
But today's free software developers are not the be-all and end-all of the idea. Free software is starting to produce enough success stories that even if all of today's luminaries end up working for Microsoft, Adobe, and other big proprietary development houses within the next decade, plenty of new ones will come along, as hungry for applause as any group of talented young actors and singers.
And as more free software developers realize that by treating users as adoring fans - not as annoyances - they can earn even more applause, there will be more users. And more applause. And more developers. And if this upward spiral can become self-perpetuating, in a few years movie stars may be asking free software developers for their autographs instead of the other way around.
I see a problem with the fact that many vocal supporters of the open source world are basically just here because it's the underdog.
Right now, it's "cool" to do Linux so that you have a chance to diss those Windows lamers... (visit any usenet discussion about it.)
Now that Linux starts being successful, it seems that many people already look out for the next underdog. With Linux usage not being a sign of Elite anymore...
------------------
------------------
You may like my a cappella music
Making money on free software might be possible in theory, but in real life it's not that easy. I seem to get contacted by one or two companies every month nowadays with job offerings as a programmer (programming ordinary commercial closed source software). I don't know of any company I could apply for a job where I could be doing free source development.
;).
For every job where you get paid to write free software there are several order of magnitudes many more "commercial" closed source job offerings. And I don't see this changing in the near future either (sadly). Sure, open-source jobs might pop up here and there, but the majority of jobs available will be closed source jobs for a very long time to come.
I'm now working more than half time and studying full time, and I don't really buy into that "code free software in your free time" argument (1) I don't have any free time 2) if I had any I'd go out for beer). Besides, full time development on an application can't be compared to putting down a couple of hours per weekend.
And another point; the majority of ordinary companies don't care one bit about if you've done free source development. All that counts is experience from a commercial environment. (This is at least my experience from going to job interviews).
And the comparsion between open source coders and artists is flawed. If I'm a real good actor I can get a job at a a theater. If I'm a real good open source coder I go to work on closed software. If I'm a really bad closed source programmer I go to work on closed software (might take a little longer before I get a raise though
The sucessfulness of open source should be base on usage, not on how much the people working on it make. Microsoft is not successful, IMHO, because it makes a lot of money, but because they sell so much stuff. Of course, they make a lot of money because they sell a lot of stuff, so there is a linkage.
Apache is successful because it is wide-spread in usage.
Linux is quasi-successful because it is wide-spread in usage for servers (but not nearly so for personal machines)
Has Linus become rich? To the best of my knowledge, no. However, I would call Linux, as a open source example, much more successful than Midnight Commander (this is not a judgement about the quality of either program, just usage).
Looking at what has happened to the software industry as whole, it seems to be remarkably similar to a concept in genetics (and mathematics) known as "regression towards the mean." In this concept, a given community with a large degree of diversity (such as the set of companies in the software industry) will, in successive generations (or years), slowly move from a diverse set of subjects to a less diverse set where most companies hover near the mean in respect to various measurements. In the context of the software industry, an anomalous mutation (such as a hypergreedy company like Microsoft) skewed the mean, causing companies in the future to move towards the new way of business. Then, the widespread adoption of Open Source philosophies, (and maybe even the antitrust suit!) created a second anomoly that is balancing the mean away from the region Microsoft had skewed it to. So, to make a VERY (sorry!) long post short, do we as a movement want the mean to keep moving towards pure open source philosophies, or do we want the mean that future efforts will regress to to be closer to benevolent yet profitable companies like Red Hat and MandrakeSoft?
Something we need to keep in mind and watch when signing employment contracts is intellectual property agreements.
A previous employer of mine owned any work I designed and developed related to my job whether I performed the work on work hours or off work hours.
I wasn't a coder (just a router grease monkey) so it didn't concern me too much, but I suspect it could conflict with some GPL aspects if a company attempts to assert "intellectual property rights" on a piece of GPL/free software.
--
John Kramer
John Kramer
God may be my co-pilot, but the devil is my backseat driver.
Anyway, I don't really think that "most of the free software out there" is under the GPL, anyway. Look at X. Look at Apache. Look at the languages, like Perl, Tcl, and Python. Look at virtually all the stuff that comes with BSD.
But I'm not sure that it matters.