Why Patents Are Bad for Software