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

Page last edited 705 днів 10 годин тому
Матеріал з Українською
Перейти до: навігація, пошук

Відкритий вихідний код. Що це означає?[ред.]

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

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

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

Щоб програма розглядалася індустрією розробки програмного забезпечення як програмне забезпечення з відкритим вихідним кодом, вона повинна відповідати певним критеріям:

Програма повинна бути вільно поширюваної (В той же час вона може бути частиною комерційного пакету програм, як, наприклад, у згаданому прикладі компанія Red Hat надійшла з Linux).

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

Розглянемо реальний приклад отримав всесвітнє розповсюдження програмного забезпечення з відкритим вихідним кодом. У 1991 році Linus Torvalds, студент Гельсінського університету в Фінляндії, розробив нову операційну систему, засновану на Minix, похідною від Unix, яку він назвав Linux. Torvalds випустив 0.02 версію Linux під відкритим ліцензійною угодою GNU (GNU General Public License), в якому міститься хороше юридичне визначення програмного забезпечення з відкритим вихідним кодом. Безліч людей по всьому світу завантажили Linux і почали працювати з ним. Багато з цих користувачів самі були програмістами і внесли зміни до вихідної код, який опублікував Torvalds. Протягом наступних трьох років Torvalds отримував ці модифіковані версії від інших програмістів, об'єднав безліч змін в базову версію і в 1994 році випустив Linux версії 1.0.

Відсутність гарантії та технічної підтримки викликає загальну стурбованість споживачів, охочих використовувати програмне забезпечення з відкритим вихідним кодом. Підтримувати таке програмне забезпечення майже неможливо, оскільки ліцензія цього програмного забезпечення заохочує зміна і удосконалення програм. Ось чому заснованої в 1994 році компанії Red Hat Software, яка створила «Офіційний Red Hat Linux» («Official Red Hat Linux» ) вдається продавати це в загальному-безкоштовне програмне забезпечення. Найбільш цінною рисою, яку Red Hat додає до пакету програм, є наявність гарантії та технічної підтримки. Для більшості підприємств забезпечення технічної підтримки є ключовим фактором при прийнятті рішення про купівлю Linux замість того, щоб просто завантажити його безкоштовно. Окрім Red Hat, деякі інші компанії також створили пакети з Linux, призначені для перепродажу, причому такі пакети зазвичай комплектуються додатковим програмним забезпеченням.

Крім Linux, Mozilla (ядро браузера Netscape), Apache (Web-сервер), PERL (мова підготовки Web-сценаріїв) і PNG-формат графічних файлів), існує ще безліч прикладів дуже популярного програмного забезпечення, що базується на використанні відкритих вихідних кодів.