Interoperability
Popular copyleft licenses, such as the GPL, have a clause allowing components to interact with non-copyleft components as long as the communication is abstract, such as executing a command-line tool with a set of switches or interacting with a Web server. As a consequence, even if one module of an otherwise non-copyleft product is placed under the GPL, it may still be legal for other components to communicate with it normally. This allowed communication may or may not include reusing libraries or routines via dynamic linking — some commentators say it does, the FSF asserts it does not and explicitly adds an exception allowing it in the license for the GNU Classpath re-implementation of the Java library.
The interoperability clauses are often pragmatically inoperative due to the vigorous enforcement and strict interpretation of the GPL as it related to integration, aggregation, and linking. It is argued that most forms of incorporation, aggregation, or connectivity with GPL-licensed code is a derivative work that must be licensed under the GPL. In recent years, a number of communities using GPL incompatible licenses have dropped efforts and support for interoperability with GPL-licensed products in response to this trend. Some developers and communities have switched to the GPL or a GPL compatible license in response, which critics and supporters alike agree is intentional end result. A number of prominent free software advocates, such as Linus Torvalds, have vocally opposed this restrictive interpretation and enforcement.
Read more about this topic: Viral License