Перейти до основного вмісту

Чому відкритий вихідний код має значення

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

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

Підсумок

  • Відкритий вихідний код означає, що базова технологія загальнодоступна для використання, копіювання, вдосконалення або створення нових рішень на її основі будь-ким.
  • Сучасне цифрове життя обмінює вашу незалежність на зручність. Вільне та відкрите програмне забезпечення — це практичний шлях назад, який забезпечує вам приватність і захист від фінансової експлуатації.
  • Вам не потрібно вміти читати код, щоб отримати від нього користь. Відкритість означає, що незалежні експерти можуть перевірити, що насправді робить програмне забезпечення, і їхній ретельний аналіз захищає всіх.
  • Етеріум створюється відкрито. Його специфікації, клієнтське програмне забезпечення та навіть цей вебсайт може перевірити та вдосконалити будь-хто.

Коли речі, які ви купуєте, перестають бути вашими

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

Це не гіпотетично.

У 2009 році компанія Amazon отримала доступ до пристроїв Kindle своїх клієнтів і віддалено видалила книги, які люди купили та за які заплатили.[1] Зовсім недавно, у 2024 році, Spotify припинив випуск свого пристрою Car Thing і віддалено вимкнув пристрої, які придбали клієнти.[2]

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

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

Що означає «вільне та відкрите»?

Вільне та відкрите програмне забезпечення (FLOSS, також пишеться як FOSS) — це програмне забезпечення, вихідний код якого є загальнодоступним, щоб будь-хто міг його запускати, вивчати, поширювати та вдосконалювати. Уявіть собі страву, яка постачається з повним рецептом: ви можете перевірити інгредієнти, приготувати її самостійно, передати іншим або зробити її кращою. Закрите програмне забезпечення тримає рецепт та інгредієнти в таємниці, тому одна компанія вирішує, що туди входить, хто може їсти та чи дізнаєтеся ви про це взагалі.

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

  • Linux, основа кожного телефону на базі Android і більшості серверів, що стоять за вебсайтами, які ви відвідуєте.
  • Firefox, один із небагатьох великих браузерів із власним незалежним рушієм.
  • Signal, застосунок для обміну повідомленнями, протокол шифрування якого також захищає кожне повідомлення у WhatsApp.
  • VLC, медіаплеєр, який відкриває файли, що не під силу жодному іншому.
  • LibreOffice, повноцінний офісний пакет, який читає документи, що у вас уже є.

«Вільне» тут означає свободу, а не ціну. Програма може коштувати грошей і при цьому залишатися вільним програмним забезпеченням; безкоштовний застосунок може бути закритим і обмежувальним.

Ідея проста: якщо компанія контролює код, компанія контролює користувача. Вільне програмне забезпечення змінює це. Воно гарантує, юридично та назавжди, що програмне забезпечення підпорядковується вам. Простими словами, воно надає чотири свободи:[3]

Вільне використання

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

Вивчення та модифікація

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

Поширення

Надавайте іншим людям точні копії програми, щоб вони також могли нею користуватися.

Розповсюдження модифікацій

Випускайте свою модифіковану версію, щоб ширша спільнота могла отримати користь від ваших змін.

Переваги відкритого вихідного коду

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

Довіра, яку можна перевірити

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

Свобода переходу

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

Програмне забезпечення, яке переживає свого творця

Коли компанія закривається або змінює напрямок, відкритий код дозволяє будь-кому підтримувати роботу проєкту.

Кращі способи спільної роботи

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

Право на ремонт

Пристрій зазвичай вмирає разом зі своїм програмним забезпеченням. Оновлення припиняються, сервер вимикається, і робоче апаратне забезпечення стає сміттям. Рух за право на ремонт бореться з цим на законодавчому рівні, вимагаючи, щоб придбане вами обладнання можна було відремонтувати в разі поломки; відкритий вихідний код — це програмна половина тієї ж боротьби. Коли код може прочитати та перезібрати будь-хто, хто володіє пристроєм, він переживає інтерес розробника продати вам наступну версію.

Свобода публікації

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

Право на форк

Якщо супроводжувачі ведуть проєкт у поганому напрямку, спільнота може скопіювати код і продовжити власний шлях. Популярні інструменти, такі як LibreOffice, Jenkins та OpenTofu, існують завдяки тому, що спільноти скористалися цим правом, коли корпоративні власники змінили курс. Форки — це захист від захоплення.

Як перейти на застосунки з відкритим вихідним кодом

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

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

Застосунки з відкритим вихідним кодом

Відкритий вихідний код і ШІ

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

Підказки для ШІ, які допоможуть вам почати

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

Речі, про які варто запитати. Натисніть на будь-яку картку, щоб скопіювати її, а потім заповніть пропуски:

Одне налаштування ШІ, яке варто змінити

Додайте «завжди віддавай перевагу вільним варіантам і варіантам із відкритим вихідним кодом, а також повідомляй мені ліцензію» до конфігурації вашого асистента, і це стане налаштуванням за замовчуванням для кожної майбутньої розмови. Тоді відкриті альтернативи з'являтимуться у відповідях ШІ-асистента без необхідності спеціально про них просити.

Локальний запуск ШІ на власному комп'ютері

Більшість чат-асистентів є сервісами. Ваша підказка залишає ваш пристрій, компанія встановлює правила, а доступ може бути змінений, стати платним або припинений у будь-який час. Але так не повинно бути.

Моделі з опублікованими вагами можна завантажити та запустити на обладнанні, яким ви вже володієте. Жодного акаунта. Жодного ключа API. Жодної підписки. Нічого нікуди не надсилається, тому ви можете відключити мережу і продовжувати працювати. І як тільки файл опиниться на вашому диску, він ваш. Ніхто не може визнати вашу локальну модель ШІ застарілою, непомітно змінити її або забрати. Модель, яку ви завантажите сьогодні, все одно відповідатиме на запитання на цій машині через десять років.

Три способи почати:

Відкритість поза межами коду

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

Організації, що захищають цифрові права

Також варто знати:

Відкриті знання

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

Чому Етеріум має відкритий вихідний код?

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

  • Правила мережі реалізуються кількома незалежними командами, тому жодна компанія не контролює, що вона робить.
  • Будь-хто може запустити вузол і незалежно перевіряти мережу.
  • Дослідники та розробники відкрито обговорюють зміни протоколу.
  • Контриб'ютори можуть покращувати код, документацію, переклади, освітні матеріали, інструменти та ресурси спільноти.

Інше майбутнє можливе — таке, де відкритість закладена в основу, а речі, на які ви покладаєтеся, продовжують працювати на вас.

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

Пропрієтарне, з відкритим вихідним кодом і вільне програмне забезпечення: у чому різниця?

Слово «відкритий» використовується вільно, і відмінності мають значення. Чотири сімейства охоплюють майже все, з чим ви зіткнетеся:

Типові ліцензії: Жодної ліцензії на вихідний код узагалі

Реальні приклади: Windows, iOS, Photoshop

Типові ліцензії: BUSL 1.1, SSPL, багато ліцензій «open core». Не схвалені OSI (відкривається в новій вкладці).

Реальні приклади: Terraform, який перейшов із відкритої MPL 2.0 на BUSL 1.1 у серпні 2023 року. Саме через цю зміну спільнота зробила форк OpenTofu.

Типові ліцензії: MIT, Apache 2.0, BSD, MPL 2.0

Реальні приклади: Лайтхаус, Рет, Бесу, Теку (Apache 2.0); Німбус (Apache 2.0 / MIT); цей вебсайт (MIT)

Типові ліцензії: GPL, LGPL, AGPL

Реальні приклади: Linux (GPL-2.0); Клієнти Етеріуму: go-ethereum (GPL-3.0 для бінарного файлу, LGPL-3.0 для його бібліотек); Призм, Незермайнд, Grandine, Solidity (GPL-3.0)

Етеріум працює на копілефті, а не лише на слові «відкритий»

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

Найважливіша інфраструктура Етеріуму постачається під власними копілефт-ліцензіями Free Software Foundation: go-ethereum — це GPL-3.0 із бібліотеками LGPL-3.0, а Призм, Незермайнд, Grandine та компілятор Solidity — GPL-3.0, тоді як Ерігон — під LGPL-3.0. Інші клієнти йдуть дозвільним шляхом: Лайтхаус, Рет, Бесу та Теку — це Apache 2.0.

Цей вебсайт має ліцензію MIT, і кожна зміна на цій сторінці є публічно видимою. Будь-хто може вільно перевірити вихідний код (відкривається в новій вкладці) або запропонувати зміни (відкривається в новій вкладці).

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

Поширені запитання

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

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

Це справедливе запитання, і відповідь на нього не є категоричним «ні». Публікація коду дійсно дозволяє зловмисникам вивчати його. Але це також дозволяє вивчати його всім іншим, а секретність має погану репутацію як захист: закрите програмне забезпечення має ті самі недоліки, які знаходять пізніше, розкривають за графіком постачальника та виправляють тоді, коли йому це зручно.

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

Більшість моделей ШІ, які описуються як відкриті, публікують свої ваги, але не дані для навчання чи код, який їх створив. Ви можете запускати та адаптувати їх; ви не можете повністю вивчити або перезібрати їх. Згідно з визначеннями, наведеними на цій сторінці, це ближче до доступного вихідного коду, ніж до вільного програмного забезпечення.

Це все одно значне покращення порівняно із закритою альтернативою. Завантажена вами модель із відкритими вагами працює без дозволу, не може бути відкликана, продовжує працювати, коли компанія, що стоїть за нею, змінює напрямок або зникає, і може бути незалежно протестована будь-ким, хто хоче перевірити її поведінку. Це ті самі переваги — свобода переходу та програмне забезпечення, яке переживає свого творця, — про які йдеться на решті цієї сторінки. Open Source AI Definition (відкривається в новій вкладці) від Open Source Initiative визначає, чого вимагала б повна відкритість, і кілька моделей, таких як OLMo від AI2 та Pythia від EleutherAI, уже відповідають цим вимогам.

Додаткова література

  1. Керівник Amazon каже, що видалення книг Орвелла було «дурницею» (відкривається в новій вкладці) — The New York Times (архів)
  2. Spotify офіційно вбиває Car Thing, решта пристроїв більше не працюють (відкривається в новій вкладці) — 9to5Google
  3. Визначення вільного програмного забезпечення (відкривається в новій вкладці) — Проєкт GNU

Пошук альтернатив