Definicja „wolnego oprogramowania” z Free Software Foundation:
„Wolne oprogramowanie” to kwestia wolności, a nie ceny. Aby zrozumieć tę koncepcję, należy myśleć o „wolnym” jak o „wolnym mowie”, a nie o „wolnym piwie”.
Wolne oprogramowanie to kwestia wolności użytkowników do uruchamiania, kopiowania, rozpowszechniania, studiowania, zmiany i ulepszania oprogramowania. Mówiąc dokładniej, oznacza to, że użytkownicy programu mają cztery podstawowe swobody:
- Swoboda uruchamiania programu w dowolnym celu (wolność 0).
- Swoboda studiowania działania programu i zmieniania go, aby działał tak, jak chcesz (wolność 1). Dostęp do kodu źródłowego jest warunkiem tego.
- Swoboda redystrybucji kopii, aby pomóc sąsiadowi (wolność 2).
- Swoboda rozpowszechniania kopii zmodyfikowanych wersji innym użytkownikom (wolność 3). W ten sposób możesz dać całej społeczności szansę na skorzystanie z twoich zmian. Dostęp do kodu źródłowego jest warunkiem tego.
Program jest wolnym oprogramowaniem, jeśli użytkownicy mają wszystkie te swobody. Dlatego powinieneś mieć swobodę redystrybucji kopii, zarówno z modyfikacjami, jak i bez nich, albo za darmo, albo pobierając opłatę za dystrybucję, do kogokolwiek w dowolnym miejscu. Wolność robienia tych rzeczy oznacza (między innymi), że nie musisz o to prosić ani płacić za pozwolenie.
Definicja „oprogramowania open source” z inicjatywy Open Source:
Otwarte źródło to nie tylko dostęp do kodu źródłowego. Warunki dystrybucji oprogramowania typu open source muszą spełniać następujące kryteria:
Bezpłatna redystrybucja Licencja nie będzie ograniczać żadnej strony do sprzedaży lub udostępniania oprogramowania jako części zagregowanej dystrybucji oprogramowania zawierającej programy z kilku różnych źródeł. Licencja nie wymaga opłaty licencyjnej ani innych opłat za taką sprzedaż.
Kod źródłowy Program musi zawierać kod źródłowy i musi umożliwiać dystrybucję w kodzie źródłowym, a także w skompilowanej formie. W przypadku, gdy jakaś forma produktu nie jest rozpowszechniana z kodem źródłowym, muszą istnieć dobrze nagłośnione sposoby uzyskania kodu źródłowego za rozsądną cenę nie przekraczającą rozsądnego kosztu powielania, najlepiej pobieranie przez Internet bez opłat. Kod źródłowy musi być preferowaną formą, w której programista zmodyfikuje program. Celowo zaciemniony kod źródłowy jest niedozwolony. Formy pośrednie, takie jak dane wyjściowe preprocesora lub tłumacza, są niedozwolone.
Dzieła pochodne Licencja musi dopuszczać modyfikacje i dzieła pochodne oraz umożliwiać ich dystrybucję na takich samych warunkach jak licencja oryginalnego oprogramowania.
Integralność kodu źródłowego autora Licencja może ograniczać rozpowszechnianie kodu źródłowego w zmodyfikowanej formie tylko wtedy, gdy licencja zezwala na dystrybucję „plików łatek” wraz z kodem źródłowym w celu modyfikacji programu w czasie kompilacji. Licencja musi wyraźnie zezwalać na dystrybucję oprogramowania zbudowanego ze zmodyfikowanego kodu źródłowego. Licencja może wymagać, aby utwory pochodne nosiły inną nazwę lub numer wersji niż oryginalne oprogramowanie.
Zakaz dyskryminacji osób lub grup Licencja nie może dyskryminować żadnej osoby lub grupy osób.
Zakaz dyskryminacji w obszarach działalności Licencja nie może nikomu ograniczać możliwości korzystania z programu w określonym obszarze działalności. Na przykład, nie może ograniczać możliwości używania programu w biznesie lub badań genetycznych.
Dystrybucja licencji Prawa związane z programem muszą obowiązywać wszystkich, do których program jest rozpowszechniany bez potrzeby wykonywania dodatkowej licencji przez te strony.
Licencja nie może być specyficzna dla produktu Prawa związane z programem nie mogą zależeć od tego, czy program jest częścią określonej dystrybucji oprogramowania. Jeśli program zostanie wyodrębniony z tej dystrybucji i będzie używany lub dystrybuowany zgodnie z warunkami licencji programu, wszystkie strony, którym program jest rozpowszechniany, powinny mieć takie same prawa, jak te, które są przyznawane w połączeniu z oryginalną dystrybucją oprogramowania.
Licencja nie może ograniczać innego oprogramowania Licencja nie może nakładać ograniczeń na inne oprogramowanie dystrybuowane wraz z oprogramowaniem licencjonowanym. Na przykład licencja nie może wymagać, aby wszystkie inne programy dystrybuowane na tym samym nośniku musiały być oprogramowaniem typu open source.
Licencja musi być neutralna pod względem technologicznym Żadne postanowienie licencji nie może być oparte na żadnej indywidualnej technologii lub stylu interfejsu.
Te definicje, choć wywodzą się z bardzo różnych ideologii, są zasadniczo kompatybilne, a większość Wolnego Oprogramowania jest również oprogramowaniem Open Source i odwrotnie. Uważam jednak, że może się tak nie zdarzyć: oprogramowanie może być Open Source bez bycia wolnym lub być wolne bez bycia otwartym.
pytania
- Czy moje przekonanie jest prawidłowe? Czy oprogramowanie może wpaść do jednego obozu, a nie do drugiego?
- Czy faktycznie istnieje takie oprogramowanie? Proszę podać przykłady.
Wyjaśnienie
Już zaakceptowałem odpowiedź, ale wydaje się, że pomyliłem wiele osób, więc być może należy wyjaśnić. Ja nie pytając o różnicy między copyleft (lub „wirusowy”, choć nie lubię tego słowa) i nie-copyleft ( „liberalne”) licencji. Nie pytałem też o twoje osobiste idiosynkratyczne definicje „darmowy” i „otwarty”. Pytałem o „Wolne oprogramowanie zgodnie z definicją FSF” i „Oprogramowanie Open Source zgodnie z definicją OSI”. Czy te dwa zawsze są takie same? Czy można być jednym bez bycia drugim?
Wydaje się, że odpowiedź jest taka, że nie można być wolnym bez bycia otwartym, ale można być otwartym bez bycia wolnym. Dziękuję wszystkim, którzy faktycznie odpowiedzieli na pytanie.