As an option between developers and customers, of course you can do this now, and it happens.
That's very different though to a law that requires source to be released.
The former is something you do because you believe it gives you the edge in a sale.
The latter is a regulatory framework that imposes problems on everyone unilaterally.