You've created a circular argument - if someone doesn't currently have free time or knowledge, how could they ever write good code?
re: free time - I didn't suggest any particular solutions, because the point of this exercise isn't for me to give everyone easy solutions to problems. But I'll offer you one:
More companies could offer time to their employees to work on open source projects. That's something the project itself can help lobby for, and can keep in mind when soliciting help.
That's not a new idea. Many others have said it, and many companies implement it.