Домашня » як » Що таке програмне забезпечення з відкритим кодом, і чому це важливо?

    Що таке програмне забезпечення з відкритим кодом, і чому це важливо?

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

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

    Зображення: Quinn Dombrowski на Flickr

    Визначення відкритого джерела

    Якщо програма є з відкритим вихідним кодом, її вихідний код вільно доступний для його користувачів. Його користувачі - і будь-хто інший - мають можливість взяти цей вихідний код, змінити його і розповсюдити свої власні версії програми. Користувачі також мають можливість поширювати стільки копій оригінальної програми, скільки захочуть. Будь-яка людина може використовувати програму для будь-яких цілей; немає ліцензійних зборів або інших обмежень на програмне забезпечення. ВОІ має більш детальне визначення «відкритого коду» на своєму веб-сайті.

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

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

    Firefox, Chrome, OpenOffice, Linux і Android є популярними прикладами програмного забезпечення з відкритим кодом, в той час як Microsoft Windows є, мабуть, найпопулярнішою програмою з закритим кодом..

    Відкритий вихідний код і вільне програмне забезпечення

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

    Однак, це не те, що належить до "вільного програмного забезпечення". «Вільний» у вільному програмному забезпеченні означає «вільний, як у свободі», а не «вільний, як у пиві». Табір вільного програмного забезпечення, очолюваний Річардом Столлманом та Фондом вільного програмного забезпечення, зосереджується на етиці та моралі використання програмного забезпечення, яке може бути контролюється і змінюється користувачем. Іншими словами, табір для вільного програмного забезпечення зосереджується на свободі користувачів.

    Річард Столлман. Зображення від Fripog на Flickr.

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

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

    Типи ліцензій

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

    GPL або GNU General Public License широко використовується багатьма проектами з відкритим кодом, наприклад Linux. На додаток до всіх вищевикладених визначень з відкритим вихідним кодом, умови GPL вказують, що якщо хтось змінює програму з відкритим вихідним кодом і поширює похідну роботу, вони також повинні поширювати вихідний код для своєї похідної роботи. Іншими словами, ніхто не може приймати відкритий код і створювати з неї закриту програму - вони повинні звільнити свої зміни назад до спільноти. З цієї причини корпорація Microsoft називала GPL "вірусною", оскільки вона змушує програми, що містять GPL-код, випускати власний вихідний код. Звичайно, розробники програми можуть не використовувати код GPL, якщо це є проблемою.

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

    Переваги для користувачів

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

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

    Коли робочий стіл Linux, як Ubuntu, вводить новий інтерфейс робочого столу, який деякі користувачі не є фанатами, користувачі мають більше можливостей. Наприклад, коли GNOME 3 було випущено, багато користувачів настільних комп'ютерів Linux були однаково вимкнуті. Деякі взяли код до старої версії, GNOME 2, і змінили його, щоб він працював на останніх дистрибутивах Linux - це MATE. Деякі взяли код до GNOME 3 і змінили його, щоб він працював так, як їм подобається - це Cinnamon. Деякі користувачі просто перейшли на існуючі альтернативні стільниці. Якщо Windows є відкритим кодом, користувачі Windows 8 матимуть більше вибору та гнучкості. Просто погляньте на CyanogenMod, популярний, керований спільнотою розподіл Android, який додає функції та підтримку нових пристроїв.

    Open-source програмне забезпечення також дозволяє розробникам «стояти на плечах гігантів» і створювати власне програмне забезпечення. Свідок Android і Chrome OS, які є операційними системами, побудованими на Linux і іншому відкритому програмному забезпеченні. Ядро OS X від Apple - і, отже, iOS - було також побудовано на відкритому коді. Valve люто працює над перенесенням своєї ігрової платформи Steam до Linux, оскільки це дозволить їм створювати власне апаратне забезпечення та контролювати свою власну долю таким чином, що неможливо на Windows.


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