Ilekroć kupujemy oprogramowanie dla naszych komputerów, zawsze chcemy mieć taki, który ma najwięcej funkcji, które są już uwzględnione. Ale często problem z oprogramowaniem polega na tym, że albo nie mają one odpowiednich funkcji, których szukasz, albo mają zbyt wiele funkcji, których nie można szybko znaleźć. Aby dostosować wygląd i działanie swoich programów, twórcy oprogramowania zezwolili na stosowanie wtyczek lub dodatków.
Wtyczka i dodatek to dwa terminy, które wskazują na tę samą funkcjonalność; są to po prostu rozszerzenia, które rozszerzają użyteczność programu. To zależy tylko od producenta oprogramowania, jak nazwać rozszerzenia oprogramowania ich programów. Rozszerzenia te mogą być tworzone przez inne firmy, osoby fizyczne lub przez samych twórców oprogramowania.
Wtyczka to termin, który jest zwykle używany w odniesieniu do oprogramowania innych firm, które jest przeznaczone do interakcji z określonym programem. Weźmy na przykład swoją przeglądarkę internetową; aby móc odtwarzać filmy, musisz zainstalować wtyczkę o nazwie Flash Player. Flash Player nie jest natywny dla żadnej przeglądarki, ale został stworzony przez osobną firmę. Jest również kompatybilny ze wszystkimi popularnymi przeglądarkami internetowymi, takimi jak IE, Firefox i Opera.
Dodatek rozszerza również funkcjonalność określonego programu, ale zwykle mają one działać w określonym programie. Biorąc pod uwagę przeglądarkę internetową, dodatki przeznaczone dla Firefoksa działałyby tylko z Firefoksem, podobnie jak inne przeglądarki. Zazwyczaj nie są to pełne programy, ale są to po prostu fragmenty kodu, których można użyć do modyfikacji interfejsu. Najpopularniejsze dodatki do przeglądarek to paski narzędzi, które zajmują nieco więcej miejsca i zapewniają natychmiastowe skróty do niektórych usług online. Dodatki są również bardzo widoczne w grach online, takich jak World of Warcraft, w których gracze, którzy mają niewielką wiedzę, mogą tworzyć własne dodatki, aby pomóc innym graczom.
Oddzielenie dodatku od wtyczki nie jest tak jasne. Oba są przeznaczone do wykonywania określonych funkcji, które są dostosowane do preferencji określonego użytkownika. Głównym powodem, dla którego kody te nie są osadzone w programie, jest to, że tak naprawdę nie są one tak istotne i chociaż niektórzy mogą to docenić, inni mogą tego nie robić i mogą być dla nich uciążliwe. Są to również narzędzia, których twórca oprogramowania może użyć, aby zmotywować członków swojej społeczności do zaangażowania się w ulepszanie oprogramowania.