The only difference to the proprietary closed-source compiler here is that the closed-source company won't tell you "unfortunately, our guru retired, and we don't know how it works" even if that's the truth. Or they tell you they're restructuring and are no longer interested in supporting this product.
I still don't see how that task had been easier for you if you didn't have source. The whole point is about having source, not about free. And I don't think the open-source libraries have worse quality than the proprietary ones. I have also fixed numerous bugs in the commercial libraries we bought. Including some the vendors refused to fix. Even trivial ones such as using 'char' instead of 'unsigned char' for marshalling, which happens to work on PCs, but not on our target.
That aside, guess what you see when you look into a commercial system? I found a NetBSD VFS, NetBSD IP stack, expat, gzip, Spencer's regexp.c, etc. in that we bought. So it cannot be that bad.
The points where I think OSS is "better" are:
- you can evaluate it easier. No need to sign advance NDAs or hand out money. You do not even need to wait for the mail package to arrive next week, and you can usually get honest opinions on it on mailing lists.
- you can look into it. Some commercial software also allows that, but by far not all. I haven't seen a commercial compiler that ships the source for its 'printf' yet.
- you can still modify it, even if its original author no longer wants to. Yes, this may be expensive, but at least it's possible.
I haven't found anything where closed-source software is fundamentally better. Warranties? Nobody guarantees you anymore than his software takes up disk space, and maybe gives you free replacement if the shipped CDs get unreadable within six weeks. Support? Commercial support can be had for OSS, too. Otherwise, support is simply structured differently than for classic closed-source SW. The big company you can sue if something goes wrong? Did anyone *ever* sue MS or IBM when their software failed?
Stefan