Потому, что софтверный патент не говорит, как что-то сделать на Java, Perl или C++, а позволяет дать сколь угодно расплывчатую формулировку. Вдобавок позволяют наехать на любого разработчика, заставляя его оправдываться. Наезд или оправдание стоит больших денег. Так что всегда выиграет тот, у кого больше бабла."Неочевидность" - штука субъективная и зависит от образования. То, что для тебя неочевидно, совершенно очевидно для твоего препода по информатике. И то, что очевидно для вас обоих, совершенно неочевидно для чиновника из патентного коммитета, который тупо работает с 8:00 до 17:00. Поэтому чиновнику дают инструкцию - раз ушлые адвокаты тебя на**ют, вообще не выдавай патенты на софт.
Патенты сами по себе не плохи, но для софта непригодны, так как мешают стандартизации. Представь, что каждый пакет будет упакован своим патентованым архиватором, несовместимым со всеми остальными. Или с каждым видеороликом будет идти свой патентованый плейер. В каждой программе будет свой алгоритм сортировки, у всех программ меню и кнопки в уникальных патентованых местах.