That sounds backwards if I'm reading you right. An idea can't be patented (well... in theory), but a new invention based on an idea can. Google apparently thinks they've got a new, non-obvious invention based on Duda's public domain work, which may itself have been patentable but wasn't.
That's one reason why companies rich enough to spam the patent office tend to do so. Company A invents X. If they don't patent it, then Company B can invent X+1, a minor improvement on X, and patent X+1 themselves. Now Invention X can't compete with X+1, so Company A invents X+2, an improvement on X+1, but now they have to pay license fees to Company B even though they invented the original thing! Solution: just try to patent every stupid thing.
No, the way to protect yourself is to disclose anything you don't want to patent, but don't want patented against yourself. IBM had a great system for several decades[0]:
That establishes prior art for X, but X+2 would still potentially infringe on X+1 and they'd have no leverage for negotiating a license. Except they're still one of the biggest patent spammers, so they probably do have leverage in the portfolio somewhere.
Software patents for sure. Not sure about algorithmn ones. Say you invent this exact compression algorithmn and want to patent it but you can't and Google steals it when you wanted to license it so you can fund a company that builds better compression algorithmns or whatever. Google is going to rip out of your profits.
Yes, in saying an idea is patented I was technically incorrect - in theory, an idea can't be patented, an invention is only patentable if it 'teaches' how to implement it. Nevertheless, what is patentable is still a lot more abstract that an actual implementation.
So we have:
idea > teachable invention > implementation
(where '>' is 'more abstract than')
The GP seemed to by conflating the invention and implementation, in asking what difference the licence of made. That was the distinction I was trying to draw. Duda put the invention in the public domain, not an implementation - it's not clear you can apply the MIT or Apache licenses to an invention at all.
The kernel of truth is that results can't be patented, but methods can be. But here Google doesn't seem to have added anything significant, and is copying a method, not just obtaining a similar result.
That's one reason why companies rich enough to spam the patent office tend to do so. Company A invents X. If they don't patent it, then Company B can invent X+1, a minor improvement on X, and patent X+1 themselves. Now Invention X can't compete with X+1, so Company A invents X+2, an improvement on X+1, but now they have to pay license fees to Company B even though they invented the original thing! Solution: just try to patent every stupid thing.