Більшість програмного забезпечення, яке ви завантажуєте, є «чорною скринькою». Воно поставляється у попередньо скомпілюваному вигляді, позбавлене своєї внутрішньої логіки та закрите за платним доступом. Ви не можете налаштувати його. Ви не можете побачити, як вона працює. Воно просто працює.
Програмне забезпечення з відкритим кодом повністю змінює цю модель. Воно дає ключі від двигуна.
Різниця між скомпільованим кодом та вихідним кодом
Коли розробники пишуть додаток, вони використовують зрозумілу для людини мову, яка називається вихідним кодом. Потім компілятор перекладає цей код машинною мовою — ті самі нулі та одиниці, які фактично виконує ваш комп’ютер. Цей кінцевий продукт є компільованою версією.
Для комерційного програмного забезпечення ця компіляція є функцією, а чи не помилкою. Вона приховує інтелектуальну власність розробника. Конкуренти не можуть легко скопіювати логіку. Користувачі не можуть легко виправити помилки глибоко в ядрі.
Програмне забезпечення з відкритим вихідним кодом включає як скомпільовану версію, так і вихідний код. Мета полягає не лише у прозорості. Мета – у можливості модифікації.
«Дозволяючи будь-якій зацікавленій особі змінювати вихідний код, програма стає більш корисною та позбавленою помилок у довгостроковій перспективі».
Що насправді визначає програмне забезпечення з відкритим вихідним кодом?
Не кожна безкоштовна програма є програмним забезпеченням з відкритим кодом. У галузі є суворі критерії. Щоб отримати цей статус, програмне забезпечення має відповідати конкретним юридичним та технічним стандартам.
- Вільне поширення: Програмне забезпечення можна вільно розповсюджувати. Воно навіть може бути частиною упаковки, що продається.
- Наявність вихідного коду: Вихідний код має бути доступним.
- Право на модифікацію: Будь-який може змінювати код.
- Перерозподіл змінених версій: Ви можете ділитися доробками з іншими.
- Недискримінаційна ліцензія: Ліцензія не може обмежувати використання з іншим програмним забезпеченням або заважати роботі інших програм.
Ці правила гарантують, що відкритість – це не просто рекламний buzzword (модне слово). Це enforceable (примусово виконуваний) стандарт.
Linux: Історія успіху відкритого вихідного коду
Наочним прикладом цієї моделі у дії є Linux.
У 1991 році Лінус Торвальдс, студент університету Гельсінкі, почав роботу над новою операційною системою. Він заснував її на Minix, похідній від Unix. Він випустив версію 0.02 під ліцензією GNU General Public License. Ця ліцензія надає юридичну основу для програмного забезпечення з відкритим кодом.
Люди завантажували код. Програмісти його модифікували. Торвальдс отримував ці патчі протягом наступних трьох років. Він включав їх у базову версію. Linux 1.0 з’явився у 1994 році.
Це не було поодиноким зусиллям. То була модель розподіленої розробки. Код покращувався, бо тисячі очей стежили за ним.
Розрив у підтримці та бізнес-модель
Тут все складніше для звичайних користувачів.
Програмне забезпечення з відкритим кодом зазвичай постачається без гарантії. Без технічної підтримки. Якщо воно зламається, ви залишитеся віч-на-віч із проблемою. Ліценція заохочує кастомізацію, що робить стандартизацію підтримки практично неможливою.
То хто ж це робить?
Red Hat Software вирішила цю проблему. Заснована в 1994 році, компанія Red Hat запакувала Linux як «Офіційний Red Hat Linux». Вони не володіли кодом. Вони мали сервіс.
Вони надали гарантію. Вони надали технічну підтримку.
Для бізнесу ця впевненість є вирішальним чинником. Багато компаній воліють купувати Linux, що підтримується, замість скачування безкоштовних копій. Вони платять за стабільність, а не за код. Інші компанії наслідували їхній приклад, упаковуючи Linux з додатковими інструментами для перепродажу.
За межами Linux: Інші важливі інструменти з відкритим вихідним кодом
Linux – не єдиний гравець на ринку. Декілька фундаментальних технологій, що забезпечують роботу інтернету, спираються на принципи відкритого вихідного коду.
- Mozilla: Основний движок браузера Netscape.
- Apache: Веб-сервер, що забезпечує роботу величезної частини Інтернету.
- PERL: Мова сценаріїв для веб-розробки.
- PNG: Формат графічних файлів, розроблений для стиснення без втрат.
Ці інструменти є безкоштовними для використання. Вони є безкоштовними для модифікації. Вони формують те, як ми взаємодіємо з Інтернетом щодня.
Чому це важливо для вас?
Ви можете подумати, що відкритий вихідний код впливає лише на розробників. Це негаразд.
Коли ви використовуєте пристрій на базі Linux. Коли ви відвідуєте сайт, розміщений на Apache. Коли ви використовуєте браузер, побудований на движку Gecko. Ви використовуєте програмне забезпечення, яке теоретично можна перевірити. Ви використовуєте програмне забезпечення, яке не може бути заблоковане однією корпорацією.
Поріг входу вищий. Вам потрібно знати, як його встановити. Вам потрібно знати, де знайти підтримку. Але компроміс полягає у контролі.
Інтернет працює на цих протоколах. Майбутнє програмного забезпечення залежить від того, чи будемо ми тримати двері відчиненими.


















































