Forgot your password?
typodupeerror
Programming IT Technology

Opensource Code More Refined Than Closed? 270

Posted by CmdrTaco
from the no-surprise-here dept.
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. ."
This discussion has been archived. No new comments can be posted.

Opensource Code More Refined Than Closed?

Comments Filter:
  • It makes sense ... (Score:5, Insightful)

    by leeroybrown (624767) on Tuesday July 01, 2003 @08:22AM (#6338190)
    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.
  • Right.. (Score:4, Insightful)

    by Gortbusters.org (637314) on Tuesday July 01, 2003 @08:23AM (#6338199) Homepage Journal
    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?
  • Summary (Score:4, Insightful)

    by binarytoaster (174681) on Tuesday July 01, 2003 @08:24AM (#6338209)
    "When more people can look at your stuff, you have a tendency to make it look nicer."
  • Stupid (Score:3, Insightful)

    by stoev (103408) on Tuesday July 01, 2003 @08:24AM (#6338211)
    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.
  • by Glyndwr (217857) on Tuesday July 01, 2003 @08:25AM (#6338221) Homepage Journal
    Of course code that is peer reviewed by a large group of coders will become better over time.
    Well, yeah, that seems intuiative... but if you're working with a team of half a dozen other people in a big company with strict coding guidelines, then it seems to be there would be a fair bit of peer review. Whereas if you're working on one of the smaller open source projects with just you developing and the odd patch coming in, not to mention no boss figure looking critically at your code, there's little reason to clean code up. What I'm saying is that this peer review thing cuts both ways.
  • No Brainer (Score:4, Insightful)

    by Richard_at_work (517087) * <richardprice.gmail@com> on Tuesday July 01, 2003 @08:26AM (#6338231)
    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.
  • How do they know ? (Score:4, Insightful)

    by Rosco P. Coltrane (209368) on Tuesday July 01, 2003 @08:26AM (#6338234)
    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.
  • common sense (Score:4, Insightful)

    by pytheron (443963) on Tuesday July 01, 2003 @08:26AM (#6338238) Homepage
    Closed source is driven by timeframes, customer requests and profitability. It's not done as a labour of love. Hence quality will always take second place to it-works-but-its-a-kludge

    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.

  • by Anonymous Coward on Tuesday July 01, 2003 @08:31AM (#6338261)
    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!"

  • by Denito (196701) on Tuesday July 01, 2003 @08:34AM (#6338277) Homepage
    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.

  • by Anonymous Brave Guy (457657) on Tuesday July 01, 2003 @08:34AM (#6338278)
    Win95-->Win98-->WinME--->WinXP is a case in point.

    No, it's not. Microsoft Office and Microsoft Windows are about the worst examples of "typical" closed source projects imaginable.

    Nothing for a user in XP, that he can't do with Win95.

    Ladies and gentlemen, please do not feed the troll.

    OTOH, look at apache over the last 8 years!

    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.

    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.

  • by Anonymous Coward on Tuesday July 01, 2003 @08:35AM (#6338282)
    Nothing for a user in XP, that he can't do with Win95.

    You can't even install the .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".
  • It's ego stroke (Score:3, Insightful)

    by TerryAtWork (598364) <research@aceretail.com> on Tuesday July 01, 2003 @08:41AM (#6338312)
    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.

  • by killmenow (184444) on Tuesday July 01, 2003 @08:42AM (#6338320)
    Still, even if I'm just one guy working on my own favorite pet project which I distribute as open source, I'm going to put as much effort into making it clean, simple, aesthetically pleasing, well-designed, etc. as possible.

    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.
  • by Hatechall (541378) on Tuesday July 01, 2003 @08:45AM (#6338327) Homepage
    Sure code that is peer reviewed by a large group of coders does get better over time, but just because this is /. let's not shortchange the benifits of closed source.

    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)

    by ad0le (684017) on Tuesday July 01, 2003 @08:45AM (#6338330)
    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.
  • by binaryDigit (557647) on Tuesday July 01, 2003 @08:48AM (#6338346)
    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.
  • by Chalst (57653) on Tuesday July 01, 2003 @08:49AM (#6338352) Homepage Journal
    Another explanation as to why open source might start out worse than closed source is Linus' "Release early, release often" maxim. It's meant to get the widest class of feedback as early in the development cycle as possible, but of course it bumps up the defect rate in early releases.

    Again, it would be interesting to see how open source projects that follow this maxim compare to ones that don't.

  • by jkrise (535370) on Tuesday July 01, 2003 @09:07AM (#6338466) Journal
    " 95 is nearly completely lacking in USB support"

    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)

    by presroi (657709) <neubau@presroi.de> on Tuesday July 01, 2003 @09:08AM (#6338471) Homepage
    so
    #include <stdio.h>

    void main(void)
    {
    char *message[] = {"Hello ", "World"};
    int i;
    for(i = 0; i < 2; ++i)
    printf("%s", message[i]);
    printf("\n");
    }
    is free from errors. The Ratio of errors / lines is 0.

    Am I now a zillion times better than Apache with those lousy 0,5 errors per demimillion lines?
  • Re:Who Knows? (Score:5, Insightful)

    by __past__ (542467) on Tuesday July 01, 2003 @09:10AM (#6338481)
    Of course we can know.

    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.

  • by haeger (85819) on Tuesday July 01, 2003 @09:11AM (#6338490)
    Ok troll, I'll bite.

    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

    .haeger
  • Re:Who Knows? (Score:5, Insightful)

    by miu (626917) on Tuesday July 01, 2003 @09:30AM (#6338603) Homepage Journal
    Nothing for a user in XP, that he can't do with Win95.

    USB, DirectX 8+, Shell extensions, file location service, vastly improved PPP. Sure, nothing.

  • by Fulcrum of Evil (560260) on Tuesday July 01, 2003 @09:33AM (#6338614)

    When you can't code above your level how will you ever improve it?

    By failing. That's how you usually learn.

  • by XMunkki (533952) on Tuesday July 01, 2003 @09:36AM (#6338638) Homepage
    That's why I think that at the start, perr reviewed closed source projects tend to be better than open source projects. But once the project grows older, so does the focus. Within a company there's always incentive to improve on the existing and create more features. Sure enough, these all are per reviewed, but which small group could actually notice all minor design flaws? These minor details may not be critical at the moment, but may come up later. 6-8 months later with a tight deadline.

    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.
  • by SatanicPuppy (611928) <Satanicpuppy@ g m a i l . c om> on Tuesday July 01, 2003 @09:38AM (#6338654) Journal
    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.
  • by cacheMan (150533) on Tuesday July 01, 2003 @10:03AM (#6338808)
    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.
  • by tcopeland (32225) * <tom.thomasleecopeland@com> on Tuesday July 01, 2003 @10:43AM (#6339060) Homepage
    > if you're really lucky they explain how

    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.
  • by Jouni (178730) on Tuesday July 01, 2003 @11:18AM (#6339360)
    Unfortunately, with the *quality* of code being separate from how it looks, a lot of time is often spent polishing in the wrong places.

    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

  • by Marc Slemko (6200) on Tuesday July 01, 2003 @12:57PM (#6340350)
    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.

One man's constant is another man's variable. -- A.J. Perlis

Working...