To prevent competitors from `stealing' customers, a firm can place arbitrary limitations on the process of knowledge sharing, through patents or trade secrets. Of course this is incompatible with the diffusion of software through an open source licence. However, it can be implemented by placing under a more restrictive licence just a small (but fundamental) part of the code, usually considering it as a ``black box''. This kind of limitation can be introduced just to have an additional legal right, for example to avoid patent litigation. In the past this kind of limit has been avoided by the open source community by recoding the `black box' and creating an open source alternative, for instance by creating a loadable library with identical interfaces.