Що таке Open Source, проекти, приклади відкритого програмного забезпечення

Программирование

Open Source – це програмне забезпечення, яке розповсюджується за ліцензією, яка відповідає стандартам відкритого ПЗ. Принцип відкритості охоплює як сферу розробки софта. Наприклад, дизайнери надають доступ до безкоштовних шаблонів та шрифтів. У деяких країнах державні установи переходять на відкрите програмне забезпечення. У Німеччині влада міста Мюнхен вирішила перейти на операційну систему LiMux, яка є кастомізованою версією Ubuntu. У Гамбурзі чиновники вирішили використати офісний пакет Phoenix замість Microsoft Office. Керівництво Великобританії перейшло з використання формату PDF на ODF. У Франції жандармерія використовує ОС Ubuntu та безкоштовний LibreOffice.
Що таке Open Source, проекти, приклади відкритого програмного забезпечення

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

Перерахуємо основні вимоги, яким має відповідати програма, що розповсюджується за ліцензією Open Source:

  • програми розповсюджуються безкоштовно;
  • ПЗ поставляється з вихідним кодом, якщо його немає в базовому комплекті, його можна вільно завантажити або отримати іншим способом;
  • код можна змінювати та використовувати частини коду в інших проектах, при цьому розповсюджувати модифіковані програми слід за умов ліцензії Open Source;
  • не допускається дискримінація будь-яких груп людей, наприклад, у США є обмеження на експорт програм, але вільна ліцензія не може встановлювати свої заборони;
  • ліцензія Open Source дозволяє всі засоби використання додатків, таким чином особисті моральні переконання розробника не заважають поширенню, наприклад, пункти типу: «забороняється використовувати для генетичних досліджень» неприпустимі;
  • всі правила, пов’язані з Open Source ліцензією, однакові всім користувачів, додаткові угоди, такі як про нерозголошення, заборонені;
  • ліцензія може бути прив’язана до програми, розробник, використовує лише частина коду, має права, які дав повний продукт;
  • користувач може сам вибирати, чим він буде користуватися, наприклад, забороняється вимагати, щоб ПЗ, що поставляється разом з Open Source, було обов’язково відкритим.

Open Source проекти – у чому їхня особливість

Більшість програм, що розповсюджуються за ліцензією Open Source, мають такі відмінності:

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

Історія появи вільного ПЗ

Засновником руху вільного програмного забезпечення вважається Річард Столлман. Під час роботи в лабораторії штучного інтелекту, що працює при Массачусетському технологічному інституті, він брав участь у розробці вільного програмного забезпечення. Наприклад, у написанні текстового редактора EMACS для комп’ютерів PDP. В 1984 Столлман пішов з роботи в МТІ і заснував проект GNU. Його ентузіасти вигадали термін «вільне програмне забезпечення» і розробили маніфест GNU.

Що таке Open Source, проекти, приклади відкритого програмного забезпечення
Річард Столлман
У 1985 році Столлман створив фонд Free Software Foundation (FSF), який використовувався для розвитку вільного програмного забезпечення за рахунок добровільних пожертвувань. У 1989 році була представлена ​​перша ліцензія General Public License (GPL), яка захищала користувачів, надавала права на копіювання, зміну та розповсюдження додатків. Пізніше з’явилися ліцензія Массачусетського технологічного інституту та BSD, розроблена у Каліфорнійському університеті. До 1991 року була розроблена незалежна операційна система, але вона не мала ядра. У тому ж році Лінус Торвальдс представив ядро ​​Linux, яке в 1992 отримало ліцензію GPL. У середині 90-х років минулого століття ринком Open Source почали цікавитись великі компанії. Першою була компанія Netscape.Випущений нею браузер на той час вважався одним із найпопулярніших. 1998 року вона відкрила його вихідники. Після того, як компанія припинила своє існування, на основі коду Navigator було створено браузер Mozilla Firefox. Зараз розвитком та просуванням відкритого програмного забезпечення займається компанія Open Source Initiative, яка була заснована у 1998 році. У чому сенс open source: https://youtu.be/8G3Dz_GyPI0

Ліцензії Open Source

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

Що таке Open Source, проекти, приклади відкритого програмного забезпечення
Open Source ліцензії
Тепер розповімо про найпопулярніші з них.
  1. Ліцензію MIT було розроблено в одному з провідних навчальних закладів США – Массачусетському технологічному інституті. Вона майже повністю збігається з трехпунктной версією BSD ліцензії, у ній лише додано один пункт, у якому забороняється використання імені автора реклами. Під нею вийшли: XFree86, Expat, PuTTY та інші продукти.
  2. Ліцензія BSD вперше з’явилася на початку 80-х років минулого століття для поширення однойменної операційної системи. Існують такі варіанти цієї ліцензії:
    • Original BSD license – перша оригінальна ліцензія, її ще називають чотирипунктною.
    • Modified BSD license трипунктна ліцензія, в ній виключено один пункт, який зобов’язує в рекламі вказувати, що цей додаток використовує програмне забезпечення розроблене в Каліфорнійському університеті.
    • Ліцензія Intel , яка була розроблена для програм, захищених патентами. Вона не підтримується організацією Open Source Initiative.
      Що таке Open Source, проекти, приклади відкритого програмного забезпечення
      Ліцензії на Git Hub
  3. GNU General Public License – це найпопулярніша ліцензія. Вона з’явилася 1988 року. У 1991 році з’явилася покращена версія GPL v2, яка досі не втратила актуальності. У 2006 році було прийнято ліцензію GPL v2.
  4. GNU Lesser General Public License або скорочено GNU LGPL створювалася для компонування бібліотек з ПЗ, які розповсюджуються за іншими ліцензіями.
  5. Ліцензія Apache дозволяє змінювати та розповсюджувати програми як у вихідних кодах, так і в двійкових. Крім прав на продукт, передбачається також передача патентів.
  6. Guile схожа на GNU GPL, але в ній доданий пункт, який дозволяє об’єднувати відкрите ПЗ з невільним, тому його не можна вважати строгим “авторським лівом”, але вона сумісна з GNU GPL.
  7. Ліцензія Common Public License була розроблена IBM для власних розробок. Вона дозволяє змінювати код та застосовувати його в комерційних програмах. Цю ліцензію використовувала Microsoft для Windows Installer XML.
  8. Mozilla Public License (MPL) – це складна ліцензія, що не відповідає строгому авторському ліву.
  9. Ліцензія Sun Publi c License аналогічна MPL, але є дрібні зміни, наприклад, замість компанії Netscape значиться Sun Microsystems.

Існують також інші, менш поширені ліцензії, наприклад, Guile, Common Public License, Mozilla Public License та інші. https://youtu.be/oAW5Dh9q3PM

Приклади проектів із відкритим кодом

Розробка ядра Linux та додатків GNU стали основою для інших програм Open Source. Прихід Netscape зацікавив великі IT-компанії. З того часу було розроблено багато різних продуктів. Спочатку згадаємо Debian, який з 1994 по 1995 роки підтримував фонд вільного ПЗ, а пізніше було створено некомерційну організацію «Програмне забезпечення у суспільних інтересах», яка продовжила фінансування проекту. В рамках цього проекту була створена не тільки операційна система, а й офісний пакет LibreOffice, браузер Firefox, поштовий клієнт Evolution, програма для запису CD дисків K3b, відеоплеєр VCL, редактор для роботи із зображеннями GIMP та інші продукти. Некомерційна компанія Apache Software Foundation з’явилася як Open Source проект, який займався підтримкою програмного забезпечення.Найпопулярніший продукт цієї організації – це однойменний веб-сервер. Зараз компанія підтримує велику кількість проектів, що розповсюджуються за ліцензією Apache. Серед спонсорів ASF назвемо Microsoft, Amazon та Huawei. Ще одна компанія, що займається Open Source проектами – Red Hat. Головною розробкою якої є операційна система на ядрі Linux. Вона займається не лише софтом, а й технічною підтримкою та навчанням фахівців. 2018 року її придбала IBM. Google також розвиває вільне програмне забезпечення. Вона розробляє та підтримує такі проекти: бібліотека TensorFlow для розробки систем машинного навчання, мова Go, програма Kubernetes, призначена для автоматизації розгортання ПЗ та інші продукти. У науці Open Source стосується не лише програмного забезпечення, а й публікації робіт,рецензування та підтримки освітніх ресурсів. В 1991 Пол Гінспарг організував при Лос-Аламоській лабораторії електронний архів arXiv, в якому можна знайти праці не тільки з фізики, але і з медицини, математики та інших наук. У ЦЕРН також є портал із відкритими науковими працями.
Що таке Open Source, проекти, приклади відкритого програмного забезпеченняOpen Source operating systems – операційні системи з відкритим вихідним кодом

Як взяти участь у роботі над Open Source проектом

Якщо хочете попрактикуватись у програмуванні та поповнити своє резюме, то участь у розробці Open Source продукту – це саме те, що потрібно. Розповімо поетапно, що для цього потрібно. В першу чергу потрібно зареєструватися на GitHub і вибрати проект, в якому ви будете брати участь. Він має бути цікавий вам. Добре, якщо в ньому буде багато завдань, які вам під силу. Також слід звернути увагу на популярність проекту, її можна визначити за кількістю зірок. Важливо також визначити наскільки активно йде розробка та коли були внесені останні зміни. Після вибору цікавого проекту потрібно знайти куратора та налагодити з ним взаємодію. На наступному етапі необхідно вибрати завдання. Для початку рекомендується вибирати найпростіше завдання. Головне, щоб ви змогли його вирішити.Після цього перенесіть проект до себе та встановіть усі необхідні інструменти. Після того, як ви вирішили задачу, внесіть пропозиції щодо зміни коду репозиторії. Для цього потрібно завантажити свій код на GitHub та натиснути кнопку “Pull request”. Після цього потрібно ввести назву свого реквеста та опис. Після цього слід чекати, коли куратор прийме або відхиляє запропоновані зміни. Якщо після того, як ви взялися за виконання завдання, з’явилися інші термінові справи, або ви зрозуміли, що не впораєтеся, можна відмовитися від завдання. Це нормально, але треба повідомити про своє рішення кураторам.Після цього потрібно ввести назву свого реквеста та опис. Після цього слід чекати, коли куратор прийме або відхиляє запропоновані зміни. Якщо після того, як ви взялися за виконання завдання, з’явилися інші термінові справи, або ви зрозуміли, що не впораєтеся, можна відмовитися від завдання. Це нормально, але треба повідомити про своє рішення кураторам.Після цього потрібно ввести назву свого реквеста та опис. Після цього слід чекати, коли куратор прийме або відхиляє запропоновані зміни. Якщо після того, як ви взялися за виконання завдання, з’явилися інші термінові справи, або ви зрозуміли, що не впораєтеся, можна відмовитися від завдання. Це нормально, але треба повідомити про своє рішення кураторам.
Що таке Open Source, проекти, приклади відкритого програмного забезпечення

Використання Open Source для розробки торгових роботів

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

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

Але, крім плюсів, у автоматичних радників є також і мінуси:

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

Далі розглянемо кілька Open Source торгових радників. Їх можна завантажити з сайту GitHub, встановити та використовувати для торгівлі. Можна також покращити вихідний код та створити робота під себе.

GEKKO bot

Це перевірений радник, котрий з’явився багато років тому. Багато трейдерів починали торгувати за допомогою цього робота. В даний момент його вже не підтримують автори, але він доступний для вільного скачування з GitHub. Його можна використовувати на криптобіржах, він може збирати ринкову інформацію та виставляти ордери. GEKKO bot має безліч налаштувань, за допомогою яких можна протестувати торговий алгоритм, а також коригувати та оптимізувати систему укладання угод. Він має набір готових стратегій, які можна настроювати. Також є можливість створити власну торгову систему. Він підтримує 23 біржі, серед яких: Bitfinex, EXMO, Bittrex, Bitstamp.

Zenbot

Торговий криптовалютний радник Zenbot використовує для торгівлі штучний інтелект. Є можливість настроювати його відповідно до ваших побажань. Він сумісний із більшістю операційних систем. Може вчиняти високочастотні угоди, торгувати кількома активами одночасно. Крім цього, цей бот може заробляти гроші на арбітражі криптовалют. Але в нього немає графічного інтерфейсу користувача. Здатний торгувати на наступних біржах: Bittrex, Quadria, GDAX, Pollniex та Gemini.
Що таке Open Source, проекти, приклади відкритого програмного забезпечення

OsEngine

OsEngine – це набір програм для торгівлі на біржі. До нього входять:

  • Data – використовується для завантаження історичних даних із різних джерел.
  • Optimizer – використовується для тестування однієї стратегії.
  • Tester – для перевірки кількох торгових алгоритмів, але зміни параметрів. Може працювати одночасно на кількох таймфреймах та інструментах.
  • Miner – шукає прибуткові патерни на графіку. Знайдені форми можна використовувати у реальній торгівлі.
  • Trader – модуль торгівлі.

Що таке Open Source, проекти, приклади відкритого програмного забезпеченняOsEngine використовує більше тридцяти вбудованих торгових систем, серед яких є трендові (наприклад, стратегії Біла Вільямса або Джессі Лівермора), контртрендові (наприклад, з використанням ліній баласту,
Боллінжера ) та арбітражні. Може використовуватися на деяких міжнародних біржах (доступні підключення LMAX, InteractivBrokers та ніндзя-торгівля), на
МОЇХ (Транзак,
Quik , Міст Астс, Plaza 2, SmartCom) та криптовалютних біржах (Bitstamp, Bitfinex, Кракен, LiveCoin, ExMo, Bin , Bitmex, BitMax). Також сумісний із однією форекс біржею Oanda. Є й інші популярні Open Source торгові радники, наприклад TradingBot, для торгівлі на Московській біржі через брокера Atentis або простий робот TradingBot.

info
Оцініть автора
Додати коментар