Otwarte oprogramowanie to oprogramowanie, którego licencja pozwala na legalne i nieodpłatne kopiowane, zarówno kodu wynikowego jak i źródłowego oraz na dowolne modyfikacje kodu źródłowego.
Podstawowa idea Open Source jest bardzo prosta. Jeśli programiści mają poprzez Internet swobodny dostęp do kodów źródłowych oprogramowania, mogą je modyfikować i rozpowszechniać, to umożliwia jego szybki rozwój. Ludzie je ulepszają, ludzie je adaptują, ludzie poprawiają błędy. To wszystko może dziać się tak szybko, że dla kogoś kto zna realia klasycznego developmentu, jest to zdumiewające.
Wspólnoty Open Source przekonały się, że tego rodzaju szybki proces rozwoju oprogramowania wytwarza w efekcie lepszy produkt, niż tradycyjny zamknięty model, gdzie tylko kilku programistów może obejrzeć kod źródłowy, a wszyscy inni są zmuszeni używać tylko zapakowanego bloku bitów.
Żródło: http://www.opensource.org
Model otwartego oprogramowania ma wiele do zaoferowania światowi biznesu. Jest to sposób na budowanie otwartych standardów jako konkretnego oprogramowania, a nie tylko w postaci deklaracji na papierze. Jest to sposób na współpracę przedsiębiorstw i osób nad produktem, którego nigdy by nie stworzyły pracując samemu. Jest to szybkie poprawianie błędów i wykonywanie zmian, o które prosi użytkownik, zgodnie z jego planem.
Model otwartego oprogramowania oznacza także zwiększone bezpieczeństwo; ponieważ kod źródłowy jest wystawiony na widok publiczny, będzie sprawdzony z ekstremalną dokładnością; błędy będą wykrywane i poprawiane zamiast trzymania ich w sekrecie, aż zostałyby odkryte przez niewłaściwą osobę. I ostatnia rzecz, ale również istotna: kilka osób, które w pojedynkę mają niewielkie możliwości, może zebrać się razem i ma szansę rozbić monopol.
Z wszystkich tych korzyści najbardziej istotną jest zwiększona niezawodność. Jeśli wszystko to brzmi zbyt abstrakcyjnie – wystarczy sobie przypomnieć „problem roku 2000″ i zagrożenia jakie przyniosło ze sobą zamknięte oprogramowanie.
Instalacje oprogramowania OpenSource (Linux, OpenOffice, PostgreSQL, Apache, ZOPE, sendmail itp.) stają się coraz częściej stosowanym rozwiązaniem w wielu profesjonalnych zastosowaniach. Po wielu latach publicznej dyskusji i – najpierw ostrożnych – pilotowych instalacjach w firmach komercyjnych, został ogólnie uznany pogląd, że główne programy OpenSource są co najmniej równoważne, pod względem niezawodności, wydajności i funkcjonalności, programom sprzedawanym komercyjnie.
Prawdopodobnie najbardziej dobitnym tego przykładem jest fakt, że np. firma IBM, inwestując od 2001 roku co najmniej miliard dolarów rocznie, dostosowała praktycznie wszystkie swoje produkty software’owe do działania na platformie Linux, oraz aktywnie promuje używanie systemu operacyjnego Linux na komputerach swojej produkcji.
W obecnej chwili głównym i zarazem poważnym argumentem przeciw stosowaniu rozwiązań OpenSource w krytycznych zastosowaniach produkcyjnych jest problem serwisu i konsultacji. Za każdym rozwiązaniem sprzedawanym komercyjnie stoi producent, zapewniając wsparcie, konsultacje, serwis, szkolenia, system certyfikacji inżynierow itp. Oprogramowanie OpenSource jeszcze nie posiada tak w pełni rozwiniętej i formalnej infrastruktury wsparcia. Odpowiednie programy certyfikacyjne (np. RedHat) są rzeczą stosunkowo nową i nie wszędzie dostępną.
Ponieważ oprogramowanie OpenSource przez wiele lat było bardzo intensywnie rozwijaną dziedziną stanowiąc „hobby” profesjonalistów informatycznych, większość organizacji posiada w szeregach swoich informatyków ludzi z niejednokrotnie bardzo dużą wiedzą w tym zakresie. Pomimo tego, wiele decyzji rozwoju systemów informatycznych, nie idzie w kierunku rozwiązań OpenSource, z braku powszechnej, komercyjnie dostępnej struktury serwisu i konsultacji.

„Open Source Definition” jest wystarczająco klarowna i jasne jest, że typowe niewolne oprogramowanie nie zalicza się do tej kategorii. Wydawać by się więc mogło, że „firma open source” to taka, której produkty są wolnym oprogramowaniem, prawda? Niestety, wiele firm próbuje nadać temu inne znaczenie. Stosowanie oprogramowania open source (open-source software, OSS). OSS to programy, których kod jest swobodnie i publicznie dostępny, choć konkretne umowy licencyjne mogą różnić się co do tego, co można zrobić z tym kodem. Oba ruchy, Free Software i Open Source, są jak dwa skrzydła polityczne w naszej wspólnocie.Fundamentalna różnica między tymi dwoma ruchami leży w uznawanych przez nie wartościach, sposobach patrzenia na świat. Dla Open Source kwestia, czy oprogramowanie powinno mieć dostępne otwarte źródła to problem praktyczny, nie etyczny. Jak to ktoś ujął: „Open source to metodyka konstruowania, wolne oprogramowanie to ruch społeczny”. Dla ruchu Open Source oprogramowanie, które nie jest wolne to rozwiązanie gorsze niż optymalne. Dla ruchu Wolnego Oprogramowania programy, które nie są wolne to problem społeczny, którego rozwiązaniem jest wolne oprogramowanie.
free =? open
Jezeli oprogramowanie jest wolne, to w zasadzie jest otwarte, lecz
na odwrót juz niekoniecznie.
Open Source nie stoi w sprzecznosci z zarabianiem pieniedzy.Mozliwe zródła finansowania to m.in.:sprzedaz usług (support, szkolenia)rozwój nowej funkcjonalnosci, tworzenie całkowicie nowego oprogramowania na zamówienie firmy, którym zalezy na istnieniu pewnego oprogramowania finansuja jego rozwój
Nazwa obejmuje oprogramowanie dotępne wraz z kodem źródłowym, który może być swobodnie rozprowadzany i wykorzystywany: Wolne Oprogramowanie oraz oprogramowanie Open Source. W obu przypadkach efekt końcowy jest zbliżony, jednak ich twórcom przyświecają inne idee. Wolne Oprogramowanie jest terminem używanym przez Richarda Stallmana oraz osoby związane z fundacją FSF. U podstaw ich filozofii leży wolność wyboru i wolność wypowiedzi. Termin Open Source jest używany przez członków ruchu OSI. Uważają oni, że tylko taki sposób tworzenia oprogramowania pozwala uzyskać jego najwyższą jakość i wiarygodność oraz daje możliwość dotrzymania kroku postępowi technologicznemu.
Open Source nie oznacza tylko dostępu do kodów źródłowych. Zasady dystrybucji oprogramowania Open Source muszą spełniać następujące kryteria:
1. Wolna redystrybucja
Licencja nie może zabraniać żadnym stronom sprzedawania lub rozdawania oprogramowania jako komponentu zbiorczej dystrybucji oprogramowania, zawierającej oprogramowanie z kliku różnych źródeł. Licencja nie może wymagać honorarium lub innych korzyści z takiej sprzedaży.
2. Kod żródłowy
Program musi zawierać kod źródłowy i musi być dopuszczalne rozpowszechnanie zarówno kodu źródłowego jak i skompilowanego (wynikowego). Jeśli jakaś forma produktu nie jest rozpowszechniana z kodem źródłowym, jest to dopuszczalne jedynie w przypadku konieczności znaczącego obniżenia kosztów reprodukcji i musi być wyraźnie zaznaczone, skąd można ten kod źródłowy uzyskać – preferuje się możliwość uzyskania go z Internetu bez żadnych opłat. Kod źródłowy musi być preferowaną formą modyfikacji programu przez programistę. Deliberately obfuscated source code is not allowed. Formy pośrednie takie jak wynik z preprocesora lub translatora nie są dopuszczalne.
3. Prace Pochodne
Licencja musi zezwalać na modyfikacje oraz prace pochodne i musi zezwalać na ich rozpowszechnianie na takich samych warunkach jak oprogramowania oryginalnego (źródłowego).
4. Intergalność kodów
Licencja może zastrzec dystrybucję zmodyfikowanych kodów źródłowych, tylko wtedy, gdy licencja zezwala na rozpowszechnianie „łatek” (ang. „patch files”) wraz z kodem źródłowym w celu modyfikacji programu podczas kompilacji (ang. build time). Licencja musi wyraźnie zezwolić na rozpowszechnianie oprogramowania utworzonego ze zmodyfikowanych kodów źródłowych. Licencja może wymagać, aby pochodny program nosił inną nazwę lub numer wersji niż program oryginalny.
5. Brak dyskryminacji osób
Licencja nie może dyskryminować żadnych osób lub grup osób.
6.Brak dyskryminacji pól zastosowań
Licencja nie może zabraniać nikomu używania programu w jakimś specyficznym rodzaju zastosowania. Na przykład nie może zastrzec użycia programu w biznesie lub badaniach genetycznych.
7. Rozpowszechnianie licencji
Prawa załączone do programu muszą dotyczyć wszystkich do których program jest redystrybuowany, bez konieczności wykonania dodatkowej licencji przez te strony.
8. Brak specjalizacji licencji dla produktów
Prawa załączone do programu nie muszą zależeć od programu, będącego częścią pewnej dystrybucji oprogramowania. Jeśli program jest wyłączony z takiej dystrybucji i używany lub rozpowszechniany zgodnie z zasadami licencji programu, wszystkie strony do których program jest redystrybuowany powinny mieć takie same prawa, jak te gwarantowane dla oryginalnej dystrybucji oprogramowania.
9.Licencja nie może zawierać ograniczeń dla innego oprogramowania
Licencja nie może zawierać ograniczeń dla innego oprogramowania, które jest rozprowadzane wraz z oprogramowaniem objętym licencją. Na przykład licencja nie może wymagać, aby wszystkie programy rozpowszechniane na tym samym nośniku były programami open-source.