Most so-called software engineers fail to do something crucial in engineering: they have zero knowledge about the scientific state of the art about programming.
I agree that the absence of liability enables this.
That is interesting: yes, it is true. That's why you see these endless (poor) re-inventions of the wheel. If the state of the art would at least be commonly known and well communicated we could avoid some of that. Not all of it because another mantra is that re-inventing something (poorly) is a useful exercise. I agree with that on principle if you then end up using the blessed version in your actual work but more often than not it is the homebrew and rickety version that the whole house of cards will then end up depending on.
Experimenting around the state of the art or reimplementing the state of the art ourselves while being informed by it would be fine. I guess it would be a great exercise, as you said.