Today they last 20 years, which seems fine.
Originally Posted by Carjosse
...For applications filed on or after June 8, 1995, utility and plant patents are granted for a term which begins with the date of the grant and usually ends 20 years from the date you first applied for the patent subject to the payment of appropriate maintenance fees for a utility patent. There are no maintenance fees for plant patents . Design patents last 14 years from the date you are granted the patent. No maintenance fees are required for design patents.
Note: Patents in force on June 8, 1995 and patents issued thereafter on applications filed prior to June 8, 1995 automatically have a term that is the greater of the twenty year term discussed above or seventeen years from the patent grant....
So... not forever.
And, again, patent protection is good for the US because we are the ones with the patents who are being violated.