Open Source Limitations?
_aargh writes "This ZDNet article by John Carroll makes the claim that open source is flawed because there isn't a way for programmers to earn money by developing open source software. It annoyed me so much that I wrote this response to it on the O'Reilly Network."
Of course you could always go with the paypal donation type aproach, although i don't know if that's approved of by mormal GNU type licences.
This Space Intentionally Left Blank
I think he's right that open source is flawed in a way.
This is my position. You don't need profit incentive to make good software. You just need money. If there was a public organization that was investing just as much money into open source software as Microsoft invested into Microsoft software, you'd find open source would be just as good (just as easy to use for average joe).
If we had public investment in free software, the software would be just as good as anything you can buy, plus it would be free.
IMHO, only some open source software projects are going to funded by corporations (who pay the salary of the programmers). This tends to only happen when the corporation has something to gain (ie, free labour for outside contributors, free marketing, free press),or alternatively when they know they will have the competitive advantage in spin-off services like deployment and support. Someone correct me if I am wrong, but is there anywhere a full time non-subsidized open source programmer?
The author writes this from a very moderate point of view, and he certainly lists plenty of advantages to open source. However, he's right on the money about its disadvantages...actually, he's pretty darn nice. He doesn't even mention the problems that most open source hackers seem to have with creating software that can be used by non-computer experts.
The open source movement is too broad to be characterized by one point of view. If I had to break it down into two I would say it was these two archetypes:
Now, what good are ideologues for open source? It's a bad idea to convince people to use Linux for the sake of it.
My neighbor is the type of guy who thinks he's l33t because he runs a pirated version of Windows XP professional instead of Windows 98. He installed RedHat and it didn't last a week on his hard drive. You know why? Because with KDE and all the Windows ripoff stuff it has, he expected it to act just like Windows. He wasn't prepared for a different cut and paste, misbehaving X apps that take up half your screen, and odd problems with the USB bus.
This guy, who would be qualified as a "power user" by most demographic research, now thinks of Linux as a second-rate, broken Windows because some guy at his office couldn't stop telling him how great "Free Software" was. He'll probably never run anything but Windows again.
This is why ideologues are bad for open source. They make bombastic promises that won't stand up under scrutiny, such as "Linux is better than Windows in all cases," and they generally expose the nuttiness of the whole movement.
We need people who are more willing to promote open-source from its current merits, as hobbyists, gamers, and enthusiasts. They shouldn't be wearing a political banner on their arm. Pragmatism is what made America great, and it's a must in this situation.
(-1, Raw and Uncut is the only way to read)
"All paid jobs absorb and degrade the mind." - Aristotle
The O'Reilly Network seems to have overlooked the fact that many individuals program open source code because they *enjoy programming*, not because they intend to generate revenue from it.
Do you like German cars?
"Open Source Programmers" is a bit of a misnomer. As has been pointed out, many programmers who contribute to free/Open source software do not work on it fulltime, and have primary jobs that either pay them through their service as a programmer or through licensure of commercial software.
;)
While the FSF believes all software should be free of restrictions and government should contribute money towards it, those are not the only economic models that have been suggested. Personally, I believe having unrestricted access to software is increasingly important, comparable in ways to other generic services: telephone, water, etc. It seems reasonable that governments would consider switching to an unrestricted, open, and generic form of software.
(Does anyone else feel that government should also provide free beer?
I've heard this argument before: that open source programmers are going to starve because they don't have a way to make money on their efforts. Now for a reality check: where are all these starving open source programmers? Why are all the people I know who actively contribute to open source projects so darn wealthy?
Miko O'Sullivan
I agree with the idea that if money was poured into open source software development it would be closer to Microsoft's software (in ease of use) - but it wouldn't get there without something else:
;P) doesn't have anyone defining where it should really go, or what the end-user should expect, let alone gets...
A Clear, unified vision.
Microsoft performs usability studies... they invest a lot fo time figuring out what feature are needed, what can help people - Yes, many times what they make can be annoying (paperclip, anyone?) - but unless we had a unified (no competing projects like KDE and Gnome) set of projects, goals for those projects, and clear and definable end-user documentation and online help, we would not get to the level microsoft has made thier software to be.
Yes - microsoft software can be 'buggy' - but its developers are Good. Microsoft understands that they can make the most money by making software that is Good Enough - making the best, bug free software possible won't make as much money, since it will give users less of an incentive to upgrade and buy the next version. Yes, this strategy stinks - it reeks of marketing, but it works.
I have no doubt that if funded like microsoft, the OS community would develop amazing systems - probably much much closer to bug-free than micrsoft's - however, the end user still wouldn't have the unified ease-of-use of a microsoft (or apple) OS. That comes with a unified vision... and a unified vision needs... A Leader.
We have Linus, but he leads kernel development and champions OS development in general. there is no one, or even any single group of people, in the 'Captain's Chair', defining what the end user experience should be. Even Red Hat just provides a Distribution of the core OS, and lots and lots of other Open Source software that happen to run on it - with thier own install and config utilities, of course.
I guess this turned into a rant about leadership - I guess we know Microsoft is lead by profitering businessmen, but Linux (as a platform, not the kernel... which I guess should really be called GNU/LINUX
This lack of leadership wasn't by design - Linux was, as Linus will tell you, never expected to come as far as it did when he started it. We (the community) spontaneously sprang forth and Developed... and developed and developed...
But an analogy can be drawn to genetics here. Just as it took millions of years of evolution to produce a mouse, it only takes man (an intelligent outsider to the natural process fo evolution) years to effect enourmous changes to the gnome (and thus the phenotype) of Mice and other creatures. Couldn't nature, through random chance and lots of time, produce the same creations we can today from ordinary mice? Yes. Thus, The semi-random headless development community could produce amazing software meetings specific goals... if given enough time.
But just money won't do it... we either need the Money and Lots of Time, or we need the money and a very clear, defined direction...
man is machine
If your motivation is purely profit, then yes, open source is a flawed model. It limits the amount of profit you can squeeze out of what you produce. This is, obviously, why Microsoft dislikes open source. Profit is their motive.
However, if your motive is the best possible end product, or saving your company money, or security, or creating something to fit your exact needs, then open source is the perfect model.
Not everything in the world has to succeed purely based on whether it can turn a profit or not. I don't choose my music based on how many albums the artist sold. I don't choose my art based on the price of the paintings. I don't choose my hobbies based on how marketable they are.
To bash open source because it's less "profitable" seems silly to me. That wasn't it's intent or goal. Was Michael Jordan a failure because he was a lousy baseball player? Or was he a success because he was a fantastic basketball player?
Open source is a fantastic success when measured against the goals it set out to reach. It's only when people try to measure it against different, inappropriate standards that it looks less than stellar.
Let open source play it's own way, and ignore the folks who try and measure it by the stats of a different game.
The simple truth of the matter is that there is plenty of room for closed source solutions without impacting open source at all. Games, Kiosks, and software solutions for major industries are all perfect examples of closed source that no one really minds. For example, the software that allows Visa to authorize and settle transactions probably will remain closed source for the course of my lifetime because there's no real reason to open it.
However, I don't need to be paid for all of the software I create, anymore than I need to be paid for every web page, every peice of advice, and every photo I take. many of them I can give away for free at no loss to myself.
And this is where I actually get wealthy. These contributions come back because I no longer just have access to my little bit, but I have access to everyone else's contributions as well.
When it's over I have a large photo collection, an operating system, a graphics editor, a coding enviroment, and a plethora of other tools.
As Bucky Fuller long alo realized, by giving away the right things to the right people, I can make myself wealthy.
Life is not a zero sum game.
No Zen is good zen
It takes a great deal of effort to program. If you haven't read it yet, take a look at the Mythical Man Month. A major point of that book is that the amount of time it takes to create a software project isn't directly related to the number of programmer hours invested. Unfortunately, programmer hours invested is the major benefit of open source. Organization and teamwork are second-rate when comparing open source projects to commercial projects.
To make a project work, you need one programmer investing 20 hours a week instead of (or in addition to) 100 programmers investing one hour a week. (All successful open source projects display this characteristic.)
Anybody can devote 1 hour a week to an open source project.
But the only way that we will get enough 20 hour a week programmers will be to find some way to recompense them.
Or pay them, in other words.
First of all, I don't think many (any?) distros are actually making money from boxed sets but let's ignore that. Lets also ignore the fact that some of the largest contributions are made by these companies (do a grep through the maintainers of gcc,gdb,etc. for @redhat.com)
The terms of the GPL make no restrictions on what is done with the source, including the sale of binaries produced from that source as long as the source is made available.
No Open Source programmer is forced to release his work under those terms but if he does, he is undoubtably aware of the ramifications. To argue whether it is fair or not is utterly silly because the author released the code himself.
In Soviet Russia, hot grits put YOU down THEIR pants.
It's wasteful and inefficient when talking about things that do not have zero marginal cost. The cost for distributing software, once it is developed, is zero. So, take roads, for example. Roads have a high fixed cost, but it doesn't cost anything extra to use it.
Capitalism works. But it doesn't work when things like intellectual property are tacked on in order to make an old model fit into to businesses. The fact is, "capitalism" doesn't work when you give people artificial monopolies. When you charge for something that has a zero marginal cost, that is inefficient.
If you are sincere in wanting to learn the truth, then read this book Steal this idea, amazon. I used to be a very strong market defender, and I still am, but in instances, like writing software, where there is a high fixed cost, but a zero marginal cost, traditional capitalism just doesn't work. I can't really explain it better than that, without writing a book, and this book does a better job than I can. Try to consider the possibility that there are certain instance when your model just doesn't work properly.
Even if you make the incorrect assumption that it's impossible to make money selling Open Source software, that's not a reason that a profitable company won't spend money on developing it. Many big hardware companies like IBM, Sun, and HP are spending real money on Open Source development because they think that it will help them sell more hardware. Take Sun's development work on GNOME, for instance. Sun feels a need to have a nice, standardized desktop environment available for their hardware because they don't think that it will be as attractive to purchasers without one. It's cheaper for them to hire programmers to work on an existing Open Source project- even though that means giving away their code- than to try to develop one from scratch. So Sun is paying a bunch of programmers to write Open Source code.
Their are other reasons for a company to do that. O'Reilly, for instance, hires Larry Wall to work on PERL, partly because it helps them get the right to sell his books and partly because it gives them credibility. Transmeta seems to have hired Linus Torvalds at least in part because it gave them extra influence in the direction of the Linux kernel. There are admittedly a small number of positions like that available, but they are out there.
There's no point in questioning authority if you aren't going to listen to the answers.
This further shows the huge confusion surrounding "Open Source".
Open Source does not equate to free. Granted, most of the open source software *is* free and charging for something when you post the source on the Internet is very hard, but it doesn't have to be that way.
Open Source means that the source code is available, regardless of the purchase or licensing details. The dearly departed folks at Galacticomm practiced Open Source before there was such a thing. You purchased their BBS package and if you decided you wanted to modify it, you purchased the development kit and off you went. How Open Source can you get?
Of course, the argument is that you can't make money at that, is totally false. I sold nearly 1,000 licenses for my modules for MBBS at $299 a piece, each with the source code gleefully included on the floppy.
If the Open Source community is to survive, they need to fix this flawed perception in the computing community.
I just want a robust community of open source programmers making robust implementations for known computer problems. When Apache makes web servers easy and free, there is little money in making cheap web servers for individuals, and no programmers get stuck reinventing the wheel. Instead, programmers can get paid to take web servers to the next level, to iron out security holes, to improve reliability and scalability, and work on the really interesting stuff.
Neal Stephenson had a great model for thinking about the software world. On earth, life exists in a narrow band - a few feet into the ground and about a mile above. Some organisms survive at the extremes of temperature or pressure or lack of atmosphere, but the ecosphere really is just a thin shell.
Microsoft and other software producers live in that narrow shell. Open source takes up room in that shell, pushing the non-free producers out of easy habitats like web servers and legacy hardware support. It forces them to move into more difficult terrains, to work harder to make the same amount of money. Stephenson seems to think the software ecosphere might be restricted, that eventually open source will push the closed source developers off the map - instead, I believe the closed source developers will now be free to chart that uncharted territory, to expand the survivability sphere.
As long as there are clients that need customized solutions, there will be programmers getting paid. As long as there are general solutions that everyone agrees on, open source will be squeezing out the closed source producers. I, for one, hope that Microsoft continues to "innovate", pushing computers into new territories, and creating homogenized landscapes in it's wake that the open-source virus can take over. Because, at my heart, I'm a programmer, and I hate the thought of doing something twice...
He covered Redhat in services, and VA has HEAVILY gone the way of proprietary code with Sourceforge (the fact that no one cries foul on here astounds me regarding that): VA had to turn to what, ironically, most of its mouthpieces cast as pure evil, to have a hope of surviving. I presume that Mandrake makes a living on services.
Recently Redhat issued Advanced Server 2.1 and Suse Suse Linux Enterprise Server 7. Both are presumptively open source. You can get the source RPMs for the redhat product at their mirror sites. But to actually get working versions of the products, you have to shell out $1500 and $600 respectively. I would argue that the complexity of actually getting either product to work precludes just compiling from the sources, except perhaps for an expert few with time on their hands.
Contrast this scheme with the base version of each vendors product where you can get ISO images basically for free.
Enternprise Software Vendors are starting to support only the for-pay versions of Suse's and Redhat's products. For instance, Oracle 9i release 2 only has plans to support SLES 7 and AS 2.1, whereas before they supported the (basically available for free) stock distribution of Redhat and Suse. So what's the difference between open and closed source? Well with open source, you can look under the hood, and the licensing model does seem lower cost. But, the free lunch of just a year ago (when I installed Oracle 8i on RH 6.2) has gone away.
I have to agree that Mr. Carroll has overlooked some important facts, but I think it's because folks in the open source community, including the companies that pay those folks to be in the community, misrepresent their reasons for developing open source. Some say, for example, that they sell free software plus value added services. (That's almost as bad as when Be, Inc. defined an Internet Appliance as being a refrigerator with a computer display, and said they're shifting focus to refrigerators instead of announcing the addition of a new product line. And then all the developers freaked out and ditched the platform altogether, and I turned my BeOS comps into FreeBSD boxen. FreeBSD rocks, by the way.)
You're not selling software plus value added services. You're selling valuable technology solutions. The software, being a non-tangible detail, is supplied for free. (It doesn't matter that the software is 101 percent of the work/solution and the rest is sticking a CD in the tray and pushing some buttons. If you want people outside the software field to understand what you're talking about, you have to talk to them like the idiots they are.)
Yeah. I know Mr. Carroll is a programmer.
- has for the last 30 years told confused newbies to shut up and read the manual
- has attributed end-user confusion to "people not wanting to learn"
- has never cultivated the necessary "let's make it easy to use" design ethos
- does not consider making usable, high quality GUI-driven software to be fun
- has up until recently derided GUI's as toys for children
- has not built up the necessary usability-design infrastructure, and in fact have done just the opposite by claiming the field of UI design is BS and telling usability experts to "stop whining and shut up and code"
is their lack of mainstream penetration really due to the fact that they are not getting paid for their work, or is it because they might be the worst kind of people you could have ever tasked with designing software for the average joe?Perhaps the success of open source in the server arena and its failings on the desktop have to do with the fact that the current batch of people doing open source stuff have certain skillsets/mindsets that lend themselves well to doing one type of design but are totally lacking in the skillsets/mindsets needed to do a different type.
Ergonomica Auctorita Illico!
I don't believe that there is a sound way to make great gobs of money on Open Source. So what?
If I'm a major entity in a company, I'll throw some money around to get SMP support in OpenBSD, because I need it. Now, I SAVE MONEY because I payed only to add a single missing feature. It doesn't cost me anything to allow that feature to be shared, and I save money not being locked into the licensing of a propritary OS.
So, in answer. You simply have to look at it from a different perspective. Instead of thinking of software as a product, think of it more similar to a partially written book, or other document. It's reasonable to write a feature you need (you wouldn't get paid for that anyhow) or pay for someone else to add that feature. Again, you wouldn't make any money. You'd loose money going the closed-source route.
So, Open Source isn't something you just take and sell at what ever price you wish as you would with propritary software. Open Source is something you provide as a cheaper, better option, and people will happily pay for it. Or, they will get it for free and end up contributing code to the project. One way or another, people will all pay just a little bit, and the whole idea behind open source is that all is needed is a little from everyone.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
"How do the open source programmers feed their families ?"
If you discount the college students who program in their spare time or as a class project.
The hobby programers who do it just because they like it.
You are left with tech people who have unrelated jobs, but contribute becuase they use the software and want to make it better.
People who work for hardare companies that have a vested interest in making sure the software gets better.
People who do contract programming that involves the projects they contribute to.
Writing books, doing seminars, teaching etc.
Gettng a job at a company that uses the software and is willing to pay to further it's development.
Get a job at a linux company that may or may not be making money, but at least pays it programmers.
Later, Seeker
As ever, the hole in the equation is what happens to programmers that produce high quality software that doesn't need a lot of support? They're screwed by the GPL model. "Thanks for the work and the nice product, now piss off."
The GPL is of no import to programmers working inside large organisations as redistribution is largly unimportant and programmers working on their own are forbidden from making money (in reality, that is - the GPL allows the programmer to charge for their work much in the same way that I'm allowed to try to sell my 5 old car for more than I paid for it).
It is perhaps, as someone else said, just a case of "That's the new situation - adapt or die" but the GNU world is not a better situation for programmers, particularly those with original ideas who have no hope of ever being rewarded by people who find their ideas useful.
We need a new, fairer, way of distributing software. It should be the right of all users to have the source code, but it should also be the right of all authors to control the distribution of their work free from persecution from (rich) fanatics like RMS or exploitation by (hyper rich) bastards like Bill Gates.
Alas, I don't know what that way might be. But I'm working on it.
TWW
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
I'm a programmer, but I look at software as a way of getting something else done, something that makes money.
The company I work for sells real things to people (toasters, etc...). That's the business we're in, that's how we make money. We compete in the marketplace on the range of goods we offer, the price we offer them at, and the after sales service we provide for when these real things wear out and break down. We use software to help us achieve that goal as efficiently as possible.
To us, it doesn't really matter if the software we use (web servers, word processors, email programs, databases) is the same as the software used by our competitors - in fact it's quite likely they're using a lot of the same software from the same supplier. Our only goal is to get our software to do what we want as cheaply as possible.
So if we can hire 2 shit-hot hackers to work on this open source database system to control our stock, and that turns out to be cheaper or even comparable to however many licenses of the closed-source product we need, great. Because not only do we have the database we need, but we've got our own guys supporting it in-house who know it inside and out, who we can just *ask* for support.
It doesn't matter if our competitors have their own hackers working on the same product, becuase the more our guys _and_ their guys improve this software, this means to an end, the better we can all compete in the marketplace on what we do - on selling toasters, and not on what software and support contracts we happen to have.
K.
Why doesn't the gene pool have a life guard?
Posting a link to a book for sale once is suggesting it. Posting a link to a book for sale habitually is advertising. Posting a link to a book for sale multiple times in a single thread is SPAMMING.
Bringing up arguments like, "The fact is, 'capitalism' doesn't work when you give people artificial monopolies." against a suggestion of purely voluntary donations to reward and support development of free software is TROLLING.
As for identifying the natural monopoly of road-building, for which confiscation of land is essential and a free-market solution is virtually impossible, with the anything-goes naturally free market of software... If that's not trolling, it's so mind-numbingly stupid that I'm afraid to discuss it due to the threat of intellectual
osmosis.
When you're so obviously free to give your own money to support any software development you choose, advocating government confiscation of others' money to support your preferred projects is as wicked as stealing it with your own hands. Believing that it will turn out to your benefit instead of diverting your money to support the goals of others is foolish. These are, of course, the characteristic traits of a socialist: mean-spirited idiocy under a facade of high ideals.