Визначення "Вільного ПЗ" від Фонду Вільного ПЗ:
"Вільне програмне забезпечення" - це питання свободи, а не ціни. Щоб зрозуміти цю концепцію, слід думати про "вільне", як "вільне слово", а не як "безкоштовне пиво".
Вільне програмне забезпечення - це питання свободи користувачів запускати, копіювати, поширювати, вивчати, змінювати та вдосконалювати програмне забезпечення. Точніше, це означає, що користувачі програми мають чотири основні свободи:
- Свобода запуску програми з будь-якою метою (свобода 0).
- Свобода вивчати, як працює програма, і змінювати її, щоб вона зробила те, що ти бажаєш (свобода 1). Доступ до вихідного коду є необхідною умовою цього.
- Свобода перерозподіляти копії, щоб ви могли допомогти ближньому (свобода 2).
- Свобода розповсюдження копій модифікованих версій іншим (свобода 3). Роблячи це, ви можете дати всій громаді можливість скористатися своїми змінами. Доступ до вихідного коду є необхідною умовою цього.
Програма - це безкоштовне програмне забезпечення, якщо користувачі мають усі ці свободи. Таким чином, ви можете вільно розповсюджувати копії, з модифікаціями або без них, або безкоштовно, або стягуючи плату за розповсюдження будь-кому в будь-якому місці. Бути вільним робити це означає (серед іншого), що вам не потрібно просити чи платити за це дозвіл.
Визначення "програмного забезпечення з відкритим кодом" від Ініціативи з відкритим кодом:
Відкритий код не означає лише доступ до вихідного коду. Умови розповсюдження програмного забезпечення з відкритим кодом повинні відповідати наступним критеріям:
Безкоштовний перерозподіл Ліцензія не повинна обмежувати жодну сторону від продажу чи надання програмного забезпечення як складової сукупного розповсюдження програмного забезпечення, що містить програми з кількох різних джерел. Ліцензія не вимагає роялті чи іншої плати за такий продаж.
Вихідний код Програма повинна включати вихідний код і повинна дозволяти розповсюджувати вихідний код, а також компільовану форму. Якщо певна форма продукту не поширюється з вихідним кодом, повинні бути широко оприлюднені засоби отримання вихідного коду не більше ніж розумні витрати на відтворення, бажано, завантаження через Інтернет безкоштовно. Вихідний код повинен бути бажаною формою, в якій програміст міняв би програму. Навмисно затуманений вихідний код заборонено. Проміжні форми, такі як вихід препроцесора або перекладача, не допускаються.
Отримані твори Ліцензія повинна допускати модифікації та похідні твори, а також повинна поширювати їх за тими ж умовами, що і ліцензія оригінального програмного забезпечення.
Цілісність вихідного коду автора Ліцензія може обмежувати розповсюдження вихідного коду в модифікованому вигляді лише в тому випадку, якщо ліцензія дозволяє розповсюджувати "патч-файли" з вихідним кодом з метою зміни програми під час збирання. Ліцензія повинна чітко дозволяти розповсюдження програмного забезпечення, побудованого з модифікованого вихідного коду. У ліцензії можуть знадобитися похідні твори, які мають інше ім'я або номер версії від оригінального програмного забезпечення.
Заборона дискримінації осіб або груп Ліцензія не повинна дискримінувати будь-яку особу чи групу осіб.
Немає дискримінації щодо польових зусиль Ліцензія не повинна забороняти нікому користуватися програмою у певному напрямку. Наприклад, це може не обмежувати використання програми у бізнесі або використання генетичних досліджень.
Розподіл ліцензії Права, що додаються до програми, повинні стосуватися всіх, кому програма перерозподіляється без необхідності виконання додаткової ліцензії цими сторонами.
Ліцензія не повинна бути специфічною для продукту Права, що додаються до програми, не повинні залежати від того, що програма є частиною певного розповсюдження програмного забезпечення. Якщо програма витягнута з цього розповсюдження і використовується або розповсюджується в межах ліцензії програми, всі сторони, яким програма перерозподілена, повинні мати ті ж права, що і ті, які надаються спільно з оригінальним розповсюдженням програмного забезпечення.
Ліцензія не повинна обмежувати інше програмне забезпечення Ліцензія не повинна обмежувати інше програмне забезпечення, яке поширюється разом з ліцензійним програмним забезпеченням. Наприклад, ліцензія не повинна наполягати на тому, що всі інші програми, що поширюються на тому ж носії, повинні мати програмне забезпечення з відкритим кодом.
Ліцензія повинна бути технологічно нейтральною. Надання жодної ліцензії на будь-яку індивідуальну технологію чи стиль інтерфейсу не може передбачатись.
Ці визначення, хоча вони випливають із дуже різних ідеологій, є широко сумісними, і більшість вільних програм є також програмним забезпеченням з відкритим кодом та навпаки. Я вважаю, однак, що це може бути не так: програмне забезпечення може бути з відкритим кодом, не будучи вільним, або бути вільним без відкритого коду.
Запитання
- Чи вірна моя віра? Чи можливо програмне забезпечення потрапляти в один табір, а не в інший?
- Чи існує таке програмне забезпечення насправді? Наведіть, будь ласка, приклади.
Уточнення
Зараз я вже прийняв відповідь, але, здається, я бентежив багато людей, тому можливо уточнення в порядку. Мене не запитували про різницю між copyleft (або "вірусною", хоча мені цей термін не подобається) та ліцензіями, які не копіюють ("permissive"). Я також не питав про ваші особисті ідіосинкратичні визначення "вільного" та "відкритого". Я запитував про "Вільне програмне забезпечення, визначене FSF" та "Програмне забезпечення з відкритим кодом, як визначено OSI". Чи обоє завжди однакові? Чи можливо бути одним, не бути іншим?
І відповідь, здається, полягає в тому, що неможливо бути вільним без відкриття, але можливо бути відкритим, не будучи вільним. Дякую всім, хто насправді відповів на питання.