Opensource Code More Refined Than Closed?
zonker writes "In this poorly titled cnet story (as opposed to an earlier story stating a similar theme), a company named Reasoning says that at first open source code has marginally worse quality than closed source code of the same maturity, but it tends to become better refined through the open-natured development process than closed source. They mention Apache and Linux as examples, however they don't mention the 'competitors' they tested against by name. ."
however they don't mention the 'competitors' they tested against by name.
I just love biased reporting. Why couldn't they just include the full story, instead of "revising" it into something it's not?
Who really knows? I mean...of course we know some closed-source applications just plain out have horrible code, but being closed-source, we really can't look at it can we? With open-source, I think because it is open, it is critiqued more.
-Rob
Of course code that is peer reviewed by a large group of coders will become better over time.
Most proprietary code is only reviewed until the developers have ironed all the bugs necessary to get it to run reliably. Then it's shelved until the support lifecycle requires a fix.
Conversly, Open Source projects have a huge interested user base who can continue to review, submit bugs and improve the code over time.
... considering there are so many other coders out there who add to open source code. with all the programmers out their, with their own sk!llz in certain areas, if you take the best out of each, you get superior code. when you do it in a cubicle, you don't get the effective superior code...
If we give our two cents, but it's a penny for our thoughts, do we get change back?
The interesting thing is that ATT is a client of Reasoning.
Makes you wonder if they may have tested OSs like Plan9 or Inferno... They probably haven't tested the original UNIX code, though.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
So your version 0.1 written by some dude in his spare time is laughable compared to the closed source commercial products. By the time you get to 1.0, 2.0 or whatever.. and many people on the project, the quality has risen greatly.
Personally, I like seeing the quality improvements on the Apache and PHP projects. Is there anything these guys can't do?
--------
Free your mind.
Ofcourse Open Source code is better than Open Sores code!
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
"When more people can look at your stuff, you have a tendency to make it look nicer."
This kind of comparisons are stupid in general. The quality of the algorithm used can not be measured in this way. And so many things depend on it.
Weren't Reasoning mentioned here before, and didn't several people note then that most of the defects they were looking for were actually the sort of thing that automated software (such as theirs, for example) could spot? Any good project, open- or closed-source, will routinely run tools to scan for such flaws, and no serious development should have any.
The more serious question, since the one they appear to be asking has such an obvious and easy answer, is whether open-source development leads to significantly fewer logic errors. These require human understanding to identify and fix, and the question of whether a typical open-source project really does that better, as some OS advocates suggest, is a more interesting one.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I call BS. More refined?? How about we have a semi-scientific study that lists competitors that have the same amount of hours put towards their code as the open source code.
To actually clarify what happened:
-Opensource code can have a lot more man hours put into it in a shorter period of time than closed source
-Close source code is only as good as the person doing the hiring.
As a Linux user myself for many years I now see the sideeffects of Open Source myself and started to eye for alternative Operating Systems such as MorphOS (Pegasos), MacOSX, BeOS Zeta and Microsoft Windows. There are various reasons for me to do this.
a) The Open Source community used to be a nice one, the philosophy of it was valued high in the first couple of years but meanwhile the entire situation has changed. Companies are trying to protect their IP, other companies don't work fair with the Open Source community by not backporting their changes in the original sources and so on.
b) The audience changed totally, you need to deal with more and more complaining and ranting people every day. People that are always dis-satisfied regardless what you do. Even I as Programmer need to deal with these people. I spent my time writing the programms, fixing bugs, answering technical emails, pay for the Webspace, offer the software and yet you need to deal with dis-satisfied people all overwhere which leads into demotivation of doing something better.
c) Many people wandered off from Linux and Open Source by using alternative Systems (preferabely MacOSX) thus they have a working, aesthetical, nice, round and standardized desktop environment with all tested tools. They can get their work done and don't care for Linux and it's Open Source that much anymore as they initially did. A lot of people started to work a lot less on Open Source because they don't see the need to do this anymore because they get all the software with better quality offered on their alternative System.
Here an example: A lot of GNOME developer moved away working on MacOSX these days and don't look back, while they still help with various fixes, coding etc. they still do this as funjob, they don't see the need to work as hard to make a good Desktop because they have a Microsoft independant OS (MacOSX) which offers them everything and more than GNOME for example. Of course they also see the points written by me here with all the ranting people, no fair play of companies and the general demotivation.
Face it, we all like to be honoured for our work, we all like to hear 'thank you' from the people outside that we spent our time working our ass off on the tools we offer. But the reality is that we deal more with complaining people rather than people who said 'thank you'. We all like to earn some money with what we do. Look, we sit down the entire day, weeks, months working on the Tool, we pay for Webspace and more and we don't even get the money back for the Webspace we pay once per year.
Open Source is indeed a nice thing but the times has heavily changed, complaining users, demotivation, dirty play with companies, sueing of people who wrote Open Source applications like the freecraft person. A very nice game and now it's not available anymore because he got is ass sued off.
Think about it, is it really worth the trouble ? We should concentrate back to the old roots and try making some bucks with our work, getting the webspace paid, stop the insanity with open source. it's a good idea but the license is only a hype. Like everyone can fork the code and release his own version of the software which only ends in 20 derivates which each of them still doesn't do the work it was aimed for. Not to mention that we all are individual people who work for fame, for money for being someone in the community. You work on the software because you love it because you never think about someone comming up forking it and then one day you see a derivate of your work floating around in the community and you get heavily pissed off and stop working on it and feel disappointed and have thoughts in your head saying 'what did i do wrong, why did this person fork my software' and so on. Please don't understand me wrong, think back the time when emacs got forked to xemacs. Or think back when KDE Desktop got heavily trashed by RedHat. You are itching at the egos of people with this. It's really better to start thinking about new and better ways and search for an alternative work on an alternative System.
This is obvious, as most businesses dont want developers to spend time on code that already works. If it doesnt work, then it gets rewritten. If the spec changes, then it gets rewritten. If its fine then you work on something else.
Opensource developers have to have a certain pride in their code almost by definition, as other people will be looking at it. Also if someone sees that a bit of code is not as efficient as it can be, then usually they rewrite it.
The one downside to opensource code that i have seen is that since many people contribute, and some of those contributions are not official, eg patches, then coding styles start to show through. In closed source business environments, coding styles are usually not a issue as we all have guidelines to work to, defining the use of the language so that anyone in our group can pick up code and instantly add to it, usually code written this way cannot be pinned to any one individual.
Where exactly is this company coming up with its ratings for "defects" in code... If it's talking about small bugs like bad pointer allocation or something like, as in things that can be easily squashed in a later revision (things that are easier for the open source model to fix), then I would barely consider them defects.
I just don't see how this code analysis process works. Seems like random PR talk to me.
open source code has marginally worse quality than closed source code of the same maturity
So they compared the source code of an open-source project with what ? the disassembled code of a closed-source project ? how would they know if the source code of the latter has better quality than the former's, since by definition, you can't get the source code of the latter ?
I believe the guy is talking about the quality of the whole project, not source code quality.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
In contrast, Open Source is driven by all-that-is-good, i.e free software, community spirit, because-I-can. When there is no paymaster (because you rarely get paid for OSS), the motives for development differ greatly, and pride-of-work takes priority.
The two disparate models do cross sometimes, like in the case of ReiserFS - features are chosen by donation, but don't expect development to be rushed. Hans seems to have got the balance right with his project.
"I am not bound to please thee with my answers" [William Shakespeare]
But is a typical OS project really peer reviewed properly by more people than a typical closed source project of a comparable size?
There's nothing inherent about open source that means it has a wider user base or that more people should report bugs.
Improving the code implies that your users are also developers, and that they are prepared to invest the time to fix it for you. In some cases, this is true, and the results can be great. It's hardly a universal truth, though.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I agree, in some cases it may become more refined. However, I would imagine that in many cases, for large projects, large numbers of people working independently could dilute it. The project may gain un-needed features and all sorts of quirks. In an organized company, however, people know their place and what they have to do, and not fool around.
Games could be an example. I haven't seen many open source games succeed in a large way, or at least big games requiring many people to work on. I think open source does get refined when worked on by small groups of good coders who are constantly communicating, but too many cooks spoil the stew.
webpage
If your user base consists of people who can read code, I have some bad news for you: It isn't huge.
Anyway, judging from all the withering and dying projects on Sourceforge, just making something open source doesn't automatically give you these benefits. Any project you pick at random will look like this : "We are making this kickass 3733+ game!! We need 7 programmers and 3 testers. We have a lot of features for you to implement!"
Tastes great...less filling
Same crap again.
Closed source applications tend to follow the traditional model of aggressive release schedules. With coders struggling to hit these deadlines we see the quality of code going down because of the tendency to produce a quick fix for features.
Open source code tends to get released 'when it's ready', removing the deadline pressures from coders, leaving them to write more elegant, bug-free code.
First of all it looks like line 29 is disappeared, but maybe it was just whitespace. Looking at the code above show me that the strlen function is called with the pointer returned by the malloc in line 27. That's great, since strlen is looking for the "null termination byte" in the string it will return the position of whatever random zero byte will be next in the allocated memory because nobody was writing anything to the allocated space. I suspect, that line 28 should refer to "fspec" instead of "filespec" but since the program obviously compiled it can also be that filespec is a valid global identifier.
Anyway, this simple example from them shows, that their automatic tool doesn't find all bugs and so the numbers returned can be just a sort of wild guess. BTW: I would really like to know what their code inspection tool will report if they use it on their own code inspection software. :-)
bah. Not that I'm some kind of win95/ms fanboy, but what a silly comparison.
Apache and IIS would be a marginally more fair comparison, and IIS 6.0 is an improvement in many important respects than the first verion of IIS web server that came with NT 3.51
but even point that would be a waste of time..
Lots of closed source/ unrelated pieces of software that HAVE improved in reliability/ utility with age, but that doesn't really prove any more point than the above.
No, it's not. Microsoft Office and Microsoft Windows are about the worst examples of "typical" closed source projects imaginable.
Ladies and gentlemen, please do not feed the troll.
As a professional developer who works on closed source projects, I find your generalisations deeply offensive. We provide industry leading products where new features are added based on what our clients want, our new versions offer improved performance not backwards steps, we normally turn around critical bugs and get fixes out to our clients in a matter of hours, there is no open source software around that even comes close to what we can do, and our company has developed from humble beginnings to a successful group with several product offerings over the same decade or so as Apache. None of your accusations about viruses, bloat, messed up UI etc. could fairly be aimed at us.
And the thing is, while I have a lot of respect for my employer, I'm not just saying this because I think the company is great. I'm giving one of a million examples of good development that happens to be closed source. None of the problems you mentioned is implied by keeping the source closed. You are spreading FUD, pure and simple.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
As a consultant, I've seen MORE than my share of crappy code written by client IT staff over the years. And after a couple of stints working on commerical projects, its often the case as well (but not quite as bad). One execption was code for a CAD application I happen to get a change to review at a previous employeer - very clean.
:)
Of course, the biggest example of this can be see by reviewing the first release of the Netscape code.
Nothing for a user in XP, that he can't do with Win95.
.Net framework on '95, or hell, run any software made in the last 2 years. This is just another example of the "make up something bad about MS and get modded up, cause nobody here actually cares about the truth anyway".
You can't even install the
I can get most commercial Unix's to core dump by running 'pwd' in the right circumstance. Yes, that's right. A command that takes no arguments and reads nothing from standard input core dumps in the correct circumstance. The circumstance is usually just being in a directory whose path name is several hundred thousand characters long, but some will crash if you set the environment variables right and it looks at them for something having to do with POSIX compliance. I don't know what POSIX compliance should have to do with pwd but then again I'm just a dummy.
OTOH I have never been able to get GNU 'pwd' to dump core.
What does this mean in the big picture? That after many man-years of intensive effort you can write a robust piece of code that takes no input or command-line arguments :-)
Moderators, mod parent down as flamebait. This guy is comparing the development of an OS to the development of a web server and saying the web server has made more steps. It's unbelievable...only on Slashdot.
For some value of "starting out" and "open source software", I think everybody can agree with this. The average open-source project starts out as a lone coder with a pet project - it stands to reason it will improve significantly when other coders (with varying experience in various areas) jump on board. That's not even addressing the fact that it's "survival of the fittest" - poor-quality open-source projects simply get dropped for higher-quality ones.
As an example, the average English-speaking coder, no matter how experienced, could write a killer text editor, but be completely oblivious to i18n issues or Unicode - this changes when, say, a German patches it to be more friendly to him. Maturity counts.
But Apache isn't in that boat - it's considered to be mature. Which version were they studying? "A newer version" could be the latest 2.0 or 1.3 release. The 2.0 release still isn't benefitting as much as it could from the bazaar model - most people are still on the 1.3 tree.
So then, did they act in the spirit of things and report these back to Apache?
Cheers,
Ian
"Apache and IIS would be a marginally more fair comparison," Granted.. compare Linux and Windows over the past 8 years, then.
If you keep throwing chairs, one day you'll break windows....
Apche 2.* has been available for over a year, and its crap. It is a major step backwards from the 1.3.* baseline. Apparently this is just another pro-open source anti-proprietary article. NOTE: if the statement in this article were true, then they wouldn't need aticles likt this one.
Sometimes code is critiqued too much, and made into the ends instead of the means.
... the user.
Yes, the code becomes more and more beautiful -- but sometimes engineers become obsessed with the code itself and forget about other important things, like
Putting oneself into the user's mindset while you write can be more important than having perfectly written code. Otherwise it all becomes an academic exercise, something to stroke the coder's ego.
The reason OS software is good is because when people publish OS software they know thousands of experienced geeks will be perusing their code, and they don't want to look bad.
This is a powerful motiviation.
It's Christmas everyday with BitTorrent.
Another thought along these lines is: perhaps the projects that fail often fail due to project management (in the most Bazaar sense of the word), rather than the usually heard competing time pressures, personality conflicts, loss of interest, and so on.
If code is 'c l o s e d'...you can't read it to know if it is cleaner or not...if you can read it, then it is 'o p e n '...now get away from my desk so I can work.
"How many times do I haf to tell you...if you don't want to take my word as proof that the light goes out when you close the refridgerator door, yer just gonna hafta climb in there and let me close the door so you can find our fer yerself!"
How do you tell the difference between an open wound and a closed wound? - stiches....
Close the door...but, Boss, it's not open....it will be when you leave, so close it after you get the hell out of my office! Enough with this open code/closed code crap already.
Don't let the fact that you have nothing to say, stop you from saying it anyway.
I have worked in the software industry for 5 years now and I tend to disagree with this articles view. Many closed source projects have horrid code that can be hidden by a "Closed" or "Proprietary" label. Open source is exactly that, "Open" therefore people who write the code automatically have "Big Brother" watching over them. Your coding practices is a direct view of your knowledge of the language and I know for personal experience that the open source code I have written was much better tested and reviewed then MOST of the code I have written for contractors.
My mother never saw the irony in calling me a son-of-a-bitch.
"You can't even install the .Net framework on '95, or hell, run any software made in the last 2 years. "
.Net framework essential to read .Net hotmail? Mozilla will do just fine. .Net is in fact being removed from MS branding - it's useless for JoeServicePack anyway.
My question is:"What tangible benefit is there, in running the latest software?" Is
If you keep throwing chairs, one day you'll break windows....
I'm still scratching my head as to how this troll got modded insightful. Looking at his/her (okay, this is slashdot... his) comment history, I realize I'm replying to a known troll.
"Win95-->Win98-->WinME--->WinXP is a case in point.
Nothing for a user in XP, that he can't do with Win95."
Sure, WinXP replaced WinME and Win9x, but it's based on Win2K and NT. That brings some stability at least. Plus it has much much much better hardware support than 95 (though 98 might still have the most driver support, not sure) and a better TCP stack, built-in firewall and internet sharing, much better networking, NTFS, a decent web browser (anyone remember the original version of MSIE that was bundled with 95? hah!), remote desktop, collapsing systray, etc.
Sure, you can buy extra software to do most of that stuff on a Win95 box, but not all of it. I love a good MS bashing as much as the next guy, but to say that WinXP isn't much of an improvement over Win95 is just being ignorant, especially when you're comparing it to the progress of apache. Apache is a webserver software package - it has one well-defined goal, which makes it easier to program for. You really can't compare the two.
Comment removed based on user account deletion
This is a M.Sc paper that tries to explain how the open source development is working. It's an interesting read.
These OSS vs CSS comparsions are just the dumbest things ever. How can you take a couple of OSS programs and compare them to a couple of CSS and come to ANY conclusions? I've worked in places that have had GREAT code, the developers had a clue, and they had reasonable process (given the usual capitalist based time constraints). Then again I've been in places where the code is crap, the process is broken, and mgmt doesn't have the first clue. Now which view of CSS is this co. going to take, well I'd assume they'd use whichever one will make the outcome the way they want it to be.
Fact is that they are looking at nothing but process and demographics. When you look at "bigger" OSS projects, then you'll notice a couple of things. They have a tendency to have their act together, because the project has been around and therefore has had time to get it's process together. Imagine an OSS project that had no clear "leader" or "leaders". One where anyone was allowed to check in code with review. What would you end up with, CRAP. Now imagine a CSS that had regular code reviews, where developers actually unit tested their code, and where QA depts had their act together and had good test plans. Assuming a decent level of developer skill, you'd probably have a decent product. The the quality of the product is based purely on the process's put in place to ensure that quality.
BTW, if I see one more post about "many eyes", I'm going to puke (oops, too late). Those who write that pie in the sky crap don't really seem to have a clue about any real development. Sure it CAN be true, but I highly doubt it typically is. If that was the case, if the "magic" of OSS were so clear cut, then damn, OSS should be as close to bug free as is attainable, which OBVIOUSLY is not the case. You work on some code, you get it to work, you move on, period. OSS, CSS same thing. Someone else probably isn't going to bother with it unless it is A) broken B) too slow C) needs a new feature.
I'm sure I've read here, and more than once, that people who have seen Windows source code (I believe many universities have access?) have generally described it as being very good.
/. for "Microsoft source code quality" :)
Hard to find references to it though - try searching
Anyone got a pointer?
Read reviews of shopping cart software
Again, it would be interesting to see how open source projects that follow this maxim compare to ones that don't.
As if peer reviews don't happen in closed source development?? You have never had a job, have you?
Come on, fess up. We feel your pain.
This false positive problem is quite severe in ASI tools and typically exeeds 50 false positives for each true positive.
In other words they compare 2 numbers which are generated by a process that has an accuracy of less than 2 percent and then they draw their conclusions out of that. Wow! Looks to me like a real scientist's nightmare.
Remember 2.0? It became "stable" in 2.0.twentysomething, iirc.
/., it didn't get slashdotted..
So this company is competing a development state open source software against "stabele" commercial software - and it's almost the same (did they ever hear about "Standardfehler" - how do you call them: Standard deviation?)
Actually, this "result" is an advertisement for Apache, if any.
P.S.
One http-server I'd trust is fnord. Last time it was featured on
It's funny, because two researchers of the Oxford University have just "demonstrated", than open source is better than closed source. More exactly, with a mathematic model, they have "proved" that the debug is more efficient with open source, because of the information freelay available...
Two URLs: the preprint article http://arxiv.org/abs/cond-mat/0306511 and a resume in the nature website: http://www.nature.com/nsu/030623/030623-6.html
Ceci n'est pas une signature.
By their article, it seems to me that they are saying this only is the case long-term. In other words, the cutting edge of Linux is much rougher than the cutting edge of Windows or Adobe Photoshop; but in the end it works better and more reliably, because the programmers rework it forever until it just works well.
Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
Oh I get it, so Win 95 is the ultimate pinnacle of software development and nobody will ever need anything new. Is that right?? I realize that IHBT, IHL, HAND, but I dont have anything better to do right now.
Having worked with quite a few open and closed source software products of various kinds I'd say that there are more important things than mere code quality. In my opinion documentation and support of the software are as important in saving raw man hours, and here's the rub. It is certainly my recent experiance that open source software is better supported and documented by it's developers (who do it to have pride in what they do, not for the pay cheque) in general than most propriatry products. Quite paradoxical really as most peoples fears of open source software are based upon their belief that this is what is lacking.
If you are in a crazy place which just wants to get something out the door as fast as possible, even if you do reviews they may be of little use (e.g. not much more than "does this meet the coding standard) or the reviewer may be pressured not to ask for rework because the insane management see no value in reworking code that does performs this month's cool feature, no matter how poorly implemented.
Open source project getting better and better, but at some point original founder go away and new developper coming in, then code quality drops again. It's not different from closed-source. Why successful OSS projects are successful? Because they are successful, nothing to learn from that.
As a counter-example, there is some very, very bad Java code that I have seen recently. 5000 line classes, hardcoded database locations, total confusion about connection caching. I was supposed to fix some bugs while the developer was on vacation. It took me two weeks just to figure out where the problem was!
I think if you know your peers are going to see your code, you put the extra effort into it, hoping someone else will say "Nice Job". (I think that is one of the reasons engineering in general is such a great job. You KNOW you've done a good job because a) it works and b) your peers say so.)
-- ac at work
Am I now a zillion times better than Apache with those lousy 0,5 errors per demimillion lines?
It all comes down to how early the people start using the software in question. It does not matter how "good" QA and testing is - the real bugs are discovered by real users.
In case of closed-source, company cannot be honest about the soft they release - "look, this is only 2.0 version, it is still buggy and runs slower on Tuesdays". They still release it and hope to strike balance between fixing the bugs and having too many pissedoff customers.
For open source, there is no room for deception. It is completely normal and customary to have shakey first releases. Community understands that as the author gets feedback, patches and help, quality will grow. It has nowhere else to go but up.
The New Zealand Hearld is an unreliable paper, they get basically everything wrong one way or the other (to cite an example, they can't even get the name right for a 700 people land, that had everybody playing CS 'against terrorism' on ONE server).
NZ is small, if you have a contact with Microsoft, you do everything you can to please them. Otherwise they might cancel the contact next time it comes up for review. Which in NZ could mean the company would have to scale back significantly or even shut down.
Ohh and yes, MS is a big boy in this country and throws its weight around quite happily.
GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
I've read through a lot of shitty open source code
When you can't code above your level how will you ever improve it?
I tidy up for guests but the place is still scruffy cos I just don't have the money / incentive to spruce it up further.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
If this was one off and signed, I would debate with him, but it is just a troll (a little like BSD/xxx is dying). It could even be the same troll.
See my journal, I write things there
It's always the Linux kernel, Apache, and Perl. Always. Every time.
Very seldom do you see a commercial entity really bust their ass trying to make their code as clean and elegant as possible. There's just no money in it past a certain point. Why the hell should they care if you can make it .2% faster by rewriting the i/o subsytem interface here? Not crashing is it? Then who cares?
Turn it around to Open Soruce, and you end up with a whole hell of a lot of people just doing it for the hell of it. And yea, the initial products are probably sloppier than a lot of commercial code, and a lot of that code ends up on the metaphorical scrap heap. But the stuff that is good, the stuff that's really cool, suddenly you've got dozens of people going over the code. Everyone wants to be on the developer team. Everybody is reading through it, scratching their heads and offering little improvements. That's the thing about Open Source.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
I do not think that the differences between open and closed source programming come down to skill, or tools that are used. It comes down to human psychology. Closed source companies hire programmers to write code, and the programers only code because their company is paying them to. Open source programmers code because they WANT to code, nobody is paying them and they aren't all interested in earning a living from their work in GNU/GPL software. In short it's because open source programmers care about their work in an intangible way that causes them to take a great deal of pride in the code they write. Great code leads to the sole reward of an open source programmer which is peer recognition. We all know that most programmers take pride in their code. I'm not saying anything that someone that codes because they are passionate can sometimes be more careful than someone that codes because they're paid to.
When you are comparing code against closed source code, you must consider that most closed source code has hard time deadlines. There is rarely any cost benefit to revisiting code and cleaning it up.
What they are forgetting is that there is a very fundamental difference between open and closed source. When starting an open source project, in order to develop a piece of software, there must be enough interest in the project itself. Whether it be vice or virtue, the reality is that people often become increasingly interested in a project as it matures. Thus, you can attract more and even possibly better developers.
On the flip side, closed source generally amounts to a paid development team that takes orders from on high. They are getting paid, and that is interest enough. Likewise, they also often have a large QA team, that is, again, paid. In open source, your QA team is the community.
This is like comparing apples to oranges. Frankly I find it amazing that open source competes so well. Just think of all the money that M$ could have saved.
Has anyone done a study to prove the fact that open source often requires far fewer developers to create relatively similar products?
Intelligence is like four wheel drive, having it just means you'll get stuck in more remote places.
...but my experience differs. I used to work in a beta testing group for a small german software publisher. Actually my job was to implement this team since there was nothing like this before. When we started I was confident that we could enhance the quality of our products but reality cured me: The only thing that changed was that they put a huge sticker on the boxes "Quality tested by our great beta testing team!" or something like that. But they turned down EVERY single review we wrote and whenever it would have caused a delay for launching the product they just didnt care. After two years they shut the betatesting group down again since we didnt improve the product quality [cough]how could this be?[cough]. As far as I know they kept the stickers, though. ;-)
What about all the black people who happen not to be American? Come to that, how can they have been born in both Africa and America? Fuck, lets just call a spade a spade, O.K?
Just start downloading code from freshmeat and scanning the source, and you'll see no end of bad coding practices that slide by because the compiled binary works and no one wants to or has the time to refine it. In many cases these are the kinds of things, like inappropriately using numeric literals instead of manifest constants, that lead to more bugs in the long run.
And let's not forget that the profit motive for closed source is a two-edged sword. Yes, it leads to bad things like deadlines and bloatware, but it also gives companies and programmers an immense incentive to make the entire package of software plus online docs far more usable. A lot of people with only a vague notion of how computers work can manage in Windows, but would be totally lost in Linux when faced with things like command lines, user accounts, rpm files, and (shudder) kernel rebuilds.
This article is bullshit
Slashdot is bullshit
CmdrTaco is full of bullshit
Common guys if you can't see that this article is nothing more than a fucking pathetic TROLL,Then you need to fix your glasses!
Or your mind!
The story on Cnet is a puff piece that's advertising for Reasoning. "We do code analysis, and we found that OSS is as good as proprietary software. Want to know how your code stacks up?" By repeating it here, Reasoning gets more exposure for stating something everyone here knows anyway.
/.
Way to shill for free,
Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
I'm working in a company with many developers and coding guidelines and I can tell you there is no peer review of anyones code, mainly because nobody has any time to review thousands of lines of code when each of us is busy with our own modules. Only the end result is reviewed and tested. And I seriously doubt any boss figure would look at any code, even if he was a programmer type.
Many times, this results in bad code crystallized into finely polished and chromed pieces of garbage. Which, incidentally, makes it also more difficult for others to change or refactor it, lest they make it "less pretty".
I believe it's better for the quality to show the code, in general, but how about trying to formalize code review and other better-coding-through-groups practices with sites like SourceForge?
Jouni
Jouni Mannonen | Game Designer, Consultant
Yet another case of "Open Source" being used as a catch-all label:
/t
1) Open Source(r)(c)(tm) your software now!
2) Gadjillions of free developpers!
3) Magically improving source code
4) ???
5) Profit!!
Extensive peer review and higher source code quality go hand in hand. A company that has hundreds of people actively reviewing source can expect to have higher quality code than an open source project with one or two developpers and nobody reviewing the code. I don't know if there are that many companies going to that extent in terms of code review (it's a cost, not a revenue generator), but i know there are loads of open source projects that fall into category 2. Comparing something like Linux or Apache with something like BrewNIX Beer Brewing Software is like comparing the software that runs the space shuttle with MS SQLServer...
ps: no offense to the BrewNIX coders, i just picked something with a really low activity score in sourceforge.
#!/usr/bin/english
If you write bad closed source code, all the developers in the company will se it.
If you write bad open source code, the entire fscking world will see it.
More shame -> more incentive to write clean, solid, well-commented code.
Personally I am tired of these artivles trying to measure the cost effectiveness and practical benefits of Free and Open Source Software (I use these terms interoperably for the most part). What you never hear of is how Free and Open Source software insure our freedoms. I'm by know means trying to be a RMS lacky here, although I am known to be one, but I'm just think it's nevertheless important to get people who would normally never consider such a correlation between freedom and softare. Just think of all those primitivists who would be converted to modernization if they knew the social benefits of Free and Open Source software. Personally the practical benefits come secondary in my opinion. What's more important is what type of society we want to live in.
In open source version 1.0 is usually the 'discovery period'. How do I get it done. In versino 2.0 it is usually the 'cleanup period and feature enhancement'. How do I make it easier to maintain and debug and add to. In 3.0 it is usually sweet! Look at kde 3.x, pretty sweet stuff there as is gtk, and GNOME.
In closed source it is always about how do I make money off this. There is often no 'rewrite of a large software product', just partial rewrite. Do you think MS rewote NT4 for 2k or XP? Nope. To costly to rewrite that much code. I'm sure parts were rewritten, like the Linux kernel does. But in open source there is more of a change that someone will just rewrite a program and go from there than there is in closed source. In my opinion this is all because of money.
Only 'flamers' flame!
Does slashdot hate my posts?
Not only do YOU FAIL IT, but Southern Baptists don't even use holy water, you godless couch-fuck.
You'll see the postings of a (sometimes-) troll with good karma.
Eric Raymond and The Cathedral.
Now I know what it means.
The best way to ruin your hobby is to try to make a living at it. Waiting on the paperless office since 1997
> To actually clarify what happened:
:-)
> - Opensource code can have a lot more man hours put into it in a shorter period of time than closed source
That's true, and that's one of the advantages of Open Source.
A closed source company will try to limit the man-hours in order to keep the costs down. Also, there is a good chance that the managers of the closed source company are not users of their own company's software, so they don't have first hand knowledge of any problems in their product. As a result, the management of a closed source software company will tend to accept a lower level of quality (which they can't see) for reduced spending (which they can). Note that there are exceptions to this rule, but it takes insightful management.
With Open Source, on the other hand, the developers of the software tend to also be users of that software. Thus, they will encounter any problems first-hand, and they will want to fix those problems. Then, since there is no central budget to worry about, there is a good chance that they will, in fact, fix the problem, or at least identify it so someone else can fix it.
I hadn't thought about that advantage before, so thank you for pointing it out.
First, they ran it on 2.1-dev code as of 1/31/03, which is some time ago now.
They found 31 supposed "defects".
29 were null pointer dereferencing, 2 were uninitialized variable use. You got it, they don't do any analysis of defects much more complex than a good compiler may do.
After looking through a handful of their supposed errors, many of them are pure crap because their tool isn't smart enough to figure out that a variable really can't be null.
Their analysis also doesn't consider the fact that subroutines may have APIs that are guaranteed to return certain things, so not checking for null is perfectly legitimate.
Bottom line is this is a company with a fairly primitive product trying to get advertising; some fraction of the alleged defects are actually bugs, most most of them are of a very very minor nature and many of them don't really exist at all.
I would say that this will only apply to applications that are popular. Given that most programs are not in fact popular. That only a small handfull of programs are used by many people and thus only a small handfull will get used by enough people to get the advantages of open source to work. The whole 'many eyeballs' theory falls flat when only you and like 5 other people in the whole world are interisted in your project. If you're writing a program to simulate the life of a slug, only a small handfull of people are going to want to use it, and only a much smaller number will be able to actually help you improve it.
For programs that only a few people want, OSS sucks. That's why the software for artists that is OSS is no where near as good as the commercial applications.
Why are the so many IDE projects? So many server programs? Why are there few 3-d modelers?
> They mention Apache and Linux as examples, however they don't mention the 'competitors' they tested against by name...
:-)
They don't mention the competitor by name, but...
There is a stock quote for Microsoft at the bottom of the story!
Regular readers will know that CNET only lists the quotes for companies that were involved (directly mentioned, in most cases) in the article.
Was that intentional, or did CNET forget to remove the quote link when they removed Microsoft's name from the story? Now that it has been pointed out, will MS call CNET and ask them to remove the quote?
I think it is simply that subconciously I write better code when I know people are going to look at it.
Some people claim that closed-source places look at the code very carefully, but having worked at several of them, I can catagorically say that that is absolute bunk. Nobody looks at the code except me, peer reviewers are much too busy on their own code (which I never look at). At every one of these companines I could insult the boss in the comments or copy stolen SCO code or do anything I wanted and nobody would ever see it, as long as the result works and does not crash more than once an hour.
But I know from bug reports for the open-source stuff that people out there did peruse the code quite carefully, often giving detailed hints of where they thought the problem was. Even when wrong it is obvious that such ideas required them to read vast amounts of the code.
God I hope this anonymous posting works.
Year One:
- The open source project begins by a 0.1 version on a student web page deep in the unknown parts of the net. Only the writer know how to use it.
- The closed source project begins by a 1.0ß version made by full-time professionals. Full functionalities, user-friendly, full of bugs.
Year Two:
- The open source project evolves towards v 0.5. Main functionalities are there. The program is basic but rock-solid. A small community is growing. New comers write some doc, fix some bugs. New users write bug reports. Backward compatibility is broken every week.
- The closed source project becomes v2.0 Special Edition. The overworked team does not fix any bug as it has no time left after 15h/day on the v2.0.
Year Three:
- The open source project gets into Debian Unstable. Developpers are flooded by bug reports. Standards conformity is enforced. Version numbers reaches 0.9.
- Close Source IV+ appears in the shelves, with new wizards, new shiny icons and DRM. Compatibility with 1.0 is there, at least in theory, not in practice, but ensures that the code is a mess. There is no developper left from the first team. Microsoft announces it will innovate by adding the features into the next Service Pack of Windows.
Years Four:
- The Open Source project crosses the 1.0 line! The main developpers claim "Mission accomplished!" A few other projects gravitate around this one, mainly graphical interfaces to the command-line program. Only advanced Unix users will ever hear of this project anyway.
- The Closed Source company files Chapter 11 after the CIO has flown to Mexico. Failure make the headlines. Code is lost.
Christophe (Don't hesitate to point out my spelling and grammar mistakes, I want to learn - Thanks).
this analysis seems to endorse the widely held view that OSS is inherently superior to closed source - until you realize what they're actually saying. Mature OSS projects can meet the standards of proprietary one's , but they're only 'potentially' superior. The code quality of OSS projects is actually inferior to proprietary one's until they've matured. How many OSS projects are as mature as Apache ? Doesn't this actually mean that most OSS projects are inferior to proprietary alternatives - and inferior on the criteria most prized by the OSS community ??
I've been working on an open-source project for about three years. The users are as nice today as they ever were, with many offering praise (and even apologies) before submitting bugs.
I've also worked for a large number of companies over the years, and have also worked on open-source. I'd venture that one of the main reasons closed-source doesn't improve is that many (actually most) employers do not want to pay for 'code cleanup'. An employee will see little gain from trying to improve the code, and will certainly get penalized if his work causes even a single bug.
This is facutally wrong!
I have yet to see and go through a linux setup which did not involve lots of config file editing, google searching for installation problem, and much time spent tweaking the environment.
Quality code includes:
1. quality source code
2. maintainable source code
3. readable and coherent documentation
4. functioning installation packages
5. usability tested gui interfaces for installed software
And most important:
6. A small but coherent set of applications installed by default. Don't do the linux distro default behavior of installing hundreds of unused applications
> As a Linux user myself for many years I now see the sideeffects of Open Source myself and started to eye for alternative Operating Systems such as MorphOS (Pegasos), MacOSX, BeOS Zeta and Microsoft Windows.
> Open Source is indeed a nice thing but the times has heavily changed, complaining users, demotivation, dirty play with companies...
So let me get this straight...
Microsoft pays people to come to forums like this one, and complain about Open Source. Microsoft pays people to go on Open Source development forums to try to cause fights and demotivate people. And Microsoft pays companies like SCO to potentially commit suicide in order to attack Linux's IP.
And your response is to consider switching to Windows???!!
Well, as Captain Kirk said:
"Be a pawn. Be a toy. Be a good soldier that never questions orders."
But maybe you are, in fact, one of those Microsoft plants, hmmm? Let's check your post for logical consistency...
> A lot of GNOME developer moved away working on MacOSX these days and don't look back...
Oops! You blew it there, buddy, because there is no possible way for you to know that. And that tells me that you are making the whole thing up.
So, in that light, let's look at some of your other points...
> Face it, we all like to be honoured for our work, we all like to hear 'thank you' from the people outside that we spent our time working our ass off on the tools we offer.
Ah yes, one of the classics. Microsoft flunkies have been using that one for years to try to sow resentment among Open Source developers. It has never worked, so I don't know why you keep trying.
> A very nice game [Freecraft] and now it's not available anymore because he got is ass sued off.
Ah hah, there's another logical error that a real Open Source supporter would not make. The Freecraft developer made a mistake by choosing a name that was too similar to a commercial product (at least the court thought so), and he was told to stop. But the code was Open Source, which means, contrary to your comment, that it hasn't gone away -- it will just come back again under another name.
From here on, you really start to give yourself away...
> We should concentrate back to the old roots and try making some bucks with our work, getting the webspace paid, stop the insanity with open source.
If you honestly had been an Open Source supporter, you would simply take yourself away. You wouldn't be trying to demotivate other people, and trying to convince them to leave.
> It's a good idea but the license is only a hype.
No Open Source supporter would say that. Even a casual Linux user would know better, because they could simply view the reality, which is that the GPL and BSD licenses have helped Open Source Software (Linux, Mozilla, Apache, etc.) grow to the point of being Microsoft's strongest competitor.
> Like everyone can fork the code and release his own version of the software which only ends in 20 derivates which each of them still doesn't do the work it was aimed for.
No Open Source supporter would say that. Even a casual observer can see that forking is quite rare, and usually done for a good reason. Open Source products like the Linux kernel, Apache, Mozilla, PHP, and so on, are far more consistent and standardized than, for example, the various versions of MS Office and Windows.
> Not to mention that we all are individual people who work for fame, for money for being someone in the community.
You really have no idea what Open Source is about, do you? I'll bet you've never created anything in your life. If you had, then you would know the joy of seeing something work, after you helped build it. You think the legendary OSS developer ego is about fame? It's not -- in most cases, it's abour creation, and seeing the job done right. Pl
shameless self-promotion of open source by making false claims
The HURD project predates Linux but was vaporware.
-uso.
Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
This news story has got to be a joke right? Open Source software is more refined than closed source products? Ha give me a fucking break.
Compare OpenOffice to Microsoft Office. It shows that when you put money and high talented staff into a product, you get a workable and reliable product in the end. OpenOffice is done by geekheads in their free time (teenagers.. yuck) and the GUI still sucks after all of these years.
All this news post is spreading bullshit, and bullshit it is.
And because it's a good point, certain people felt compelled to mod it down.
.Net-ready is one of the advantages of WinXP. As if .Net represents anything more than a new lock-in scheme, designed to help Microsoft at the expense of naive users. Everything that .Net provides can also be done by Java, but Java will run on Windows 95 (as well as every other platform), and Java won't lock you into an expensive pay-as-you-go Microsoft-only authentication scheme.
> Closed Source is sexy to start off, offers all the thrills, bells and whistles. When users get hooked, in come the lock-ins, lock-outs, bundling, viruses, spam, bloat, messing up of the UI, etc.
Yep. Open Source Software is usually written by its users. As users, they want certain functions, but they also value simplicity, standards support, cross-platform support, and so on.
A lot of closed source software, on the other hand, is written to lock in its users. That software contains a lot of flashy features to convince unknowing PHBs to buy it.
But we shouldn't generalize too much. There are a lot of honest closed source companies, who produce some very good software. In the case of Microsoft, however, their software is always glitz-and-lock-in-ware.
> Win95-->Win98-->WinME--->WinXP is a case in point.
> Nothing for a user in XP, that he can't do with Win95.
That's true. Among my friends, of the dozen or so Windows users who have tried WinXP, every one except one has gone back to what he was using before (usually Win98 or NT).
I had to laugh at one of the posters who suggested that being
> OTOH, look at apache over the last 8 years!
True, but I think there are even better examples that show how Open Source Software is leaping ahead of Microsoft software.
Some examples I can think of are:
- Mozilla, which has had more major functions added to it in the last year than Microsoft has added to IE in the last four years. The new Firebird-based version of Mozilla has a top-to-bottom plug-in capability, which means that it is going to be evolving even faster.
- Mono, which works fine with existing Linux application code, whereas Microsoft C# forces everyone to rewrite their code. Also, because of its elegant approach, Mono took far fewer people to develop it than the Microsoft alternative. Plus, I expect that Mono will provide consistent support for the ECMA C# standard, whereas history tells us to expect Microsoft to start violating the standard to increase lock-in.
- PHP, which continues to evolve, versus the less-powerful, and slower-moving MS ASP. Also evolving are the many PHP-based web-service projects, such as PHPNuke.
- The Linux kernel, which can run on everything from mainframes and supercomputers, to PDAs and watches. Microsoft has tried to do something similar, but has mostly failed, having produced many incompatible variations of Windows, including at least four incompatible versions of Windows CE.
Thousands of auto mechanics have decided to adopt software developers approach of building freely available products. The mechanics have formed an organization called United Selfless Mechanics (USMe, affectionatly pronounced "use me"). The goal of USMe is too build cars and make them freely available to anyone who needs them. USMe's latest model is called Ox.
"It's taken hundreds of mechanics and thousands of man hours to build these cars." says chief mechanic Bill S. "But we're happy to provide these free cars as an alternative to the cars coming from the large auto manufacturers."
Because of the availability of the Ox, new resellers have popped up everywhere. One new startup, called BlueSuit, acquires as many Ox's as it can store in it's warehouse and resells them to the public with a huge markup.
BlueSuit founder J.Stein explains, "The Ox is a fantastic automobile. When I realized one day that I could acquire these cars at no cost and sell them to the public, I started BlueSuit. We have shipped thousands of units this year and demand keeps increasing. I really believe USMe has revolutionized how cars are built. Hundreds of auto workers donating their time for the purpose of building great cars, only in America!"
The open source model could spread to other industries as well. There are already talks of airline mechanics forming a similar organization.
what's the definition of refined software? Oh, there isn't one? Then how did they measure it? They didn't? It is just more evangelism? Then why is it posted on a "news" site? Ohhh, it is slashdot. I think I need to configure my firewall to block all packets from slashdot from now on.
I think beautiful code is in the eye of the beholder. It's too difficult to decide whose algorithms are more refined. There's just too many variables.
Thanks, you've been a great audience! Make sure to try the veal.
SEO Copywriter. Just Say ON
so it seems that a small group of dedicated individuals / 1 hard working person tends to be the thing that starts good quality code.
Perhaps closed-sourced developers might like to open up core technology that matters?
A blog I run for the wealth
I'd just like to point out that I have seen many black people in ads for microsoft, and they give to the United Negro College Fund so they must be doing something right. I have never heard of Red Hat doing the same.
Do you have a webpage with this critical information that I could link to from my homepage, with perhaps more analysis of the racist Linux commands?
Thousands of auto mechanics have decided to adopt software developers approach of building freely available products. The mechanics have formed an organization called United Selfless Mechanics (USMe, affectionatly pronounced "use me"). The goal of USMe is too build cars and make them available to anyone who needs them. USMe's latest model is called Ox.
"It's taken hundreds of mechanics and thousands of man hours to build these cars." says chief mechanic Bill S. "But we're happy to provide these free cars as an alternative to the cars coming from the large auto manufacturers."
Because of the availability of the Ox, new resellers have popped up everywhere. One new startup, called BlueSuit, acquires as many Ox's as it can store in it's warehouse and resells them to the public for huge markup.
BlueSuit founder J.Stein explains, "The Ox is a fantastic automobile. When I realized one day that I could acquire these cars at no cost and sell them to the public, I started BlueSuit. We have shipped thousands of units this year and demand keeps increasing. I really believe USMe has revolutionized how cars are built. Hundreds of auto workers donating their time for the purpose of building great cars, only in America!"
The open source model could spread to other industries as well. There are already talks of airline mechanics forming a similar organization.
peace
I've crashed a SCO box before by trying to change a route that didn't exist. I thought bugs like that were reserved for OS' like Win95, but apparently not.
Of course, VisionFS that runs on SCO Unix is a horrible, horrible hack of a program. It crashes and has to be restarted once a month like clockwork.
"I assumed blithely that there were no elves out there in the darkness"
Did any of you idiots read the freakin' article? It says open source is buggier. "The study found 0.53 defects per thousand lines of code for Apache, compared with 0.51 for the commercial software, on average."
Something that is often believed is that open source develupers are kids and closed sorce seasoned pros.
Not even close.
Bill Gates started Microsoft out of collage he had no more experence than Linus had when Linus started his kernel.
Jim Butterfield (The Commodore 8 bit guru) put out a bunch of public domain in his time.
There are programmers who code open source projects becouse they want to code and happy to do so as a break from a nice comfy hardware dev job.
Some programmers sell software to pay for collage.
The code is pritty much the same at first but in the commertal environment thats the coder teams job. They'll put off beer night to focus on work. The public never sees the product untill it's polished.
The os coder puts out his first working version so others may contribute. It takes longer as they put off coding for beer night, collage or work.
Once the commertal product is done it's chash out and move on.
The open source project is NEVER done.
I don't actually exist.
But it was only a cnet article so it doesn't really count.
2 41 &mode=thread&tid=126&tid=156
http://slashdot.org/article.pl?sid=03/07/01/127