Can we justify earning money for software, when it should [maybe] be free?
Can we justify earning money for software, when it should [maybe] be free?
This is in response to nymia's diary entry about free software vs. income.
Free Software is an attempt to get back to the glory days of hacking, when hardly anyone got paid to do it, and you hacked for the joy of hacking. Money hardly entered into it. Now, programming is an industry. Capitalism has taken over, and control has been given to the suits. This is a Bad Thing, and has spawned the backlash that is the free software movement.
However, a great many hackers now make $bignum for programming, which is a Good Thing. Earning money for doing what you love? Being paid to play with a compiler? It's a beautiful dream that might be threatened, ironically, by our own ideals.
If all software is freed, we're out of a job. If big business wins, we're all peons trapped by microsoftian licenses. But maybe there's a middle ground? Maybe we can keep software from the hands of the oppressors, but not destroy the entire industry. Is there a compromise? This is an important question for which I have yet to hear a decent answer. Thoughts?
Ok, well, the crux of it is that developers
For a project where i use the software regularly and can offer support, but not code, i hang around the mailing list and help whomever i can. When i want a feature in a package that i use, i go see if writing a patch is something i'm capable of. When i write something that's for myself, half-decent, and of possible use or interest to other people, i share it. That, i think, is the way most of us go about things. And, frankly, i think that's the way it should work.
Oh, and happy birthday, mobius...
There's always been some free or at least standardized technology that we've used. People make money because a) They have rare experience in that technology, or b) Somebody is prepared to pay to lead some new use of that technology.
Now we are making more stuff free and standardized. That just means that there will be much for stuff done with it. And where there's activity there will always be people making money. Maybe much more money than before, because every base technology that is made free has a multiplying effect.
I believe that the free software movement is already improving software quality and increasing the amount of development activity. That means progress, and technological progress has always meant improvement in living standards.
Pardon me while I paraphrase from my diary ...
After over 20 years of developing software, I've come to the conclusion that there are no pristine solutions. No single model of software development and distribution is "best" for all participants. Not all software can (or should) be free. The majority of software (in lines of code or deployed seats) is not operating systems or compilers or graphical user interfaces; the majority of deployed code is tied up in vertical applications -- programs that help businesses and organizations operate on a day-to-day basis. POS applications, accounting applications, inventory applications -- these are all applications that are often customized for a specific business application (ie: book distribution, or college administration), not just QuickBooks. Free software won't help a company that depends upon a vertical application, because the time and money invested in creating these applications in staggering -- for some of the applications I've worked on we're talking about hundreds or even thousands of man-years of time spent developing, deploying, and supporting a codebase for no more than a couple dozen customers.
You can claim moral superiority until you're blue in the face, but you can't justify freeing all of that code to a company's stockholders or board of directors without showing a specific economic advantage to be gained. Even if you did manage to free the code, it is most likely dependent upon a proprietary database and proprietary libraries and proprietary operating systems and wouldn't be portable to a free software environment without dozens of man-years of effort, if it's possible at all. I submit that these applications, while they may benefit from open source, are not sensible targets for being freed.
I am an Open Source Software advocate because I believe that by opening the source to the tools and environments, without placing restrictions upon how they may be used, we can build the most reliable infrastructure for those vertical applications and that, in time, as those applications are reengineered and reimplemented, the demonstrated superiority of open software development methods will convince companies to open up this vast codebase. I feel that by demanding that all software be free, right now, free software advocates are aggravating the people who they should be convincing -- the hundreds of thousands of developers whodevelop these applications. Alienating develoers won't free up any software, and it won't help anyone, be they developers or users.
Now go read ESR's "The Magic Cauldron", where Eric explains it much better than I could.</a>
Free (beer) software isn't going to destroy the industry, no matter how long its around or how popular it gets. That's for a lot of reasons....
- The number of people who hack for the sheer joy of it is nowhere bloody near the amount of programmers the world needs to maintain existing software and build new needed applications. This means that there will pretty much always be paid jobs hacking.
- Redhat. VA Linux. Well, VA isn't a free software compay per se, but they do trade in nothing but free software, and as far as I can see, they're hiring paid hackers like crazy.
- there will always be people who need an application written that isn't sufficiently interesting to be taken up by people who hack for free. For example, boring programs like SQL generators (yes they exist) database migration tools, data reformatting tools and the like all need to be written, but aren't necessarily "glamourous" enough to attract hobby hackers.
- Maintenance. Free software programs stop developing all the time. Say your company bases its business around the gimp for some reason, and it for whatever reason ends up with no active maintainers. You need to change and adapt the software, but nobody is doing it for free. Hire programmers.
- "My way or the highway". Some PHBs need control over the direction of software, which they don't have if they just rely on volunteer programmers over the net. The only sure way to get your feature in from a PHB perspective is to hire a programmer to add it to the tree. If the maintainers don't accept the patch, then you've got a fork, which requires more maintenance that is not done by the main devel team, and more paid programmers.
I don't know if the market can support as many paid programmers as it currently does, but the profession of getting paid to program isn't going ANYWHERE, no matter what the cost or freedom status of all programs in the future.
I was thinking about this yesterday.
There's going to be all these increadibly well trained, experienced software engineers retiring. What do you think they are going to do?
Sure, they will try gardening for a while, but I bet that most of them will end up hacking software for fun. Imagine what that's going to be like..
Exciting time we live in, I think.
Free Software is _not_ an attempt to get back to the glory days of hacking; it's just a way of telling people how you get the naughts and ones in a particular order. It's polite, it's social, it's an invitation to other people to make it better if they think they know how.
If you pull Capitalism into the equasion, you're talking
business-models, revenue streams, question-and-demand, and
_profitability_. Not profitability in the sense: 'How can people
profit', but profitability in the sense: 'How can *my business*
Proprietary software can exist in a Communist society and be profitable from a community perspective.
Free Software can exist in a Capitalist society and be profitable from a Capitalist perspective.
I think you're misapprehending things a bit -- even if all software becomes free (as in beer), that doesn't mean that the work done to produce it is done for free. Some of it will be volunteered, but there's plenty of really unsexy, no-way-I'm-hacking-this-without-pay coding out there that businesses simply need to have done for them. IIRC, Eric Raymond estimates that 80% of programmers write stuff that's used in-house only. If all of that becomes free software it would no doubt improve efficiencies, but, to paraphrase Frederick Brooks, it won't be a silver bullet.
That aside, companies that have been structured around selling copies of software can, in most cases, be restructured around providing support. (I'm thinking especially along the lines of, say, enterprise support, or doing contract work on free tools.) Companies'll definitely need programmers to provide that kind of support effectively.
Why make software and give it away for free?
Do you simply like to hack and that is reason enough?
Do you want to be part of a so called hacker community?
Do you believe that two-thirds of this world is exploited by the other bit? That this must change. That free software is absolutely necessary to help change this. That this is where you want to contribute.
Every man must answer these questions for himself.
Whatever his reasons for making or not making free software, they are his reasons.
Free software isn't going to destroy the industry.
If you have a job that allows you to make free software, if you care about that, cool, you've got a nice job.
If you have another job and you like your work, cool, you've got a nice job.
If you hack in you free time, because that is what you wish to do, for whatever reason, cool, enjoy yourself.
You don't hack, you help homeless people, or hiv-infected people, or amnesty, cool. You've got my respect/admiration
Make you own decisions. Make free software or don't. Try to makes this world better or don't.
You live by your choices, I'll live by mine. I hope there are enough idealist out there to make a difference.
First of all, thanks Mobius.
Secondly, my thoughts regarding Free Software as it continually moves forward is definitely on my radar. I have no doubt that Free Software will be dominant and widespread in the future. While I don't deny nor condemn Free Software, I also don't condemn or chastise closed sourced software too, for the simple reason that I, we, you need to put food on the table and all that financial thing we all have to take responsibility for. What I'm basically trying to understand is where will I fit in the picture. Is there a middle ground where people like me who is in the field of consulting play on both court? Can I be at the same time be playing the same game on both courts? Or are they mutually exclusive that I will have to take side and choose who is one or zero?
I don't agree with stallman that all software should be free. This means that I don't have a problem making money from software. I've made money on selling software in the past and I likely will in the future. I prefer to work on open source, however, for the simple reason that for simple, base technologies I don't want to keep reinventing the wheel. I want the base technology to be open source so that I can easily contribute to it. I want to be able to hack on a base technology, and then leverage that base technology into a job.
In addition, stallman never said that it was immoral to make money from software. He has consistantly stated that he feels that the sources to all software should be freely available. This is quite different. Stallman makes a lot of money from consulting on free software, as do many people. He does this to maintain the software, or to have someone pay to fix a given bug. He gets the money (or others that are paid. I myself was paid to do a FreeBSD pci modem driver that was integrated back into FreeBSD) and the "commons" gets a minor improvement. It is a win/win situation.
My apologies for the spelling errors that follow. MS has not "innovated" a spell checker for their browser yet. :-)
Data has created an unparalleled opportunity for us. We have the power to create something and disseminate it to the world at virtually no cost. Instead of spending 5,000 hours and creating one object, you can spend 5,000 hours and create a virtually infinite number of objects.
Let me speak in terms of what would be ideal. In an ideal world you could spend X amount of effort coding software and get compensated an amount equivalent to the value that society gets from your software. A person that is a graphics artist would be expected to get more use out of a grahics program than a website designer who only creates graphics occasionally and there for would be expetected to give more compensation. You don't want a system where programmers get compensated regardless of the use-value that society gets from their software. If program is poorly designed, badly implemented or otherwise useless to society you want to discourage them from continuing their endeavor, and encourage them to contribute to society in another way that might be more useful.
Back to reality. How close does our current implementation of capitalism bring us to that ideal? Probably as close as anything can in our society. But as an idealist, I hate it. I think software and the compensation for the use-value rendered from software should flow much more freely than it does now. The lack of an efficeint(existent?) micropayment system is a huge barrier that is holding us all back. Right now it's either all($500 for that Win98 w/Office package) or nothing. Do I make any sense?
Why would free software destroy the industry? The vast majority of programmers already work on in-house or custom applications, rather than software for retail sale, and those jobs won't be affected. Moreover service and support are a large part of many proprietary software companies' revenues. When it comes down to it, making all software free of charge takes a huge revenue chunk away from certain companies, but doesn't really kill the majority of software jobs. And that's if only free software existed; but proprietary software will continue to exist.
For every company that is just a software company (Microsoft), there are hundreds of companies that need software as a tool in order to make money on something else. They don't care if they make money on the software.
Free software does substantially reduce the ability of an individual or company to impede progress, whether through bankruptcy or boneheadedness, because a fork or maintenance transfer is always possible. That's why the right to fork is vital to any free software license. This transfers significant control back to the developers, because the various companies working on some software can't really push their own business interests at the expense of everyone else.
For me free software was never about "commercial is bad", it's about who has control of the thing. With a free license, anyone who needs control can make the changes they need to make. So software is more likely to move in a direction that benefits everyone.
There's no point complaining about success, like some angst-ridden rock band worried that they've sold out. If we want to get lots of people to use and hack on free software, we have to be commercially successful. That's not a bad thing and shouldn't keep anyone from enjoying their hacking. I enjoy my hacking despite getting paid for some of it.
Free software and freely shared software have always been around. Today it just gets more press.
The June 2000 issue of Linux Journal has an article by Jon "maddog" Hall in which he relates how various people and circumstances have shaped his career and brought him to where he is now. In 1968, while at Drexel, one of the machines he worked with was a PDP-8. A DEC salesman introduced him to an organization known as DECUS.
"Even in those early days, DEC's User Society had student chapters, and they also had a catalog of freely distributable software-- free for the copying cost of transfer to paper tape... There were hundreds of titles, from text editors to programs for doing mathematical analysis of all types. Each of these programs had been written by a DECUS member and submitted to the DECUS library for free dissemination.
"I never forgot the kindness of that Digital salesman, nor the philosophy of the DECUS organization. It would have a profound effect on my later life, both as I chose new jobs and as I dealt with other people."
It's nothing new folks. It was just out of fashion for a time.
I definitely agree with your arguments boyken, but, let us remember
that the value attached to software in those days was completely
attached to the hardware it was running on. There was no way you can
take that program and run it on another machine. So, the value was not
placed on software, it was on the hardware.
Nowadays, most software is portable, we take a program there and run it here. In effect, the program became independent hardware-wise. Which led to software becoming a product in itself, naturally it had to acquire a product-like quality. That's why we see software being sold with no hardware attached to it.
I'd claim that these are the Glory Days of Hacking. In the distant past, before the personal computer, few could afford the hardware, and most paid programmers were doing DP applications for banks and insurance companies. And for a while after the PC came out, the tools were pretty expensive. You could pay a few hundred US $$ for a C compiler, and then you'd still have to buy a linker and debugger (and maybe even a text editor) separately.
It's the cheap hardware, and especially, the GNU tools that have made it easy to develop software as a hobby. (As you read this, pretend you're hearing the 10000 Maniacs singing These are Days in the background.)
You have a very good point there DrCode, I certainly agree that these
are the glory days of hacking. There is no doubt that Free Software has
enabled us make programs without any boundaries and it is
that characteristic of Free Software that made hacking so attractive.
While I do stand in awe in front of these magnificent creations, I certainly have some questions about making money, if free programs doesn't obligate the beneficiary then it what way would it make sense for a creator to get compensated for the effort. Let's take an example: You somehow managed to create a program that I find very useful. After downloading it from freshmeat, I immediately installed it and is now being used in the company. With all that has happened, I somehow managed to generate income (in millions) from your program which you are not totally aware of. Given that situation, am I legally obligated to compensate you in the form of profit sharing? Or would I send you an email saying thank you for your effort?
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!