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

Марк Робертс (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) та його придатність для вашого проекту.

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

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

Безкоштовне програмне забезпечення (Freeware)

Вперше термін freeware з'явився в 1982 році, його зареєстрував як товарний знак американський програміст Андрю Флеглеман (Andrew Flegleman) для розробленої ним комунікаційної програми.

Безкоштовно можна скачати:

  • бета-версії програм
  • спрощені аналоги повноцінних пакетів
  • драйвери
  • програми, використання яких підштовхне до придбання додаткових ресурсів.

Достоїнство freeware одне - не треба платити гроші, недоліків трохи більше:

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

Практично будь-яка комерційна програма під Windows має свої безкоштовні аналоги:

  • Архіватори (7-Zip)
  • ПЗ для роботи з FTP (FileZilla)
  • Антивіруси (CureIt, Avast!, AVZ)
  • Текстові редактори (Notepad++)
  • Браузери (Mozilla, Firefox, Opera, Google Chrome)
  • Аудіоплеєри (WinAmp)
  • Відеоплеєри (VLC, Miro, Media Player Classic)
  • Транскодери (MediaCoder)
  • Графічні редактори (GIMPshop)
  • Офісне ПЗ (Apache OpenOffice, LibreOffice)

Безкоштовні програми під Windows доступні в Інтернеті на веб-сайтах розробників. Після завантаження архіву та встановлення програмного забезпечення на комп'ютері автоматично формуються всі необхідні для нормальної роботи програми каталоги та файли в них. Безкоштовні програми для Android та iOS можна завантажити за допомогою маркетплейсів PlayStore та AppStore.

Завантажуючи безкоштовні програми, ви ризикуєте зіткнутися з ефектом «троянського коня»: розробник включає в пакет, що безкоштовно розповсюджується, інші програми, які автоматично розміщуються на комп'ютері при встановленні пакета. Не завжди це програмне забезпечення безпечне!

Особливе місце у категорії безкоштовних програм займають проекти open source. Частина з перерахованого вище ПЗ (Mozilla Firefox, 7-Zip, FileZilla, Notepad++, Miro, VLC, Apache OpenOffice, LibreOffice, Media Player Classic, GIMPshop, Google Chrome) відноситься саме до цієї категорії.

Open Source ПЗ

Програмне забезпечення може поширюватися із закритим вихідним кодом (Microsoft Windows, MS Office – пропрієтарне програмне забезпечення), і з відкритим кодом (open source). Термін «free software» (вільне програмне забезпечення), що з'явився в 1984 році, відноситься до ПЗ, яке можна безкоштовно отримати, модифікувати, використовуючи доступні вихідні тексти програм, і поширювати далі.

Програми розповсюджуються за ліцензією GNU GPL і повинні відповідати таким вимогам:

  1. Немає обмежень використання ПЗ у певних галузях діяльності.
  2. Вихідний код поширюється разом з модулем, що виконується, або його можна отримати з доступного джерела безкоштовно/за помірною ціною. Код має бути читаним.
  3. Модифікована версія розповсюджується на загальних умовах. Можна змінити назву або номер версії.
  4. Програма доступна всім охочим.

У 1998 році було введено поняття "open source software" - ПЗ з відкритим кодом. Формально все вільне програмне забезпечення можна вважати ПЗ з відкритим кодом. Прийнято відносити програми Open Source до безкоштовних, хоча не заборонено їх використовувати в комерційних цілях. Зазвичай воно поширюється за ліцензією Apache 2.0. Але є й інші варіанти (докладніше про ліцензії у світі open source див.).

Переваги роботи із проектами open source:

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

Недоліки:

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

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

Давно широко запроваджує технологію «відкритого коду» компанія Google. Усі її проекти такого типу, їх приблизно 200 (спочатку і Kubernetes було розроблено тут, а потім передано під управління Cloud Native Computing Foundation), доступні на порталі компанії GOOGLE OPEN SOURCE. На ресурсі лежать не лише коди програм, а й документація щодо їх використання та підтримки. Наскільки широко можна використовувати відкрито код, що надається - вказано в ліцензії, зазвичай безпосередньо розміщується в тексті програми.

Компанія Apple, відкривши вихідні коди мови Swift, намагається збільшити кількість доступних програм для Apple. Поточна версія мови зараз має обмеження: щоб завантажити свою розробку на AppStore, доведеться придбати ліцензований Swift. Вся необхідна інформація розміщена на сайті swift.org і в хмарному сховищі GitHub. Випущено реліз Swift під Linux.

Умовно-безкоштовне програмне забезпечення

Деякі програми, що розповсюджуються безкоштовно, мають обмеження:

  • за терміном роботи
  • за кількістю запусків
  • за функціональністю

Для обмеження терміну роботи та числа запусків використовується trial-захист – спеціальні лічильники. Як обмежене за функціоналом ПЗ надають демо-версію або версію з обмеженим сервісом. Іноді розробник вставляє в код програми рекламу, що утруднює роботу з пакетом. Щоб позбавитися рекламного банера, доведеться заплатити.

Приклади програм з ліцензією shareware:

  • Архіватор WinRAR (30 днів)
  • Антивірус Nod32 (30 днів)

AcrobatReader – приклад програми, обмеженої функціоналом. Ця програма, нижній сегмент AdobeAcrobat, дозволяє лише перегляд PDF-файлів. Для повноцінної роботи з файлами таких типів необхідно придбати повнішу версію Acrobat'a.

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

Наприклад, компанія Oracle безкоштовно дозволяє завантажувати дистрибутив СУБД та утиліти для роботи з нею. При цьому накладаються обмеження обсягу масиву оброблюваних даних. Але для вивчення принципів роботи з базою даних та відпрацювання навички написання процедур цей варіант роботи з ПЗ підходить.

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

Висновки

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

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

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

Безперечною перевагою open source проектів є їхня незалежність від вендора, великі компанії вважають за краще на їх основі створювати корпоративне програмне забезпечення. Особливо це стає актуальним для держкорпорацій через можливі складнощі у придбанні пропрієтарних продуктів через економічні санкції. Стримуючим фактором при впровадженні open source є певна невизначеність, пов'язана з інформаційною безпекою: можливі проблеми під час проходження сертифікації у ФСТЕК.

Широку популярність здобули підкріплені потужною маркетинговою підтримкою зусилля виробників обчислювальної техніки з просування рішень open-source software(Програмне забезпечення з відкритим вихідним кодом). У сучасному офіційному вживанні російською це явище прийнято називати вільним програмним забезпеченням(СПО).

Суть концепції полягає у кількох принципах створення та поширення СПО:

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

Зазначені принципи використовуються при створенні більшості

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

Відкритий код вже здобув низку важливих перемог над найсильнішими із виробників власного (пропрієтарного) ПЗ. Зокрема, веб-сервер Apacheнабагато випереджає аналогічні продукти інших компаній (у тому числі Microsoft)за часткою ринку завдяки своїй низькій вартості, незалежності від постачальників, наявності безлічі, які мають досвід його адміністрування користувачів та підтримці розробників. Linuxобійшов за обсягами постачання всі інші види Unixдля платформи Intel,включаючи довгий час, що утримувала лідерство SCO.СУБД із відкритим кодом займають міцні позиції на ринках ОС із відкритим кодом та популярних інтернет-рішень молодшого класу. Загроза власному ПЗ походить від переваг СПО, аналогічних переваг Інтернету, тобто. відкритості, свободи адаптації тощо.

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

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

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

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

  • Ціновий тиск.Оскільки ліцензії відкритого коду, по суті, вимагають безкоштовної дистрибуції ПЗ та його модифікацій, ціни на подібні традиційні продукти необхідно знижувати, щоб не поступатися СПО та боротися зі втратою частки ринку. Наприклад, SCOне може брати по 2000 дол, за Unixдля платформи Intel,в той час як Linuxдоступний безкоштовно, a Microsoftмонополізує сектор настільних систем. Традиційні виробники можуть, однак, частково відшкодувати собі втрати, роблячи свої програмні продукти якіснішими порівняно з СП і стягуючи за це додаткову плату.
  • Досить хороша функціональність.«Достатньо хороші» програми (але не найкращі) можуть частково потіснити продукти постачальників традиційного програмного забезпечення, які надто часто бувають націлені на масовий ринок. Більш складна (і дорога) функціональність на ранніх етапах свого розвитку завжди орієнтована відносно невелику групу користувачів-фахівців. Але навіть діючим на цьому ринку виробникам все ж таки потрібно чітко розуміти, що ринок високорозвиненого ПЗ розширюватиметься і поглиблюватиметься. Якщо розвинена функціональність зможе залучити ширше коло користувачів, замовники, природно, купуватимуть альтернативи з відкритим кодом, нехай і менш розвинені. На дуже великих масових ринках домінуючі постачальники СПО, окрім нарощування обсягів поставок, мають масу можливостей для зростання за рахунок реалізації додаткових стратегій у галузі продуктів та послуг. Розмір масового ринку сам по собі забезпечує зниження цін за рахунок високих обсягів поставок, що дозволяє кінцевим споживачам отримувати відчутні прибутки навіть за незначного збільшення вартості своєї продукції.

У деяких випадках СПО може навіть обійти традиційні продукти за функціональністю. Наприклад, Apacheстав першим із веб-серверів, у якому з'явилася популярна серед провайдерів інтернет-функція IP-aliasing,що дозволяє розміщувати на одній системі кілька доменних імен Інтернету.

  • «Ефекти мережі»,обумовлені знанням та вивченням ПЗ та інструментальних засобів масового використання. Витрати навчання користувачів нової технології становлять значну частину загальної вартості володіння, перевищує ціну сам програмний продукт. Компанія з великою базою користувачів, знайомих з продуктом та інструментами, що його супроводжують, може використовувати це знайомство, випускаючи нові версії або виходячи на суміжні ринки. Цей вид ефектів мережі може змінюватись в залежності від типу користувача - розробники ПЗ використовують API,системні адміністратори - певні засоби адміністрування, користувачі працюють з графічними інтерфейсами користувача, а керівники встановлюють відносини з постачальниками. Сформувавшись, ця мережа партнерів та користувачів рішень з відкритим кодом вже не руйнується і дозволяє вирішувати маркетингові проблеми дрібнішого порядку, на кшталт придбання прихильників та лояльності замовників.
  • Тиск стандартизації.Остання загроза з боку руху відкритого коду – це його інструментальні засоби та культура, яка вважає своїм ворогом усілякі технологічні бар'єри, споруджені виробниками традиційного програмного забезпечення.

Останнім часом найбільш швидко розвивається в програмному забезпеченні вважається так званий «комерційнийopen-source»,тобто. СП, підтримуване звичайними комерційними компаніями. Одним із лідерів цього напряму варто вважати корпорацію Sun,яка розробляє кілька великих проектів у цьому секторі: ОС OpenSolaris,СУБД MySQL,офісний пакет OpenOffice.orgта середовище віртуалізації Virtual Box.Як правило, існують кілька версій такого програмного забезпечення, в тому числі і комерційна. При оплаті ліцензії користувач отримує технічну підтримку, а також у ряді випадків спеціальні інструменти для зручної роботи, які не доступні в рамках відкритої ліцензії. Тобто за невеликих потреб компанії можуть користуватися вільними або безкоштовними версіями ПЗ, а при зростанні запитів купити комерційні розширення, не змінюючи при цьому нічого в своїй інфраструктурі та додатках. Таким чином, комерційний варіант СПО безпосередньо конкурує з розробками традиційних компаній, наприклад Microsoft,яка активно створює спеціальні схеми ліцензування для використання у середовищі Інтернету (йдеться про серверне ПЗ).

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

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

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

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

В даний час існує безліч програм з відкритим вихідним кодом відмінної якості: Linux LibreOffice, Firefox, Audacity, WordPress, Emule та інші, які дають уявлення про рівень розвитку та затребуваність цієї ідеї у світі. У кожній програмі сотні людей по всьому світу працюють безкорисливо, відповідаючи за покращення та оновлення ПЗ.

Хронологія процесу:

  1. 22 січня 1998 року Netscape оголошує, що він випускатиме вихідний код для Netscape Navigator.
  2. 3 лютого 1998 року на зустрічі в Пало-Альто було вигадано термін «відкритий вихідний код», і наступного тижня Брюс Перенс та Ерік Реймонд запустили проект "opensource.org".
  3. 31 березня 1998 року відкрито код Netscape Navigator і вже за кілька годин перші поліпшення ПЗ надійшли до мережі.
  4. 7 травня 1998 року корпорація Corel оголошує про економічний комп'ютер Netwinder, який працює під управлінням GNU/Linux.
  5. 11 травня 1998 року Corel оголошує про свої плани з адаптації WordPerfect та решти свого офісного програмного забезпечення до GNU/Linux.
  6. 28 травня 1998 року Sun Microsystems та Adaptec приєдналися до Linux International, перших великих постачальників обладнання та операційних систем з відкритим вихідним кодом.
  7. 13-17 липня 1998 року, Oracle та Informix повідомляє, що підключають свої бази даних для GNU/Linux.
  8. 10 серпня 1998 року Sun Microsystems пропонує Solaris, операційну систему, призначену для окремих користувачів та освітніх чи некомерційних організацій.
  9. 1 листопада 1998 року опубліковано плани Microsoft проти GNU/Linux та інших проектів з відкритим вихідним кодом.
  10. 16 грудня 1998 р. IDG оголошує, що частка ринку GNU/Linux збільшилася на 212% в 1998 році.
  11. 1-5 у березні 1999 року перша виставка Linux World Conference Expo.
  12. Hewlett-Packard, IBM та SAP починають підтримку комерційних фірм.
  13. 15 березня 1999 року Apple запускає Darwin за ліцензією з відкритим вихідним кодом.
  14. 4 червня 1999 року Microsoft погодився з тим, що Linux в цілому продає більше ліцензій, ніж Windows 98.

У період між 1998 та 2019 роками популярність GNU/Linux значно зросла, а також з'явилося багато компаній з OS. Цей рух привернув увагу програмної індустрії, привнісши пропозиції консолідованих компаній-розробників, таких як Sun Microsystems зі StarOffice та IBM з OpenAFS.

Термін Open Source

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

Враховуючи це, використання терміна "Open Source Software" є кращим для позначення програм, що пропонуються з повною свободою модифікації, використання та розповсюдження відповідно до неявного правила не змінювати зазначені свободи в майбутньому. Комп'ютерна концепція англійською «Open Source Software» відноситься до ПЗ у вільному доступі з дозволами модифікації та покращення.

«Open Source Software» відповідає філософії спільноти, яка прагне демократизації знань через спільну роботу розробників з усього світу. Ця ініціатива має на меті впровадження інноваційних рішень, пов'язаних з технологіями, за допомогою співробітництва, обміну інформацією, гнучкості процесів та зниження витрат.

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

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

Вільний термін, або свобода, пов'язаний із такими функціями:

  1. Використання. Можна використовувати програму, незалежно від того, була вона призначена для конкретних завдань її чи ні.
  2. Дослідження. Доступність вихідного коду дозволяє аналізувати його глибше, адаптуючи до потреб користувача та оцінюючи можливі покращення, які необхідно виконати.
  3. Розповсюдження. Зазвичай зустрічається у місцях безкоштовного скачування та розголошується, без обмежень.
  4. Відкритий для покращень та інновацій. Надаючи доступ до вихідного коду, користувачі та програмісти з усього світу можуть зробити свій внесок у колективні знання та спостереження, обговорення помилок та покращення продукту.

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

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

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

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

За словами Річарда Столлмана, засновника Руху за вільне програмне забезпечення, «ці свободи мають життєво важливе значення не лише для користувача, а й для всього суспільства, оскільки вони сприяють солідарності. Його актуальність зростає, оскільки культура та повсякденна діяльність все більше пов'язані з цифровим світом».

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

Базові принципи з відкритим кодом

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

Основні засади платформи:

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

  1. Використання програми для будь-яких цілей та без обмежень.
  2. Можливість вивчення як вона працює.
  3. Вільне розповсюдження програми.
  4. Вільна зміна ПЗ.

Модель розробки програмного забезпечення OS базується на обміні знаннями. Це традиційна схема наукових областей і саме тому це була початкова модель, де було розроблено інтернет, і навіть інструменти TCP/IP, Unix, C.

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

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

В інтернеті у відкритому доступі сьогодні існує безліч програм Open Source Software з відмінною репутацією та характеристиками.

Список OS:

  1. Linux має відкритий вихідний код. Це багатозадачна, розрахована на багато користувачів система, яка забезпечує командний і графічний інтерфейс. Крім того, це найвідоміший приклад відкритого коду.
  2. Apache Openoffice. Це потужний текстовий процесор, обчислень та графіки, ідеально підходить для сфери освіти. Може збагатити як учителів, так і студентів.
  3. Android. Завдяки тому, що це OS багато розробників можуть використовувати його для створення додатків, які будуть використовуватися цією системою.
  4. Firefox. Багато користувачів добре знають цей веб-браузер Mozilla, і більшість його коду представлена ​​великою спільнотою добровольців.

Забезпечення систем безпеки

Багато користувачів турбує питання, чи є вільне програмне забезпечення більш безпечним, ніж пропрієтарне. Добре відомо, що користувачі OS, такі, як ті, хто зазвичай працює з комп'ютерами, керованими системами Linux, зазвичай пишаються безпекою, яку ці програми забезпечують по відношенню до найбільш закритих систем, скажімо, Microsoft Windows або Apple Mac.

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

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

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

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

У цьому - на відміну від пропонованої Windows чи MacOS, де ці виправлення, зазвичай, обмежуються виявленими Microsoft і Apple.

Саме тому Windows домінує серед настільних комп'ютерів, Linux широко використовується на серверах та інших елементах, мають велике значення для забезпечення фундаментальної безпеки.

Переваги Open Source

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

Переваги ПЗ:

  1. Користувач не платить за ліцензію використання програми.
  2. Постачальник стягує плату лише за послуги, які він надає.
  3. Незалежність від провайдера та покращення послуг.
  4. Клієнт не залежить від провайдера, оскільки, маючи вихідний код, будь-який провайдер може продовжити роботу з місця, де закінчився попередній.
  5. Оскільки постачальник платить лише за послуги, а клієнт немає зв'язків, перший концентрує свої зусилля задля забезпечення гарного обслуговування клієнтів.
  6. З усім доступним кодом будь-яка нова розробка може використовувати дані та процеси клієнта, інтегруючи різноманітні програми.
  7. Створені дані завжди будуть доступними, не змушуючи клієнта вкладати кошти в ліцензію.
  8. Користувач не підпадає під санкції за використання програми.
  9. Має періодичні поновлення з високою частотою випуску в мережу.
  10. Продукт 100% без вірусів.
  11. Має велику спільноту підтримки.
  12. Технологічна незалежність
  13. Гнучкі комп'ютерні рішення.
  14. Економічний варіант з низькою або нульовою вартістю продуктів.
  15. Вільне використання та поширення.
  16. Має стандартні формати, які забезпечують більшу сумісність між системами.

Компанії, які присвячують себе OS, застосовують тарифікацію не за ліцензії на програмне забезпечення, а за послуги, які вони надають своїм клієнтам. Зокрема, вони концентрують свої доходи на видах діяльності, таких як навчання, консалтинг, консультування, сертифікація та індивідуальні розробки.

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

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

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

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

Перспективи розвитку

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

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

Для громадськості були відкриті не тільки бібліотеки коду, але також навчальні посібники та приклади, що працюють під ліцензією Apache 2.0, тому будь-яка установа має можливість скористатися пропозицією.

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

Майбутнє цієї системи дуже перспективне, експерти стверджують, що до 2020 року комп'ютерне обладнання отримає більше 80% своїх компонентів через добровільні спільноти з Open Source.

Як створюються комп'ютерні програми

p align="justify"> Комп'ютерна програма - це список інструкцій, даних комп'ютеру, щоб змусити його виконувати певне завдання або серію завдань. Комп'ютери не розуміють англійською, тому програмісти повинні передавати ці інструкції комп'ютеру мовою, зрозумілою комп'ютеру. Однак комп'ютери можуть працювати тільки з числами, що робить мову комп'ютера дуже важкою для розуміння людьми.

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

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

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

Що таке Open Source?

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

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

Що це означає

Вам цікаво, чому ж Open Source важливий. Ця важливість полягає в тому, що будь-який програміст в будь-якій точці світу може переглядати вихідний код, виправляти помилки, додавати нові функції і налаштовувати систему без обмежень. Саме так Linux розроблявся з самого початку, і саме тому Linux є дуже стабільною системою з невеликою кількістю помилок, широкою апаратною підтримкою та набором функцій, що зростають настільки швидко, що постачальники операційних систем запрієтарів заздрять. Той факт, що вихідний код відкритий для перегляду експертами у всьому світі, гарантує, що будь-які проблеми будуть знайдені та вирішені швидко, а виправлення можуть поширюватися без обмежень. Це набагато ефективніше та дієвіше, ніж покладатися на те, що корпорація втисне «пакет оновлення» десь у свій щільний графік випуску. Зрештою їм не платять за пакети оновлень.

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

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

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

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

Ресурси

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

Задовго до того, як термін «відкритий вихідний код» увійшов у вжиток, існувала спільнота людей, відданих ідеї «Вільне програмне забезпечення», фразі, яка відноситься не до вартості, а до свободи її використання та модифікації (думати про свободу як « свободі слова», а не «вільному пиві»). Ця спільнота, як і раніше, активно просуває ідеали вільного програмного забезпечення. Щоб дізнатися більше про це, ви можете відвідати The Free Software Foundation https://www.fsf.org/.

Для детального вивчення того, як і чому розробляється програмне забезпечення з відкритим кодом, прочитайте чудове есе Еріка С. Раймонда "The Cathedral and the Bazaar" .

Якщо ви розглядаєте програмне забезпечення з відкритим вихідним кодом для свого бізнесу, ви повинні відвідати The Open Source Initiative, щоб дізнатися більше. Погляньте в будь-якому випадку і дізнайтеся, як спільнота відкритого вихідного коду може підвищити стабільність, масштабованість та потужність вашого бізнесу, водночас фактично скоротивши витрати.

Поділіться з друзями або збережіть для себе:

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