Licencja open source jest to licencja na mocy, której użytkownicy mogą dokonywać modyfikacji i redystrybucji zmodyfikowanych wersji oprogramowania. Uprawnienia te wiążą się jednak z pewnymi ograniczeniami, w szczególności w sposobie i zasadach na jakich te zmodyfikowane wersje mają być udostępnione.
Fundamenty ruchu open source zostały stworzone przez programistę Richarda Stallmana, który zapoczątkował inicjatywę popierającą udostępnianie programów komputerowych na odmiennych zasadach niż przewidziane w systemie ochrony własności intelektualnej. Uważał on bowiem, że kody źródłowe programów komputerowych powinny być wolne i dostępne dla każdego, kto chciałby je udoskonalić. Wyrazem jego poglądów stało się założenie w 1983 r. fundacji FSF (Free Software Fundation). Jej celem jest propagowanie idei „wolnych programów” zawartej w sformułowanym przez niego manifeście. Przy czym wolny, w rozumieniu twórcy ruchu open source rozumiany być powinien jako nieskrępowany, a nie całkowicie pozbawiony odpłatności. Zgodnie z postanowieniami większości tego typu licencji, można żądać innych opłat powstałych, dla przykładu z tytułu wsparcia technicznego czy kosztów przekazania kodu źródłowego na nośniku.
Poglądy propagowane przez FSF można krótko podsumować jako przekonanie, iż program komputerowy stworzony w oparciu o otwarty kod źródłowy, powinien być publicznie dostępny i prawa do niego nie powinny pozostawać przy jednej osobie. Daje to możliwość wprowadzania dowolnych modyfikacji i tworzenia coraz doskonalszego oprogramowania. Co więcej program w ten sposób rozpowszechniany nie może być później „zawłaszczony” do stworzonego przez inną osobę swojego programu i rozpowszechniany na innej zasadzie niż licencja open source.
Idea takiego grupowego tworzenia programów wyrasta z przekonania, że model ochrony stworzony przez prawo autorskie jest systemem zbyt krępującym swobodne rozprzestrzenianie się wiedzy. Wymiana kodu źródłowego jest bardzo wygodnym i wydajnym sposobem na stworzenie funkcjonalnego programu, poprzez wykorzystanie pracy oraz doświadczenia programistów z całego świata. Pomaga także w redukowaniu kosztów oraz szybkiemu znajdowaniu błędów w kodzie źródłowym.
Ze względu na odmienności pomiędzy różnymi licencjami open source, dzieli się je na licencje copyleft i non-copyleft. Zasadniczą różnicą pomiędzy nimi jest to, że w modelu copyleft najczęściej spotykane są rozbudowane warunki licencyjne, które m.in. nakładają obowiązek dalszego stosowania warunków tej samej licencji dla całości kodu źródłowego, z którym połączony został uzyskany na licencji fragment lub komponent. Natomiast w modelu non-copyleft zazwyczaj stosowane są proste warunki licencyjne, które nie przewidują obowiązku dalszego stosowania tej samej licencji dla całości stworzonego oprogramowania.
Przykładem licencji typu copyleft jest jedna z najpopularniejszych licencji, czyli GNU GPL. Zawiera ona postanowienie, według którego użytkownik, który postanowił rozpowszechnić, zmieniony lub nie, program o otwartym kodzie, musi tego dokonać na tych samych warunkach na jakich go uzyskał. Stąd, musi on załączyć do programu postanowienia licencji GNU GPL. Taka konstrukcja gwarantuje pewność, że program raz udostępniony na tej licencji, już zawsze będzie w ten sposób rozpowszechniany oraz rozwiązania w nim zawarte nie zostaną zawłaszczone do kodu programu komercyjnego.
Licencja BSD (Berkeley Software Distribution) to jedna z najbardziej liberalnych licencji typu non-copyleft. Wymogami używania i modyfikowania kodu, bez obowiązku udostępniania tych modyfikacji innym użytkownikom, jest tylko poinformowanie o autorach, o wyłączeniu odpowiedzialności oraz warunkach licencyjnych.
Pomimo wielu wątpliwości, wyrażanych w polskiej doktrynie prawa cywilnego odnośnie skuteczności licencji open source, obecnie przyjmuje się, że licencje te mieszczą się w graniach dopuszczalnej przez prawo cywilne swobody umów.
Korzystanie z licencji open source podczas tworzenia oprogramowania poza tym, że wiąże się z niekwestionowanymi zaletami jest również związane z niedogodnościami. Największym ryzykiem związanym z korzystaniem z kodu źródłowego rozpowszechnianego na podstawie jednej z licencji open source w komercyjnym oprogramowaniu, jest brak możliwości skutecznego przeniesienia praw autorskich do całości kodu, jeżeli takie zobowiązanie zostało zawarte w umowie z zamawiającym. Natomiast, w przypadku potrzeby udzielenia licencji, jej treść zadeklarowana wcześniej w umowie z klientem może być niekompatybilna z treścią licencji open source na jakiej fragmenty kodu źródłowego zostały udostępnione i powinny być rozpowszechnione dalej. Niewłaściwe zastosowanie kodu opartego o licencje open source może zostać wykryte np. podczas audytu dostarczonego oprogramowania. Taka sytuacja może rodzić obowiązek zapłaty odszkodowania na rzecz klienta, którzy otrzymał oprogramowanie wytworzone z naruszeniem otwartej licencji. Wobec tego zastosowanie kodu źródłowego opartego na otwartej licencji powinno zostać dokonane z dużą rozwagą.