Slashdot Mirror


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. ."

19 of 270 comments (clear)

  1. It makes sense ... by leeroybrown · · Score: 5, Insightful

    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.

    1. Re:It makes sense ... by Glyndwr · · Score: 4, Insightful
      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.
      --
      You win again, gravity!
    2. Re:It makes sense ... by killmenow · · Score: 4, Insightful

      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.

    3. Re:It makes sense ... by Hatechall · · Score: 4, Insightful

      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.

  2. Right.. by Gortbusters.org · · Score: 3, Insightful

    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.
  3. Summary by binarytoaster · · Score: 4, Insightful

    "When more people can look at your stuff, you have a tendency to make it look nicer."

  4. Stupid by stoev · · Score: 3, Insightful

    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.

  5. No Brainer by Richard_at_work · · Score: 3, Insightful

    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.

  6. How do they know ? by Rosco+P.+Coltrane · · Score: 3, Insightful

    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
  7. common sense by pytheron · · Score: 3, Insightful
    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.

    --
    "I am not bound to please thee with my answers" [William Shakespeare]
  8. Quit with the silly generalisations, OK? by Anonymous+Brave+Guy · · Score: 3, Insightful
    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.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  9. It's ego stroke by TerryAtWork · · Score: 3, Insightful

    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.
  10. The worst form of marketing by binaryDigit · · Score: 5, Insightful

    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.

  11. Re:Who Knows? by __past__ · · Score: 4, Insightful
    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.

  12. Re:Read my previous statement. by haeger · · Score: 3, Insightful

    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

    --
    You are not entitled to your opinion. You are entitled to your informed opinion. -- Harlan Ellison
  13. Re:Who Knows? by miu · · Score: 4, Insightful
    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.

    --

    [Set Cain on fire and steal his lute.]
  14. It's the way of the world. by SatanicPuppy · · Score: 4, Insightful

    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.
  15. OSS Has The Advantage of Time by cacheMan · · Score: 3, Insightful

    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.

  16. Painting the corpse by Jouni · · Score: 3, Insightful
    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

    --
    Jouni Mannonen | Game Designer, Consultant