Nobody mentioned this but software patents are/were a pretty good reason to avoid looking at other people's algorithms.
Software patents exist in this space where the patent holder gets the best of both worlds: they get to argue that an infringer nebulously infringes on the ambiguous "steps". Meanwhile the source code is not in the patent, therefore protected from public eyes. Patents should require exposing the source code.