Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

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. ."
This discussion has been archived. No new comments can be posted.

Opensource Code More Refined Than Closed?

Comments Filter:
  • Who Knows? (Score:3, Interesting)

    by caffeinex36 ( 608768 ) on Tuesday July 01, 2003 @08:20AM (#6338179)
    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.

  • Competitors? (Score:3, Interesting)

    by Noryungi ( 70322 ) on Tuesday July 01, 2003 @08:23AM (#6338197) Homepage Journal
    The interesting thing is that ATT is a client of Reasoning [reasoning.com].

    Makes you wonder if they may have tested OSs like Plan9 or Inferno... They probably haven't tested the original UNIX code, though.
  • BS (Score:4, Interesting)

    by Anonymous Coward on Tuesday July 01, 2003 @08:24AM (#6338213)
    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.
  • by Anonymous Coward on Tuesday July 01, 2003 @08:25AM (#6338218)
    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.
  • by GeckoFood ( 585211 ) <geckofood.gmail@com> on Tuesday July 01, 2003 @08:25AM (#6338226) Journal

    It makes good sense, to a point.

    It is not uncommon to have multiple spinoffs from the main source tree. Each branch will have a different path to maturity in the lifecycle of development. All things being equal, each branch should acheive the same quality as all the others, but this isn't always the case.

    I have seen open source programs that actually got worse over time as well, but that was due to being passed around like a hot potato as far as maintainer was concerned.

  • by Lord Kholdan ( 670731 ) on Tuesday July 01, 2003 @08:27AM (#6338241)
    Accidental double negative... It should be:

    "There is no proof that anyone except me even reads the code"
  • by Anonymous Brave Guy ( 457657 ) on Tuesday July 01, 2003 @08:27AM (#6338242)
    Of course code that is peer reviewed by a large group of coders will become better over time.

    But is a typical OS project really peer reviewed properly by more people than a typical closed source project of a comparable size?

    Conversly, Open Source projects have a huge interested user base who can continue to review, submit bugs and improve the code over time.

    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.

  • by shoppa ( 464619 ) on Tuesday July 01, 2003 @08:35AM (#6338284)
    My textbook example of this is comparing gnu 'pwd' with commercial Unice's 'pwd'.

    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 :-)

  • by mccalli ( 323026 ) on Tuesday July 01, 2003 @08:38AM (#6338295) Homepage
    The study found 18.53 defects per thousand lines of code for Apache...

    So then, did they act in the spirit of things and report these back to Apache?


  • by Chalst ( 57653 ) on Tuesday July 01, 2003 @08:41AM (#6338315) Homepage Journal
    It would be interesting to see if outliers in terms of code quality follow different development methodologies than the median projects. Eg. does Twisted Python's much vaunted attachment to extreme programming make a difference?

    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.

  • MS source code (Score:3, Interesting)

    by m00nun1t ( 588082 ) on Tuesday July 01, 2003 @08:48AM (#6338347) Homepage
    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.

    Hard to find references to it though - try searching /. for "Microsoft source code quality" :)

    Anyone got a pointer?

  • by CwazyWabbit ( 610151 ) on Tuesday July 01, 2003 @09:02AM (#6338440)
    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.
  • A few notes (Score:2, Interesting)

    by node159 ( 636992 ) on Tuesday July 01, 2003 @09:16AM (#6338525)
    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.
  • by wo1verin3 ( 473094 ) on Tuesday July 01, 2003 @09:27AM (#6338586) Homepage
    >>then it seems to be there would be a fair bit
    >>of peer review

    Peer review only lasts until the product is deemed to have no 'show stoppers'. Look at most retail software titles that come with a README of 'known issues'.
  • Re:Who Knows? (Score:5, Interesting)

    by bluethundr ( 562578 ) * on Tuesday July 01, 2003 @10:45AM (#6339071) Homepage Journal
    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.

    I agree that peer review of your code is a great motivator of quality. But, however incredibly illustrative it may prove, we'll only be able to compare apples to apples on projects that have made the transition from closed to open (like Netscape->Mozilla).

    Will we ever have an opportunity to compare Apache to IIS, for example? Likely not. Nor is it likely that we'll ever be able to compare comparable open source projects to anything coded in Redmond.

    I personally have no doubt (or rather a belief) that Apache is pure and sweet like a mountain spring, and that IIS is a huge turd-burglar. But how can I know this is true beyond any shadow of doubt. And it just so happens that, while it's nice comparing Open Source to closed stuff from Borland and Netscape, Microsoft is the biggest kid on the block of the closed source world. So how can we know, how say, Open Office compares to MS Office? I really think we can't, and likely won't.
  • Chronology (Score:2, Interesting)

    by christophe ( 36267 ) * on Tuesday July 01, 2003 @01:13PM (#6340521) Journal

    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.

  • not very encouraging (Score:1, Interesting)

    by Anonymous Coward on Tuesday July 01, 2003 @01:28PM (#6340717)
    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 ??
  • by DrCode ( 95839 ) on Tuesday July 01, 2003 @01:48PM (#6340991)
    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.
  • Re:Who Knows? (Score:5, Interesting)

    by ChaosDiscord ( 4913 ) on Tuesday July 01, 2003 @02:31PM (#6341479) Homepage Journal
    So how can we know, how say, Open Office compares to MS Office? I really think we can't, and likely won't.

    How can we know? In a philosophical sense, we can't. But you can find out for practical purposes. Personally I know people who used to work for Microsoft. I heard that the code, while not bad, wasn't that good. I learned about the constant political infighting between groups and an irrational refusal to use external code. This led to such silliness as no major project in Microsoft actually using their own source control system [highprogrammer.com]. This lead to the the Office project maintaining their own forked version of the compiler. While none of this actively says their code is bad, it does suggest problems in their system that might be reflected in their code. Of course, while this is second hand to me, it's third hand to you, so you might not trust it. Reasonable enough. But my point is that one way to learn is to get the information from someone who really does know and who you trust.

    Relatedly, you can make a certain level of judgement based on the software you receive and work with. If the software is buggy crap, chances are that the code isn't the Mona Lisa of the programming world.

C makes it easy for you to shoot yourself in the foot. C++ makes that harder, but when you do, it blows away your whole leg. -- Bjarne Stroustrup