Плюси та мінуси відкритого програмного забезпечення

Автор: Андрій Михалюк, CEO CoreWin

FOSS (безкоштовне програмне забезпечення з відкритим вихідним кодом) – це програмне забезпечення, вихідний код якого відкритий для всіх. Простими словами, це означає, що будь-хто може вільно отримувати доступ, поширювати та змінювати такий софт. На відміну від цього, пропрієтарне ПЗ захищене авторським правом, а вихідний код недоступний. І відкритий код, і комерційні продукти мають сильних прихильників у своїх лавах.

Одним з аргументів за відкритий код є те, що метод розробки програмного забезпечення з відкритим вихідним кодом значно перевершує комерційні методи. Над FOSS зазвичай працюють значно більші команди, а відкритість коду дозволяє набагато скоріше виявити вразливості. Зазвичай такі вразливості швидше знаходять зловмисники чи активісти, й про них значно швидше стає відомо як загалу, так і тим, хто розробляє FOSS.

Інші не погоджуються і вказують на важливість гарантії ефективності, яку заявляє велика комерційна компанія. Варто зазначити, що маркетингові заяви та справжні зобов’язання не є тотожними поняттями. Та саме тому, можуть і не надавати реальних гарантій.

Одне можна сказати точно: FOSS пройшов довгий шлях, починаючи з 80-х років (у 1983 стартував проєкт GNU). Тоді неможливо було уявити ведення бізнесу на програмному забезпеченні з відкритим кодом. Тепер FOSS використовується у багатьох компаніях, зокрема Amazon, IBM і Google. Часи, коли програмне забезпечення з відкритим кодом скептично сприймали підприємці та бізнес-професіонали, давно позаду. Більше того, все гучніше лунає голос тих, хто вважає що за відкритим кодом майбутнє, і це відбувається в першу чергу через зміну парадигми сприйняття, як софта в цілому, так і FOSS зокрема. Суспільство все менше сприймає ПЗ як продукт і все більше як договір про надання послуг.

Пов’язано це в першу чергу з двома факторами:

  • динамічність програмних засобів, коротший цикл розробки
  • чимраз більша непередбачуваність економічних реалій

З одної сторони, зараз писати код легко як ніколи. Є і прості для розуміння мови програмування високого рівня, як Python або JavaScript з безліччю бібліотек та фреймворків. Неймовірно багато безкоштовних відеоматеріалів, включно з відкритими лекціями Гарварду та величезна кількість форумів, таких як Stack Overflow. А також платні додатки-помічники редактора коду, які буквально дописують рядок за програміста. Інтернет також досі лихоманить ChatGPT та розмовами про те, що скоро програми писатимуть програми, а людині залишиться правильно поставити завдання.

З іншої, світ зараз не є стабільним і інструменти, які працювали рік тому, можуть бути вже застарілими або неактуальними для компанії. Ще вчора стандартом міг бути паперовий журнал продажів, а на сьогодні компанія змінює друге CRM-рішення. І це не завжди пов’язано з провалом попередньої системи, вона могла просто перестати відповідати завданням бізнесу. Про що говорити, вважається нормою оновлювати корпоративний вебсайт хоча б раз на 3 роки.

Тому мати безстрокову ліцензію на платне програмне забезпечення без підтримки та оновлень — це ведмежа послуга. Дуже ймовірно (практично гарантовано), що вимоги бізнесу до цього рішення будуть динамічними, це рішення потрібно буде доналаштовувати, а то і доопрацьовувати. Без підтримки розробника, без доступу до коду та часто-густо навіть без форуму користувачів самостійно це зробити практично нереально. А також достатньо швидко без систематичних оновлень це рішення перестане нормально працювати на оновлених ОС чи з іншими сторонніми компонентами (БД, вебсервер, інше) та стане вразливим.

Саме тому програмне забезпечення це по своїй суті не товар, а послуга. А отже немає принципової різниці, чи код як такий є закритим, чи відкритим. На перший план виходить рівень підтримки та гнучкості інтегратора, дистриб’ютора та команди розробки, які забезпечують роботу рішення та його адаптацію саме під вас.

З урахування цих тенденцій на ринку з’являються гібридні розробники. Які з однієї сторони працюють над FOSS рішеннями, з іншого ж мають штат розробників, службу підтримки та партнерський канал.

Плюси та мінуси

Давайте уважно розглянемо основні плюси та мінуси використання програмного забезпечення з відкритим кодом у бізнесі. А також поглянемо, як на них вплине наявність якісного сервісу поруч з безкоштовним ПЗ. Розберемо кожен пункт та розглянемо варіант гібридний, де сам код є безкоштовним, але за ним стоїть потужна компанія-розробник зі службою підтримки та наявним каналом партнерів у вашому регіоні.

Вартість

Плюс: Початкова вартість

Початкові витрати на програмне забезпечення з відкритим вихідним кодом майже відсутні. Вам просто потрібно завантажити код з оригінального джерела, і все готово. Якщо у вас обмежений бюджет, можливо, буде гарною ідеєю скористатися відкритим кодом, а не витрачати гроші на дорогі рішення. Але відсутність початкових витрат не означає, що їх немає… що приводить нас до нашого першого аргументу проти цього.

Мінус: Довгострокова вартість

Колись витрати на програмне забезпечення FOSS можуть зрости. Якщо виникне будь-яка проблема, яка потребує негайного вирішення, ви повинні будете відреагувати швидко. Однак, ви не можете натиснути на свого постачальника або підтримку розробника, оскільки вони відсутні. Замість цього вам доведеться або розв’язувати проблеми самостійно, або шукати зовнішню допомогу.

Мінус у такому випадку, як ми бачимо, впирається у відсутність підтримки розробником та партнера на місці. На практиці, хоча звично вважати, що саме у безкоштовного ПЗ відсутні ці елементи, вони можуть бути відсутні в конкретному регіоні і у платного рішення. А у випадку наявності компанії-розробника FOSS та мережі локальних партнерів — ці недоліки повністю нівелюються.

Висновок

В цьому розділі ми бачимо підтвердження тези, що софт це в першу чергу послуги. При достатньому рівні підтримки ПЗ з відкритим кодом дозволяє уникнути великих початкових інвестицій, але мати підтримку від розробників в критичній ситуації.

Надійність

Плюс: Надійність

Програмне забезпечення з відкритим кодом є дуже надійним. Зазвичай тисячі експертів-розробників працюють над створенням і постійним вдосконаленням такого ПЗ. Це означає, що є більше шансів, що хтось помітить недолік або помилку та швидко її виправить. Ще одна пара очей завжди є плюсом, або в цьому випадку сотні чи тисячі очей.

Мінус: Підтримка

Ключовою перевагою комерційного програмного забезпечення є обслуговування та підтримка. Саме цього зазвичай не вистачає софту з відкритим кодом. Комерційні постачальники пропонують постійну підтримку, і це важливо, якщо ви не володієте технічними навичками.

Однак, цей мінус знову-таки нівелюється у гібридному типі рішення, описаному вище.

Висновок

Для класичного безплатного софта відсутність постійної та оперативної підтримки є серйозною перепоною. Однак, оскільки за останніми тенденціями у безкоштовного ПЗ є компанія, яка стоїть за ним, то технічна підтримка є в наявності. Важливо не забути її придбати.

Довговічність

Плюс: Довговічність

Оскільки будь-хто може отримати доступ до вихідного коду, програмне забезпечення з відкритим кодом може постійно розвиватися. Будь-хто може зробити свій внесок у покращення ПЗ без будь-яких обмежень постачальників. Крім того, якщо комерційна компанія, яка створила програмне забезпечення, припиняє роботу, ви втрачаєте підтримку, виправлення та всі інші послуги, які вони включали. Це не стосується FOSS, оскільки ви можете звернутися за допомогою до спільнот користувачів або за потреби найняти окремих програмістів.

Мінус: Розробники можуть покинути проєкт

Завжди існує ймовірність, що розробники програми втратять інтерес до подальшої роботи над програмним забезпеченням або просто перейдуть до іншого проєкту. З огляду на це, як софт з відкритим кодом, так і пропрієтарне програмне забезпечення може бути припинено з будь-якої причини.

Висновок

На жаль, як для платного, так і для безкоштовного ПЗ завжди є ризик, що компанія збанкрутує, всі активісти втратять інтерес і софт перестане доопрацьовуватись. З усім тим, для гібридної компанії ризик того, що компанія закриється, не вище ніж для платних, але є додатковий ресурс у вигляді активістів, які можуть підтримувати рішення.

Безпека

Плюс: Безпека

Прихильники відкритого програмного забезпечення стверджують, що софт з відкритим вихідним кодом загалом більш безпечний, ніж пропрієтарне ПЗ. Помилки та інші проблеми, як правило, вирішуються, як тільки їх виявляють учасники спільноти.

Мінус: Безпека

Софт з відкритим кодом не розробляється в контрольованому середовищі. З огляду на те, що над програмним забезпеченням працюють сотні розробників, існує ймовірність, що деякі з них можуть мати зловмисні наміри. Для катастрофи потрібен лише один програміст, щоб включити віруси у в програмне забезпечення. У випадку закритого ПЗ лише розробники постачальника можуть переглядати та редагувати вихідний код.

Висновок

При гібридному підході рішення бере найкраще з обох світів. З одної сторони, безпеку переглядають всі охочі, а отже виявлення проблем значно пришвидшується. З іншої, у випадку наявності компанії-розробника, саме вони контролюють реліз основної вітки розробки. Так би мовити, «сертифікованої» версії рішення, а отже застосовують не менший рівень контролю якості, ніж платні рішення.

Фахівці про розвиток відкритого програмного забезпечення

На останок, ось що про ПЗ з відкритим кодом кажуть колеги, підтверджуючи, що ринок рухається в сторону трансформації від закритого коду до відкритого.

«Відкритий вихідний код продовжуватиме захоплювати кожну область, до якої торкається пропрієтарне програмне забезпечення. Ми побачимо більше (успішних) альтернатив програмного забезпечення з відкритим кодом (OSS) наявним інструментам, на які ми всі покладаємося. Буде збільшуватись і спільнота розробників, оскільки компанії та уряди продовжуватимуть збільшувати свої інвестиції в стратегію програмного забезпечення з відкритим кодом», — Avi Press, CEO of Scarf.

«Проблема, яка зараз постає [для всіх нас], полягає в тому, що розробка та підтримка програмного забезпечення з відкритим кодом традиційно значною мірою покладається на невеликі групи учасників із глибоким досвідом. Ці невеликі групи піклуються про проєкти, навіть якщо ці проєкти стають більш критичними для компаній і користувачів, тому цю технологію вбудовано в програми, якими користуються мільйони людей. Цей повсюдний рівень використання означає, що для того, щоб це програмне забезпечення продовжувало бути успішним, самі проєкти в кінцевому підсумку залежать від людей, які не отримують того рівня підтримки, якого вони потребують і заслуговують», — Amanda Brock, CEO of OpenUK.

«Від операційних систем до механізмів безпеки та потоку даних, прозорість і інклюзивність — це суть відкритого коду. Використовуючи [їхні глобальні об’єднані] спільні ресурси, розробники можуть надихнутися на інновації, створення та, зрештою, сприяти оптимізації організаційних операцій. Хмарні обчислення втілюють цей дух, забезпечуючи гнучке розгортання та співпрацю для проєктів з відкритим кодом і роблячи їх доступними для ширшої аудиторії», — Yangqing Jia, former Vice President of Alibaba Group.

Джерело цитат

Підписатися на новини