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."
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.
Something must be wrong with my life... I'm a hybrid business developer, so, technically, I'm not making money from OpenSource [ in a strict sense ].
In short, I develop one 'commercial' program, of which the revenues I generate I use to fund my development of the OpenSource projects. These OpenSource projects in turn assist the commercial program because they both [Open and Commercial] share common libraries. These libraries are the most vital core.
By striking this 'balance', I'm able to keep the legal aspects happy, the financial aspects happy (I am my own business) and myself happy.
Whilst I don't make huge amounts of money, that is not the entire point. I do OpenSource because it's 'pleasurable' (most times, I wont expand on the bad times), and my 'commercial' side funds me.
Works for me.
Fine, fine.
So, instead of "hire a small number of motivated and interested developers to work on contributing towards localization problems ", how about contract a small number of motivated and interested developers to work on contributing towards localization problems?
Perhaps there's a competent OSS developer out there somewhere who might be willing to take the gig for a few extra bucks? Or would the fact that they're willing to gasp! take money from the government de facto switch them from competent to trained monkey?
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?
What about Linux Company #2, the only one with a development lab comparable to RedHat - SuSE?
Search on the Internet. No matter how hard you look, you won't be able to find a downloadable current-version SuSE ISO. You can't buy one off Cheapbytes, either. The best you can do is download 7.2, two versions behind the current 8.0; or download an FTP bootdisk, something that only Linux experts will do and that doesn't work anyway if you have no net connection.
So if you want a copy of SuSE on CD, you have no choice but to buy a box set. Which generates income to pay programmers.
Open source isn't a business model period, so you can't say whether or not it's a viable one. It's simply a software development technology. You can have software libre that's not gratis, and make a company around it; essentially, Microsoft with far better corporate ethics and the GPL. That's a business model, and it works.
You're missing a few points:
6. Companies A thru W in the same industry also find this software useful, especially after Y added to it. None of them, however, add a single thing to it, since none of them have programmers on staff.
7. Instead of paying programmers, companies A thru W spend that money on their core business, using the exact same code without spending any money.
8. Using their competitive advantage (less money for same resources), companies A thru W kick X and Y's respective asses in the marketplace, which is the source of all the money being used to pay the coders.
9. X and Y go out of business, with the scraps bought up cheap by megacorp Z.
10. The Open Source programmers at companies X and Y, and all of their co-workers, are out of jobs. The programmers no longer make any money writing Open Source code.
Sure, if everyone using Open Source code was obligated to contribute something back, the model would work and work well. But as long as freeloaders can gain the benefits of the paid programmers without having to spend any money themselves, they will. Companies cannot base a business model on altruism. Using limited resources to benefit not just your own business but every business with a similar need, without getting anything back from the others, is just not workable in the long term.
But if you think of a way, please post it here. I'm sure that the CEOs of RedHat, VA, Mandrake, &etc. would love to hear it. They've had to concentrate on services and proprietary code to keep paying their bills, though I know they'd really prefer to be writing Open Source.
You're just jealous 'cuz the voices talk to *me*
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?
I believe it was Aristotle that taught that the soul (in a non-religious context) is made of three parts:
Appetite, honor, and reason.
One's essence--that is, one's personality and the traits that define him/her, are composed of a mixture of the three, like any color is made of a mixture of R, G and B.
Appetite includes a persons need for gain (i.e. money)
Honor includes a persons need for recognition.
Reason includes a persons need for knowledge. About 80% of people are mostly "appetite." Good examples of "honor" people are soldiers and journalists; good examples of "reason" people are scientists that find interviews and talkshows "an irritating distraction from their work."
Obviously, ZDNet is mostly composed of those of "appetite" to the degree that they cannot even understand a person which cares for things other than personal gain, i.e. money. Sad...
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
Hm. It would seem like Sourceforge and similar sites could yield some useful statistics. For instance, what is the distribution of contributors per project, and the size of their contributions in terms of LOC or time (or, alternately, simply the number of check-ins they've done)? What percentage of projects are orphaned before they ever progress beyond buggy alpha-grade crap, or perhaps even at the design stage?
It would also be interesting, if less relevant, to learn how many of the projects there are simply derivative works (particularly common for games -- Tetris clones, *craft clones, Civ clones, Space Invaders clones, et al) instead of original designs.
Only the dead have seen the end of war.
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
You must not know much about CS jobs. If you go to any of the top CS schools in the country, you'll see where most of the top of the class goes-- Microsoft. The general consensus among students in the CS dept I attend is that people working for MS are real badasses. And it's the truth. The guys working for MS REALLY know what they're doing.
The bugs arise from the fact that MS products are MASSIVE projects with literally hundreds of developers. It's simply impossible to produce bug-free products that large in a reasonable timeframe. Sure, many people cite Linux as an example. Linux (not just the kernel, XFree, KDE/Gnome and all related things) are buggy too. This doesn't mean that the developers suck, but squashing bugs takes time. Also, MANY hardware drivers in the kernel are incomplete/missing. Sure, they may not be as buggy as Windows, but if they don't do what I need them to, they might as well not exist at all.
I don't mean to bash Linux here or anything, but simply use it as a tool to point out the logistical nightmare of any large software project. Microsoft does a rather good job of keeping the show-stopper bugs away and working to fix the minor ones with service packs. Microsoft's legal and marketing departments may be Evil (tm), but their developers are top-notch.