Jak każdy wie, programy są niezbędne, aby można było używać komputera do dowolnych celów. Każdy program jest zdolny do wykonywania różnych zadań i zazwyczaj specjalizuje się w jednym z nich – na przykład komunikator internetowy służy rozmowom tekstowym lub głosowym, a nawet wideo, przeglądarka – do oglądania witryn internetowych, edytor grafiki – do tworzenia obrazów. Każdy program opatrzony jest licencją, którą wystawia jego twórca, czyli programista lub ich zespół, działający często jako firma. Same licencje można podzielić z grubsza na własnościowe, czyli zamknięte, których kod źródłowy nie jest ogólnie dostępny, a same aplikacje w większości wypadków są płatne, oraz na otwarte, czyli takie, których kod jest dostępny dla każdego, a z programów można korzystać w dowolnym celu, modyfikując je do własnych upodobań i potrzeb (jeśli, rzecz jasna, potrafimy to) nie uiszczając przy tym jakiejkolwiek opłaty jego twórcom. Programy open source, bo tak nazywają się takie aplikacje posiadają taką samą, często nawet większą funkcjonalność, niż ich płatne i zamknięte odpowiedniki.