As far as I know "type piracy" is not a widespread term in CS, but has
popped up in the Julia community.
Basically it refers to violations of the Julia guideline that a package
shouldn't define methods of functions it doesn't own on types it doesn't
own.
For example, if package A exports a function `foo`, and package B
defines a type `Bar`, package C shouldn't define `foo(x::Bar)`. It's in
some ways stealing functionality that other packages should be
responsible for, and from a user's perspective it can be confusing if
`using C` changes behavior that's associated with completely different
packages.
-s