Software patent case law