I would prefer to see these things enforced by culture and norms rather than laws and licenses. I don't want to have to parse legalese as part of my role as an engineer. I don't want companies to have to hire more lawyers to verify they can use software I wrote. I want them to be able to just use it, then contribute back after they've experienced using it. I don't want a restrictive license may prevent them from ever even trying my software in the first place. I want culture and norms that encourage the company to contribute to the project, not laws.