I disagree with that. Because then companies just keep new developments as trade secrets – I want to push them to patenting everything, which would require them to open up the entire technology to the public a few years later.
If you protect trade secrets, companies will never release them to the public – as in the Waymo case.
If you don't patent, you lose the ability to go after others if they independently create the same invention or reverse engineer your product. And if you fail to properly document your use and someone else patents it, you could lose the rights to your invention altogether.
Keeping something important as a trade secret has enough risk already.
That's false. The Waymo-Uber case contains patent claims, though 3 of the 4 were dropped at the judge's suggestion. So it seems that Google has patented quite a few aspects of their self-driving vehicles. The article I found didn't list the patent they're still pursuing against Uber, but here's the 3 patents Google decided not to pursue:
What if the source code is in a different language from the one you use? Should a patent force Google to port their code specifically for you? What if the 3D files are for an expensive program that's different from the one you use? Should a patent force Google to convert their files for use with every 3D modeling program?
Patents are about telling you how to do the work, not about doing it for you.
If you protect trade secrets, companies will never release them to the public – as in the Waymo case.