And another thing -- promiscuous software patents
Another issue that's hard to address is setting a higher bar for when software patents are issued. In the physical world, it's easier to decide if a machine or mechanical function or chemical reaction is new and innovative. In the world of software function and algorithms, the courts should set a stricter standard that no one owns the math, basic algorithms, user interface functions or programming procedures of computing software. They originate from many prior art contributors and should be part of the public trust, available to all. To profit from them, you need to innovate and design on top of them, not own the math.