How Software Patents Really Work