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

Відкрите та вільне програмне забезпечення
07.07.2009 12:25

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

Отже, що ж є відкрите програмне забезпечення? Мабуть, найпоширеніше визначення цього терміна розкриває його основні особливості. Відкрите програмне забезпечення (англ. open source software) - це все програмне забезпечення з відкритим вихідним кодом, програмні продукти, на базі якого, доступні не тільки для перегляду, але і для зміни, що дозволяє використовувати вже створений код для написання нових версій софту, виправлення помилок та доопрацювання відкритої програми. Дане визначення, на думку прихильників open source, не повною мірою відображають саму суть поняття. З їхньої точки зору, відкрите програмне забезпечення є, крім доступного для редагування вихідного коду, ще й цілу філософію, сенсом якої є створення інформаційного суспільства за допомогою всебічного застосування відкритих програмних продуктів у всіх сферах діяльності людини.

У чому ж принадність відкритого програмного забезпечення? На думку представників цієї течії, ПЗ з відкритим кодом дозволяє:

  1. підлаштовувати програмний продукт під вимоги конкретного користувача чи групи користувачів;
  2. усувати помилки попередніх розробників;
  3. доопрацьовувати і вдосконалюватипрограмний продукт.

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

Варто зазначити, що у глобальному представленні відкрите ПЗ включає безпосередньо open source software, а також інші різновиди програмних продуктів, які можуть поширюватися безоплатно і надавати вихідний код для внесення змін. До такого програмного забезпечення належать безкоштовні (freeware) та вільні (free software) програми.

Отже, термін open source (відкрите програмне забезпечення) був уперше застосований у 1998 році програмістами Еріком Реймондом (Eric Steven Raymond) та Брюсом Перенсом (Bruce Perens). Вони були впевнені, що термін free software (вільне програмне забезпечення) в англійській мові є неоднозначним і в якомусь сенсі може навіть відлякувати підприємців, які є потенційними користувачами такого софту. В даний час open source є торговою маркою організації Open Source Initiative, яка займається розповсюдженням програмного забезпечення з відкритим кодом. Крім того, існує також і спеціальний комітет, який вирішує, чи ліцензія тієї чи іншої програми може носити ім'я open source.

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

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

Засновником концепції free software є американський програміст Річард Столлмен (Richard Matthew Stallman). Саме він уперше сформулював поняття вільного програмного забезпечення, в якому відобразились принципи відкритої розробки програм у науковій спільноті, що склалося в університетах США у 1970-ті роки. Столлмен сформулював чіткі критерії вільного програмного забезпечення. Ці критерії обумовлюють права, які автор вільної програми передає будь-якому користувачеві. Таким чином, використовуючи вільне програмне забезпечення, користувач отримує «чотири свободи»: запускати, вивчати, розповсюджувати та покращувати програму.

  • "Нульова свобода" - програму можна використовувати з будь-якою метою.
  • «Перша свобода» - можна вивчати, як програма працює, та адаптувати її для своїх цілей. Умовою є доступність вихідного коду програми.
  • «Друга свобода» – можна розповсюджувати копії програми – на допомогу розробнику.
  • «Третя свобода» - програму можна покращувати і публікувати свою покращену версію для того, щоб принести користь всій спільноті. Умовою цього є доступність вихідного коду програми.

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

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

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

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

Безумовно, важливим є і той факт, що категорії відкритого програмного забезпечення бувають різні, оскільки вони передбачають різні ступені свободи щодо дій користувачів. При цьому часом можна спостерігати значну різницю між визначенням вільного та відкритого ПЗ. Відкрите ПЗ, тобто програмне забезпечення з (відкритим) вихідним кодом (Open Source Software) являє собою спосіб розробки ПЗ, при якому створюваний вихідний код програм відкритий, тобто загальнодоступний для перегляду та зміни. Це дозволяє всім бажаючим використати вже створений код для своїх потреб та, можливо, допомогти у розробці відкритої програми. Безкоштовність ПЗ є право користувача, але з обов'язок виробника, т.к. відкрита ліцензія не вимагає, щоб програмне забезпечення завжди надавалися безкоштовно. Однак багато з найбільш успішних проектів open source все ж таки є безкоштовними.

Відкритий доступ до вихідних кодів програм є також ключовою ознакою вільного програмного забезпечення, тому запропонований пізніше Еріком Реймондом термін "Open Source Software" (ПЗ з відкритим вихідним текстом) деяким видається навіть більш вдалим для позначення феномена вільного ПЗ, ніж запропонований свого часу Столлменом. free software».

Зауважимо, що переваги вільної розробки для користувача не слід перебільшувати. Не всі вільні програми однаковою мірою доступні для внесення змін користувачем, що, з іншого боку, не пов'язані з ліцензією на їхнє поширення.Важливу роль при цьому відіграє обсяг програми: якщо в ній десятки тисяч рядків (як, наприклад, в OpenOffice.org – аналог Microsoft Office), то навіть кваліфікованому фахівцю знадобиться багато часу, щоб знайти та усунути помилку. Розраховувати на розробників,які відреагують на всі зауваження та пропозиції користувача та негайно виправлять програму, теж не можна, оскільки вони не несуть перед користувачем жодних зобов'язань щодо якості програми. У зв'язку з цим користувач запатентованої програми може опинитися у кращому положенні.

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

Місце вільних програм на сьогоднішньому ринку ПЗ дуже значне, і багато комерційних та державніпідприємства використовують free software прямо чи опосередковано. Наприклад, усі користувачі мережі інтернет, хоч і опосередковано, задіють вільну програму Bind, яка надає службу DNS. Крім того, багато організацій (зокрема, що надають послуги через всесвітнє павутиння) використовують вільний web-сервер Apache, від роботи якого може залежати безпосередньо прибуток підприємства, не кажучи вже про сервери на платформі Linux.

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

Наприклад, одна з громадських ліцензій (GNU) має навіть стандартне формулювання, що закріплює відсутність гарантій: «Ця програма поставляється на умовах „як є“. Якщо інше не зазначено у письмовій формі, автор та/або інший правовласник не приймає на себе жодних гарантійних зобов'язань, як явно виражених, так і мається на увазі,стосовно програми, у тому числі на увазі гарантію товарного стану при продажу та придатності для використання в конкретних цілях, а також будь-які інші гарантії».

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

Тому сьогодні існує тенденція, коли великі ІТ-корпорації, такі як Intel, Oracle або IBM, намагаються надавати підтримку проектам з розробки вільного ПЗ, оплачуючи роботу співробітників цих проектів, щоб ступінь відповідальності розробників був на високому рівні. Навіщо вони це роблять, адже відкрите та вільне ПЗ є для них конкурентним? Відповідь проста - вони бачать у цьому вигоду, яку намагаються зробити упущеної, оскільки щодня з урахуванням ПЗ з відкритим кодом з'являється безліч програм, деякі з яких згодом можуть стати сильними комерційними продуктами.

Існує кілька основних ліцензій, які використовуються для розповсюдження вільного ПЗ в даний час: AROS Public License, Ліцензія BSD, CDDL, Common Public License, GNU Free Documentation License, GNU General Public License, GNU Lesser General Public License, Ліцензія MIT, Mozilla Public License , Open Directory License та ін. Для всіх вільних ліцензій, так чи інакше, характерна відповідність принципам копілефту (copyleft – це каламбур від слова копірайт). В протилежністьтрадиційному підходу до авторського права, у якому обмежується свобода копіювання творів, принцип копілефту використовує закони про авторське право задля забезпечення неможливості обмежити будь-якій людині права використовувати, змінювати і поширювати,як сам твір, так і твори, що базуються на ньому. Ідея копілефту у тому, кожен, хто поширює програму, як із змінами, і без них, немає права обмежувати свободу її подальшого поширення, чи модифікації. Копілефт гарантує, що кожен користувач вільний у своїх діях.

Кількість ліцензій, що відповідають Визначенню поняття open source (відкритого ПЗ), наразі налічується понад п'ятдесят. Open Source є торговою маркою організації Open Source Initiative. Існує спеціальний комітет, який вирішує, чи ліцензія може носити ім'я open source. Одним із найбільших у світі веб-сайтів для розробників відкритого ПЗ є всім відомий портал SourceForge.net. На цьому сайті розробники можуть розміщувати та спільно розробляти свої програмні проекти. В даний час на SourceForge.net розміщено декілька сотень тисяч проектів, а кількість зареєстрованих користувачів перевищує мільйон.

Безумовно, відкрите та вільне програмне забезпечення дедалі активніше захоплюють аудиторію. Програми на основі відкритого коду досить успішно застосовуються як приватними користувачами, так і та комерційними,державними та громадськими організаціями. Софт на базі open source і free software вже використовується як передвстановлений для деяких моделей ноутбуків і нетбуків різних виробників. Крім того, програмне забезпечення з відкритим кодом поступово завойовує ринок систем автоматизації для малих та середніх підприємств.

Поява програм цього класу пов'язані з ідеєю створення, вільного від обмежень у обороті. У 1998 р. за пропозицією американських розробників Брюса Перенса та Еріка Реймонда створено організацію "Ініціатива відкритих кодів"

(Open Source Initiative, OSI). Цей рух розробив та опублікував "Визначення програмного забезпечення з відкритим програмним кодом".

Ліцензія програм з відкритим кодом передбачає такі правомочності:

  • 1) на доступ до вихідного коду;
  • 2) зміну програми для ЕОМ;
  • 3) на поширення зміненої програми на тих самих умовах, на підставі яких дане програмне забезпечення було отримано ліцензіатом;
  • 4) ліцензіата використання програми для ЕОМ за призначенням;
  • 5) на подальше поширення користувачем програми без сплати відрахувань та винагород.

Як додаткові правомочності ліцензії програм з відкритим кодом можуть містити:

  • 1) опис змін, які провадяться кожним із ліцензіатів;
  • 2) відмова від надання гарантій,
  • 3) відмова від відповідальності за збитки;
  • 4) регулювання патентних питань;
  • 5) положення про сумісність цієї ліцензії з іншими ліцензіями;
  • 6) регулювання авторського права на текст відкритої ліцензії;
  • 7) вказівку на зроблені зміни в отриманому відкритому коді;
  • 8) положення про застосовне право та компетентний суд.

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

З січня 2012 р. в Російській Федерації вперше введено поняття програми з відкритим кодом, як програмного забезпечення, яке розповсюджується на умовах простої (невиключної ліцензії) або виняткової ліцензії, які надають користувачеві доступ до вихідних кодів програми.

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

Концепція вільного програмного забезпечення ґрунтується на чотирьох основних свобод:

  • 1) свобода відтворювати на комп'ютері та запускати програму для будь-яких цілей;
  • 2) свобода вивчення роботи програми та адаптації її до потреб користувача;
  • 3) свобода тиражувати та розповсюджувати отримані копії вільного програмного забезпечення;
  • 4) свобода покращувати програму, тобто. модифікувати її та поширювати у модифікованому вигляді.

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

Існують такі види ліцензій з відкритим програмним кодом:

  • - General Public License (GPL);
  • - Apache Software License;
  • - Ліцензія Berkeley Software Distribution (BSD);
  • – ліцензії Massachusetts Institute of Technology (MIT);
  • - Mozilla Public License (MPL) та ін.

Загальний зміст GPL, BSD, MIT полягає у розширенні повноважень користувача програми та одночасному покладанні на нього деяких обов'язків, які не властиві ліцензіям, передбаченим законодавствами РФ та зарубіжних країн. Але в даний час розробка такого програмного забезпечення почала підтримуватись і в Російській Федерації. Крім того, прийнято Концепцію про адміністративну реформу в Російській Федерації та Федеральну цільову програму "Електронна Росія".

Перерахуємо основні характеристики відкритого програмного забезпечення.

1. Вільне поширення

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

2. Вихідний код

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

  • 3. Побічні продукти.Ліцензійна угода має давати право на модифікацію та розробку власних похідних продуктів, на розповсюдження програмного забезпечення на тих самих умовах, що й ліцензія вихідної програми.
  • 4. Збереження авторського вихідного коду.Ліцензійна угода може обмежувати поширення продукту, вихідний код якого був модифікований третіми особами. Угода може допускати поширення прикріплених файлів із вихідним кодом для модифікації програми під час створення. Ліцензія має давати право на поширення власної програми, створеної шляхом модифікації вихідного коду. Ліцензійна угода може містити вимоги щодо зміни назви програмного забезпечення або номера версії похідних продуктів.
  • 5. Жодних обмежень щодо приватних осіб або груп користувачів.Ліцензійна угода має бути доступною всім, хто звернувся.
  • 6. Жодних обмежень щодо сфери застосування.Ліцензійна угода не повинна містити обмеження на використання програми у певній галузі діяльності, наприклад, у комерційній або в галузі інших досліджень.
  • 7. Розповсюдження ліцензії.Права, що додаються до програми, мають поширюватися на всіх, хто її використовує. Додаткова ліцензія для цього не потрібна.
  • 8. Ліцензійна угода не повинна бути спеціальною для частини продукту.Права, одержувані з комплексом ПЗ, поширюються кожен окремо взятий елемент комплексу. Якщо програма взята з дистрибутива та використовується поза ним, на програму поширюються умови ліцензійної угоди дистрибутива.
  • 9. Ліцензійна угода не повинна містити обмежень щодо інших програм, тобто. програмних засобів, які поширюються разом із ліцензійним ПЗ. У ліцензії також не повинно бути вимог щодо відкритості програмних засобів, що не створюються за цією ліцензійною угодою.
  • 10. Ліцензія має бути технологічно нейтральною.Умови ліцензійної угоди не можуть бути засновані на окремих технологіях та стилі інтерфейсу.

Дотримання вищевказаних умов під час укладання ліцензійної угоди дозволяє судити про програму для ЕОМ як відкритому ПЗ.

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

У 2006 р. в Російській Федерації на виконання наказу Мінінформзв'язку Росії від 29.06.2006 № 83 "Про заходи Мінінформзв'язку Росії на 2006 рік щодо реалізації основних положень Послання Президента Російської Федерації Федеральним Зборам Російської Федерації" був розроблений план заходів щодо сприяння розробці, а також використанню в органах державної влади вільного програмного забезпечення (з відкритими вихідними кодами). План містив такі заходи:

  • 1) розробка вимог та рекомендацій щодо використання відкритих стандартів та специфікацій при розробках програм для ЕОМ для державних та муніципальних потреб;
  • 2) оцінка економічної ефективності впровадження ІСО/МЕК 26300:2006 (формат відкритого документа для офісних застосувань);
  • 3) організація участі представників адміністрації зв'язку Російської Федерації у міжнародних організаціях зі стандартизації у сфері інформаційних технологій, а також сприяння та координація участі представників російських компаній у міжнародних організаціях зі стандартизації (у разі якщо участь державних органів у таких організаціях не передбачено);
  • 4) розробка та використання порядку отримання (включаючи визначення обсягу та оцінку) та схеми управління правами на програмне забезпечення для ЕОМ, одержуваними замовниками в результаті виконання робіт для державних та муніципальних потреб;
  • 5) удосконалення механізмів моніторингу умов конкурсів з метою контролю за забезпеченням розробникам різного програмного забезпечення рівних ринкових умов;
  • 6) розробка концепції та плану заходів з метою підвищення рівня професійної освіти та підготовки користувачів у сфері інфокомунікаційних технологій;
  • 7) розробка переліку типів (різновидів) вільних програм для ЕОМ, доцільність та обґрунтованість переважного використання яких доведена світовою практикою та (або) визнається значною кількістю учасників ринку, а також розробка для різних цілей, у тому числі для цілей стандартизації, інших класифікаторів;
  • 8) розробка концепції та плану заходів щодо розвитку в Російській Федерації, у тому числі для державних та муніципальних потреб, сервіс-орієнтованої моделі поширення програм для ЕОМ.
  • антикорупційність;
  • безпека;
  • захист національних інтересів;
  • дружність до громадян;
  • легкість адаптації;
  • економічний зиск.

Якість таких програм для ЕОМ можна порівняти з комерційними програмами. Пов'язано це з тим, що це програмне забезпечення тестується, змінюється, покращується всіма бажаючими, тому кількість розробників, які працюють над покращенням програми, прирівнюється до штату розробників комерційного забезпечення із закритим кодом (а в деяких випадках значно перевищує їх число).

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

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

Постановою Уряду РФ від 18.10.2007 № 1447-р закріплюється право використання у школах Російської Федерації будь-якого ПЗ з відкритим програмним кодом. У 2009 р. Федеральна служба судових приставів звітувала про впровадження ПЗ з відкритим кодом – Open Office, з метою реалізації державної політики у сфері використання вільного ПЗ. "У квітні - травні 2009 р. проведено сеанси відеоконференцзв'язку з керівниками територіальних органів ФССП Росії з використанням вільного програмного забезпечення".

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

Концепція розвитку вільного ПЗ в Російській Федерації передбачала створення до 2010 р.

  • 1) стандартних комплексних офісних рішень для державних цивільних службовців та працівників бюджетної сфери;
  • 2) стандартних рішень для забезпечення роботи навчальних закладів;
  • 3) ПЗ для пунктів колективного доступу до Інтернету;
  • 4) ПЗ для інтернет-сайтів державних послуг;
  • 5) інтеграційної платформи для цілей електронного уряду;
  • 6) захищених рішень для критично важливих об'єктів;
  • 7) розвиток сервис-ориентированной моделі поширення програм для ЕОМ.

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

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

З введенням у 2012 р. до Національного стандарту РФ ГОСТ Р 54593-201 вільне програмне забезпечення є безпечною, надійною та фінансово-привабливою платформою для побудови інформаційних систем у корпораціях та державному секторі. Вільне програмне забезпечення забезпечує: технологічну незалежність розробки та використання програмного забезпечення від монополіста; незалежність у виборі апаратної платформи; низьку початкову вартість обладнання; раннє виявлення дефектів у програмному забезпеченні та можливість швидкого їх виправлення; відсутність обов'язкової і щодо оплати використання товарів.

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

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

  • Див: Національний стандарт Російської Федерації ГОСТ Р 54593 201 "Інформаційні технології. Вільне програмне забезпечення. Загальні положення", затверджений наказом Міністерства промисловості та торгівлі РФ та Федерального агентства з технічного регулювання та метрології від 06.12.2011 № 718-ст.
  • Затверджена Президентом РФ 9 вересня 2000: див. на сайті МЗС РФ mid.ru/ns-osndoc.nsf/d06bd3f5303124fe432569fa003a70ff/4db27
  • Указ Президента РФ від 12.05.2009 № 537 "Про Стратегію національної безпеки Російської Федерації до 2020 року".

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

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

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

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

ОС Microsoft Windows

Рис. 39. Логотип ОС Windows.

MS Windows (вимовляється Віндоуз) - сімейство операційних систем компанії Microsoft (Майкрософт). Глава корпорації Microsoft – Білл Гейтс.

Починаючи з 1995 року Windows – найпопулярніша операційна система на ринку персональних комп'ютерів – стандарт де-факто. До 2005 року Microsoft Windows була встановлена ​​більш ніж на 89% персональних комп'ютерів.

Однак багато користувачів зробили вибір на користь ОС Windows, оскільки зовсім не знайомі з альтернативами, такими як MacOS, Linux, BSD. У Росії її до початку 2000-х майже всі персональні комп'ютери продавалися з попередньо встановленою операційною системою Windows. p align="justify"> Боротьба з поширенням піратських версій програмних продуктів призвела до появи інтересу до інших операційних систем. Так, наприклад, стало можливим придбати персональний комп'ютер із попередньо встановленою безкоштовної ОС Linux.

Хронологія випусків версій Windows


· Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11. Windows Me (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Windows робоча назва Vienna (2010)


Інтегровані програмні продукти та прикладне ПЗ

Операційна система Microsoft Windows включає стандартні програми, такі як браузер Internet Explorer, поштовий клієнт Outlook Express, програвач Windows Media Player.

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

Рис. 40. Логотип MS Office.

Для MS Windows існує дуже зручний та освоєний більшістю користувачів пакет прикладних програм Microsoft Office, що включає:

Текстовий процесор MS Word,

Табличний процесор MS Excel,

Організатор MS Outlook,

Додаток для підготовки презентацій MS PowerPoint,

Додаток для управління базами даних MS Access.

Не слід забувати, як і ОС Windows і більшість популярних прикладних програм під Windows мають ліцензію copyright, тобто. є пропрієтарнимПЗ. Відповідно кожна копія такої програми має купуватись за гроші. Наприклад, на кінець 2006 року ціна Windows XP Home Edition Russian BOX (SP2) - $185, Office 2003 Russian CD - $322.

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

ОС GNU/Linux

Рис. 41. Логотип ОС GNU/Linux – пінгвіня Tux.

Операційна система GNU/Linux (вимовляється "гну лінукс") - вільна UNIX-подібна операційна система. Зазвичай, з історичних причин і для стислості, ця система називається просто «Linux». Це найпотужніша альтернатива MS Windows, популярна як серверна і різко набираюча популярність як настільна (desktop) операційна система в останні роки, у зв'язку з посиленням контролю за дотриманням ліцензійного використання ОС Windows з боку Microsoft у версіях XP і Vista.

До операційної системи GNU/Linux також часто відносять програми, що доповнюють цю операційну систему, та прикладні програми, які роблять її повноцінним багатофункціональним операційним середовищем.

На відміну від більшості інших операційних систем, GNU/Linux немає єдиної «офіційної» комплектації. Натомість GNU/Linux поставляється у великій кількості так званих дистрибутивів, в яких програми GNU з'єднуються з ядром Linux та іншими програмами. Найпоширеніші у світі дистрибутиви:

Американський Red Hatта його спадкоємець Fedora Core;

Німецька SuSE;

Французька Mandriva(колишній Mandrake);

Міжнародний дистрибутив, що не має національної приналежності Debian GNU/Linux;

Один із найстаріших дистрибутивів Slackware;

Порівняно молодий дистрибутив, що активно розвивається. Gentoo;

Молодий, але перспективний дистрибутив Ubuntu Linux.

Автор ядра Linux - Лінус Торвальдс. GNU/Linux немає географічного центру розробки. Немає й організації, яка б цією системою; немає навіть єдиного координаційного центру. Програми для GNU/Linux – результат роботи тисяч проектів. Деякі з цих проектів централізовані, деякі зосереджені у фірмах, але більшість об'єднують програмістів з усього світу, які знайомі лише з листування. Створити свій проект або приєднатися до вже існуючого може будь-хто і, у разі успіху, результати роботи стануть відомими мільйонам користувачів. Користувачі беруть участь у тестуванні вільних програм, спілкуються з розробниками безпосередньо, що дозволяє швидко знаходити та виправляти помилки та реалізовувати нові можливості.

На ринку серверних операційних систем Австралії Linux уже зайняла близько 30%. За австралійцями пішли і бразильці. Бразильський уряд вирішив відмовитися від витрачання коштів на програмне забезпечення та перейти з продуктів Microsoft на системи з відкритим кодом, зокрема ОС Linux. Головна причина змін – економічна. У нашій країні ринок Linux поки невеликий.

Файлова система

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

Файл(file) - це названа послідовність байтівмісце постійного зберігання різних видів інформації.

Файли організовані в каталоги,також звані директоріями (directory) чи папками (folder). Каталог- це файл, який зберігає інформацію про інші файли: ім'я, розмір, дату створення, адресу файлу на диску.

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

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

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

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

Всі файли умовно можна розділити на дві частини. текстовіі двійкові.

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

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

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

Кожен файл на диску має позначення ( повне ім'я), що складається з 2 частин: іменіі розширення, розділених крапкою.

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

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

Операційна система або менеджер файлів можуть встановлювати відповідності між розширеннями файлів та програмами.

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

Драйвери

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

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

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

Комп'ютерний код, що лежить в основі всіх великих криптовалют та проектів відкритого блокчейна, розробляється як програмне забезпечення з відкритим вихідним кодом. Регулятори та директивні органи, які намагаються зрозуміти, що таке криптовалюти, але не знайомі з таким програмним забезпеченням, можуть помилятися, вважаючи, що ці системи розробляються (і повинні розроблятися) однією або декількома комерційними компаніями. Хоча багато відомого програмного забезпечення дійсно розробляється подібним чином (наприклад, Windows корпорації Microsoft або RDBMS компанії Oracle), з проектами з відкритим вихідним кодом справи інакше, і ця відмінність може і повинна формувати громадську думку. ПЗ з відкритим вихідним кодом створюється у співпраці, безкоштовно поширюється, публікується відкрито та розвивається як продукт спільноти, а не власності однієї компанії чи особи. У цьому випадку немає монополії, немає однієї компанії чи індивідуума, які б створювали та продавали ПЗ, володіли б ним. Так само, як немає єдиної компанії, що володіє мережею біткоїну, не існує однієї-єдиної компанії, яка виробляє ПЗ, яке, функціонуючи на пов'язаних в інтернеті комп'ютерах, утворює цю мережу. Подібна децентралізація несе деякі фундаментальні блага, які може бути важко зрозуміти людям, не знайомим із розробкою ПЗ. Щоб краще усвідомити міць і характер відкритого вихідного коду, буде корисно отримати деяке уявлення про один особливо успішний зразок з відкритим вихідним кодом. Йдеться про операційну систему Linux.

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

Важко підрахувати, скільки разів на день ви користуєтесь Linux, адже саме ця операційна система є основою роботи більшості серверів в інтернеті. Щоразу, коли ви відвідуєте Facebook, Google, Pinterest, Вікіпедію та тисячі інших великих сайтів, сервіси, які надають вам ці (такі різні) сайти, ви маєте справу з комп'ютерами, які, швидше за все, працюють на операційній системі Linux. Linux можна знайти і набагато ближче; найімовірніше, він у вас під рукою. Скажімо, операційна система Android-смартфонів базується на Linux. Якщо у вас є Chromebook, ви користуєтеся ноутбуком на основі Linux. Ця операційна система все частіше використовується у телевізорах, термостатах, мультимедійних системах у літаках, автомобілях тощо.

Чому це цікаво? Тому що Linux – це не продукт одного програміста чи навіть групи програмістів; на відміну від MacOS або Windows, його не розробляла одна чи навіть дюжина корпорацій. Linux має тисячі співавторів. Як повідомила в 2015 році Linux Foundation (некомерційна організація, що сприяє відкритому розвитку операційної системи), приблизно 14 000 розробників з більш ніж 1300 різних компаній зробили внесок у вигляді фрагментів програмного коду. В одному лише 2015 році у вдосконаленні коду вперше взяли участь 2355 розробників. Таким чином, шляхом екстраполяції можна підрахувати, що до 2017-го свій внесок внесли приблизно 18 000 осіб, і це число зростатиме.

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

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

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

Реймонд виділив кілька переваг моделі відкритого коду. Ключові в контексті нашої дискусії – такі:

  • Кожен гідний зразок ПЗ починається із задоволення особистого бажання розробника.Мотивацією більшості розробників проектів з відкритим вихідним кодом є бажання особисто використовувати створювані продукти. Вони не пов'язані контрактом, який зобов'язує їх створити щось для іншого; вони мають особисту потребу, що вони задовольняють. Таким чином виникає якісно інша мотивація, що породжує детальне знання проблеми.
  • Хороші програмісти знають, що писати. Великі знають, що листувати (і використовувати повторно).Коли розробка здійснюється відкрито, можна уникнути надмірності, і проблематичні, ускладнені чи зайві коди можна ідентифікувати та спростити.
  • Коли ви втрачаєте інтерес до програми, то ваш останній обов'язок по відношенню до неї полягає в тому, щоб передати її в руки компетентного наступника. Люди приходять у проект із відкритим вихідним кодом і залишають його залежно від своїх інтересів та компетенції. Ніхто не застрягне у роботі над проектами, які більше не цікаві. З'являються свіжі голови, які пропонують різні точки зору на давні проблеми чи нові перспективи розвитку.
  • Сприйняття користувачів як колег-розробників - найлегший шлях до покращення коду та ефективного налагодження ПЗ. Багато користувачів відкритого вихідного коду допомагають виявляти проблеми і навіть пропонують рішення. Грань між споживачем і виробником програм з відкритим вихідним кодом розмита: робота над програмним забезпеченням прозора, вона ведеться на очах у публіки, і участь у процесі створення доступна всім.
  • За наявності досить великої бази бета-тестерів і розробників практично будь-яка проблема швидко кваліфікуватиметься, а її рішення напевно виявиться для когось очевидним. Цей постулат названий Законом Лінуса на честь Лінуса Торвальдса, творця ядра Linux, який тривалий час залишався головним розробником цієї операційної системи. Коли процес розробки коду має закритий характер, розробники ризикують пропустити слабке місце або помітити певну помилку. Розробка в середовищі досвідчених користувачів з унікальним баченням підвищує ймовірність виявлення та усунення багів, що робить програмне забезпечення з відкритим вихідним кодом більш безпечним та відмовостійким.

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

Закон та вільне ПЗ

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

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

Відкритий вихідний код у криптовалютах та токен-проектах

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

Програмне забезпечення, що дає кожному учаснику можливість з'єднуватися з мережею, називається клієнтом, і це програмне забезпечення з відкритим вихідним кодом. Найчастіше клієнтське програмне забезпечення розробляють кілька не пов'язаних між собою учасників як найпростішу версію мережного програмного забезпечення (тобто так званого reference client), на основі якого можна побудувати програмне забезпечення для майнінгу, гаманця, біржі або інше сумісне з мережею програмного забезпечення.

Клієнт Bitcoin Core - результат роботи більш ніж 450 незалежних розробників, які внесли свій внесок у розвиток коду більше 15 000 разів. ПЗ доступне для вільного використання та модифікації відповідно до ліцензії вільного програмного забезпечення MIT, а вся історія розробки доступна для огляду в публічному репозиторії на Github - хмарному сервісі, що дозволяє створити обліковий запис, завантажити новий код і відстежувати зміни. Якщо створений репозиторій відкритий для загального огляду, коментарів та пропозицій про зміни, то вам навіть не потрібно платити за обліковий запис Github.

Публічний репозиторій також відстежує звані форки оригінального клієнта. Форк створює клон початкового ПЗ, який можна модифікувати з тією чи іншою метою, не змінюючи початкове сховище. Розробники без обмежень роблять форки для репозиторію Bitcoin Core на Github, щоб створити або специфічні додатки, сумісні з біткоїном (наприклад, гаманець для смартфонів), або нову криптовалюту, яка перестає бути сумісною з мережею біткоїну і передбачає створення нової криптовалют було з лайткоїном або Zcash). На сьогоднішній день оригінальний клієнт Bitcoin Core пережив форк більше 10 000 разів, і нові репозиторії, що з'являються, демонструють, що створення похідних продуктів триває.

На ефіріум зараз припадає щонайменше 121 репозиторій, кожен з яких фокусується на певному аспекті проекту (наприклад, мовами програмування для написання смарт-контрактів, графічних браузерах для взаємодії кінцевого користувача з мережею ефіру, сумісних клієнтів для участі в роботі мережі тощо). ). Є не менше восьми проектів, спрямованих на розробку сумісних з ефіром клієнтів, а над найбільш популярними клієнтами (go-ethereum і Parity) працюють сотні незалежних розробників. Код ефіріуму та його повна історія, як і код, а також історія біткоїну, доступні для публічного огляду на Github та в інших мережевих сховищах, і всі коди випускаються відповідно до ліцензії LGPL-3, що вимагає випускати всі майбутні похідні розробки з такою самою ліцензією .

Навіть нещодавні проекти, реалізовані з ініціативи комерційних стартапів, демонструють відданість відкритому кредо вихідного коду. Zcash Company розробляє протокол Zcash у вигляді публічного репозиторію. Декілька провідних розробників не працюють на компанію, а спеціально створена некомерційна організація покликана стежити за тим, щоб поступово відбувся перехід від розробки, що здійснюється компанією, до розробки силами спільноти. База вихідного коду Zcash випускається з ліцензією Массачусетського технологічного інституту. Protocol labs, розробник Filecoin, має намір створити аналогічну відкриту модель і вже протестував її у своєму проекті IPFS, працюючи з кодом у відкритих репозиторіях та випускаючи його з ліцензією MIT.

Чому відкритий вихідний код важливий

Криптовалюти та відкриті блокчейни здатні забезпечити функціонал, який був би регульованим, якби його джерелом була одна-єдина корпорація. Централізовані емітенти цифрової валюти, такі як Liberty Reserve або E-gold, були фінансовими сервісами і повинні були реєструватися в Управлінні Міністерства фінансів США по боротьбі з фінансовими злочинами, а також отримувати ліцензію, що дозволяє переказувати гроші в кожному штаті. Якщо такі токени будуть просуватися на ринку для залучення інвесторів, вони можуть бути прирівняні до цінних паперів, і в такому випадку потрібно буде реєструвати Комісію з цінних паперів і бірж США. Ці обмеження мають сенс, оскільки централізовані послуги пов'язані з ризиком того, що сторона, яка знаходиться в центрі всієї схеми, не зможе виконати свої обіцянки, адекватно протестувавши продукт і зробивши його безпечним.

Однак технології на кшталт біткоїну здатні запропонувати аналогічний функціонал, будучи відкритими і мережами, що нікому не належать. Тут немає жодної корпорації. До цих мереж приєднуються користувачі, а відкрите програмне забезпечення стимулює їхнє прагнення співпраці. Зрештою, всі учасники приходять до згоди щодо кожного фрагмента даних, необхідних для створення валюти. Децентралізація тримається на двох стовпах: відкритих механізмах консенсусу та програмного забезпечення з відкритим вихідним кодом. Якби код не був відкритим, то як би учасники (не знайомі один з одним люди в інтернеті) зуміли зрозуміти систему, до якої вони приєднуються, і довіритися їй?

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

Марк Робертс (Mark Roberts)
Директор з управління продукцією (Director, Product Management)
компанії QNX Software Systems
e-mail: [email protected]

Анотація

Основна увага в цій статті концентрується на перевагах, стратегічних моментах, перешкодах і можливостях, пов'язаних з використанням у комерційній продукції програм з відкритим вихідним кодом. Використовуючи як приклад інтегроване середовище розробки (Integrated Development Environment – ​​IDE) на базі платформи Eclipse, ми обговоримо, які відмінності існують між захисними (protective) та незахисними (nonprotective) ліцензіями на вихідний код програмного забезпечення (ПЗ). При інтеграції або компонуванні відкритого вихідного коду з "фірмовим" закритим кодом часто потрібно виявляти належну увагу та обережність. Слід мати на увазі й різні правові проблеми, наприклад потенційну можливість порушення патентних прав. Ми також спробуємо пояснити, чому основні принципи використання програмного забезпечення з відкритим вихідним кодом у середовищі інформаційних технологій (ІТ) не застосовні щодо комерційної продукції для вбудованих пристроїв.

Середовище розробки QNX Momentics як приклад використання програмного забезпечення з відкритим вихідним кодом

Повертаючись у 2001 р., коли багато фірм-розробників боролися за виживання в умовах загального обвалу ринку акцій ІТ-компаній, особливо пов'язаних з електронним бізнесом в Інтернеті, компанія QNX Software Systems прийняла стратегічне рішення розпочати розробку нового інтегрованого середовища розробки (IDE) для ринку вбудованих систем. У компанії вже був солідний досвід з розробки серії інструментальних засобів, що використовуються в розробці пристроїв, що вбудовуються, але керівництво компанії усвідомлювало, що створення середовища IDE дозволить утриматися на гребені хвилі в умовах жорсткої конкуренції. Рішення про створення середовища IDE стимулювалося також зміною акцентів у вимогах клієнтів. У період спаду ділової активності стиснуті у коштах клієнти стали більше цікавитися рішеннями, які б максимізувати продуктивність роботи і зробити їх мобільнішими (гнучкими) під час робіт, дозволили підвищити загальну економічну ефективність.

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

Компанія IBM запропонувала використовувати досвід QNX для адаптації технології IDE до потреб розробників, які займаються створенням додатків, що вбудовуються, на базі мови C/C++. Фахівці компанії QNX практично відразу вказали на незаперечні привабливі сторони використання середовища IDE відкритих вихідних кодів. Наприклад, для такого середовища стало б можливо:

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

І нарешті, розглядалася окрема можливість того, що платформа IDE змогла б завоювати популярність і стати стандартом де факто, а це дозволило б компанії QNX за допомогою такої платформи захопити для використання ринок великих екосистем розробників і інструментів третіх сторін.

Заснування відкритого проекту Eclipse.org

У листопаді 2001 р. компанії Borland, IBM, Merant, QNX Software Systems, Red Hat та SUSE заснували Консорціум Eclipse. На початку 2004 р. Рада Керуючих (Board of Stewards) реорганізувала Консорціум Eclipse на некомерційну корпорацію з ім'ям Eclipse Foundation.

З самого початку Eclipse була проектом, заснованим на використанні відкритого вихідного коду. В рамках проекту пропонувалися як безоплатно розповсюджувані технології у вигляді відкритих вихідних текстів, так і можливість доступу до спільноти, що складається з найбільш освічених та розвинених розробників у своїй галузі. Таким чином, ця технологія виявилася універсальною платформою для інтеграції всіх видів інструментів розробки. У її основі лежить відкрита архітектура, що розширюється, при цьому вона чітко ліцензується як вільно розповсюджуваний продукт, що не вимагає ліцензійних відрахувань. Вклад членів спільноти в проект Eclipse базується на стандартній моделі розробки з відкритим вихідним кодом (Open Source Software - OSS), але більшість членів пропонують також і комерційні розробки, що базуються на платформі Eclipse.

Проект створення інструментального сховища

У грудні 2001 р. компанія QNX розпочала створення своєї ОСРВ QNX® Neutrino®, що базується на середовищі IDE платформи Eclipse. У поданні компанії середовище IDE повинно було мати великі функціональні можливості, орієнтуватися на роботу з мовами C/C++, мати глибоко інтегровані інструменти для налагодження, профілювання, аналізу та створення додатків, що вбудовуються. З самого початку, за задумом команди QNX, це мало бути багатоцільове та багатомовне середовище IDE, що підтримує безліч інструментальних платформ. Сюди було включено:

  • кілька інструментальних платформ: Windows, Solaris, ОСРВ QNX Neutrino (розробка "сама для себе" - "self-hosted");
  • кілька цільових архітектур: ARM, MIPS, PowerPC, SH-4, x86;
  • мови програмування C, C++, Java

З тих пір середа IDE продовжувала розростатися, включивши підтримку платформи Linux і підтримку додаткових процесорних архітектур, включаючи процесори XScale.

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

Групі були надані необхідні повноваження у сфері прийняття рішень, для них було складено жорсткий, на межі ризику розклад робіт, з випуском бета-версії продукту через 16 тижнів, а комерційної версії - до 4 липня 2002 р. Група вклалася у всі поставлені контрольні терміни та випустила новий продукт, який отримав ім'я QNX Momentics® IDE - точно відповідно до розкладу, що стало свідченням закладеного в програмне забезпечення з відкритим вихідним кодом потенціалу щодо скорочення часу виходу продукції на ринок.

Від ідеї до постачання продукту – менше 7 місяців

Спираючись на платформу Eclipse, команда QNX завершила створення дуже потужного та багатостороннього середовища IDE для розробки вбудовуваного програмного забезпечення за шість місяців. У середовищі IDE підтримувалася крос-платформна розробка для кількох інструментальних платформ та кількох мов програмування, а також підтримувалися найбільш популярні процесорні плати для цільових пристроїв, що вбудовуються. За допомогою платформи Eclipse компанія QNX змогла:

  • використовувати для крос-розробки компілятори GNU та інструменти для роботи через командний рядок;
  • здійснити підтримку модулів сторонніх розробників, що підключаються, наприклад, IBM WebSphere для вбудованих додатків Java і Rational ClearCase для модельно-керованих розробок;
  • створити додаткові інструменти для побудови систем, керування цільовими пристроями, аналізу пам'яті, профілювання систем та додатків тощо.

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

Зворотній внесок у роботу спільноти

Сильна сторона успішного проекту з відкритим вихідним кодом полягає у спільній роботі спільноти розробників та постійному поліпшенні кодової бази. Якщо компанія бере на озброєння і з користю застосовує відкритий вихідний код, вона просто зобов'язана робити свій внесок у роботу спільноти. З цією метою компанія QNX у червні 2002 р. взяла на себе керівництво проектом Eclipse CDT.

Метою проекту Eclipse CDT (C/C++ Development Tools - інструменти розробки мов C/C++) є створення загального набору взаємодіючих друг з одним інструментальних засобів мов C/C++ для платформи Eclipse. Eclipse CDT був позиціонований як проект із відкритим вихідним кодом, з правами на керування з боку корпорації Eclipse. Для запуску проекту CDT компанія QNX передала для використання свої ресурси для розробки та вихідні коди проекту QNX Momentics IDE. Компанії Rational та Red Hat як члени спільноти також надали суттєву підтримку проекту.

Рис. 1. При використанні платформи Eclipse вендори інструментальних засобів можуть сконцентрувати увагу на верхньому рівні стеку робіт, де і створюються реальні нововведення.

Компанія QNX, як і раніше, веде супровід проекту CDT, обсяг якого виріс із спочатку скромних 80 000 рядків коду до сьогоднішніх більш ніж 700 000 рядків. На початку 2006 р. за журналом реєстрації ходу робіт за проектом Eclipse CDT внесок компанії QNX оцінювався у 52%. Далі йшла компанія IBM із внеском 36%. Проект CDT є другим за популярністю проектом корпорації Eclipse після самої платформи Eclipse.

Чи можна собі дозволити "подарувати" код?

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

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

Наприклад, стратегія компанії QNX Software Systems полягає в тому, щоб використовувати переваги від участі в роботі корпорації Eclipse, розробляючи в той же час нові функціональні можливості, що підключаються через стандартизовані точки розширення, які вже є у складі платформ Eclipse та CDT. З цією метою компанія QNX має намір залишатися активним членом спільноти Eclipse, отримуючи вигоду з існуючої кодової бази і напрацювання третіх сторін (модулів, що підключаються), допомагаючи в задоволенні реальних потреб клієнтів, створюючи свої фірмові розширення. Описана стратегія ілюструється на рис. 2.

Рис. 2. Своїми напрацюваннями можна робити внесок у роботу спільноти.

Резюме з переваг

Інструментальна платформа на базі Eclipse є взаємовигідною як для розробників додатків, таких як QNX, так і для клієнтів, які купують інструментальні засоби платформи.

Вигода розробників полягає у зменшенні часу до постачання їх продукції на ринок та у можливості скористатися результатами досліджень інших людей (при низьких витратах на це). Серед цих результатів може бути і високоякісний код, що відноситься до категорії "чистої інтелектуальної власності" ("clean IP"), наданий шановними фірмами, такими як IBM та QNX. Ще однією перевагою для розробника є те, що він отримує просту та ясну схему ліцензування, включаючи комерційні права та деякий патентний захист. Більше того, розробник отримує можливість роботи на платформах кількох ОС, що підтримуються в Eclipse, а також отримує у своє розпорядження добре визначені в проекті Eclipse точки розширення.

Вигода клієнтів, які купують середовище IDE на базі Eclipse, полягає у використанні інструментальної платформи, призначеної для розробки додатків, що вбудовуються, з потужною підтримкою засобів крос-компіляції, простою налагодженням і наявністю розширень для управління цільовими системами. Команда розробників клієнта зможе гідно оцінити багато функцій, що полегшують роботу, малий час, потрібний на додаткове навчання, хорошу продуктивність продукту та надійну платформу, що дозволяє працювати з великими проектами. Клієнт може також з користю застосувати платформу Eclipse у власних додатках (наприклад, RCP, eRCP тощо).

Майбутнє корпорації Eclipse

Корпорація Eclipse є активною та енергійною спільнотою. У ньому постійно з'являються нові проекти, у розпорядження солідних інноваційних компаній надаються нові архітектури, і навіть невеликі компанії можуть отримати комерційну вигоду з платформи Eclipse в результаті створення з мінімальними витратами нових модулів, які розширюють функціональні можливості (див. рис. 3).

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

Порівняння ліцензій на відкритий вихідний код

Не всі ліцензії на програмне забезпечення з відкритим вихідним кодом є рівноправними. Компанія QNX зробила добре продуманий крок, зупинившись на ліцензії Eclipse Public License. Цей вибір був продиктований частково потребами її клієнтів, які використовують вбудоване обладнання, а частково бажанням встановити контроль над технологіями, що диференціюють продукцію (і отримати вигоду).

Некомерційна корпорація Open Source Initiative () запропонувала корисне визначення відкритого вихідного коду, що складається з 10 пунктів. В даний час на веб-сайті представлено понад 50 схвалених OSI ліцензій, включаючи Eclipse Public License. У цих ліцензіях можуть бути значні відмінності, які потрібно чітко усвідомлювати. Ці відмінності можуть суттєво впливати на інтелектуальну власність (ІВ) розробників та здатність її захисту. Найбільшою мірою це стосується випадку використання відкритого вихідного коду (або похідних розробок на базі відкритого вихідного коду) у пристроях, що вбудовуються.

Захисна та незахисна ліцензія

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

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

Що розуміється під "вірусною ліцензією"

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

Питання отримання компенсацій

Останнім часом питання відшкодування втрат за порушення прав ІВ (IP Indemnification) стали для розробників головною темою обговорення. У відповідь деякі вендори відкритого вихідного коду оголосили у тому, що вони захищатимуть клієнтів від судових позовів, пов'язані з порушеннями патентних чи авторських прав. І в нових ліцензіях на відкритий вихідний код роз'яснюються заходи покарання для користувачів, які намагаються відстоювати свої патентні права щодо інших користувачів кодової бази.

Головні проблеми, що виникають при комерціалізації програмного забезпечення з відкритим вихідним кодом

Порівняння вбудованих та ІТ-додатків

Успіху сфери відкритого вихідного коду сприяло ухвалення ІТ-організаціями ОС Linux. Вигода від використання Linux була пов'язана з роботою на відносно однорідному та стабільному устаткуванні (зазвичай сімейства x86) та з використанням гнучкої, багатої на ресурси комп'ютерної платформи.

З вбудованим ПЗ справи зовсім по-іншому. Це запускається на величезній кількості пристроїв з фіксованим набором функцій, при цьому використовується широкий діапазон обладнання з різноманітною архітектурою. Розробники пристроїв, що вбудовуються, часто засновують свої конкурентні переваги на конкретному наборі функцій, габаритних параметрах, продуктивності, вартості, часу роботи від батарей, надійності, здатності взаємодії з іншими пристроями і розширюваності. Ці відмінні функції зазвичай реалізуються на низькорівневому ПЗ, що у разі Linux вимагає компонування безпосередньо до ядра ОС. Налаштування низькорівневого ПЗ під потреби клієнта є нормою, а чи не винятком, тому розробники часто домагаються потрібних їм функціональних можливостей з допомогою зміни ядра ОС. Використовується також метод прямої компонування шляхом запровадження кодові фрагменти з метою зменшення витрат за створення бібліотек. Така практика, що розглядається разом, робить дуже важким захист фірмового коду за умов ліцензій типу GPL (загальнодоступних).

Зазвичай ці проблеми ліцензування не стосуються ІТ-додатків, оскільки фірмова, пов'язана з конкретним підприємством ПЗ не поширюється далі підприємства, використовуючи виключно для внутрішніх потреб. Якщо ж взяти вбудовані пристрої, через них завжди поширюється похідне ПЗ, стосовно якого спрацьовує стаття “force open” (примусово відкритий код) ліцензій на відкритий вихідний код, що може ризикувати головні аспекти цінних пропозицій з відкритим вихідним кодом.

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

Проблеми ліцензування

Невизначеність правового статусу

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

Деякі обхідні шляхи, які дозволяють вендорам комерційної продукції впровадити в Linux "фірмові" драйвери (наприклад, Loadable Kernel Modules - модулі ядра, що завантажуються), ґрунтуються швидше на аргументах типу "він сказав, вона сказала", ніж на прямих посиланнях на текст ліцензійної угоди. Фактично такі драйвери, які використовують модулі LKM, приховують небезпечний обхід вимог ліцензії GPL. Впадаючи в крайність, можна інтерпретувати справу так, що кодова база Linux може бути представлена ​​як марна для більшості практичних застосувань, якщо в неї не включені деякі з цих "фірмових" драйверів. Така ситуація здатна ефективно знецінити ідею ліцензії GPL.

Відсутність компенсацій за порушення прав ІВ

У більшості випадків використання відкритого вихідного коду існує реальна можливість того, що ви ненавмисно порушите чиїсь патентні права. Лише в малій частині ліцензій на відкритий вихідний код робиться явне посилання на патенти, а за ліцензіями, що розуміються, не можна виносити будь-яке рішення. Ви повинні окремо ліцензувати будь-які патенти, які стосуються, наприклад, кодеків із категорії відкритого вихідного коду, в яких реалізовано алгоритми MP3 або інші запатентовані рішення. А тим часом, "погані хлопчики" (і Microsoft у тому числі) стурбовані створенням портфоліо з патентів, якими, на думку багатьох експертів, можна буде "вистрілити" по прихильниках відкритого вихідного коду.

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

Додаткові зусилля для збереження ІС

Для використання відкритого вихідного коду компанія має витратити значні зусилля у таких напрямках:

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

Прийняття вимог клієнта

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

Проблеми, пов'язані з ІС

Чи торкаються умови вашої ліцензії на використання відкритого вихідного коду ту інтелектуальну власність, яка є відмінною рисою вашого продукту? Якщо так, то ваша ІВ перебуває під загрозою.

Якщо у системах, що вбудовуються, використовується суміш ПЗ вашої власної розробки та програм з відкритим вихідним кодом, то ви повинні представляти суть, походження і взаємозв'язок всіх компонентів вбудовуваного ПЗ. Без такого глибокого проникнення в суть предмета ви можете ненавмисно порушити права чиїсь ІС або навіть втратити права на ПЗ власної розробки.

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

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

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

Використання відкритого вихідного коду у пристроях, що вбудовуються, призводить до більш складних проблем, ніж у разі використання такого ПЗ в ІТ-додатках, так як перший варіант таїть більше небезпек. Перед тим, як вирішити використовувати будь-яке ПЗ з відкритим вихідним кодом, оцініть справжню вартість володіння ним (TTCO) та його придатність для вашого проекту.

І, нарешті, приєднуйтесь до спільноти користувачів та розробників ПЗ з відкритим вихідним кодом для отримання максимальної користі та вигоди!



Завантаження...
Top