Slashdot Mirror


QA Under The Open Source Development Model

carrowood writes "A survey was conducted questioning open source developers from both large and small projects concerning their quality assurance practices. A research paper based on the survey result was just published in the Journal of Systems and Software. Some comparisions between QA practices of open vs closed source projects are made with some interesting observations. While on the whole it looks like open source QA can be as good as that in traditional software development, there were a few areas pointed out where the open source community does not do so well, such as regression testing and setting release dates. A thought provoking read."

40 of 180 comments (clear)

  1. ISO by Gortbusters.org · · Score: 3, Interesting

    Do any open source projects get audited for ISO 9001 compliance? They have a quality certification that many [enterprise] customers desire.

    I know at work ISO audits are both fun and exciting! (must contain laughter)

    --
    --------
    Free your mind.
    1. Re:ISO by zagy · · Score: 5, Insightful

      I suspect clients requiring ISO 9001 just go for commercial software. One part of OSS often is to refuse warranty and alike - IMO this does not quite fit into ISO 9001.

    2. Re:ISO by korgull · · Score: 2, Interesting

      here are probably a lot of companies who don't bother to spend money to be ISO9001 compliant and deliver just as good quality as their ISO9001 competitors.
      BTW how much is a warranty actually worth when the shit hits the fan ?

    3. Re:ISO by Surak · · Score: 2, Insightful

      Do any open source projects get audited for ISO 9001 compliance?

      Who would pay for it? ISO 9001 auditing is VERY expensive.

    4. Re:ISO by stwrtpj · · Score: 5, Informative
      Do any open source projects get audited for ISO 9001 compliance? They have a quality certification that many [enterprise] customers desire.

      Interesting thing is, having been through the ISO 9001 rigamarole, I can tell you that it does NOT necessarily enhance quality. ISO 9001 has very little to do with quality, regardless of what their claims are to the contrary. ISO is all about process and repeatibility. It simply validates that you have a well-defined process. You can have a wonderful process, with everything down to the number of times the developers go to the bathroom and for how long documented and validated, and still have a product that's a piece of crap.

      An organization I used to work for did the ISO thing. The software had no fewer problems after ISO than it did before. It's just a nice thing to put on my resume, really.

      Scott Adams of Dilbert fame put it best: If you never went through an ISO audit, you probably don't know what ISO is about. If you did go through an ISO audit, you definitely don't know what it's about.

      --
      Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
    5. Re:ISO by bentcd · · Score: 3, Funny

      You can have a wonderful process, ..., and still have a product that's a piece of crap.

      Certainly, but it is predictably, reliably and consistently a piece of crap. Your customers have some guarantee that it's not going to get significantly worse than that.

      And, of course, if your product is crappy in ways your customers don't really care about, then it's not even a problem.

      --
      sigs are hazardous to your health
    6. Re:ISO by GlassHeart · · Score: 2, Informative
      You can have a wonderful process, with everything down to the number of times the developers go to the bathroom and for how long documented and validated, and still have a product that's a piece of crap.

      True. However, if your development processes are unpredictable and unreliable, your product is most likely going to be a piece of crap. You may have superstar coders who will "save the release" by working through the night for weeks, but the result is not going to be a well thought out and maintainable piece of code you can build future versions upon.

      Like you, I've been through an ISO audit and I can affirm your observation that it guarantees nothing. However, if you don't go through something like it, you won't even know if your process is poor.

    7. Re:ISO by ClosedSource · · Score: 2, Insightful

      I would say that the process used is predicatable but the outcome for each project can still be better, worse, or the same as a previous project.

      Why? Because using the same process to develop different projects is like using the same algorithm for every mathematical problem, in general it's going to be inappropriate most of the time.

      Each project typically has its own goals, deadlines, customers, implementors, managers and economics. To be successful, the process has to reflect those realities.

      Trying to come up with a single process that handles all situations optimally requires that you deeply understand all the projects you will ever create in the future.

      The practical reality is if you feed the ISO beast enough money and make the right kind of politically correct noises you get entry into the club and get to use your certification as a marketing tool.

      Sometimes government agencies require ISO or CSI certification which is a great way for old, large and slow companies to hold off their more nimple competitors by requiring complicated processes that are too expensive for smaller companies to afford and are likely to slow them down.

    8. Re:ISO by ratboy666 · · Score: 3, Funny

      ISO 9001 is about process. Not warranty or bugs, etc.

      To be certified, you must have a process, and must be accountable to the process.

      For example - I could say that I take all defect reports, shred them, and that is how I deal with quality. This is ok, as long as I tell my customers that this is what I do, and I am completely accountable. Of course, it wouldn't be worth anything to have this quality method certified.

      Ratboy.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
  2. Release dates? by mrjb · · Score: 5, Interesting

    Considering the fact that open source software is often not commercial, it doesn't sound strange to me that release dates are not very strict. As there often is no budget, there is no maximum allowed time that may be spent on the feature set. Thus, software is released whenever the planned features have been built in, rather than cutting the desired feature set to fit the release date.

    --
    Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
  3. If you want a release date.... by Boss,+Pointy+Haired · · Score: 4, Insightful

    ...then you can go and buy software developed out of a motivation for financial gain.

    Surely open source projects exist for other motivations, and hence have less (if any) need to aim towards release dates.

    After all, in the business world the sheer fact that you _have_ to get something out by a particular date (because marketing / the bean counters said so) contributes significantly to the quality problems.

    1. Re:If you want a release date.... by mmurphy000 · · Score: 3, Informative

      Open source projects do not necessarily "exist for other motivations", or at least not completely. Commercially-sponsored open source projects (e.g., RealNetworks' HelixCommunity.org) and commercial applications built using open source components (e.g., IBM Websphere) most likely have release date considerations. Even non-commercial projects have to release *sometime*...

      Commercially-sponsored open source projects can attempt to dictate release schedules for the open source projects to match their commercial needs. I say "can attempt" because too much of that may be seen as "heavy-handed" tactics by the community and therefore stifle collaboration.

      Commercial projects that use open source components are probably largely stuck lobbying for lots of milestone builds, from which they will pick one to use for shipping. There's evidence that Sun (OpenOffice.org) and Netscape (Mozilla.org) worked this way with their products.

      Also, open source projects do need to have at least soft release dates, if for no other reason than to try to maintain community momentum. If the project just keeps coding...and coding...and coding...without ever packaging up a release, the user portion of the community may wander away to something that's creating usable releases more often.

      There's no doubt that non-commercial open source projects can leverage their status to maximize quality -- slips in preferred timetables to deal with quality issues will generally be seen as A Good Thing by the community.

    2. Re:If you want a release date.... by stwrtpj · · Score: 3, Funny
      ..then you can go and buy software developed out of a motivation for financial gain.

      Yes, like, say, Duke Nukem Forever.

      --
      Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
    3. Re:If you want a release date.... by iabervon · · Score: 2, Insightful

      If you want a release date, go for nightly builds. They're always released on time.

      The focus on release dates, I think, is due to not allowing access to the code at other times. If you've implemented some functionality, and people want it, and they can't get it because you haven't released the next version, there's pressure to hurry the next version. If anyone can get the current code at any time, there's no reason to change the version number without implementing everything you want to get into this release. Having an official release only makes sense when you've managed to implement and stabilize a chunk of new functionality, and want to make this available to more conservative users. This is not really a function of time.

  4. QA is harrrrd by The+Bungi · · Score: 5, Insightful
    It's hard when everyone is sitting on the same floor of the same building - it must certainly be a *lot* harder under the distributed development model.

    Ultimately, while development can, in certain cases, be done in a vacuum, QA cannot (and should not). It's by nature a collaborative and interactive process.

    I have nothing but respect for the few (good) QA engineers I've worked with.

    1. Re:QA is harrrrd by bentcd · · Score: 2, Insightful

      I don't believe in having a programmer do the formal QA of his own code. He's already fixed the bugs that pop up when it's being used in the way he uses it and I even suspect that we subcounsciously avoid using it in ways that we suspect may touch upon flakey bits of code.

      Having the programmer do the QA on something written by an altogether different programmer is something else entirely though. Programmers tend to be more expensive than testers though, so it might get a tad on the costly side.

      --
      sigs are hazardous to your health
    2. Re:QA is harrrrd by __past__ · · Score: 2, Insightful
      Donald Knuth wrote, about TeX, that a programmer should also do QA, use the program, and write the manual.
      He also said that hard programs can only be written by a single programmer. This is just not an option in a world where you can't just take 10 years off to write TeX because the look of your books isn't satisfying. Most people just aren't Don Knuth - they are neither geniuses nor professors for the Art of Computer Programming.
  5. Not setting releases dates ? by roard · · Score: 4, Insightful

    Well, the fact that no releases dates are setted are more a good point than a bad one ! Of course, in an ideal world where software would be released on dates (!), they won't have bugs either. But in the real world, must proprietary software aren't on schedules, and anyway, when they are, this is often at the detriment of the number of remaining bugs and/or dismiss of some features.
    In the free software world, the software is released when ready. So, of course they don't set release date (generally speaking -- some projects have regular releases). But I hardly see that as an obvious bad point. It could be on the contrary one of the strength of the free software.
    At least, programmers on free software releases when they are happy with the code.

  6. Setting release dates? by BitwizeGHC · · Score: 2, Funny

    Lemme guess... "When it's done" isn't good enough?

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  7. Open Source Development HOWTO by Anonymous Coward · · Score: 5, Funny

    1. Introduction

    As everyone knows, Open Source software is the wave of the future. With the market share of GNU/Linux and *BSD increasing every day, interest in Open Source Software is at an all time high.

    Developing software within the Open Source model benefits everyone. People can take your code, improve it and then release it back to the community. This cycle continues and leads to the creation of far more stable software than the 'Closed Source' shops can ever hope to create.

    So you're itching to create that Doom 3 killer but don't know where to start? Read on!

    2. First Steps

    The most important thing that any Open Source project needs is a Sourceforge page. There are tens of thousands of successful Open Source projects on Sourceforge; the support you receive here will be invaluable.

    OK, so you've registered your Sourceforge project and set the status to '0: Pre-Thinking About It', what's next?

    3. Don't Waste Time!

    Now you need to set up your SourceForge homepage. Keep it plain and simple - don't use too many HTML tags, just knock something up in VI. Website editors like FrontPage and DreamWeaver just create bloated eye-candy - you need to get your message to the masses!

    4. Ask For Help

    Since you probably can't program at all you'll need to try and find some people who think they can. If your project is a game you'll probably need an artist too. Ask for help on your new Sourceforge pages. Here is an example to get you started:

    "Hi there! Welcom to my SorceForge page! I am planing to create a Fisrt Person Shooter game for Linux that is going to kick Doom 3's ass! I have loads of awesome ideas, like giant robotic spiders! I need some help thouh as I cant program or draw. If you can program or draw the tekstures please get in touch! K thx bye!"
    Thousands of talented programmers and artists hang out at Sourceforge ready to devote their time to projects so you should get a team together in no time!

    5. The A-Team

    So now you have your team together you are ready to change your projects status to '1: Pre-Bickering'. You will need to discuss your ideas with your team mates and see what value they can add to the project. You could use an Instant Messaging program like MSN for this, but since you run Linux you'll have to stick to e-mail.

    Don't forget that YOU are in charge! If your team doesn't like the idea of giant robotic spiders just delete them from the project and move on. Someone else can fill their place and this is the beauty of Open Source development. The code might end up a bit messy and the graphics inconsistant - but it's still 'Free as in Speech'!

    6. Getting Down To It

    Now that you've found a team of right thinking people you're ready to start development. Be prepared for some delays though. Programming is a craft and can take years to learn. Your programmer may be a bit rusty but will probably be writing "hello world" programs after school in no time.

    Closed Source games like Doom 3 use the graphics card to do all the hard stuff anyhow, so your programmer will just have to get the NVidia 'API' and it will be plain sailing! Giant robot spiders, here we come!

    7. The Outcome

    So it's been a few years, you still have no files released or in CVS. Your programmer can't get enough time on the PC because his mother won't let him use it after 8pm. Your artist has run off with a Thai She-Male. Your project is still at '1: Pre-Bickering'...

    Congratulations! You now have a successful Open Source project on Sourceforge! Pat yourself on the back, think up another idea and do it all again! See how simple it is?

  8. Hrm... by Duncan3 · · Score: 3, Funny

    Open Source... Quality Assurance... I didn't know you could use those 4 words together in a sentence...

    "51% projects have one developer" - Now we have proof geeks really can't work well with others :)

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:Hrm... by larry+bagina · · Score: 2, Funny
      "51% projects have one developer"

      I wonder how many only have 1 user...

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  9. hmmm..... by Xtifr · · Score: 4, Insightful

    In my many years of experience, I have to say that regression testing is not as common in proprietary software development as it should be (and frequently not as common as claimed). Furthermore, while I don't want to say that regression testing is less important for Libre Software, I will say that I think it's probably more important for proprietary software, where the programmers are writing for a paycheck, rather than for pride, and are frequently under intense deadline pressure (which in turn, frequently leads to testing/QA of all types being skimped).

    As for no release dates, anyone who doesn't recognise that as an advantage of Libre Software simply lacks any clue about the process. Sure, there are downsides, but nothing's perfect. Free, reliable, on-time, pick any two. :)

    1. Re:hmmm..... by deranged+unix+nut · · Score: 2, Insightful

      I only have three years of professional software testing experience, and the company that I work for seems to be good about running regression tests every week, sometimes every day and even though there are deadline pressures they do let testing drive the release schedule.

      I have chatted with testers at other companies who have disasterous process and for which testing isn't taken seriously, so it isn't universal.

      I would venture to say that software quality is only as good as the people in charge of it's development and their commitment to quality.

  10. Re:only one developer by lakeland · · Score: 2, Funny

    Or that the itches they're scratching are quite personal ;-)

  11. If your not trying to sell it... by Faith_Healer · · Score: 3, Insightful

    When I release code I realy dont care about getting any certifications and accridations linked to it. I write code to be usefull not to be noticed. You use open source at your own risk, and the beauty of it is if you dont like it you can just change it. Why would you need a quality assurance process in place for open source. If its open and its quality people will use it. If it doesnt work then people will just blow it off. Does any one else share in my oppinion?

    --
    Faith_Healer -- The antethsis to almost everything, and the worlds worst speller.
  12. Free Doctoral Thesis by PaddyM · · Score: 2, Interesting

    I skimmed the article. I'm not sure what they were trying to prove. Release dates didn't jump out at me. As a software engineer, I don't see what release dates by you. Regression testing is obviously missing.

    BUT HERE's the free idea. Maybe someone (aka doctoral candidate) could prove that because Free software is used by ALL possible users in whatever way they are going to use it within, say 4 months, that it doesn't matter if there's some obscure bug, in say, the Intellivision drivers for Linux, because no one uses those. I.e., software has an astronomical amount of states, any 1 of which could be broken, but after all (5 billion people) actually use the software, all HUMANLY possible states are VERIFIED.

    1. Re:Free Doctoral Thesis by Xtifr · · Score: 3, Insightful

      Free software is not used by "ALL possible users", it's used by interested users. The size of the user-base varies greatly from project to project. And no, speaking from experience, I can assure you that not all bugs are found w/in 4 months. Subtle timing or edge-case bugs can lurk for years before leaping out to destroy someone's critical data. (And this is true with both proprietary and libre software.)

      One thing this study didn't seem to look at though, was the size of the user-base of the projects studied (of course, this is a hard thing to measure, but interesting). I think it would be useful to see what sorts of correlations (if any) there are between QA practices of a project, size of the user-base (popularity), and the overall quality of a project. Can a large user-base help make up for poor QA practices, or is a project with better QA more likely to attract users due to its higher reliability? Do users even care about quality and reliability, or do they just say they do? Interesting questions for which I don't have answers.

    2. Re:Free Doctoral Thesis by deranged+unix+nut · · Score: 2, Insightful

      And no, speaking from experience, I can assure you that not all bugs are found w/in 4 months. Subtle timing or edge-case bugs can lurk for years before leaping out to destroy someone's critical data. (And this is true with both proprietary and libre software.)

      I'll second that! I have been responsible for, and paid to test a reasonably large administration tool for the last three years. This product was developed and tested for at least 4 years prior to my employment. Even after 4 years of someone else actively testing it, and another 3 years of active testing, I am *STILL* finding new bugs in scenarios that I hadn't previously considered.

      I have been noticing a rather disturbing trend:
      First, a new feature or large code change is introduced.
      Second, I spend at least as much time developing a test plan and doing an initial test pass as the developer spent coding the change, and frequently up to 5 times as long. I probably find 40 percent of the bugs in this pass, and when I am finished, all of the major scenarios that I can initially think about work correctly.
      Third, I spend another block of time writing automated tests while the developer fixes some of the lower priority bugs. I might find another 5 percent of the bugs in this stage.
      Fourth, I work on some other area of testing for a while, and then I hit this feature again looking for test holes and I find another 5 percent.
      Fifth, I repeat this loop of looking for test holes and discuss the features with other testers, do testcase reviews, etc. and find another 20 percent of the bugs over a period of months.
      Sixth, sometime later the developer mentions what seems to be an innocuous little bit of information, that turns out to be a critical omission in the spec and I find another 15 percent of the bugs.

      At this point, it is several months later and we have only found 85 percent of the bugs.

      Ten percent of the remaining bugs will be found by co-workers, beta testers and customers.

      The final five percent, might not be found for a number of years even with heavy testing.

      Even with years of time, every possible combination of inputs in every possible configuration and every possible usage scenario is not possible to test. For the program that I happen to test, this works out to be in the range of 10^85 unique tests. In order to test every possible input, I'd be testing until after the sun burns out and this program isn't that big.

      Fortunately, equivalence classes bring this down very significantly, and I can complete a test pass in about 40 days. The danger is in incorrently assuming that a set of values all belong to an equivalence class.

  13. Site is /.ed -- Abstract by Anonymous Coward · · Score: 2, Informative

    Quality assurance under the open source development model

    Luyin Zhao, Sebastian Elbaum.

    The open source development model has defied traditional software development practices by generating widely accepted
    products (e.g., Linux, Apache, Perl) while following unconventional principles such as the distribution of free source code and
    massive user participation. Those achievements have initiated and supported many declarations about the potential ofthe open
    source model to accelerate the development of reliable software. However, the pronouncements in favor or against this model have
    been usually argumentative, lacking of empirical evidence to support either position. Our work uses a survey to overcome those
    limitations. The study explores how software quality assurance is performed under the open source model, how it differs from more
    traditional software development models, and whether some of those differences could translate into practical advantages given the
    right circumstances. The findings indicate that open source has certainly introduced a new dimension in large-scale distributed
    software development. However, we also discovered that the potential of open source might not be exploitable under all scenarios.
    Furthermore, we found that many of the open source quality assurance activities are still evolving.

    Copyright 2002 Elsevier Science Inc. All rights reserved.

    Keywords: Software development models; Open source; Quality assurance; Survey

  14. No Deadlines does not mean No Pressure by Commykilla · · Score: 5, Informative

    All the comments so far have been arguing that "no set release date means more QA". From my experience with open source software, this is complete crap. In many cases, commercially used open source software is developed by organizations such as Red Hat and IBM who, we hope, have significant QA teams and resources.

    But, for the projects contributed by individuals, with a single or small group of developers -- who wants to do testing? Everybody wants to be a developer, and the more new features, the more bang, the more people will be drawn to the program, so more often than not new features and frequent releases rather than testing are the focus. Most of the time, you can guess from the sheer frequency of builds with new features that QA is not being taken into account. This system works great for projects that enthusiasts use -- individuals request new features, play with the product, and in return, report bugs. This does not work for companies of any size who expect software to work properly right out of the box, where the "feedback loop" of reporting bugs is a last resort.

    Open source programmers and commercial programmers alike are under pressure to release early and release often. And in both the open source world and the commercial world, there are groups that excel at QA and groups that don't take QA seriously enough.

    --
    Communism was just a red herring.
    1. Re:No Deadlines does not mean No Pressure by Malcontent · · Score: 2, Interesting

      " That number looks like you pulled it from somewhere the Sun don't shine. "

      It's a guess. An approximation. I did not do any reasearch and arrive at that answer. But a simple look at any bugtrack should back me up. Most errors are due to memory leakage, buffer overflows and other artifacts of C programming.

      " "literate" code is often the wrong approach, when I want to say things well in English I don't write the same thing in Japanese next to it ... I just spend time writing it well in English."

      Literate programming means writing well in code. It means much more then comments and I urge you to some research into it.

      "Interfaces in the Java sense I doubt buy you much from a lower bug count POV."

      Interfaces force a strong contract. They make it harder to break the program.

      "It's just not going to happen in the OpenSource world IMO, implementing someone's very good spec. isn't much fun ... implementing one less than that gets much less so."

      In that case then open source programs will continue to suffer from too many bugs.

      " Duh, testing helps reduce bugs .. I'm shocked."

      Unit testing is different from regression testing and pre-release QA. By insisting on unit testing you will deliver cleaner code to the QA team.

      --

      War is necrophilia.

  15. OSS QA will always be two-faced. by Dthoma · · Score: 4, Insightful

    The open source development model allows tremendous flexibility, allowing members of a development team to be dropped or added at a moment's notice. With the source readily available, one can become familiar with a project's code before applying to be given access to the CVS or equivalent repository. Gradual accretion may produce code in a style not unlike that of James A. A. Joyce's Ulysses manuscripts, but, like James A. A. Joyce, all of the core developers can easily jump from point to point in the code and comprehend the necessary sections and the C/PHP/Python/Java equivalent of their allusions.

    Unfortunately, as a result of this decentralised development system, commercial QA, support and RHQ are not as readily available. I'm a middle manager and my company has had a double-sided experience with the MySQL AB organization. They produce a fine product which is perfect for a medium sized corporation such as the one I work for (which shall remain nameless). MySQL worked very well for us, but unfortunately at one point we started receiving segmentation faults when there were more than 30 connections or if a query was greater than 2,048 characters in length. We have reported these bugs to MySQL AB but they have not yet fixed them in their latest gamma/production release. However, they have been very polite and are always willing to cooperate with us; even if small portions of the code are not yet fixable and have escaped the relatively poor QA of the EOD, their TOS have always been reasonable and our MD has always been able to CWT regarding the slight problems and BS our way around them.

    --

    Note to M1-ers: a curt but otherwise insightful message is not "Flamebait" or "Troll".

  16. Say what? by curtlewis · · Score: 3, Informative

    Since when does QA set the release date in open OR closed software? Certainly not with any company I've worked for.

    The role of QA is, unfortunately for the state of software, rapidly diminishing. Open Source has only rarely done QA in a professional manner due to it's very nature. And in closed source in today's economy something has to give between time, money and quality. We all know it's not going to be money and time to market is viewed as the all-important element, leaving one thing to suffer.

    I have literally worked for a startup where it was essentially "It boots? SHIP IT NOW!" That's how sad it is with respect to professional development these days.

    These days the only people that care about Quality are the customer and QA.

  17. Not Open Source at all by kenneth_martens · · Score: 2, Insightful

    I'm tired of all this talk about open source development vs. closed source development. That's not the issue here.

    It doesn't matter so much whether the source is open or closed as it does who is in charge of the project. Any company could use standard software development methods to produce open source software. Similarly, any company could hire developers all over the world, and have them work together on a project without ever having met.

    It's not an open vs. closed thing, and it has little to do with licensing. It just happens that most companies use standard development techniques and don't release as open source.

  18. No surprise to QA folks by Anonymous Coward · · Score: 5, Insightful
    QA is a weak point of OSS. Over the years I've occasionally tested OSS to check out what seemed to be inflated claims of quality. Everything I've tested so far has more or less failed to pass muster. The biggest failures are in complexity metrics such as the Halstead or McCabe tests. I don't mean marginal failures or borderline cases. I'm talking huge blowouts. Nothing seems to be immune, from nasm to the OpenBSD ftpd. And fixing the problem is usually so simple--decompose a complex function or procedure into several simpler ones.

    Other areas of problems are attributable to slovenly or "don't give a damn" attitudes--unused variables, unreachable code, "magic number" constants, and so on. Ignoring values returned by a function are very common. Maybe it is acceptable with a library function, but why return a value if you aren't going to use it? It's better to make the function into a procedure by returning void. On a more theoretical level, the use of weak typing even when the language allows for tighter specification of variables. Strong typing is designed to prevent such oddities and inadvertently multiplying a color by date.

    However, in the end it all comes back to complexity. And that is where the biggest improvement in OSS quality can be obtained.

  19. Amen! by wowbagger · · Score: 3, Interesting

    I like to make this point about ISO-9000: if they are not now ISO-9000 certified, McDonalds could be in about five minutes - they have a proceedure for everything. Does this mean that McD's good is "good quality"?

    IF you have a proceedure, AND IF that proceedure included required analysis of failures, AND IF that proceedure requires improvements to the proceedures to correct the failures, THEN you MIGHT begin to approach quality over time.

    However, far too many company's ISO proceedures fail to require analysis and actively discourage improvement to the proceedures ("You want to change the proceedure! OK, here's a ton of paperwork to fill out, and you will have to get the signatures of fourteen people who would rather not sign anything other than their own paychecks. Have Fun!").

    ISO is really just a big peer-pressure MLM scam the way it is run now.

    And yes, the company I work for is ISO 9001 qualified.

  20. GNOME by asobala · · Score: 3, Informative

    http://mail.gnome.org/archives/gnome-hackers/200 2-June/msg00041.html is the historically significant mail for GNOME in the post-2.0 era.

    We're sticking to 6-month releases (in fact, 2.2 hit the streets after 5 months since the first bit of time was bugfixing 2.0). The advantages to having time-based releases are if the features aren't ready, they wait while the bugs from the finished stuff are removed and the new features released. This is instead of adding more features, making the software (presumably) buggier and buggier, which would make the release QA much harder and more painful.

    6 month releases means that a feature that misses a given release will not have long to wait before it can be in the main development branch again.

    So far, it's working.

    Andrew Sobala, GNOME QA dude, variable hacker, and release team member

  21. ISO 9001 et al. by hughk · · Score: 2, Interesting
    I have worked before in QA, my wife works for a QA Certification Company. The meaning of ISO 9001 and its successors (15442, I think), and it is just about having a documented process so the 'customer' doesn't have any false expectations about what the 'supplier' is producing (be it a car, a lump of plastic or a computer program).

    I don't know of ISOed OS software, but I am aware of organisations that have gone through a quality audit who use open source software. The main issue is having a test and internal release procedure, so you don't, for example, roll out Perl 5.8.1 without ensuring that your users are aware that their old version is being replaced. You *don't* need to get Larry Wall's personal inprimateur on the package, you just need to have a documented procedure.

    In this way, security and QA are very much related. Zero security and no quality checks are fine, as long as those people using the system are aware of this and agree.

    --
    See my journal, I write things there
  22. Regression tests just aren't part of the objective by slank · · Score: 2, Insightful

    In my experience, most (not all, of course) Open Source projects aren't concerned with backward compatibility outside of the scope of the project itself. Regression testing in OSS is folded into the bug testing.

    That's one of the downsides of OSS. The biggest example: When you upgrade your libc, you have to recompile all of your dependent apps. One thing Windows and Solaris have going for them is that you can run a 5 year old binary on the newest version of the OS and it will almost always work.

    It's a big burden on the development team to provide support for old interfaces, but this sort of thing is where OSS has a long way to go. It gets really expensive for individual persons/companies to support (bugfix, etc.) packages that are a few revisions old.