Basically, this.
As a developer, I get to _chose_ how someone uses my code. I can release my code, and attach one of any number of licenses, which give another developer _permission_ to use my code, while laying out restrictions.
If that license is violated, there is a legal recourse for me (and one which is used quite often to enforce things like the GPL, etc.)
Within the development community, this is the accepted protocol for how you "borrow" code from another developer. Violating this protocol is pretty much universally reviled.
But the same universal revulsion doesn't exist for design.
Unless you literally copy and paste someone's actual file.
And I think that's where the disconnect comes from.
In development, the hard work is in the typing, not the idea, really. If I see an animation effect I like, or a feature from a competitor's product, there's still a massive effort I have to undertake to recreate it. The "work" in development is in the work itself, not in the idea.
Obviously there are cases where this isn't true. Novel design patterns, component compositions, etc. exist. But I'm going for an 80/20 discussion here.
In design, the work itself is generally secondary to all the upfront effort work of the "idea". A designer will throw away a dozen, if not more, failed attempts at an idea. Minor things like color, shape, typeface, will be iterated on over and over again, until something takes form that looks "correct". Once they've reached that climax though, the actually complexity of the end product might be minimal.
Recreating all of that designer's choices is beyond simple, so long as you have the software. Even if you don't literally trace their image, all of the "work" has been done for you.