It's a pretty safe bet that proprietary driver development is using more advanced processes than open source these days. I think you'll find that the defect density ((latent + known defects) / LOC) is actually lower for closed source drivers than for open source drivers. I can't go into a lot of details but you might be surprised how far proprietary driver development has come in the last decade.
I agree with the exponential rise in complexity as the driver grows though... that is a problem for open and closed drivers. The open source stack for ATI radeon GPUs has gone from ~50 KSLOC to over 250 KSLOC in the last couple of years (not counting close to 1,000 KSLOC of common Mesa code) and there is probably still some growing to do. By way of comparison, the proprietary drivers are well over 10,000 KSLOC.
That said, the main challenges with closed source Linux drivers are more related to "big expectations vs. small market share/resources" and "large code size due to code sharing across multiple OSes" than to development process.
Open source has one big advantage over closed source development, however, which is that users can bisect regression failures. We really need to get something similar implemented in the closed source world (the problem is sanitizing out future product info, not tools/process).
I think this post added 5 or 6 to my post count... maybe 7 now.


Reply With Quote
