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)
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
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...
- 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
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.