Definition
(1) An optional software module that relies on a well-defined interface to add functionality to a popular software product. Vendors that create general-purpose software products such as Internet browsers often insert well-defined points within their logical flow where execution checks for the existence of an external module and executes it if it is present, passing related information back and forth according to established patterns. This allows customers or other vendors to customize specific product areas. The concept has been known by a variety of other names, including exits or user exits.
(2) A hardware or software module that adds a specific feature or service to a larger system. Plugins can also display or interpret a particular file format or protocol, such as Shockwave or RealAudio.