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."
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.
How do the open source programmers feed their families ? And don't suggest they sell T-Shirts.
if an open source programmer toils day and night "for fun", is it fair that someone takes all that work and sells it as if it were his own...like any Linux distro?
Open source is great for people out of work, or screwing around. It sucks if you have 3 kids and a wife, and need insurance, and all the other perks a job offers.
Whine all you want about it, but precious few people make money from open source, and I don't see those folks sharing all that much.
I'm still working on a clever footer.
The best response to the incentives problem for contributing to open source, imho, is not the usual boring ESR reputation benefits, but rather Eben Moglen's classic "metaphysical corollary."
"The dwarf's basic problem is that "incentives" is merely a metaphor, and as a metaphor to describe human creative activity it's pretty crummy. I have said this before, but the better metaphor arose on the day Michael Faraday first noticed what happened when he wrapped a coil of wire around a magnet and spun the magnet. Current flows in such a wire, but we don't ask what the incentive is for the electrons to leave home. We say that the current results from an emergent property of the system, which we call induction. The question we ask is "what's the resistance of the wire?" So Moglen's Metaphorical Corollary to Faraday's Law says that if you wrap the Internet around every person on the planet and spin the planet, software flows in the network. It's an emergent property of connected human minds that they create things for one another's pleasure and to conquer their uneasy sense of being too alone."
And then, even more fun, he adds:
"The only question to ask is, what's the resistance of the network? Moglen's Metaphorical Corollary to Ohm's Law states that the resistance of the network is directly proportional to the field strength of the "intellectual property" system. So the right answer to the econodwarf is, resist the resistance."
Brilliant.
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.
> When you just have some programmers writing
> code and fixing bugs on the weekend, you can't
> rely on that software for things that need to
> be up and running all the time unless they are
> thoroughly tested in the environment you plan
> on running it in.
I understand the argument that you're making (and understand the traction it has in the CIOs office), but that logic doesn't really hold. The act of paying somebody to work on something doesn't mean that they will be capable or available to fix a problem when something critical arises - ask your CIO if he's been assfscked by a fatal bug but had to wait 3 months to the next maintainence release to get resolution. If that never happened, then you must work at a Fortune 25 company, cause everybody else is going to have to wait for the next train to leave the station.
Making the code free and the source open doesn't free it from being a balloon filled with spaghetti either. But if a bug is hosing me, then there's a good chance that it hosed someone else too, and that creates more pressure for a fix. And if a problem is so critical that my company's life depends on it, then I can't think of a better reason to find/grow a (highly-paid) person who understands this code and can fix it. Going open source means that I have a chance to do this, as opposed to paying a big support yearly support fee and hoping somebody inside Microsoft/Sun/Oracle headquarters sees fit to escalate my bug report.
I think the real problem that scares decisionmakers from open source is that the roadmap is often unclear and almost certainly un-influenable. One guy wants better multiprocessor support in Linux and another guy wants a faster filesystem - I still haven't figured out how half the customers aren't mad at the end of the day.
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.
Actually a lot of people writing the software are employed to provide software based solutions. Open source development and free ( GPL/LGPL ) licensing provide a very productive way of encoraging participation in collaborative development. It can provide better solutions to the use of proprietary close source packages.
See Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!
90% of programmers don't work on creating shrink wrap software but on customising solutions for clients.
From a personal perspective it is far more intellectually rewarding to the joint developer/user. You really can know exactly how the damm thing works and you can in most cases fix or adapt it to your own, your client or your employers needs. Do you wish to live and work in an enviroment where every damm box has the lable "No Serviceable Components Inside"?
As for free GPL/LGPL licensing; the reality of the current employment market is that jobs come and go - BUT, you can take the knowledge you have gain though developing and adapting free licensed software and approach other users of that software for either employment or as clients. You DONT have to "start from scratch" with each job.
If you are a programmer, in the long run, the open source free licensed software model makes it easier for you to remain employed. Unless, that is, your sole career plan consists of being employed by Microsoft.
Another question, how many of those programmers expect to use the open source they contibute at their current and future places of employment?
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...
I think there is a whine about how people can't make money from Open Source software because Microsoft can't make money from Open Source software. And that scares them. Their two bread-and-butter software categories: Operating Systems and Office Suites, now have to compete against open-source competitors. Microsoft has never been about being better than the competition; they started out being cheaper; once that drove out the competition (CPM-86 & P-system, mostly) they moved to "don't let anyone choose to not pay you". They crushed their competition in office apps using similar tactics.
What happens when Wine gets "good enough"? Who would pay Microsoft the $49/year that they want for their every-other-year updates?
You're also missing an important point, one that is not often discussed but which holds the key to that "unfair competition" problem you talk about. The thing is - and correct me if I'm wrong - the GPL requires to to distribute the source code along with the binary, but it does not in fact require someone to actually distribute any new software created from GPL'ed code at all! In other words, if you build something out of GPL software and it somehow gives an advantage to your company in its industry (which I presume would not be software-related), then there's nothing to force you to reveal it and distribute it. Just keep it! But if you do release it - perhaps when the competitive edge it gave you is gone - then you have to give the source code as well.
What OSS really means is that there will be less money in the software industry itself, but more programmers working for companies in other industries, and more programming "studios" that will do work-for-hire. Anyway, do you know a lot of programmers who receive royalties on their creation? There's not going to be less money around, not even for programmers, but it's not going to move the same way. The industry will transform - that's okay, programmers will still be able to make a living; that's what's important, isn't it?
Reminder: find a new sig