I've just been reading several documents at gnu.org explaining the benefits of free software over proprietary software (indexed here http://www.gnu.org/philosophy/philosophy.html)
After reading these articles/essays I very much feel that following the guidelines of the GNU Public License is the single best way to develop software in most if not all cases and holds benefits both for developers, end users and society as a whole.
However, I still feel that if I were asked to justify this view to someone I would have trouble doing so, because my understanding of the underlying concepts is still a little sketchy. In particular, I can quite readily accept that writing software under the GPL is the best way and I'm the kind of person that would still program even if I was not being paid to do it. However, the harsh reality is that programmers need money to put bread on the table and apparently some geeks even have families to support! Just say someone were to program full time and released all of their code under the GPL, where does their bread actually come from? Short of selling their body on the streets (which may be frowned upon by aforementioned family) or starting up a farm and becoming self sufficient, where does the doe come in?
I believe that job satisfaction comes over money every time, but there are still sources of money in free (as in speech not beer) software and the documents make it quite clear that you can quite legitimately sell such software for whatever price the market will pay, providing you follow the guidelines so that the freedom of the software is maintained. If a baker buys his own flour, he owns the bread he bakes and can sell it. If I write software but I don't own it, I can still sell it, but people can get it for free from elsewhere and can get it from a friend, which as an alternative to paying 9.9 times out of 10 they will. At the moment this may not be such a problem as people may prefer to buy the software in a package with an instruction manual and bundled support for the program.
However, I would argue that the ideal program would be intuitive to the point where it required no documentation or training and support is mainly for when things go wrong, which an ideal program wouldn't. In instances where a form of support or source of information IS required, which will always happen, the online community can often offer support that is equal to that of paid support for free, and this is actively encouraged within online forums and instant messaging. With the spread of broadband internet connections swapping information or programs between people is becoming even easier and cheaper than copying a CD to the point where the cost per byte is negligible, which is the way it should be.
The only source of income that therefore remains is writing bespoke solutions for a particular customer where that customer would pay you to port your program to fit their own business practises rather than work on the features you would normally put as a high priority. However, if this is also released under the GPL will the number of cases not be very small and no basis for a decent sized income?
I don't like the fact that my only concerns stem from the need for cash, but it is, unfortunately, a necessity. I'm posting this rather long message here because I know there are veterans on the subject lurking in the corner (or not) who may be able to enlighten me. I believe the answer to my questions lie on well trodden ground and hopefully those answers will help me in my active support for free software. If there is an easy answer, then forgive my ignorance but I make no apologies for asking silly questions, someone has to ask them :)
Thanks for your time, Ben "tola" Francis
--- there is no spoon... damn, now I have to eat my yoghurt with a fork.
Ben Francis ben@franci5.fsnet.co.uk wrote: [...]
However, the harsh reality is that programmers need money to put bread on the table and apparently some geeks even have families to support! Just say someone were to program full time and released all of their code under the GPL, where does their bread actually come from? [...]
Nothing even compels you to release all GPL'd code for free to everyone every time at the same time, even though some people seem to think that.
You could get a free market in software development, which can't easily happen with the "lots of little monopolies" proprietary model. Your questions might be restated as "how does anyone make money in a free marketplace?" and there are lots of books on that. One thing that free software does is take away the ability of the producer to hold the user over a barrel and demand more money to continue using the same software. There are other benefits, but I don't think anything violates that basic idea.
You can argue that software is different because it's infinitely copiable at a near-zero per-copy cost, but so are some other things: can you see how we fit into a larger shake-up? After all this time of being told that computing is a science, or an engineering discipline, it's closer to being something like performance mathematics, with all the questions of how to make money from performing an art.
If you want to discuss this further, you might find more viewpoints on the fsfe-uk list (linked from www.affs.org.uk -> Membership -> discuss or similar) or the Oekonux project list (via www.oekonux.org I think).
Hi again slef
Ben Francis ben@franci5.fsnet.co.uk wrote: [...]
However, the harsh reality is that programmers need money to put bread
on
the table and apparently some geeks even have families to support! Just
say
someone were to program full time and released all of their code under
the
GPL, where does their bread actually come from? [...]
Actually my entire email could have been reduced to that snip, I apologise for waffling ;)
Nothing even compels you to release all GPL'd code for free to everyone every time at the same time, even though some people seem to think that.
So what are you saying? That you don't have to release your code straight away, but can hang onto it for a bit? I'm not sure I follow... could you expand on this a little? Give an example?
Your questions might be restated as "how does anyone make money in a free marketplace?" and there are lots of books on that.
Could anyone suggest a good book on this subject?
After all this time of being told that computing is a science, or an engineering discipline, it's closer to being something like performance mathematics, with all the questions of how to make money from performing an art.
Indeed, I'm not a programmer, but a code poet ;)
If you want to discuss this further, you might find more viewpoints on the fsfe-uk list (linked from www.affs.org.uk -> Membership -> discuss or similar) or the Oekonux project list (via www.oekonux.org I think).
Thanks, looks like I have a lot of reading to do!
Ben "tola" Francis
From: Ben Francis
Hi again slef
Ben Francis ben@franci5.fsnet.co.uk wrote: [...]
However, the harsh reality is that programmers need money to put bread on the table and apparently some geeks even have families to support! Just say someone were to program full time and released all of their code under the GPL, where does their bread actually come from? [...]
Actually my entire email could have been reduced to that snip, I apologise for waffling ;)
Good post Ben. As someone who has been making a living writing software since 1973 I too have been pondering this question recently and much for the same reasons as yourself.
It seems to me that if OSS becomes the principal software development mechanism (as I have a feeling it might) then writing software as a method of earning a living will become much less common than it has been over the past 25 years.
However, if I look back on the past 10 or so years of my career I have actually cut very little primary source code except for my own satisfaction. Mostly I been asked to perform value added tasks like enhancement, customisation, support, installation, analysis, design, etc.
So I suspect that's where IT professionals will be earning their keep in future. They will be employed not for their skills in cutting code but for their knowledge of using the technology to solve problems.
Your questions might be restated as "how does anyone make money in a free marketplace?" and there are lots of books on that.
Could anyone suggest a good book on this subject?
The Cathedral & The Baazar ?
After all this time of being told that computing is a science, or an engineering discipline, it's closer to being something like performance mathematics, with all the questions of how to make money from performing an art.
Indeed, I'm not a programmer, but a code poet ;)
Personally I think Mark's bang on target here, I have doubted whether the terms computer science or software engineering are valid for some time now. From my experience writing software seems to have more in common with craft based skills such as carpentry, bricklaying, blacksmithing, etc. than chemistry, physics or civil engineering.
Code poet, I like that, but it probably makes what we do sound a bit more upmarket that it really is. Anyone know what the correct term is for the people that demonstrate products in supermarkets? :o)
Keith
Could anyone suggest a good book on this subject?
The Cathedral & The Baazar ?
After all this time of being told that computing is a science, or an
engineering
discipline, it's closer to being something like performance
mathematics, with all the
questions of how to make money from performing an art.
Indeed, I'm not a programmer, but a code poet ;)
On poetry and other ways of describing or classifying programming (and for a damn good read), try The Programmers Stone, at
http://www.melloworld.com/Reciprocality/r0/index.html
-- GT
Ben Francis ben@franci5.fsnet.co.uk wrote:
Actually my entire email could have been reduced to that snip, I apologise for waffling ;)
Nah, you had other good points in there, but I thought that snip was a good summary.
Nothing even compels you to release all GPL'd code for free to everyone every time at the same time, even though some people seem to think that.
So what are you saying? That you don't have to release your code straight away, but can hang onto it for a bit? I'm not sure I follow... could you expand on this a little? Give an example?
Well, normally things are worth whatever someone will pay for it, and people are often not willing to pay for free downloads, as you note. So one possibility is not to make it a free download yourself, but any customer who wanted to still could.
Your questions might be restated as "how does anyone make money in a free marketplace?" and there are lots of books on that.
Could anyone suggest a good book on this subject?
No, I get flamed when I try... ;-) There are quite a few suggestions around online from better reviewers than me...