Навіщо технічні гіганти лізуть у відкритий код?
Linux, Mozilla Firefox, Apache та Nginx — опенсорсне програмне забезпечення, що використовується у продуктах різних компаній або безпосередньо кінцевими користувачами.
Вони мають відкритий вихідний код, що в залежності від ліцензії дає змогу переглядати, змінювати та поширювати його. Часто відкрите програмне забезпечення є також вільним.
Відкрите ПЗ надає можливість покращувати та підтримувати програму не лише її розробниками, а і спільнотою. Вільне програмне забезпечення — про більш глобальні речі: доступ до технологій та права людини на їх вільне використання, поширення та модифікацію.
Основна ідея і відкритого, і вільного ПЗ — FOSS — в тому, що кожен може долучитися до роботи над програмою або створити щось своє на базі вже готового рішення. Це має сприяти розвитку технологій, адже так не потрібно розробляти з нуля те, що вже існує. Але як у цю схему вписуються компанії, які зазвичай прагнуть знайти унікальне рішення, принцип роботи якого намагаються приховати від конкурентів?
Традиційно опенсорсне ПЗ розробляють ентузіасти. Тепер до цього долучаються і технічні гіганти. Компанії призначають співробітників для роботи над відкритими проєктами або відкривають свій вихідний код, щоб спільнота могла використовувати його та допомагати підтримувати.
Також компанії встигли придбати важливих розробників FOSS. Наприклад, IBM придбала Red Hat за 34 мільярди, а Microsoft придбав GitHub за 7,5 мільярдів. А ще — випустили власні прибуткові версії відкритих та вільних продуктів.
Чи добре, що технічні гіганти, такі як Google та Amazon, звернулися до опенсорсу — погнали розбиратися.
Навіщо компанії займаються відкритим кодом?
Курс на опенсорс означає внесок у надійність, підтримку спільноти та підвищення якості продукту. Проте найпотужніша мотивація бізнесів — прибуток. Тож що їм дає відкритий вихідний код?
Більший вплив на ринку
Опенсорсні рішення дозволяють компаніям охопити й розробників, й спільноту, а також впливати на платформи, якими вони користуються.
Microsoft
Розгляньмо на прикладі Visual Studio Code від Microsoft. Це — один з найбільших проєктів з відкритим кодом на GitHub. Компанії було невигідно підтримувати закрите середовище розробки, тим паче, що на ринку вже було IDE з відкритим кодом, яким всі користувались — Eclipse.
Відкривши код під ліцензією МІТ, Microsoft перевела спільноту розробників на своє середовище розробки, що добре інтегрується з іншими її продуктами — Azure Cloud і Azure DevOps.
Це дозволило компанії охопити більший ринок, а конкуренція з Eclipse Foundation — встановити стандарт для IDE. Як плюс: користувачі познайомляться з платформами розробки Microsoft, які можна використовувати з іншими продуктами компанії.
Це гра на довгу дистанцію. Всі щасливі: компанія заробила, а у спільноти з’явився ще один вільний якісний опенсорсний інструмент.
Підтвердження: з 2015 року VS Code встиг охопити велику авдиторію. В опитуванні Stack Overflow Developer Survey 2021 серед 82 000 респондентів його назвали найпопулярнішим інструментом середовища розробника, з них 70% ним користуються.
Те саме стосується і Google та оркестратора Kubernetes. Компанія могла б долучитися до розробки відкритих рішень, що вже існують, наприклад, Eclipse або OpenShift. Але є нюанс: такі проєкти модеруються незалежно та прагнуть залишатися нейтральними в плані постачальників.
Проте якщо ви користуєтеся вільним оркестратором або IDE, ваш код все одно має десь виконуватися, а тут якраз так доречно є рішення від Google. Теж гра на перспективу.
Важливо зауважити, що компанія сприяє розвитку FOSS. Вона пожертвувала гроші фонду Cloud Native Computing — одному з найбільших гравців і прихильників розробки відкритого ПЗ.
Розвиток технологій
Хоч компанії шукають рішення, які принесуть їм дохід, не варто розглядати таке опенсорсне ПЗ як щось погане. Великі корпорації мають більше ресурсів та можливостей, що може допомогти створити щось дійсно класне та корисне.
Взяти до прикладу кількість продуктів на базі Linux: сервери, смарт телевізори, годинники та холодильники, електронні книги, навігатори, роутери, камери спостереження та багато інших пристроїв, якими ми щодня користуємось.
Компанії допомагають зробити ці технології доступними для звичайних користувачів. Невідомо, що з цього ми б мали, якби ця ОС була пропрієтарною.
Ще більше опенсорсу
Участь компаній в опенсорсних проєктах або відкриття коду своїх продуктів має й інші плюси. Так у спільноти з’являється більше альтернатив та можливість обрати варіант під себе.
Хоч за великими проєктами на кшталт Kubernetes та VS Code стоять корпорації, розробники все одно можуть бути частиною цих проєктів, покращувати або пропонувати зміни. Вони можуть впливати на розвиток цих продуктів.
Це також підвищує якість ПЗ, адже будь-хто може подивитися код. Тож милицю на милиці спільнота точно не пропустить.
Відкритий вихідний код забезпечує прозорість та підвищує довіру до продукту: найуважніші помітять та повідомлять спільноту, якщо знайдуть підозрілі частини коду з прихованими функціями, яких за логікою не має бути. Наприклад, якщо програма збиратиме додаткові дані про вас без вашої згоди.
Переваги для розробників
Найважливіший ресурс технічних гігантів — розробники. Тож варто зазначити, що бізнес-модель компаній, що включає опенсорсні рішення, має свої переваги й для них.
Це гарна можливість для новачків замість пет-проєктів та калькуляторів взяти участь в іменитому проєкті. В процесі зможете перейняти досвід інших розробників, що також над ним працюють. А цей досвід використаєте на проєкті компанії, у якій працюватимете.
Тим паче якщо подаватиметесь до компанії, над опенсорсним рішенням якої вам вдалося попрацювати. Це означатиме, що ви орієнтуєтесь у продукті, тож зможете швидше надати бізнесу результат.
Робота над відкритими проєктами допоможе заробити репутацію серед інших розробників. А також вивчити нові мови програмування, фреймворки, та покращити свої навички. Одні плюси!
Загрози для відкритого коду
Той факт, що компанії скупають розробників відкритого ПЗ може витіснити звідти ентузіастів, а це загрожує його майбутньому. Якщо таке програмне забезпечення контролюватиметься компаніями, то від нього залишиться лише назва.
Провідні хмарні провайдери на основі компонентів FOSS побудували багатомільярдні проєкти. Навіщо тоді розробникам безплатно працювати над опенсорсними рішеннями у свій вільний час?
Ось, наприклад, що сталося між Amazon та Elastic.
Публічна компанія Elastic розробила Elasticsearch — пошуковий сервер з відкритим вихідним кодом, що використовують багато компаній таких, як Walmart і Audi.
Amazon взяла версію цього ПЗ, перепакувала її та продала своїм клієнтам майже під тією ж назвою. Компанія взяла відкритий код, що допомагав всій спільноті, та зробила себе єдиною, хто отримує від нього цінність.
Тут ми повертаємось до питання унікальних рішень, які компанії шукають, щоб підвищити прибуток.
Фактично, дії Amazon вписуються у картину «можливість використовувати, змінювати та розповсюджувати програмне забезпечення». Хоча має розповсюджуватися так само вільно.
Корпорації мають настільки великий вплив, що в більшості випадків залишаються безкарними. Тож як тоді спільноті продовжити взаємодіяти з великими компаніями, щоб це працювало на загальне благо?
Що із цим робити?
Розвиток технологій та FOSS буде швидшим та ефективнішим, якщо ентузіасти та корпорації працюватимуть разом. Бізнеси мають більше ресурсів, а добровільні розробники мають ідеї, що допомагатимуть усій спільноті.
Тож варто зосередитись на тому, як забезпечити правильну взаємодію. Кілька ідей для компаній:
- Чітка політика щодо відкритого вихідного коду. В ідеалі, вона має заохочувати працівників робити внесок в опенсорс.
- Компанії мають підвищити рівень обізнаності про FOSS, який вони використовують та знати про його вразливості.
- Мають пам’ятати про стабільність ПЗ і заохочувати співробітників зосереджуватись водночас на корисних для компанії функціях та загальній безпеці й обслуговуванні.
Так у нас буде більше якісних корисних інструментів та технологій, незалежно від того, хто саме їх розробив. Ось, наприклад, 25 інструментів DevOps з відкритим кодом, які полегшують роботу спеціалістів та дають сконцентруватися на досягненні цілей.
Опенсорс має залишатись відкритим до тих, хто прагне його розвивати 😉