I second others that blaming scientists isn't the right thing, and punishing them certainly isn't. The life of a scientist is incredibly stressful and poorly paid. The average salary for a postdoc is like $45,000. These people have graduate degrees from the top schools in the nation, are often in their early to mid thirties, are doing research that can lead to blockbuster drugs that massively improve human health, are incredibly passionate about and good at their work, yet make little more than minimum wage
A better solution, counterintuitive as it sounds, is to increas public funding for more research. If scientists can make a reasonable wage that doesn't force them to pursue tenure by living and dying by the whim of a few top journals, it will be much easier for them to stomach the financial, and possibly career, hit of publishing open source
I wonder how robust the open source movement would be if engineers only made $45k / year