We in the Security area are always playing catchup. Having a solid base on which to build is vital. Knowing how to avoid Buffer Overflows and ensuring input data is sanitized (and sanity checked) are essential, and easily done. One just needs to know about it, and perhaps apprenticeships or some form of standards based qualification should be mandatory for all software creators (commercial or open source) - just because you can write software easily does not mean that you should - without knowing some of the pitfalls.