Young Programmer, Stop Advocating Free Software!
Lansdowne writes "Clemens Vasters, in an open letter to a young developer he met at a software conference, asks him to consider the consequences of writing software for free. "Software is the immediate result and the manifestation of what your learned and what you know. How much is that worth? Nothing? Think again."" While I don't particularly agree with all of the points made here, this is the type of question that needs to be answered to continue to get people involved in Free/Open/Libre/GNU/whatever source/software/code.
So here is the text of the letter.
----
Dear Aiden,
I think you remember the conversation we had recently at this software conference in Dublin. You came up to me and told me how the stuff I was talking about was mostly useless, because it is closed-source, people need to pay for it and that companies charging for software are evil anyways - especially Microsoft. Unfortunately I don't have your email, but I am sure this will reach you.
First, I would like to thank you for the interesting conversation that developed and to make sure that none of what was said just fades away, I'll tell you here once again what I am thinking about what you do, what you think and - most importantly about your future.
When I was 21 - like you now - I was also at university and was pursing a computer science master degree. Back then, I was very enthusiastic about programming and creating stuff that mattered. And thought that I was the best programmer the field has ever seen and everyone else was mostly worthless. And I did indeed write some programs that mattered and made a difference. The program I spent some 3 years writing in Turbo Pascal from when I was 18 was for my father's business. Because the business he's in requires a lot of bureaucracy, he and my mother spent about 2-3 daily hours on average doing all of this stuff by hand. When I was done with my program and he started using it, that time went from 3 hours to about 15 minutes a day. That was software that absolutely improved the quality of life for the entire family! And his friends and colleagues loved it, too. I didn't sell many licenses at that time (I think I had 3 customers), but each one was worth 1500 German Marks and that was a huge heap of money for me. I mean - I was living at my parent's house, getting a monthly allowance of 120 German Marks and worked as a cable grip for a couple of TV stations every once in a while - maybe 2-3 times a month. And if I ever had 400 Marks per month I could really consider myself massively rich at the time and for my age, because I had very minimal additional expenses. So 4500 Marks on top of that? Fantastic. Where did the money go? I can't really remember where it all went, but I guess "lot of partying" or "Girls, Drugs and Rock'n'Roll" would be a reasonably good explanation. Hey, I was 21 and that's what one is supposed to do at that age, right?
That was in 1990 - let's fast forward to 2004 and you. All software that you and your father could possibly be interested in has already been written. That's probably not true, but it's hard to think of something, right? Ok, the software may not run on your favorite operation system and may cost money, but what you can immediately think of is likely there. So where do you put all your energy? Into this absolutely amazing open-source project you co-coordinate. I mean, really, the stuff that you and your buddies are doing there is truly impressive. There are a couple of things I'd probably do differently in terms of design and architecture, but it works well and that's mostly what matters. And you do make an impact as well. I know that hundreds of people and dozens of companies use your stuff. That's great.
However, I start to wonder where your benefit is. You are - out of principle - not making any money out of this, because it is open-source and you and your buddies insist that it must be absolutely free. So you are putting all of that time and energy into this project for what? Fame? To found a career? Come on.
If someone installs your work from disc 3 of some Linux distro, they couldn't care less who you are. The whole fame thing you are telling me only works amongst geeks. The good looking, intelligent girl over there at the bar that you'd really like to talk to doesn't care much whether you are famous amongst a group of geeks and neither does she even remotely fathom why you'd be famous for that stuff in the first place. I mean - get real here.
So once you get your degree from school, what's the plan?
Right now,
read this: Indirect Sale-Value Models and Give Away the Recipe, Open a Restaurant. Eirc Raymond tells you how to make money from OS/Free software.
Consensus is good, but informed dictatorship is better
helping those who can help you.
Not only is the best way to learn is to teach, so when I give a piece of code out , not only do I learn what others want, what they like, but how they would of done it. I become more efficient and more effective. In the long run, I get a bigger paycheck by having better skills.
Bonus: trading code, having others improve on your code, for free.
Runnin' On Empty
Even if you do live with your parents, money is what keeps you alive.
Adherence to the truth is a form of disloyalty.
Selbstgerechter Wichser.
I thought the site came in pretty quick. If not, read Clemens' reaction to all the opposition.
---
Free stuff vs. free stuff
Of course my letter to Aiden is prompting some opposition. It may be worth noting that a very large proportion of the code that I write ends up being public and there's more stuff brewing as we speak. There is little need to educate me about giving. I am an educator. Sharing insight and therefore sharing manifestations of that insight in form of source code is my mission and part of my business. But this is not the business my clients are in and neither is it the business of most of the thousands of developers I am honored to speak for at conferences each year. Their business is about being paid for writing software. If they weren't paid, I wouldn't be paid. My job description is to figure out fundamental stuff and use my natural "understand very complex things thoroughly and rapidly" skill that I was luckily blessed with, so that I can explain those things to them and they can focus on solving customer problems. My free stuff helps my customers and is also playing a marketing role for me an my company. Our free stuff is a calculated investment. We can and do attach a number to it. dasBlog is a freebie for others but represents a significant investment that's worth several tens of thousands of Euros. It's not free, at all.
We support a project that brings us some indirect value. However, we do not in any way force any code republishing requirements upon the folks who'd like to reuse our code (we have a strict "no GPL" policy; our code is BSD licensed). We don't depend on a community of volunteers to turn dasBlog into a dominant blogging tool that we can benefit from by commerically supporting it. We believe that if we wanted to benefit from the software directly, we would have to rearchitect and rebuild it (or at least restrict ourselves to newtelligence contributions) and then sell it as a fully supported commercial product. My personal sense of respect and fairness tells me that I will not and should not exploit the others guys that have contributed to the free version of dasBlog. It's their hobby and their work is their work. I think a company like Red Hat, which is a public company (which did yield a significant "going public benefit" to their founders) and is profiting from the work of countless unpaid volunteers and enthusiasts, is a very clever, but deeply unethical entity.
I do believe in giving and I do believe that there is value for the community at large in sharing insight through source code. But we don't share the view that software is free or should be free. Someone pays for it. We have an investment in software that is free for others to use, MySQL has, HP has, IBM has, Sun has and - believe it or not - even Microsoft has. We do that as part of a well thought out and well understood business strategy.
I understand open source. I do open source. I do so because I am aware of what it can and can not do for a company. I think I have a pretty good understanding on what's going on in this business. If it becomes the norm that the people providing outsourcing, system administration, hardware, and consulting make orders of magnitudes more money than the creative force, the software engineers and architects who are envisioning and building the foundation for this industry, something is stinking. And it stinks a lot already.
Also, if you say that I am confusing "free software" and "open source". I am not. "Open" is the political argumentation line, "free" is the economic argumentation line of the same thing. If this sort of confusion exists for mostly everyone and one of the most often repeated line in OSS arguments is "you don't understand the difference", then that's caused by the simple fact that these terms are simply two angles of looking at the same story. The OSS "eco-system" only functions because both is true.
Matthew, selfish is not the one who wants to get a tangible reward for his work. Selfish is the one who denies that reward.
"Honey, I feel a certain distance between us..." "Really? A 31ms ping ain't that bad..."
I've always looked at it that releasing your software under a free license is a way to "pay" the community for your use of linux, your distributionm gcc, xfree, etc.
You can download and use those programs for no money, and the way you one day pay it back is to submit the code you're able to do.
I'd use the phrase "From each according to his abilities to each according to his needs", but that brings up scary images so I won't.
Your time is worth money. You should not waste it on helping others, unless they will pay you. After all, what's in it for you?
Don't join the Peace Corps. Don't help your friends move their furniture. Let those bums pay someone else to do it. Don't share knowledge or teach anyone, especially kids. In fact, children are expensive so don't have any unless you can work out some kind of profit angle. Don't help your spouse or your community. Don't make your bed or wash the dishes unless you get paid for it. If you see a problem like a fire or an accident, don't stop to help. That would just waste your valuable time.
Unless you can get paid for it, don't waste time on sports, even if you enjoy it. You could be spending the time making money or perhaps suing someone instead. Also, don't give any of your money to charities. They are freeloaders.
So please don't volunteer because you will make the rest of us look like shallow, money-grubbing toads.
Agreed. Free software lowers the barriers to entry and the general cost of doing business. A developer can still add value just like always and get paid just like always. The nice part is not being forced to send tribute to Redmond in order to keep their livelihood going. Also, I'm sure the customers appreciates the lower costs associated with not needing to buy seat or CPU or user licenses to use the solution built by the developers. The overall savings are more than enough to allow contributions to groups like the FSF, the GNOME foundation, or to PayPal a developer $25 here and there. As a user I'm in love with the idea that I am not beholden to one corporation or another, too.
I do not have a signature
2) If I did open-source one of my apps, including this shared code, and contributors submitted changes or patches, any changes to my shared code would end up in my one and only commercial app (since it shares the code.) It's one thing contributing to freeware, and quite another to contribute to an app which is being sold.
Well, since you're the copyright holder, that's not a problem. You can continue to use your shared code in closed applications just as long as you don't use the modifications made by other people (which would be submitted, most likely, under the (L)GPL, or whatever license you chose to publish under). This means, essentially, forking your shared code: One GPL version which the community may alter, and your personal version for use in your closed source apps.
Alternative: Release your shared code as a library under the LGPL. That way, your closed source apps can reap the benefits of community development without them having to be open. Basically, the LGPL states that you may happily link whatever program to the LGPL'd code, it is only the modifications to the LGPL'd code itself that you have to release under the LGPL. That's how its possible for commercial apps to link to the libc.
Stallman doesn't believe that all software should be free at all, only that software which is generally useful. He says nothing about proprietry software that is internal to a company nor about software whose primary purpose is entertainment (ie. games). This isn't conjecture on my part, he says as much in several of his speeches on copyright. I suggest you listen or read the transcripts to some of them.
...another letter.
Dear Aiden,
I don't know you from a bar of soap but I'd like to encourage you in your efforts developing Free Software. I understand your antipathy towards Microsoft given its track record of mocking, attacking and undermining Free Software but don't waste your energy hating it. It is, as Professor Eben Moglen, counsel for the Free Software Foundation, said the other day, on the wrong side of the software movement. Rather continue to write, improve upon, distribute and enourage others to use Free Software. And don't think you aren't perfectly entitled to charge money for Free Software - I do it for a living and it earns me quite a lot of money.
I'm not going to bore you with all the stupid Pascal stuff I did at your age, neither will I drivel on about making a few bucks from the odd software sale. What I will say is this: make sure you do something that you really enjoy for a living when you finally need to earn a living. Never take a job on the money alone. To spend most of your time doing something you hate just because the paycheck is good is soul-destroying. Using a job as a stepping stone is fine, but make sure you have a goal to do what you want. Don't worry if this process takes ten or fifteen years - you can still have lots of fun along the way while picking up experience. And there's at least one attractive woman out there who will love you for who you are, not how much you earn. You'll find her if you keep looking. Sometimes you'll find that she was there all the time - just that you didn't notice. Good luck.
You sound like you have much enthusiasm for programming. That's great - and one day it might provide you with a steady income. Developing Free Software teaches you all sorts of good habits which will stand you in good stead in the real world: client expectations, deadlines, having to work with obnoxious idiots who are nonetheless brilliant coders, version control and a passion for elegance and cleanliness. Even if it doesn't and you do something else for a living, writing Free Software is a pleasant part-time addiction that can provide many happy hours - I hesitate to say relaxation - occupation for your mind.
Free Software is not a myth or a lie: it is the largest single technical knowledge repository on the planet available to all who want at no charge. None of the code contained therein has been obtained by trickery or extortion. On the contrary, hundreds of thousands of intelligent coders want what you want: to program cool stuff and share it with others. And they have done so. There is no food chain in Free Software. It is perfectly possible for a young University student like yourself to change the world given enough talent, hard work and help from like-minded people (you may have noticed this somewhere before).
Like some other correspondents of yours, I also happen to know a few choice quotes about political systems. But since none of them shed any light whatsoever on the process of or motivation for writing Free Software, I will not waste your time with them.
You will encounter opposition from many quarters. Some of this opposition will be from genuinely concerned but misguided people who want to deny reality, ignorant as they are about the 21st century, the market share of Apache or sendmail, and the difference between bits and atoms. Some will even call you stupid or a bigot. Don't worry. You will be proud one day to tell your grandchildren that you created a program that thousands of people - maybe even millions - used to improve their lives. Right now your skills and enthusiasm are of enormous worth to yourself and many others. Many people will appreciate it when you share and share alike. And that by itself is worth much more than choosing life, a career, or a fscking big television.
--- Hot Shot City is particularly good.
Given that the "software is mystical, please pay me lots of money for it, you definitely shouldn't be allowed to see the actual code you pay for because that's precious" model is what keeps him in a job, I can see why he's defending it. If companies are only willing to pay for open* solutions, Microsoft have nothing for them. He'll need to re-work all his skills to a new platform vendor, or watch his business fail.
*: open source, not necessarily open licensing.
Does my bum look big in this?
Georges Blanc
Paul Bocuse
Alain Chapel
Fredy Girardet
Michel Guerard
Joel Robuchon
Pierre Troisgros
Roger Verge
Many others. Yes, they had restaurants first (that made them famous enough to sell books), but they sure opened more thereafter. Sounds like you're living in a nightmare world, eh?
Timeo idiotikOS et dona ferentes
- Apple - Darwin and Safari
- IBM - Linux kernel
- Novell - Netware, NDS, eDirectory
- Trolltech - creators of Qt
- MySQL - major SQL database
- IndexData - networked information retreival
- RedHat
- Sleepycat - dbms
- Google
Note that all of the above did and still do top notch work before, during and after the dot-bomb hysteria.So if you want to know how to make money, look at the experts.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
"administer itself, patch itself, improve itself"
That is system administrators you are talking about, not developers.
"There's money to be made in "free" software"
Not for developers.
"Vasters failed to grasp is that the free in free software means freedom, not $0"
In practice it means $0 for developers.
"Hell, RedHat and SuSE do a pretty good job making money on free software. "
Free labour is good for them, yes. But thats not good news for developers, Redhat and Suse are NOT developers.
"The fact that Mr. Vasters fails to grasp this merely demonstrates his a) inexperience in the IT field and b) inability to view the larger economic picture. "
I don't know but I suspect he knows both a) and b) a lot better than you or the avarage slashbot.
To say that all those companies are bankrolling OSS with the hope that they'll hurt M$ is ludicrous.
That may be one bonus to the move, but the primary reason for all of them is that their customers appreciate having the source, people contribute fixes and features and they enjoy a PR boost with the OSS crowd.
Also, RH still sells a workstation distro, but it is marketed at enterprises, who were paying for desktop as well as server support before and will continue to.
He not only doesn't profit from his software, he enables others to profit from it.
That's why you should not license your stuff under anything other than the GPL. The GPL permits both parties equal benefits.
If I make program X, and company Y improves program X, everyone (including me) gets the rights to those improvements. You aren't giving your time away for free by developing free software. You are investing it, and the end result of the process is (hopefully) a program that's much better than what an individual or a small company could create. You can then make money on customizing, supporting, and extending the program to fit someone's particular needs.
Well, IIRC, Ballmer has done as much....
And Ballmer is his right hand man....
And here is a short article about Craig Mundie, a MS VP for sales, acting in an official manner, where he says that OpenSource is un-American, ruins your company, and destroys intellectual property.
MS Blather
This is an official viewpoint, and I'm sure Gates sees things the same way-----
They actually are fairly good mirror images....One of them just has a better PR department
In fact, here is a link where Gates says that 'Open Source' and the GPL "destroy the ecosystem" that is the world of software.
And all that Jazz
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
"No they won't. They find someone local, someone they already know, and they'll take your work and then that other someone will make money."
There speaks someone who's never had job offers because of the open source work they've done. Those of us who have received such offers know how stupid that statement is.
You are forgetting something,
If you spend 5 years writing OSS for free and develop a portfolio you will certainly have a nice resume to show potential employers.
If you spend those same 5 years writing code for a company and you have performance reviews and promotions and raises your resume will look a LOT better.
If you are unemployed and cannot find a job, writing OSS might be a better way to pass the time than working at McDonalds, but only if you are able to support yourself while writing for free. As someone who has worked as a developer and been in a hiring manager's position, I can tell you that having 5 years of OSS on your resume isn't nearly as good as having 1 year at Microsoft.
Thank you Mario! But our princess is in another castle!