Your software problems are not unique.
You don’t have time and money to maintain the whole toolkit you need.
You may be not smartest in the domain of the problem you’re trying to solve.
These are simple facts and you should accept it. What can you do about it? You can open source some parts of the solutions you deliver! Don’t think about a bank’s transactional system, or some high security fragments. Consider closed pieces, parts which deliver one thing (libraries). Put them on GitHub, or Codeplex or whatever. What you get is a chance of having your issues fixed by some other people. The another advantage of open sourcing some parts is paradigm shift. Now you have to combine, compose parts rather than getting your hands dirty in a ball of mud. What about your business, what about competition? At most they have a few of your tools, but the whole knowledge, how to assemble them stays in your company, and that in my opinion is the future of software development.