Copyright is enough. Programmers that want patent - laws to be enforced are shooting themselves in the feet, and in my personal opinion - are just hypocritic IDIOTS. As everyone else we have learned everything from books and how other people did things. Every website or app is a copy or prooven solutions from thousands of apps / websites (menus, shopping carts, account login, etc.). There is no way to do a compatible login differently that by asking login and password information.
With so many stupid "ideas" already patented it'd be impossible to develop anything without paying royalties to thousands maybe tens of thousands of companies or becoming a slave of some corporation, that could protect you from patent litigation by using counter-trials and massive "legal" resources.
Shopping cart, presenting image of merchandise on webshop, even displaying logo of mastercard as a payment option is patented.
And the bad thing is every patent is a monopoly. Someone patents displaying mastercard logo on the website as a way to "quick display of payment options", and you can't display it without him allowing you to. Even worse, you can't ask other company because there is always only one patent holder.
So scums like some patent troll companies can patent displaying your logo on the website. That means ruin your company, and website owners. Because they'll be telling others what to do with your own (!!) logo! Even worse - they can patent usage of your technology, like more and more companies are patenting "technologies" (read bullshit) related to WWW and literally ROB YOU of your clients and money.
There is a lot of bullshit going on in IT, because most people won't get it. If someone would came with an idea to patent shop shelve, book index or shopping basket people would think he's out of his mind. But if you want to patent internet shopping cart or displaying a photo on the website - it's patented already! Because that's "sophisticated technology" (that any high-school kid could "invent" and then implement).
There's no such thing as "intellectual property", it's just bullshit, you can't "own" ideas or have exclusive right to think about something. When you took one year to implement something you have exclusive right to use/sell it and that's copyright.