Examining Some Open Source Myths
Neil Gunton writes "I wrote an article distilling some thoughts on Open Source myths. Perhaps unusually, these are not myths propogated by the anti-OSS crowd, but rather dogma that is more frequently spouted by OSS proponents. It is not intended as an anti-OSS argument, but really more as observations and reactions to specific things people say without really thinking about it, such as 'You shouldn't complain about it if you don't want to put effort into providing a fix', 'OSS lets you get under the hood to fix problems', 'All software should be free', 'Scratching the personal itch', etc."
On "All Software Should be Free"
Carpentry is a bad analogy. No one says that I should be able to take tables made by carpenters for free. However, the effects of idea creation are much more ephemeral. Or rather, they are much easier to duplicate than a well crafted table. This is exactly why analogies to "stealing" items in the real world do not carry over to the internet. I don't believe in copyright, any of it. But I still think things should have value. I just don't think that the government should grant monopolies on any idea. So, to go back to the analogy, I think you should be able to charge for what you make, be it software or tables. But I also think that the person you sell that item too should be able to make one of his own, and give it away or sell it or whatever. So comparing the internet to the real world we see that copyrights are just a legal entity, they are not real things, they do not exist outside of a goverment's promise to enforce them. So you can tables, CDs, and even bandwidth, but you can't steal information.
So, let's take this point and compare it with the previous point made concerning "scratching an itch". People in many professions get paid for their expertise. A plumber comes in, does his job, gets paid, and goes home. He doesn't make royalties on his work. He enjoys no monopoly on information, but of course, his job makes this unnecessary. But what we see from the case of the plumber is that people will still need software written, even if there are no monopolistic copyright protections when it is written. People will have "itches", and they will need to be scratched. And maybe they won't have the time to do it themselves. And so, others will be paid to scratch that itch. All of this takes place without any mention of copyright. It's not needed.
You seem to be making the misconception that "free software" means "gratis software" - this is incorrect.
/maintainance licenses can pay for things like offices, developers, food, water, bills, etc :)
"Free Software" refers to freedom, not price. I can sell my piece of free software at any price I like, whether you choose to buy it of course, is your own freedom.
For example; a business selling a database product may choose to release it as free software, and offer a gratis download, but offer a support/maintainance license for a fee. The software is still free, and the money from support
Join the Free Software Foundation
A discussion where bashing the soft points of OSS doesn't get modded -1 Troll.
I can see the next article: "Understanding the GNAA"
It would be cool if it didn't suck.
s/a business selling/a business producing
It's also worth noting that 'kicking the ass' of Windows is not the goal. The goal is freedom. If users have freedom, it doesn't matter whether their system is better or worse. That's not the issue.
Join the Free Software Foundation
Many of this guy's comments are very good. In many ways, the programing industry is being hit by a much more general sweep of what I call 'copyright depreciation'. The really huge piracy with games, music and movies at the moment is a symptom of copyright depreciation and so is programing. I think a key cultural change in this century will be the rise in the difficulty of the ability to make money off copyrighted works.
In the past, a company could assemble a team of programmers and pay them to write a program for you. Really, the only way you could assemble such a team was under this structure. With the invention of the internet such teams can be assembled on-line and can work in their spare time. Couple this with the ability to be able to duplicate en mass for effectively zero cost makes this form of development very effective.
In the end, the programmer has to get paid or they can't make a living off it. What we're seeing is the destruction of huge profit margins and the market force establishing the 'true' value of a programmer.
Simon
That's news to me. I always regarded Windows to be ahead until w2k, and then the Linux apps quickly got their shit together. Since, they are more or less equal. Now, there's another system that kicks both their asses, MacOS X. That is to say, it kicks Linux' ass, but afterwards, it comforts Linux and give gentle hints on how to improve (Safari -> KHTML (or whatever)).
You also have to be ABLE to fix it. The average Photoshop user certainly does not have the skills, time or inclination.
Rather than talking about OSS as a whole, we need to try (as far as possible) to discuss the motives of individuals or the objectives of specific projects.
The only reason to run OSS software is because you care about the software that you run and are expected to use on a day-to-day basis. This is for the following reasons:
1. You don't want to be locked into a particular vendor's proprietary protocols, data formats, etc.
2. You want full control of your system. Why should you waste system overhead running a GUI, for example, on a system you just need to be a web server? You get that level of choice with OSS.
3. You want to feel part of a community. Unlike commercial software, you cannot expect the software programmer to bring what you want straight to you in a format you want - it just doesn't work that way because there is no marketing of OSS software. You have to be prepared to feed likes and dislikes back to the programmer or team who created the software.
4. You don't want to / can't pay for software. This is different to saying "All software should be free" and I'm all for voluntary donations to OSS projects. But it does mean that you can turn old hardware into a working usable system and in poorer countries, where people do not have the income to pay for software, this allows them to have exposure to the Internet, programming and gaining computer skills.
5. You don't support piracy. This follows on from 4. above but surely it's better for everyone to have people paying for commercial software and not using illegal copies while those that won't pay for software just use free software instead.
Gentoo Linux - another day, another USE flag.
Whether or not they will, or whether it will be any good, isn't really relevant. I doubt that GIMP has hurt Photoshop's sales much, or MySQL is making a dent in Oracle. It's the perception in the mind of VCs and investors that matters.
And I think it has many interesting points that are worth thinking about and/or taking to heart.
But, I have a critique of point 3 (All software should be free) and an observation about point 5 (Scratching the personal itch).
First, there is profitable Open Source software out there. The biggest example I can think of is LiveJournal. Sure, what LJ sells is premium features for their site, but they wouldn't have a thing to sell without their software, which they've wisely chosen to Open Source. LJ makes enough money to afford some pretty hefty server farms in back of it. There are many clone sites out there that use their software, and are free to make money in the same way, but none of them have come even close to putting LJ out of business yet. In fact, I think they've just strengthened LJs business.
So, software can be free, and still make money.
In point 5, Neil Gunton cogently observes in the last sentence "A commercial company, on the other hand, can afford to scratch the personal itches of its end-users, because the end-users are the ones paying the bills.". This very true, and I think it provides a useful illustration of a means by which an Open Source company can make money by directly selling software.
I think I ought to be able to go into a store and bu a copy of gimp. In fact, I think there are several Open Source packages which would lend themselves well to being sold seperately from distributions. This would do a lot to raise the visibility of these packages from a consumer perspective.
I just answered a question by someone where they were wondering about Open Source packages for doing various things. I gave them a list of them. But every single one of those packages usually comes with a distribution. This person was totally unaware of this.
These packages need marketing and distribution seperately from the OS. That marketing and distribution would raise their profiles, and provide a valuable way for end-users to get involved in how a package is produced. Their money would pay for support. They could be introduced to the concept of Open Source and how to effectively contribute constructive criticism and development money for their pet features to Open Source projects. The distribution company could provide a focal point for this, and a project could put things up on its homepage about how well it was being served by various distribution companies.
This would both generate revenue for Open Source projects, adressing point 1. And it would provide direct consumer involvement that could drive feature development, addressing point 5.
If I ever make consumer oriented Open Source software, I intend to sell it on my webpage, and not provide it for free download. I will tell them that if they can't afford the download, they should get a copy from their friends. I will provide source with the download. If someone wants to grab my source and try to compete with me in selling it under a different name, they're welcome to try, but I'm fairly confident that I can continue to add value to this software that I originally wrote better than anybody else, and they will eventually decide to rejoin my project anyway.
Need a Python, C++, Unix, Linux develop
2 : Never in the explanation did he explain why Open Source doesn't allow you to go under the hood. YOU CAN. That's a fact. If you don't, that's no fault of Open Source (or Free Software)
Er, no. The point he was making was that just because you "can" get under the hood of free software doesn't mean that you can really do anything worthwhile.
For instance, if I find a bug in some massive application like Eclipse, sure I can get the source and "get under the hood", but for all intents and purposes I really can't because the source tree is so huge and complicated that I have about as good an understanding how the program works with the source as I do without it.
So realistically, unless the source code is very simple and the problem to fix is a trivial one, just having the source doesn't really help you very much unless you intend on devoting a large amount of time to fixing the program.
Having more choice doesn't prevent you from having a choice pre selected for you.
You sure wouldn't know it reading Slashdot! It seems like the prevailing attitude among the free software zealots here is that the worst possible thing that could happen is to get a Linux CD with only one of every kind of application on it.
Most of the time, a list of myths provides little more than an opportunity to trot out a consignment of straw men-- willful distortions of the opponent's arguments, to be hacked, burnt, and slashed at for the the audience's amusement.
"If you're not willing to help fix it then you shouldn't complain about it"
Agree. (i.e, agree with the author's disagreement to this statement). However, the statement is generally only aimed at someone who simply flames developers without offering anything constructive, in which case its valid.
"Open Source software allows you to get under the hood and fix problems".
That statement is aimed at companies, not home users. Know why gimp is popular in hollywood, despite competing proprietary software having a lot more features? That's right, studios can (and do) pay dozens of programmers, and with gimp they get the source.
"All software should be free"
Hello? That's RMS's philosophy, and maybe the philosophy of the Free Software movement. The "open source" movement differs from RMS on precisely this point. Author's long rant about this is completely wasted, because it is a minority of FS/OSS proponents who believe that all software should be free.
"Open Source software is always better than closed, proprietary software"
Find me 5 people who believe that.
"Scratching the personal itch"
Well, that's the explanation of how unpaid OSS gets written. Commercial OSS is a whole different thing. I don't think anyone confuses the two. The author assumes that people do, and then goes on to explain why they shouldn't. Duh.
"More choice is always better"
Yes and no. That's why we have distros. If you are a linux vendor, more choice is always better. The vendors pick and choose and put together a coherent product so that the end user needs to make one choice (which distro to use) and nothing more. They get a usable system right away. If the end user wants to choose, they can, that's why you have debian, gentoo etc.
Conclusion: these statements aren't myths at all, except in the author's mind, or have important caveats which the author ignores.
"If you're not willing to help fix it then you shouldn't complain about it"
Personally I've never heard this one, although I've fixed quite a few things, then submitted the necessary as it kills that one dead.
"Open Source software allows you to get under the hood and fix problems" - Maybe you'll poke around a bit in the code, and if it's trivial then you can fix it - but again, this really isn't something your average user is going to do.
Look! Over there, other side of the road, travelling in the other direction...it's the point...
The point of this 'myth' is you have the ability to. That's it. Whether you submit the patches or not, you can make any modifications that your little heart desires.
"All software should be free" - I write something independently, then there is basically not a chance in hell of being able to sell it or make money directly from it.
There is money being made, but I think the point is that all software should be free in terms of usage rather than monetary cost. Frequent mistake, but a schoolboy error for someone with 20 years experience.
"As a developer myself, this prospect is profoundly depressing"
Why the hell should it? I'm currently developing like there's no tomorrow; people pay for my ability to make things work how they want them to, they don't care about which tools I use. You don't stand over your plumber's shoulder and demand he uses branded Stilsons; you'd get one in the mouth after a short amount of time.
"Yeah, I know, some will say "Go ahead and try, it's a free world". But you know as well as I do that if I am successful then inevitably some kid in his parents' basement will write his own Open Source version of the thing, for free."
Unlike the corporation that could also do the same thing and just slightly undercut you? Grow up. Competition means going out there and seeing if your product/service will fly, and the capitalist ideal means that you could find yourself competing against an eight-year old wunderkind. On a long enough timescale kids will always kick your ass.
"the Linux desktop"
'The'?
"Some of these benefits include having a more focused direction for the team, given the fact that there is (usually) just one manager and team leader, firmer schedules and deadlines, tighter management, profit incentives, salaries and bonus motivations. While this can also be true for open source projects, the "design by committee" that goes on with community projects often results in a more bloated and less focused product that tries to be all things to all people."
Have you worked in a closed source environment? For one thing the manager generally doesn't code, the bonus motivations are usually in place to sweeten the complete lack of innovation and flair that are endemic to a heavily specified job and the deadlines usually slide for whatever reason. OTOH, you'll find that most of the _successful_ OSS projects actively try to cut down on the 'committee' element to the extent where someone usually throws their toys on the floor. Same shit, just slightly more transparent and vocal when it happens.
"A commercial company, on the other hand, can afford to scratch the personal itches of its end-users"
If it listens. Experience has shown that frequently features are thought of as more important than fixing problems, which has led to the current bloat cycle that usually results in the various companies talking about thin-clients...until they bloat the client again.
"Some people will inevitably condemn me for putting down Open Source"
Personally I'm disappointed that you appear to have such a narrow viewpoint. Your major concerns appear to be your own inertia, a couchlock attitude when faced with the idea that you can no longer simply code a product and leave it, that you may be faced with competition and that convienience should be paramount
Oddly Draconis
Too cynical to live, too stubborn to die.
1. If developers have no time to waste, they should simply ignore them, instead of starting flamewars or simply honestly state that they lack the time to implement this or that feature. Beside that, many people who are 'whining' are often criticising important failures of a project, sure they may have not used the perfectly gentle right words, but that doesn't make them less right.
2. He is arguing from a practical point of view, not from a theoretical. For most people going under the hood of Open Source software is as realistic as climbing the Mount Everest, sure they could do it, but they neigher have the knowledge or the time to actually do it.
3. Again he is talking from a practical point of view, not a theoretical one. Sure you can sell Open Source software, but how many people are actually doing it, especially if you leave the 'just boundle up a bunch of OSS written by other people' aka distros people? Actually very very few compared to the ones writing them. And even of those who make a bit of money with it, how many make actually enough money to make a living from it?
4. Well, people are often overestimating the quality of a OSS product, but well, that happens more out of the fan boy camp, than out of the developer camp. Just count how many times you have heard that Gimp is a Photoshop killer, while in reality its far far behind Photoshop.
5. Well, maybe no myth there, it just states that 'scratch an itch' doesn't really lead to any software that end-users are interested in.
6. More choice is NOT always good. Are you happy that there are so many fileformats and everything is incompatible with each other? Wouldn't a bit less choice and more standards actually be a good thing? How about one good and polished configuration tool for linux that works, instead of dozens of hacks from the distro makers that all more or less don't work?
A bit choice isn't bad, sure, but in the linux world it quite often turns out that instead of one working tool, you get half a dozens of unfinished not much working once. Just having 'More' isn't better, quality of the software itself matters.
7. Far from it, it states pretty well how Open Source looks from a practical point of view, not from a theoretical one.
That's certainly the case sometimes, but not always. Several times I've gotten the "You want it, you write it" reply when requesting new features, like supporting a database other than MySQL. If the developers would reply "I just don't have time to add this feature, I have to focus on supporting the stuff most people have or prefer," that's fine. I understand that many people are doing these projects in their free time. But many developers, in my experience, get extremely huffy when you suggest that something could be done better a different way. They take it as a personal attack. Then usually they get on their high horses about "You wouldn't have anything if not for me, and you'll get what features I want and you'll damn well like it."
It's hardly unique to the OSS world, as it's a human failing. I think it's mainly that, in the OSS world, you have more direct access to the actual developers, and because they write their programs for free they tend to identify more with them. So any complaint about the program is interpreted, by the developer in this case, as an attack on the developer himself. Probably Bill Gates feels the same way when we talk shit about Windows (or Microsoft), believe it or not. I don't think anyone doubts he has a big emotional attachment to his company and its flagship products.
He doesn't say that it doesn't allow you. He says that, in practice, most projects are sufficiently complex that most people are unable to. There's always a big startup cost involved in learning a new program. The bigger the program, the biggest the cost. While compartmentalization using libraries in such will help reduce this, if you don't know the libraries either, you're still looking at a big expenditure of time. And most of us have jobs and other priorities.
So it's not that you can't dig in and modify the code. It's that 99.995% of Linux users lack either the ability or time to do so. The "You can modify the source, so it's better" argument isn't wrong; it's just misleading.
No, the misunderstanding is on your end. He explicitly mentions the classic example of how to make money off free (as in speech) software: services. He also points out, quite correctly, that there's no way for an individual or small group to make any money off this. If you and a buddy write some great app, how on earth are you going to make money off it? A tiny company hasn't got the resources to provide "services" the way IBM or RedHat can.
I mean, think of all those shareware games that the Mac people keep trotting out as examples that gaming on their platform doesn't suck. Those people wouldn't be able to make those games if they were open source. The market for services is too small, and even if there were one, the developers wouldn't have the manpower to provide it.
He's discussing myths, after all. If he said "often," then it wouldn't be a myth.
On #5, we agree.
I have no problem with people using copyright to charge for their software - it seems to me both parties get something from the deal. But it has to happen in a free market, and in the free market the price of information has fallen and can't get up.
As Shirky says: The price of information has not only gone into free fall in the last few years, it is still in free fall now, it will continue to fall long before it hits bottom, and when it does whole categories of currently lucrative businesses will be either transfigured unrecognizably or completely wiped out, and there is nothing anyone can do about it.
Nor should we. Industrialization wiped out the weavers' guilds, most of the farming population and the horse-cart manufacturers - and we're better off for it. The winds of change are blowing again. Let's tear down the windbreaks and build windmills instead.
Any sufficiently advanced libertarian utopia is indistinguishable from government.
"Now imagine what a phenomenal product GIMP would be in the eyes of graphic artists who now use photoshop if only the people who had complained about it could be bothered to FIX what they see as problems. A few small years worth of effort in total, very little from each person who has seen something wrong, and the free tool would have surpassed the proprietary one years ago. Instead, all we get are more complaints."
:)
This is of course exactly the kind of idiocy the author of the article was complaining about. Imagine if, on the other hand the GIMP programmers weren't just working to scratch their own itch.
They'd accept user's complaints as a legitimate roadmap to the areas in which they are failing to satisfy their user base, and do something about it, and respond positively by addressing the complaint personally, or as a team by attempting to entice someone with the neccessary skills to do the fixing.
Imagine what a phenomenal product GIMP would be if the authors were prepared to attempt to resolve all complaints by managing users complaints as they would a technical issue.
Just a few years of attempting to address all complaints, not just scratching the itch of the core programming team, and the free tool would surpass the proprietary one, by being responsive to the user rather than bound by cost/benefit analysis like commercial software vendors.
Of course, this assumes that the users complaints are actually legitimate and substantive complaints and not just assinine and meaningless twaddle, which to me is no better or worse than you seemingly assuming that all users are coders whose work is of a suitable standard that it would be accepted by a mature open source project.
1. This one understates the real problem. SOME open source developers may just as well be writing shareware. Naming no names, but I know at least one mail package that's completely closed to third party modifications... and I've run into other programs where the developers are nearly as hostile to patches.
2. This one, however, is no myth. The vast majority of open source software is very approachable, easy to get into and fix things. I'm no "super programmer" but I've submitted patches that have gone into programs from AMANDA to THTTPD... hmmm, I guess I better see what I can do about Zeroconf, I'm a few letters from the end of the alphabet.
Anyway, not "getting under the hood" is a choice. It's not hard and lets you scratch *your* itch.
3. There are many many people in the OSS movement who have no objection to closed source software. I was at Usenix when someone asked McKusick what he thought about someone "stealing" the TCP code from BSD to put it in closed source software. His response... he welcomed it. It meant better software all round.
4. You're assuming, again, that there's some basic conflict between the two approaches. Combine them, you get better software than either... there's hardly any significant proprietary system out there that isn't using OSS components. Apple is the obvious example, but Microsoft uses a lot of OSS in NT... they're even shipping a package containing GCC these days.
5. "Scratching the personal itch". Proprietary software publishers do that too. They talk about being "technically led" or "market led", but the result is the same... if their "personal itch" makes their software less usable or less secure, the user loses. Integrate browser and the desktop? User loses! Abandon GUI guidelines in favor of the New Metal Look? User loses!
What keeps them in check is competition, not any "market driven vision". And the same thing keeps OSS authors honest... PLUS with OSS you have a chance of getting into the source and scratching your itch as well in a way proprietary software can't equal.
6. "More choice is always better". You don't want to choose? That's a choice as well... and one you get to make. There's lots of prepackaged OSS-based systems that have someone's idea of what the "best choice" is.
7. Conclusion: it's not so simple. There isn't any one "Open Source" world, like there isn't any one "Proprietary world". Some OSS models are better than others. Some proprietary systems are better than others. Some OSS advocates have not-so-hidden agendas that you can learn to avoid... but most of those "myths" are simply a matter of your choosing *not* to take advantage of what OSS can offer you.
He claims that it's hard and that nobody does it "in the real world."
No, he doesn't. Direct quote from the article: "But how many people actually do this? Hardly anybody in real life." There's a BIG difference between "nobody" and "hardly anybody".
OpenOffice (Sun), Mozilla (Netscape/AOL). As the author pointed out... The Gnu Image Manipulation Project doesn't have the end-user market share (yet I would also point out that this "End-User" project is the result of 'developer', not end-user, tools).
Programmers are a commodity, good developers are not. For every 100 programmers, you'll find 1 developer that has a good idea. After hearing the idea, 95 of those programmers will say, oh, yeah - that sounds obvious (yet, they had not thought of it). That's the crux. You have 95 commodity programmers who are willing to give away 1 developers good idea, because - in hind sight - it seems obvious. Maybe a general or interesting application is actually a new idea. I'll admit that this isn't always the case, but this does happen. THAT is why copyright exists, the idea has value. ...There are underlying social reasons for this as well that I'll be happy to get into.
Further, I don't think it's bemoaning to point out that in the 80s (and much of the early 90s) the software industry was still open to the single developer, and also not hobbled by open source efforts. This was also before massive consolidation of the software industry. Seems to me, just a simple statement of fact.
Kinetic stupidity has a new brand leader: Allen Zadr.
This is why you don't fix bugs in the programs of others.
If this guy wants to be an ISV because he has a really novel and profitable piece of software in mind, he's going to get considerably stiffer competition than "some kid in his parents' basement". If his software turns a decent profit he's going to be up against other businesses that will be happy to invest serious resources to build a product that makes people want to pay them instead. The kid in the basement can try to build something better, and if he's got the resources to do that on his own, he'll be tempted to go commercial too.
People release things open source because they know that they don't have the resources to produce something complex on their own and to an agressive timescale needed to get to market while the money is still there. The super-successful open source projects draw their resources from a large number of contributors and take a while to get going. If these projects could reach new and lucrative markets while there was still big money to be made in them, the temptation to go commercial would be too much for many.