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

56 of 270 comments (clear)

  1. Who Knows? by caffeinex36 · · Score: 3, Interesting

    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

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

    2. 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.]
    3. Re:Who Knows? by e2d2 · · Score: 2, Informative

      You forgot the most important feature of XP = security. XP is based on the NT kernel and hence has the same security features, a huge step beyond the 9x kernels. Not too mention the improved multi-process handling improvements.

    4. Re:Who Knows? by bluethundr · · Score: 4, Interesting

      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.

      --
      Quod scripsi, scripsi.
    5. Re:Who Knows? by TheNetAvenger · · Score: 4, Informative

      Win95-->Win98-->WinME--->WinXP is a case in point.
      Nothing for a user in XP, that he can't do with Win95.


      Not even considering that they are two 'completely different' operating systems, I can probably name at lesat 50 major things off the top of my head that you can do in XP that you cannot do Win95.

      Should we start the list?

      1.) NT Kernel Layer - Abstracts Win32 Kernel from OS, giving system stability, and the ability to add additoinal OS subsystems on the NT Kernel in addtion to the Win32 subsystem.

      2.) NTFS - Journalled File System
      3.) NTFS - Object Oriented Based file Security System.
      4.) NTFS - File/Folder Encryption
      5.) NTFS - File/Folder Compression
      6.) System Restore Protection
      7.) OS Self Repair and File Protection
      8.) DLL abstraction (multiple DLL instances in memory)
      9.) Increased Boot & ShutDown Speeds
      10.) Suspend to Disk Hibernation
      11.) Full ACPI support with Scheduler with Even Scheduler - Wake Up Support
      12.) RDP - Remote Desktop
      13.) Telnet Server
      14.) FTP Server
      15.) IIS Server
      16.) Application Crash protection that catches bad Memory and API calls in Real-time and prevents application crashes without the user ever knowing it is happening.
      17.) POSIX supported naming conventions
      18.) NTFS - HardLinks
      19.) NTFS - Mount Points
      20.) NTFS - Reparse Points
      21.) DFS
      22.) NTFS - 16exabyte Partions
      23.) 4GB of RAM Access - 64bit Desktop 16GB RAM - Server 64GB/512GB RAM
      24.) Native CDR-CDRW Support
      25.) Intellimirror
      26.) Offline Network Files & Synchronization
      27.) ZDLabs reports 27 percent faster than Win95/Win98 with more than 64Mb of RAM
      28.) Internet Connection Sharing
      29.) Basic Firewall (Built In Firewall mechanisms for third party Firewalls to directly Plug In)
      30.) Full Unicode Support
      31.) Mutli-Processor Support (2 in Professional - 32 in Server)
      32.) IPSec
      33.) Smart Card Support
      34.) Built in WiFi and UPnP
      35.) Native Multi Monitor Support
      36.) ClearType Throughout the OS
      37.) Remote Assistance
      38.) NLA
      39.) Full VPN Support In & Out
      40.) Driver Rollback (Windows Protection)
      41.) Network Bridging
      42.) Web Folder Support
      43.) Fast User Switching
      44.) WMI
      45.) Group Policy (Local & Active Directory)
      46.) Enhanced Power Management (Supporting CPU Throttling in addtion to other device Power control for improved Mobile battery Life)
      47.) Kerbos
      48.) IPv6
      49.) Qos
      50.) Volume Shadow Copy (Shadow Volumes - Versioning on Server)

      That is just 50 'technical' things I could pull off the top of my head.

      Should we also list another 100 other items that are in the UI of XP like common folder tasks, photo printing, built in Zip Folders, Image Acquisition, etc?

      "Yeah, there sure is not anything in XP that a Win95 user can't do." - Said the person living in a cave.

      You can easily spot the people that either do not get this stuff, or just have not used XP and only base their experience on the time they used Win9x and the FUD they read about XP.

      In addition, as I said before, I also use OSX, Mac System 8.1, Mandrake, FreeBSD, Solaris, and Redhat everyday, so I am not a sold MS XP zealot by any sense of the word.

      Nevertheless, saying that XP does not offer a user anything more than Win95 is just ridiculous.

      Geesh...

    6. Re:Who Knows? by ChaosDiscord · · Score: 5, Interesting
      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. 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.

  2. 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 GeckoFood · · Score: 4, Interesting

      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.

      --
      Be excellent to each other. And... PARTY ON, DUDES!
    3. 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.

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

    5. Re:It makes sense ... by hconnellan · · Score: 2, Funny

      You will get the proof when people send in bug fixes (patches).

      To ensure your program has a high level of contribution make sure that it is extremely useful to developers (e.g. IDE/profiler/debugger etc) and it has a number of annoying but easy to fix bugs.

    6. Re:It makes sense ... by wo1verin3 · · Score: 2, Interesting

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

    7. Re:It makes sense ... by XMunkki · · Score: 2, Insightful

      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.

  3. Re:Biased Reporting by TrollBridge · · Score: 4, Funny

    You're new here, aren't you?

    --
    There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
  4. Competitors? by Noryungi · · Score: 2, Interesting

    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)
  5. 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.
  6. To use the new nomenclature.... by GillBates0 · · Score: 3, Funny

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

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

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

    1. Re:Stupid by znaps · · Score: 2, Informative

      It's more about quality in terms of the code being well-written, bug free, and maintainable. These are the things which create a lasting, reliable and hence popular product.

  9. BS by Anonymous Coward · · Score: 4, Interesting

    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.

  10. Read my previous statement. by Anonymous Coward · · Score: 4, Interesting

    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.

    1. 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
  11. 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.

  12. 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
  13. 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]
  14. Challenging assumptions by Anonymous+Brave+Guy · · Score: 2, Interesting
    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.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  15. Human vs. automatic code inspection by Advocadus+Diaboli · · Score: 4, Informative
    If I read the Datasheet for the automatic code inspector there is a funny example. They find a memory leak in their example. I had a quick code review and found the following bugs:

    27 fspec=malloc(strlen(dir) + 2 + 1);
    28 strcpy(filespec, dir);
    30 if ((ix = strlen (fspec) ....

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

  16. Re:As usual, Closed Source is the opposite.. by Denito · · Score: 2, Insightful

    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.

  17. 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.
    1. Re:Quit with the silly generalisations, OK? by jkrise · · Score: 2, Insightful

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

      --
      If you keep throwing chairs, one day you'll break windows....
  18. My electric kool-aid acid test: 'pwd' by shoppa · · Score: 5, Interesting
    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 :-)

    1. Re:My electric kool-aid acid test: 'pwd' by shoppa · · Score: 2, Funny

      Can God create a hierarchical file system so deep that he cannot 'pwd' in it?

  19. Re:In case of Slashdotting by mccalli · · Score: 3, Interesting
    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?

    Cheers,
    Ian

  20. 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.
  21. Development methodologies by Chalst · · Score: 2, Interesting
    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.

  22. Open vs. Closed by ad0le · · Score: 2, Insightful

    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.
  23. Open-source software development methodology by Bagsy · · Score: 2, Informative

    This is a M.Sc paper that tries to explain how the open source development is working. It's an interesting read.

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

  25. MS source code by m00nun1t · · Score: 2, Interesting

    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?

  26. Another explanation by Chalst · · Score: 2, Insightful
    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.

  27. Depends on where you work unfortunately by CwazyWabbit · · Score: 2, Interesting

    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.

  28. A few notes by node159 · · Score: 2, Interesting

    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?
  29. Re:only if you're clueful by Fulcrum+of+Evil · · Score: 2, Insightful

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

    By failing. That's how you usually learn.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  30. 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.
  31. 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.

  32. This would be great... by Lispy · · Score: 2, Informative

    ...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. ;-)

  33. Re:only if you're clueful by tcopeland · · Score: 2, Insightful

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

  34. 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
  35. That's what I call the "Shame Factor" by JCCyC · · Score: 2, Funny

    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.

  36. here are the details of Reasoning's "analysis" by Marc+Slemko · · Score: 2, Insightful

    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.

  37. Chronology by christophe · · Score: 2, Interesting

    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).
  38. Why closed-source stagnates... by DrCode · · Score: 2, Interesting

    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.

    1. Re:Why closed-source stagnates... by anonymous+loser · · Score: 2, Informative

      It's not the programmers that pay for large-scale code cleanup, it's the company. A good commercial software manager realizes it's a large investment in time and money to completely refactor code, so if the planned functionality doesn't require a rewrite of that magnitude, they won't do it.

      Open-source applications aren't limited by hard deadlines, demanding customers that want the feature yesterday, and budgets that limit the man-hours that can be devoted to a project. An open-source project manager can take all the time in the world to completely redesign a project from scratch and slowly build up the infrastructure necessary to make it happen. As soon as there are thousands of paying customers calling up with feature requests, bug reports, etc. then it's the company's job to fulfill those requests in as timely a fashion as possible, lest they lose their customers. That often means fixing the bug, but leaving an underlying problem in the infrastructure that could be rewritten, but doesn't adversely affect developing or releasing the next version of the software.