Når vi kjøper programvare for våre datamaskiner, vil vi alltid ha den som har de fleste funksjonene som allerede er inkludert. Men ofte er problemet med programvare enten de ikke har de riktige funksjonalitetene du leter etter, eller de har for mange funksjoner som det er umulig å finne den du leter etter raskt. For å tilpasse utseendet på programmene sine har programvareleverandører tillat bruk av programtillegg eller tilleggsprogrammer.
Plug-in og Add-on er to termer som peker på samme funksjonalitet; de er bare utvidelser som utvider bruken av programmet. Det er bare avhengig av programvareleverandøren om hva som skal kalles programvareutvidelsene til programmene sine. Disse utvidelsene kan gjøres av andre selskaper, enkeltpersoner eller av programvareleverandørene selv.
Plug-in er begrepet som vanligvis brukes når det refereres til tredjeparts programvare som er ment å samhandle med et bestemt program. Ta for eksempel nettleseren din; du må installere en plug-in som heter flash-spiller for å kunne spille av videoer. Flash player er ikke opprinnelig i noen nettleser, men er laget av et eget selskap helt. Den er også kompatibel med alle de populære nettleserne som IE, Firefox og Opera.
En Add-on utvider også funksjonaliteten til et bestemt program, men de er vanligvis ment å fungere på et bestemt program. Hvis du bruker nettleseren til sammenligning, vil tilleggsprogrammer som er ment for Firefox bare fungere med Firefox, og det vil også for andre nettlesere. Disse er vanligvis ikke fullblåst programvare, men er bare koden du kan bruke til å endre grensesnittet. De vanligste tilleggene til nettlesere er verktøylinjer som tar litt mer plass og gir deg øyeblikkelige snarveier til visse elektroniske tjenester. Add-ons er også svært fremtredende i online spill som World of Warcraft, hvor spillere som har litt kunnskap, kan lage egne tilskudd for å hjelpe andre spillere.
Adskillelsen mellom et tillegg og en plugin er ikke så klart. De er begge laget for å gjøre bestemte funksjoner som passer til en bestemt brukeres preferanse. Den primære grunnen til at disse kodene ikke er innebygd i programmet i utgangspunktet, er at de egentlig ikke er så viktige, og mens noen mennesker kan sette pris på å ha det, andre kanskje ikke og finner det en plage. Dette er også verktøy som en programvareleverandør kan benytte til å motivere medlemmene i deres samfunn til å bli involvert i å forbedre programvaren.