Що таке open source і які права він дає?
Автор: Редакція Domeny.ForSale Опубліковано
Коротко: Open source — це програмне забезпечення, доступне за ліцензією, яка дозволяє користуватися ним, аналізувати код, змінювати його та поширювати на визначених умовах. Це не означає автоматично безплатної послуги чи відсутності обмежень. Те, що ви можете робити з програмою, визначає її ліцензія, а не сам факт публікації коду в інтернеті.
Що означає відкритий вихідний код?
Вихідний код — це інструкції програми, записані мовою програмування й зрозумілі людям, які знають цю мову. Доступ до нього дозволяє перевірити, як працює застосунок, виправити помилку або пристосувати функції до власних потреб. У випадку закритого програмного забезпечення користувач зазвичай отримує готовий продукт без таких прав і без повного доступу до вихідного коду.
Проте open source означає більше, ніж можливість прочитати код. Ліцензія має дозволяти, зокрема, його зміну й подальше поширення, також для комерційного використання. Репозиторій, тобто місце зберігання коду та історії змін, може бути публічним і водночас містити програму, яку не дозволено вільно змінювати чи поширювати.
Приклади відкритого програмного забезпечення — браузер Firefox, графічний редактор GIMP і WordPress, система керування вмістом вебсайту. Щоб користуватися ними, не обов’язково бути програмістом. Доступність вихідного коду важлива й для користувача: вона дозволяє доручити розвиток або виправлення програми іншому виконавцеві, якщо вдасться знайти фахівця з потрібними навичками.
Open source, безплатна програма та платна послуга
«Безплатний» описує ціну, а «open source» — права на програмне забезпечення. Безплатний застосунок може мати закритий код і забороняти його зміну. Натомість розробник відкритої програми може стягувати плату за її поширення, впровадження, обслуговування, додаткові послуги чи технічну підтримку.
Наочний приклад — сайт на WordPressie. Сама система є відкритим програмним забезпеченням, але домен, сервер, налаштування та обслуговування сайту можуть потребувати витрат. До того ж не всі теми, плагіни й пов’язані послуги мають ті самі умови використання, що й основна програма.
Самостійне встановлення дає більше контролю над середовищем, але водночас покладає на вас відповідальність за оновлення та резервні копії. Платна послуга з адмініструванням може охоплювати частину цих завдань. Тож, порівнюючи пропозиції, перевіряйте не лише ціну ліцензії, а й загальну вартість роботи інструмента та обсяг обов’язків постачальника.
Яке значення має ліцензія?
Ліцензія визначає умови, на яких автор дозволяє користуватися твором. Open source не означає відмови від авторських прав. Інформацію про дозволені дії шукайте у файлі LICENSE, документації проєкту та матеріалах, доданих до конкретної версії програми.
Дві поширені групи ліцензій відрізняються насамперед обов’язками під час подальшого поширення коду:
- Дозвільні ліцензії, наприклад MIT і Apache 2.0, дозволяють широко використовувати код, зокрема в закритих продуктах, за умови дотримання їхніх вимог. Серед них — збереження відповідних повідомлень про авторські права та ліцензію.
- Ліцензії copyleft, наприклад GPL, у визначених ситуаціях вимагають надавати вихідний код програми, яку передають іншим, або її модифікацій на зазначених умовах. Обсяг обов’язків залежить від ліцензії та способу поєднання й поширення коду.
Саме по собі використання програми за ліцензією GPL у компанії не означає автоматичного обов’язку опублікувати власні документи чи все програмне забезпечення компанії. Важливо розрізняти використання, зміну та передавання програми іншим. Деякі ліцензії, як-от AGPL, також охоплюють визначені випадки надання користувачам доступу до зміненої програми через мережу.
Це загальне пояснення, а не індивідуальна юридична консультація. Перш ніж включати чужий код до продукту, який ви продаєте, перевірте офіційний текст відповідної ліцензії та ліцензії залежностей — бібліотек, потрібних для роботи програми. Якщо виникають сумніви, проконсультуйтеся щодо запланованого способу використання.
Чи безпечне open source і чи продовжується його розвиток?
Відкритий код дає змогу провести незалежну перевірку, але не доводить, що хтось справді її провів. Безпека залежить, зокрема, від якості проєкту, реагування на повідомлення про помилки та регулярного встановлення виправлень. Відкрита програма може мати належну підтримку або бути покинутою розробниками — так само, як і закритий продукт.
Не кожен проєкт створюється зусиллями великої спільноти. Його може розвивати компанія, фонд, невелика команда або одна людина. Користувач не отримує автоматичної гарантії допомоги чи визначеного строку усунення збою; такі зобов’язання можуть бути передбачені окремим договором про підтримку.
Перед впровадженням перегляньте історію випусків, документацію, повідомлення про безпеку та порядок опрацювання звернень. Сама кількість людей, зацікавлених у проєкті, не замінює цих відомостей. Якщо програма зріла, відсутність частих випусків не обов’язково означає проблему. Проте відсутність реакції на серйозні несправності — тривожний сигнал.
Як оцінити, чи підходить відкритий інструмент для завдання?
Припустімо, ви вибираєте систему для сайту компанії. Відкритий код дасть реальну перевагу, якщо вам потрібні нестандартні функції, контроль над установленою системою або можливість змінити виконавця. Якщо у вас немає людини, відповідальної за обслуговування, зручнішою може бути послуга з чітко описаною підтримкою — зокрема й на основі open source.
Перш ніж ухвалити рішення, проведіть короткий тест:
- Установіть пробну версію в середовищі без даних клієнтів і перевірте виконання найважливішого завдання, наприклад публікацію пропозиції.
- Перевірте ліцензію програми та потрібних доповнень.
- Перевірте експорт даних, створення резервної копії та можливість відновлення з неї.
- Визначте, хто встановлюватиме оновлення й усуватиме збої, та оцініть вартість цієї роботи.
Робіть вибір на основі результатів тесту й ваших можливостей обслуговувати програму, а не лише позначки «open source».
Дивіться також: Що таке 2FA?
