Uh, I hate to rain on your parade, but that is just about the same failure rate as for "for-profit" business startups, software or otherwise--so by that criterion, the small-c "communisitic" approach is NOT failing--it is performing equally well (or badly, depending on whether you view the glass as half-empty or half-full).
I just finished a project for a client using open source software available on sourceforge.com. I needed some java code that would allow me to read and modify a PDF file.
After ten minutes of looking on google, I found that a class library developed by Etymon Systems would do the job. I downloaded it from sourceforge, looked at it, compiled it on my system, wrote an application using it, and my app is now up and working.
Since it is open-source, I can support it myself if need be. The source is well written, well documented, and serves as an excellent piece of promotion for Etymon's consulting and software development services.
In the process of using it, my application displayed a problem. The stack trace showed me which function the problem was in (the PDF file I was trying to parse used an obscure feature that the Etymon software did not support). I added code to the Etymon function to handle the feature, recompiled and I'm in business. No hour-long waits on a customer service line. No Customer-service person with complete lack of English skills. I fixed the problem and moved on.