Історія розвитку ВПЗ
Зміст
1 Вільні ліцензії
2 Розробка ПЗ як наукове дослідження
3 Введення обмежень для ПО
4 Визначення вільного ПЗ
4.1 Open source software
5 Основна громадська ліцензія GNU
6 Спільнота розробників і користувачів
6.1 Взаємодопомога
6.2 Виправлення помилок
7 Філософія
8 Міграція на вільне ПЗ
9 Поширеність вільного і відкритого ПЗ
12 Посилання
Історія розвитку ВПЗ
У 50-70-х роках ВПЗ було звичним явищем для користувачів. Воно запросто поширювалось користувачами, котрі мали доступ до комп'ютерів та фірмами-виробниками, котрі раділи, що люди пишуть програми, котрі роблять роботу з їхніми пристроями зручнішою. В 70-х - на початку 80-х років компанії почали обмежувати ці свободи, захищати розроблені програми копірайтами та поширювати лише бінарні коди програм, щоб ускладнити або унеможливити вивчення та модифікацію програм.
У 1983 році Річард Столмен заснував проект GNU після того, як безпосередньо зіткнувся зі змінами у культурі користувачів та комп'ютерної індустрії в цілому. Розробка ПЗ для операційної системи GNU розпочалась у січні 1984 року, а Фонд Вільного Програмного Забезпечення (англ. Free Software Foundation, FSF) був заснований у жовтні 2005 року. Він ввів визначення ВПЗ та термін «copyleft» (буквально «авторське ліво») на противагу «copyright» («авторське право»)для позначення ВПЗ.
ВПЗ — це потужна міжнародна
співпраця по написанню програм,
котрі використовуються окремими людьми,
великими організаціями та урядовими
структурами. ВПЗ має величезну
вагу на ринку серверів та інтернет-
Економічні вигоди моделі
ВПЗ були розпізнані такими великими корпораціями як ІВМ,
Вільне програмне забезпечення (ВПЗ
, англ. Free software , також software libre або libre software
) , вільний софт - програмне забезпечення
, щодо якої права користувача ( «свободи»
) на необмежену установку , запуск , а також
вільне використання , вивчення , поширення
і зміна (вдосконалення ) захищені юридично
авторськими правами за допомогою вільних
ліцензій або на це програмне забезпечення
немає виняткових прав .
Як і безкоштовне ( freeware ) і безкоштовно розповсюджується програмне забезпечення , ВПЗ можна отримувати і використовувати безкоштовно (але конкретний розповсюджувач може стягувати плату за отримання у нього копій , за канали доставки , носії - компакт -диски або додаткові сервісні послуги). Однак freeware зазвичай поширюється в Исполнимости вигляді без вихідних кодів і є пропрієтарним ПО , а щоб ПЗ було вільним , одержувачам повинні бути доступні його вихідні коди , з яких можна створювати виконані файли , з відповідними ліцензіями . Також слід розрізняти вільне і відкрите ПЗ ( open source ) - хоча доступність вихідного коду для ВПЗ є обов'язковим, а багато відкриті програми є одночасно вільними , але відкритим іноді називають [ хто?] І деякий невільне пропрієтарне ПЗ ( наприклад , комерційне ПЗ з відкритим вихідним кодом , Shared source ) .
Бізнес-моделі ВПЗ , як правило, засновані на принципі розширення можливостей - наприклад , нові об'єкти застосування , навчання , інтеграція , настройка або сертифікація . У той же час , деякі бізнес - моделі , які працюють з пропрієтарним програмним забезпеченням , не сумісні з вільним програмним забезпеченням , особливо ті , які змушують користувачів платити за ліцензію , щоб законно використовувати програмний продукт.
Вільні ліцензії
Згідно з сучасним законодавством більшості країн , програмний продукт і його вихідний код охороняються авторським правом , яке дає авторам і правовласнику (найчастіше правовласником є організація - наймач учасника службових творів ) владу над зміною , поширенням , способом використання і поведінкою програми , включаючи випадки , коли вихідний код опублікований. Сила влади авторських прав у сучасному суспільстві настільки велика , що навіть вивчення або спроби виправлення помилок програм шляхом дизассемблирования можуть переслідуватися кримінальним правом.
Щоб позбавити користувачів програм
від проблем , викликаних перекосом
законодавства про охорону результатів
інтелектуальної діяльності у бік
правовласника , автори і правовласники
можуть передати користувачам права
на чотири перераховані вище свободи
дій. Це досягається шляхом випуску
вихідного коду програмного забезпечення
на умовах однієї з особливого роду
ліцензій , званих вільними ліцензіями
. Незважаючи на те , що за умовами вільних
ліцензій видані користувачам дозволу
правовласник відкликати не може , свої
права , гарантовані законодавством
, автори зберігають .
Вільне ПЗ легко комерціалізується
- існує безліч бізнес -моделей , де виключена
необхідність оплати копій програми
. Наприклад , високу популярність має
бізнес -модель , коли підприємець може
заробити за рахунок надання послуг
технічної підтримки. Правовласнику
вільного коду може бути цікавий інший
варіант - реалізація програмних продуктів
на умовах комерційної ліцензії , у
разі , якщо клієнтові необхідно
інтегрувати вільний код в
пропрієтарне програмне забезпечення
, але він не бажає розкриття
своїх розробок.
Розробка ПЗ як наукове дослідження
Особливість програмного забезпечення
полягає в тому , що воно проводиться
в одній формі - у вигляді вихідного
тексту , а поширюється і використовується
часто в іншій - у вигляді здійснимих
програм , машинних кодів , за якими
неможливо однозначно відновити вихідний
текст. Щоб ефективно змінювати програму
, виправляти помилки або навіть просто
точно встановити , що і як робить програма
, необхідно розташовувати її вихідним
текстом , оскільки при компіляції в машинний
код програма втрачає легкість для читання
.
Спочатку створення програмного
забезпечення для комп'ютерів було
в першу чергу академічним
заняттям. Для фахівців в області
комп'ютерної науки кожна програма
являла собою результат наукового
дослідження , в деякому сенсі
аналогічний публікації статті . Це
означає , що вихідний текст програми
був обов'язково доступний всьому
науковому співтовариству , оскільки
будь-який науковий результат має
бути верифікуємо , тобто підтверджуватися
іншими дослідниками і бути відкритим
для критики. Таким чином , процес
розробки програмного забезпечення
більш принципово схожий з науковим
процесом : вчений брав існуючі програми
, виправляв їх у відповідності
зі своїми ідеями і публікував виправлені
програми - новий результат .
Однак технологія виробництва комп'ютерів
розвивалася не менш активно , ніж
програмне забезпечення для них.
У 1970 -ті роки існувало величезна різноманітність
різних архітектур обчислювальних машин
, розрізнялися також продуктивністю
і ціною . Природно , для кожної архітектури
доводилося розробляти окремий набір
програмного забезпечення. З середини
1970-х у більшості американських
університетів для академічних
розробок використовувалися комп'ютери
архітектури PDP - 10 , що дозволяло співробітникам
різних університетів використовувати
розробки один одного на своїх машинах.
Співробітники лабораторії штучного
інтелекту Массачусетського технологічного
інституту ( MIT) в кінці 1970 - х розробили
для PDP - 10 власну операційну систему ITS
( Incompatible Timesharing System - несумісна система
з поділом часу) і дуже великий
набір програм для неї. Вихідні
тексти написаних в MIT програм були
загальнодоступні , співробітники інших
університетів користувалися їх
вихідними текстами і надсилали
їм виправлення , все програмне забезпечення
в цих лабораторіях було повністю академічним
.
Введення обмежень для ПО
В умовах величезного різноманіття архітектур комп'ютерів програмне забезпечення складало невід'ємну частину самої машини , причому далеко не саму дорогу частину . Виробники комп'ютерів постачали їх разом з основним програмним забезпеченням - принаймні , з операційною системою. Виробництво комп'ютерів було наукомістким , але в основі своїй комерційним підприємством .
У ситуації , коли програмне забезпечення є об'єктом продажу нарівні з предметами побуту , на нього автоматично поширюються вже не тільки закони наукової розробки , а й властивості матеріальних предметів , якими можна торгувати , обмінюватися , право володіння і користування якими стоїть охороняти законодавчо. Так програмне забезпечення потрапило в розряд інтелектуальної власності : тобто вихідний текст програми став розглядатися як твір , об'єкт застосування авторського права .
Щоб захистити свої інтереси , виробники комп'ютерів та програмного забезпечення використовують ліцензії - вид договору між володарем авторських прав і користувачем (покупцем ) програмного забезпечення . Подібні договори укладалися і з університетами : наприклад , університету передавалися вихідні тексти програм і право їх змінювати , але заборонялося поширювати їх за межами університету. Подібні обмеження означали , що тексти відповідних програм не могли відкрито обговорюватися в співтоваристві , тобто не існували для наукової розробки. Були у комп'ютерів та програмного забезпечення покупці і поза академічного середовища - наприклад , банки. Таким користувачам не настільки важливо отримати вихідні тексти програм , вони зацікавлені в програмному забезпеченні як в закінченому продукті і готові платити гроші за надійні та зручні програми .
Однак комп'ютери розвивалися дуже швидко , і колишні цілком сучасними в 1970-і PDP - 10 до початку 1980 - х вже застаріли і значно відставали по продуктивності від більш сучасних машин. Проте ні для однієї з нових архітектур вже не було операційної системи та іншого програмного забезпечення , розробленого виключно в академічному середовищі і за її правилами . Тепер університети повинні були купувати нові комп'ютери з новим програмним забезпеченням і виконувати умови ліцензії , що обмежує їх права на розробку та розповсюдження ПЗ - інакше кажучи , обмежує можливість наукової моделі розробки та розповсюдження програмного забезпечення.
У цей час у лабораторії штучного
інтелекту MIT розроблялися звані LISP -машини
, що вміли на апаратному рівні інтерпретувати
мову програмування , схожий на LISP - розвинений
і перспективний мова програмування
. На LISP ж була написана операційна система
для таких машин і все програмне
забезпечення для них. На початку 1980-
х деякі співробітники лабораторії
штучного інтелекту викупили у MIT права
на LISP -машини і математичну систему
Macsyma і заснували власні комерційні
компанії для подальшої розробки
в цій області. Дуже багато співробітників
лабораторії перейшли працювати
в ці компанії , після чого всі
їхні подальші розробки вже ставали
закритими для наукової спільноти
. Нові LISP -машини поширювалися з ліцензіями
, що забороняють користувачам модифікувати
і поширювати вихідні тексти програм.
Програми , які раніше для співробітників
MIT були аналогом наукових публікацій
, стали належить комусь патентованим
продуктом.
Річард Столлман
, засновник руху вільного ПЗ.
Одному зі співробітників , що залишилися в лабораторії штучного інтелекту MIT , Річарду Столлманом , такий стан справ здавалося неприпустимим порушенням відкритого наукового процесу розробки програмного забезпечення. Він наодинці намагався в рамках колишньої академічної моделі розвивати LISP -машини і відкрито реалізовувати зміни , аналогічні зробленим у рамках закритої комерційної розробки , щоб LISP -машини MIT могли конкурувати з патентованими аналогами . Звичайно , ця спроба наздогнати активною розробкою цілої компанії була приречена на невдачу.
Тоді в пошуках однодумців Річард
Столлман створює некомерційну організацію
« Фонд вільного програмного забезпечення
». Своєю основною метою Фонд ставить
збереження програмного забезпечення
, процес розробки якого завжди буде
гарантовано відкритим , а вихідні
тексти завжди доступні. Більш масштабна
мета Фонду - розробка операційної системи
, цілком складається з відкрито
розроблюваного програмного забезпечення.
Декларуючи таку мету , Столлман , фактично
, хотів повернути представлявшееся
йому ідеальним стан , коли в MIT працювали
у власній операційній системі
для PDP -10.
Операційна система , що розробляється в рамках Фонду , повинна була стати сумісної з операційною системою UNIX. До початку 1980 - х UNIX дуже широко використовувався , в тому числі і в академічному середовищі . Для цієї операційної системи існувало багато програм , вільно поширювалися в науковому співтоваристві , тому хотілося , щоб ці програми працювали і в новій - вільної - операційній системі . Ця майбутня операційна система отримала назву GNU.
Фонд вільного ПЗ раніше ділив невільне на напіввільне ( таке , яке відрізняється від вільного лише забороною на комерційне використання ) і пропрієтарне ( власницьке , англ. Proprietary ) (яке не має всіх чотирьох свобод , навіть якщо комерційне використання дозволено) .
На відміну від власницького
, напіввільне ПО згадується рідко.
Іноді до невільного ПЗ відносять
і всі « комерційне ПЗ », вважаючи
вільне ПЗ видом безкоштовного , однак
це невірно: отримувати вигоду від програми
можна не тільки продажем невільних
ліцензій .
Визначення вільного ПЗ
Для того щоб зберегти модель наукового
співробітництва між розробниками
, необхідно було забезпечити , щоб
вихідні тексти програм , написаних
розробниками , залишалися доступними
для читання і критики всьому
науковому співтовариству зі збереженням
авторства творів. Для цього Річард
Столлман сформулював поняття вільне
програмне забезпечення , в якому
відбилися принципи відкритої розробки
програм в науковому співтоваристві
, що склалося в американських університетах
в 1970- і роки. Столлман явно сформулював
ці принципи , вони ж - критерії вільного
програмного забезпечення. Ці критерії
обумовлюють ті права , які автори вільних
програм передають будь-якому користувачеві
:
Програму можна вільно використовувати з будь-якою метою ( « нульова свобода »).
Можна вивчати , як програма працює, і адаптувати її для своїх цілей ( « перша свобода »). Умовою цього є доступність вихідного тексту програми .
Можна вільно поширювати копії програми - на допомогу товаришу ( «друга свобода »).
Програму можна вільно покращувати і публікувати свою поліпшену версію - з тим , щоб принести користь всьому співтовариству ( «третя свобода »). Умовою цієї третьої свободи є доступність вихідного тексту програми і можливість внесення до нього модифікацій і виправлень.
Можливість виправлення помилок
і покращення програм - найважливіша
особливість вільного і відкритого
програмного забезпечення , що просто
неможливо для користувачів закритих
приватних програм навіть при
виявленні в них помилок і
дефектів , кількість яких , як правило
, невідомо нікому .
Тільки задовольняє всім чотирьом
перерахованим принципам програма
може вважатися вільної програмою
, тобто гарантовано відкритою
і доступною для модернізації
та виправлення помилок і дефектів
, і не має обмежень на використання
та поширення. Потрібно підкреслити , що
ці принципи обумовлюють тільки доступність
вихідних текстів програм для
загального використання , критики
і поліпшення , і права користувача
, що отримав здійсненний або вихідний
код програми , але ніяк не обумовлюють
пов'язані з поширенням програм
грошові відносини , в тому числі
не припускають і безоплатності
. В англомовних текстах тут
часто виникає плутанина , оскільки
слово « free » по-англійськи означає
не тільки «вільне » , а й « безкоштовне»
, і нерідко вживається стосовно
безкоштовному програмному забезпеченню
, яке поширюється без справляння плати
за використання , але недоступне для зміни
користувачами і співтовариством , тому
що його вихідні тексти не опубліковані.
Таке безкоштовне ПЗ зовсім не є вільним.
Навпаки , вільне ПЗ цілком можна поширювати
(і поширюють ) , стягуючи при цьому плату
, однак дотримуючись при цьому критерії
свободи: кожному користувачеві надається
право отримати вихідні тексти програм
без додаткової плати ( за винятком ціни
носія) , змінювати їх і поширювати далі.
Всяке програмне забезпечення , користувачам
якого не надається такого права , є невільним
- незалежно від будь-яких інших умов.
Open source software
Відкритий доступ до вихідних текстів програм є ключовою ознакою вільного ПЗ , тому запропонований дещо пізніше Еріком Реймондом термін open source software ( ПО з відкритим вихідним текстом) деяким представляється навіть більш вдалим для позначення даного феномена , ніж спочатку запропонований Столлманом « free software ». Столлман наполягає на відмінності цих двох понять , оскільки слова open source вказують лише на наявність одного , чи не найважливішого (хоча і необхідного для реалізації двох з чотирьох свобод ) , на його думку , з властивостей , притаманних вільному ПЗ - можливості побачити вихідний код.
Хоча різні формальні визначення
вільних і відкритих творів зазвичай
багато в чому збігаються для ПО
, вираження open source і « відкрите програмне
забезпечення » в окремих випадках
використовується [ ким?] Для пропрієтарного
ПЗ , які не підходящого ні під
одне з них (наприклад , комерційне ПЗ
з відкритим вихідним кодом) .
Основна громадська ліцензія GNU
Логотип GNU GPLv3
Задекларувавши критерії вільного ПЗ , члени Фонду вільного ПЗ стали поширювати свої програми у відповідності з цими принципами , ніяк не оформлюючи це документально : інакше кажучи , спочатку вільні програми поширювалися взагалі без ліцензії. Однак стався з самим Річардом Столлманом прецедент (див. нижче) переконав його в тому , що документальне оформлення необхідно для вільного ПЗ.
Річард Столлман займався розробкою текстового редактора Emacs на основі вихідних текстів Джеймса Гослінга . Тоді Гослінг вільно роздавав свої вихідні тексти всім зацікавленим . Проте в якийсь момент Гослінг продав права на розповсюдження Emacs компанії UniPress [ 5] , і ця компанія попросила Столлман припинити поширення його версії Emacs , так як права належать їм. [ Стиль! ] Цей інцидент змусив Столлман переписати заново ті частини початкового тексту Emacs , які тепер належали UniPress , після чого він розробив власну ліцензію на своє програмне забезпечення .
Ліцензія , сформульована Столлманом , повинна була працювати так само , як і ліцензії на невільне програмне забезпечення : це типовий договір автора програми ( власника авторських прав) з користувачем , у якому автор , серед іншого , обумовлює права користувача по відношенню до програми . На відміну від типової власницькою ліцензії , ліцензія Столлман надає користувачеві права , які є критеріями вільної програми : отримувати вихідні тексти програм , змінювати їх , поширювати змінені, і незмінені версії. Згодом ліцензія Столлман отримала назву GNU General Public License ( «Основна громадська ліцензія GNU "), скорочено GNU GPL або просто GPL.
У цій ліцензії обмовляється також
принципове для Столлман захисне
умова поширення вільного ПЗ: жоден
користувач , який зробив модифіковану
версію вільної програми , не має
права поширювати її , не дотримуючись
всіх принципів вільного ПЗ , тобто
робити модифікацію вільної програми
невільною . Щоб підкреслити відмінність
такої ліцензії , яка використовує
ЗоАП ( copyright ) для спонукання до збереження
свободи , від типових власницьких
ліцензій , які використовують ЗоАП
для обмеження свободи , був придуманий
термін copyleft ( копілефт ) - гра слів ,
побудована на значеннях англійських
слів right і left . Дія копілефту засноване
на тому , що похідні роботи в більшості
випадків успадковують ліцензії своїх
складових; якщо в програмі використовується
невелика частина стороннього коду
під GPL , то вся програма і її похідні
повинні поширюватися під GPL , поки вони
є похідними цього коду . При
цьому в GPL є розділ, що дозволяє вимагати
збереження в коді імен авторів , забороняти
використання цих імен в рекламі
, попереджати про зареєстровані
товарні знаки і т. п. , що дозволяє
комбінувати роботи під GPL з роботами
під багатьма вільними некопілефтнимі
ліцензіями (наприклад , деякими з
ліцензій BSD ) , не створюючи значних
обмежень і не порушуючи ліцензії
, - але похідні від результату
, будучи похідними від роботи під
GPL , вже не можуть (без окремого дозволу
правовласників ) поширюватися на умовах
даної некопілефт - ліцензії без
дотримання умов GPL - у тому числі
і як невід'ємна частина невільного
ПЗ. З цієї причини ліцензії , подібні
GNU GPL , іноді називають також «
вірусними ліцензіями » : вони ніби
« заражають » програму , стаючи
її невід'ємною частиною.
Спільнота розробників і користувачів
Головна умова існування вільного
ПЗ - все-таки не ліцензія, а люди, які
готові безкоштовно ділитися текстами
своїх програм і вдосконалювати
тексти чужих. Вільне ПЗ успадкувало
модель відкритої наукової розробки,
а разом з нею - і академічну
модель взаємодії між вченими, що
вилилася в специфічну організацію
співтовариства розробників і користувачів.
Взаємодопомога
У будь-якого користувача програмного
забезпечення неодмінно виникають
питання , коли він намагається застосувати
його для вирішення своїх завдань.
Користувач невільною ( патентованої )
програми платить за неї виробнику
, який іноді замість надає йому
деякі гарантії , одна з яких - відповідати
на запитання про роботу програми
. Спеціально для цього виробник
організовує службу підтримки , яка
по телефону , електронній пошті
і іншим засобам зв'язку відповідає
на запитання користувачів .
Користувач вільно
поширюваної програми не отримує
разом з нею ніяких гарантій :
автор зробив її вихідний текст відкритим
для суспільства , але при цьому
не взяв на себе зобов'язань пояснювати
всім , як працює програма. Хоча справедливості
заради варто помітити , що будь-яка
невільна програма в 99 % випадках теж
поставляється «як є» і без
гарантій. Оскільки спільнота користувачів
більшості програм розподілено
по всьому світу , для організації
взаємодії в ньому найбільш активні
користувачі ( а часто і самі автори
) організують (рідше - використовують
існуючі ) списки розсилки , форуми та інші
засоби спілкування в Інтернеті.
Для накопичення і рубрикації
інформації по програмі ( зокрема , списків
часто ставляться ( ЧаВо ; англ. FAQ - frequently
asked questions ) , а також організації
більш складних форм взаємодії ( спільної
розробки , систем відслідковування помилок
) створюються веб - сайти , присвячені
програмам.
Виправлення помилок
У будь-який досить складною програмою неодмінно є помилки і дефекти , кількість яких звичайно невідомо. Багато великих виробники ПЗ створюють і оплачують роботу відділу контролю якості ( QA - Quality assurance ) , який контролює відповідність процесу розробки ПЗ певним вимогам , виконання яких дозволяє знизити ймовірність появи помилок в ПЗ (наприклад , вимогам стандарту DO - 178B , який застосовується при розробці ПЗ для авіаційних систем). Тим не менш, у даний час відсутні методи, що дозволяють повністю гарантувати відсутність помилок в досить складному ПЗ ( існують формалізовані критерії складності ПЗ).
Користувач закритою приватної програми , зіткнувшись з помилкою , не завжди може виявити її причину і виправити помилки (оскільки йому недоступні ні вихідні тексти програми , ні навіть налагоджувальна інформація ) , але , швидше за все , здатний описати помилку і умови , в яких вона відбувається .
Користувач може повідомити про помилку виробнику програми ( зазвичай за допомогою звернення все в ту ж службу підтримки) , і якщо там вирішать , що помилка дійсно в програмі , а не в роботі користувача , про неї буде повідомлено розробникам.
У підсумку користувач може довго чекати виправлення помилки в наступних версіях програми . Нерідко оновлення власницькою програми прирівнюється виробником до придбання нової копії , що тягне за собою відповідні витрати і порушення закону про захист прав споживачів .
Діагностика помилки , що сталася на комп'ютері користувача , - завдання не з легких , оскільки у співробітників служби підтримки ( і тим більше програмістів фірми) немає доступу до цього комп'ютера. Тому відділами підтримки широко практикуються програми , що видають різноманітну інформацію про комп'ютер користувача , а в складних випадках і горезвісна налагоджувальна інформація (співробітник просить користувача прогнати програму в « діагностичному режимі» (як правило , за допомогою недокументованою налаштування , або користувачеві надсилається отладочная версія потрібного модуля ) і відправити йому отриманий файл звіту) .
У типовою
вільної програми ( тобто , некомерційною
і / або розроблюваної невеликою
компанією або приватною особою
) зазвичай немає оплачуваної відділу
контролю якості. Значить , користувач
може зіткнутися з ще більшою кількістю
помилок , ніж в типовій комерційної
проприетарной програмі . Тим актуальніше
для нього можливість повідомити
про помилку розробникам програми
. Раніше в супроводжує програму
документації було прийнято вказувати
електронну адресу, за якою розробники
брали повідомлення про помилки
( bug report ) . Деякі вводили стереотипну
форму для таких повідомлень ,
щоб полегшити і автоматизувати
їх обробку . Вже це вимагає істотно
більш високою зв'язності сообщества
в усьому світі , істотно більшою
, ніж достатньо для закритої розробки.
Розробники
та контролери- випробувачі пропрієтарного
продукту можуть ходити на службу в
один і той же офіс і там обмінюватися
інформацією або витрачати певну
частку робочого часу на складання
та аналіз строгих звітностей , що містять
повідомлення про помилки та рапорти
про усунення несправностей. Така організація
праці ефективна, якщо коло розробників
невеликий, а ввести загальну дисципліну
відносно легко . Для відкритого ж
проекту коло і взаємне розташування
потенційних розробників не обмежені
нічим , тому ефективність розробки в
набагато більшому ступені залежить
від того , наскільки просто всім
членам спільноти домовлятися між
собою , а також від «свідомості
» користувачів .
Простому
та впорядкованому прийому та перенаправлення
повідомлень про помилки служать
системи відслідковування помилок
( bug tracking system ) , найвідоміші з яких
розроблені учасниками великих проектів
для себе , а завдяки вільними
ліцензіями використовуються повсюдно
. Такі GNUTS ( розроблена в GNU ) , Bugzilla ( Mozilla
Foundation ) , JitterBug (проект Samba ) або Debian BTS . Більш
ранні версії орієнтуються на електронну
пошту , пізніші включають в себе
web -інтерфейс. Наприклад , за допомогою
Bugzilla організується сайт в Інтернеті
, на якому користувач може заповнити
форму повідомлення про помилку
. Кожне повідомлення має свій номер
, за яким можна потрапити на «
персональну » сторінку даної
помилки , де відображаються всі відбуваються
з її приводу події , від первісного
повідомлення ( відкриття ) до виправлення
( закриття). При кожній зміні в
стані помилки Bugzilla розсилає всім зацікавленим
особам (включаючи , природно , що повідомив
про помилку і займаються даною
програмою розробників ) листи електронною
поштою . Оскільки Bugzilla дозволяє залишати
коментарі і прикладати файли , вона
є повноцінним засобом для
спілкування користувача з розробником
з приводу помилки в програмі.
Принципова
перевага користувача вільної програми
полягає в тому , що у нього , на
відміну від користувачів невільних
програм , завжди є можливість заглянути
в вихідні тексти . Звичайно , для
багатьох користувачів вихідні тексти
не більше зрозумілі , ніж машинний
код . Однак при достатньому рівні
пізнань в програмуванні користувач
може сам встановити причину помилки
в програмі , а то й усунути
її , виправивши відповідним чином
вихідний текст . А якщо користувач
зацікавлений у розвитку програми ,
то з його боку буде розумно не лише
повідомити автору про помилку , а
й надіслати йому свої виправлення
до вихідного тексту програми : автором
залишиться тільки застосувати ці виправлення
до тексту програми , якщо він знайде
їх коректними і доречними. Пересилати
автору виправлений текст програми
цілком непрактично : він може бути
дуже великим (десятки тисяч рядків
) , і автору буде нелегко розібратися
, що ж змінено (а раптом зміни
зроблені неграмотно ?) .
Щоб полегшити і автоматизувати процес внесення виправлень , Ларрі Уолл в 1984 році розробив утиліту patch ( « латочка » ) , яка у формалізованому (але добре зрозумілому людині ) вигляді описує операції редагування , які потрібно провести , щоб отримати нову версію тексту. З появою цієї утиліти користувач , виявити і виправити помилку в програмі , міг надіслати автору невелику латочку , за якою автор міг зрозуміти , які зміни пропонуються , і автоматично « докласти » їх до свого вихідного тексту. З появою утиліти patch набагато більше користувачів стало включатися в розробку програм з доступним початковим текстом , чималу роль і тут зіграла мережу Usenet . Зрештою , даний спосіб виправлення став загальновживаним і применяющимся не тільки до вихідного коду програми , але і безпосередньо до скомпілювати исполнимости кодом у разі закритого ПЗ , а слово « патч » стало прозивним. Патчі ( файли - заплатки з виправленнями ) - обов'язковий атрибут сьогоднішньої розробки будь-яких програм будь-якої складності .

- Історія розвитку встановлення навчально-виховних закладів
- Історія розвитку гігієни дітей та підлітків в Україні
- Історія розвитку готельного господарства з давнини і до сучасності
- Історія розвитку готельно-ресторанного бізнесу в Європі та на Американському континенті
- Історія розвитку джаз-танцю
- Історія розвитку діловодства в незалежній Україні. Сучасне діловодство
- Історія розвитку екології
- Історія розвитку біофізики як науки
- Історія розвитку ботаніки
- Історія розвитку бухгалтерського обліку в Україні
- Історія розвитку важкої атлетики та пауєрліфтингу в Україні
- Історія розвитку виставковіх комунікацій
- Історія розвитку відносин України з НАТО
- Історія розвитку вікової фізіології