Slashdot Mirror


Open Source Code Maintainability Analyzed

gManZboy writes "Four computer scientists have done a formal analysis of five Open Source software projects to determine how being "Open Source" contributes to or inhibits source code maintainability. While they admit further research is needed, they conclude that open source is no magic bullet on this particular issue, and argue that Open Source software development should strive for even greater code maintainability." From the article: "The disadvantages of OSS development include absence of complete documentation or technical support. Moreover, there is strong evidence that projects with clear and widely accepted specifications, such as operating systems and system applications, are well suited for the OSS development model. However, it is still questionable whether systems like ERP could be developed successfully as OSS projects. "

4 of 264 comments (clear)

  1. Re:At least... by Anonymous Coward · · Score: 5, Insightful

    As a software engineer, I do like to point out something to you. "At least with open source you CAN maintain it if necessary" is not true! Maintenance takes up a good 60+% of a software cycle. Doing maintenance requires good documentation, fixing a bug is a minor issue, especially when it's easy to track down. Understanding design decisions, understanding architecture so that you can extend the software is a big challenge.

    Without appropriate documentations, you end up doing what has been done all over again, studying the software to understand how it works, which can be taxing. Go look at somewhat complex OSS projects, try hacking gcc to spit out a different binary format without reading any documentation. Try understanding postgres without documentation. GUI applications like a CAD system are even harder to make sense out of. If you are actually talented enough, the sheer effort you will poor into understanding the system, you might as well spend it designing from the ground up.

    Most people are not hackers, If they were, why would they need source code? crackers don't need source code to add functionality to any system, it's a matter of patching the object code, having a section of the code jump to your own code and return. But it's ugly, having source code makes it a little bit prettier but not much.

    Documentation is the key! .segmond

  2. Re:Was this really a surprise? by Anonymous Coward · · Score: 5, Insightful

    O.k., perhaps its not a surprise, but in the end the community needs to do away with the 'more eyes make better software' myth in order to move forward. In that sense, it is good that 'professionals' are now pointing out that some of the software out there is actually quite bad and that it is _not_ generally acceptable to not maintain documentation and uphold good project hygiene.

    Here's a nice experiment for you:

    1. Select a random project, preferably one that's slightly buggy during ordinary use.
    2. Subscribe to project's mailing list.
    3. Politely inquire if the project has any kind of automated test suite.
    4. Observe stumped reaction.
    5. Kindly explain the absolute necessity of such a system in any non-trivial app.
    6. Go down in flames.

    That attitude needs to change.

  3. Re:At least... by charvolant · · Score: 5, Insightful
    At least with Open Source Software you CAN maintain it if necessary.

    Sort of ... kind of ...

    There comes a point where, particularly without design documentation, the bar is raised so high that the effort involved in maintaining something is more than that involved in moving to a new product. There's a scaling problem here. What works with small, simple direct programs doesn't work with large, complex or indirect programs.

    And some OSS code is simply completely undocumented, not even a comment -- apart from the licence. Something I discovered wandering through the XFree86 XKB code.

    See http://firstmonday.org/issues/issue4_12/bezroukov/ index.html for a discussion some of the weaknesses of the open source model when it comes to program comprehension.

  4. Re:GUI by Phleg · · Score: 5, Insightful

    You're actually trying to claim that Winamp's design is good?

    Winamp and other players which try to emulate the look and feel of a "new wave" stereo do nothing but piss me off. Stereo systems have the bad interfaces they do because of an inherent lack of physical space; something that's still a concern with computers, but much less of one.

    Here's to more programs like Rhythmbox and iTunes which have the *important* controls accessible, allow for easy categorisation of songs, and use screen space nicely. All that without having to resort to 6pt fonts.

    --
    No comment.