Opensource Code More Refined Than Closed? 270
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. ."
It makes sense ... (Score:5, Insightful)
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.
Right.. (Score:4, Insightful)
Personally, I like seeing the quality improvements on the Apache and PHP projects. Is there anything these guys can't do?
Summary (Score:4, Insightful)
Stupid (Score:3, Insightful)
Re:It makes sense ... (Score:5, Insightful)
No Brainer (Score:4, Insightful)
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.
How do they know ? (Score:4, Insightful)
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.
common sense (Score:4, Insightful)
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.
Huge interested user base? (Score:1, Insightful)
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!"
Re:As usual, Closed Source is the opposite.. (Score:3, Insightful)
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.
Quit with the silly generalisations, OK? (Score:4, Insightful)
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.
Re:As usual, Closed Source is the opposite.. (Score:1, Insightful)
You can't even install the
It's ego stroke (Score:3, Insightful)
This is a powerful motiviation.
Re:It makes sense ... (Score:5, Insightful)
Whereas, if I'm writing my own one-man-show app for my employer, knowing nobody else is likely to ever see the code, it'll end up more like a Q&D.
And that's simply because of human nature. It's like cleaning house. If I *know* people are coming over and likely to see my house, I want it clean and orderly. If I *know* the reverse is true, I have less incentive to make my house immaculate.
Re:It makes sense ... (Score:4, Insightful)
The programmers will all know (or should) what the main points of the program should be directed towards, will all follow similar protocol, and in alot of cases, all work togeather; and because of this may be able to write tighter code due to being able to be with the person who origionally coded the program. Pages and pages of documentation usually is no match for that.
I'm not bashing open source, I prefer it, but let's not go critiquing closed source for no reason, there is enough valid reasons for that.
Open vs. Closed (Score:2, Insightful)
The worst form of marketing (Score:5, Insightful)
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.
Another explanation (Score:3, Insightful)
Again, it would be interesting to see how open source projects that follow this maxim compare to ones that don't.
Re:Quit with the silly generalisations, OK? (Score:3, Insightful)
Any technical reason why USB support needs an OS overhaul?? Even DOS can support USB.
"USB storage devices don't work out-of-the-box in 98, and do in Me,2k, and XP"
Again, USB has been screwed up by Windows to behave as you describe.
"1394 support - Like USB, it's not in '95. "
Again, why should an interface/protocol requir OS change??
"Windows Movie Maker - Honestly, for basic home-movie editing, WMM 2 is simple and easy "
There's no technical reason why movie editing can't be done with 95. Adobe has many products in this segment.
The rest of your rant is more of the same.Makes business sense to Microsoft. Makes sense for users to switch to Linux.
Software quality (Score:2, Insightful)
Am I now a zillion times better than Apache with those lousy 0,5 errors per demimillion lines?
Re:Who Knows? (Score:5, Insightful)
First, a lot of "us" work on closed-sources apps in their day jobs. And most of those I have met were really ugly indeed.
Second, I cannot remember a single occasion where a formerly closed source app was opened and did not stink. Netscape took some years and a nearly complete rewrite to become the Mozilla we all know and love. OpenOffice.org is not exactly clean, modular code, even if it is undoubtly useful when you finally get it to compile. Ever looked at SAP DB? A horribly mess of ancient C and a custom Pascal dialect. Remember that ages-old backdoor in Interbase, found when Borland thought OS would be a good idea for a week or so?
I think that the feeling that thousands of your peers will eventually read your code and make fun of you in public forums and mailing lists if it isn't clean is quite an effective way of quality control.On the other hand, browsing sourceforge can make it pretty clear that ugly code is not exclusively a problem of closed-source code.
Re:Read my previous statement. (Score:4, Insightful)
a) The OpenSource community is still a nice one. There are some people that don't play nice, but most do. Yes, companies are fighting to protect their IP. Naturally, they make money from it and they wont give that up so easily. What did You expect? The companies that You mention that won't backport their changes to the original source, well if You put a license on your code that prohibits them from keeping their changes to themselves, they can't do that, can they?
b) Yes the audience has changed. Now not only techies use linux and open source. I thought this was a good thing? Here's a newsflash for You, if You write OS software on your free time the users that You complain about can't really demand anything from You. Next time someone asks You do do something, charge them for it. If they need something done they've got to pay for it. That's the way I do if someone asks me for windows help.
c) Now if this isn't flamebait I don't know what is. There are plenty of "working, aesthetical, nice, round and standardized desktop environment with all tested tools." on Linux and other Open Source systems.
Yes, a lot of people works less on Open Source now than they did a few years ago, and You know what? A lot of people works more on Open Source now than they did a few years ago. Peoples interests change, is that strange to You?
"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."
True, but that's not why I write Open Source. I do it because it's fun and to have the tools I need for my own benefit. If someone complains to me about my tool and don't bring constructive ideas, they can bite my shiny metal ass. Or they can pay me to modify it to their liking.
"Open Source is indeed a nice thing but the times has heavily changed, complaining users, demotivation, dirty play with companies, sueing of people..."
I'm sorry that You feel that way and that your motivation is down, but that don't make Open Source a failure. I gave up playing the guitar because my hands hurt and my girfriend asked me to (don't ask), does that make guitar music a failure?
"Think about it, is it really worth the trouble ?"
I have, and for me the answer is Yes. I get the tools I need for a job and as a bonus reward I get to use some other peoples tools that they've created to get their job done. I do get paid for my work, just not in cash in my pocket. If I can use the tools that other people write in my job to do it better, I win anyway.
Now, Mr Big Buissness that's hiding under that AC protection, I can understand that You would like Open Source to go away as fast as possible. I understand that You see this Open Source as a threat to your buisness, and it might be, if You sell programs, but for all other companies it's a winning concept. I'm sure You'll figure out how to make the most of Open Source in the future. Most people do eventually.
All the best
Re:Who Knows? (Score:5, Insightful)
USB, DirectX 8+, Shell extensions, file location service, vastly improved PPP. Sure, nothing.
Re:only if you're clueful (Score:3, Insightful)
When you can't code above your level how will you ever improve it?
By failing. That's how you usually learn.
Re:It makes sense ... (Score:2, Insightful)
With open source, there's always people scanning through every bit of code. And if there's a misplaced loop or a bad construcct somewhere, odds are that someone reports it. Yes, this takes time as no-one is forced to do all this. But at least the popular programs will almost inevitable end up in this state.
It's the way of the world. (Score:5, Insightful)
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.
OSS Has The Advantage of Time (Score:3, Insightful)
Re:only if you're clueful (Score:3, Insightful)
And if you're really, really lucky you pair program with them. Then you get to watch them make mistakes like everyone else, and they get to explain how they write good code - the thought process they go thru, how they remove duplication, etc.
Painting the corpse (Score:4, Insightful)
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
here are the details of Reasoning's "analysis" (Score:3, Insightful)
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.