Что такое лицензия и OpenSource?
Этот вопрос часто возникает у многих людей, причем выясняется, что даже профессионалы до конца понимают, что это такое. Давайте с простого, с юридического языка лицензия – это право использования, которое вы можете дать, чтобы другие люди могли вашей программой пользоваться. То есть, когда вы пользуетесь любой программой, от приложения такси до офисного редактора вы используете лицензию, обычно это тот текст, который вы не читаете и тыкаете кнопку “Согласен /Согласна”. Если в рамках договора передается лицензия, т. е. право использовать, то он называется “лицензионный”. Все так просто). Так вот знайте теперь, что когда вы кликаете “Согласен”, то заключаете лицензионный договор с компанией производителем этой программы. Интересно, что права использования могут быть разные, например наш ГК РФ (Гражданский Кодекс) выделяет их пару десятков, например право установки ПО, право запуска ПО, право копирования ПО, право изменения ПО и т.д. Их кажется 18 или 16. Бывают лицензии бесплатные, бывают возобновляемые лицензии (т. е. надо каждый код или период возобновлять), бывают “вечные”, это когда навсегда отдали вам лицензию. Обычно за это нужно отвалить оч много денег и смысла особо в этом мало, но некоторые это делают. Давайте вернемся к open source или свободно распространяемому ПО. Когда его начинают использовать, то возникает ряд закономерных вопросов:
1. Какие виды лицензий СРО есть?
В мире много разных лицензий СРО, но скажем так есть 2 основные, это GPL GNU v.3 и Apache License 2.0. Под ними выпускается, наверное, 90 % всего opensource софта.
2. Откуда они возникли?
Все такие лицензии возникли вследствие разработки либо операционных систем, а например лицензия GNU возникла, когда разрабатывали операционную систему GNU, а GNU никак не расшифровывается:), такие программисты странные), а лицензия Apache возникла, когда появились программные продукты Apache. Самый популярный это веб-сервер Apache TomCat. Кот Том, вы все правильно прочитали. Вообще с точки зрения названий, душа программиста – это потемки, в мире прижилось 10050 странных названий – жира, кот том, джаспер, командный город, стрекоза, ява. Много прекрасных названий. Так вот когда продукты появились, то все просто решили скопировать эти лицензии.
3. Какие в них ограничения?
Все лицензии СРО практически одинаковые. Ограничений практически нет, кроме одного. Ключевое ограничение, это то, что все что было создано с помощью СРО лицензии автоматически становится СРО лицензией, в частности практически это значит, что в соответствии с требованиями лицензии, вы обязаны опубликовать программный код вашего продукта, чтобы он стал достоянием человечества и другие программисты смогли его тоже использовать. То есть, если вы решили не открывать код, то лицензия автоматически аннулируется и ваш продукт признается недействительным, то есть любой встречный иск со стороны создателей СРО технологии будет удовлетворен в их сторону. Конечно, тема конкуренции тут никак не учитывается. Когда создавалось СРО, то идея была в том, чтобы технология стала доступной.
4. Могу ли я использовать самостоятельно для себя разработанную программу на базе СРО?
Конечно, можно даже сделать вашу программу платной. Никаких ограничений нет, пжл-та занимайтесь бизнесом, только нужно обязательно опубликовать код и сказать всем, что вы сделали свою программу с помощью технологии opensource.
5. Нужно ли мне платить за СРО
Обычно они бесплатные, есть платная версия enterprice поддержки. То есть, если вы хотите поддержку, то покупаете ее, потому что в лицензии СРО есть приписка обычно, что производитель ПО не несет никакой ответственности за результат обработки и работы ПО. Такой вот принцип распространения технологии – “Бери, что хочешь, но на свой страх и риск”:).
Тема использования лицензии стала очень популярна с 2017 года. Даже GitHub ведущий онлайн – сервис в мире по хранению кода (это то место где все разработчики хранят код) разместил в своем интерфейсе привязку к тому, какую лицензию использует проект. Без лицензии вы должны понять, ни одно ПО не может распространяться, иначе оно будет ничейным без автора и тд, и некому будет выставить претензию, если что. Обычно лицензия хранится в файлике license.txt.
Ключевые различия open-source лицензий:
Что такое лицензия copyleft и copyright. Эти выражения можно часто встретить.
Copyright – переводится дословно “право на копирование и воспроизведение” в английском праве. Его символ – это русская или английская буква “С”. Здесь возникают такие вещи, как интеллектуальные права на собственность, т. н. Intellectual Property (или сокращенно IP). Все что связано с лицензией, работе с приложениями и программами, это все работа с IP. Лицензия тут один из инструментов работы с ней. Когда вы видите такой значок, значит этот объект IP защищен необходимыми правами и его просто так нельзя использовать, копировать и воспроизводить. Соответственно термин “copyleft” (читает как копилефт), является зеркальным отражением выражения copyright, которая означает, что можно делать все что угодно. То есть, когда говорят, что лицензия копилефтная, то ты ничем не ограничен и можешь делать все что тебе захочется. В части opensource, или свободно распространяемого ПО не все оказалось copyleft’тным. Поэтому если вы планируете использовать какое-то стороннюю программу у себя в цифровизации, я вам рекомендую самостоятельно изучить ее лицензию. Если это одна из тех лицензий, которые перечислены, то можете ее не читать, ее ограничения кратко перечислены выше. Так или иначе, в каждой лицензии есть своя плата и это нормально. Часто общая стоимость платы лицензии за несколько лет, может превышать стоимость внедрения самого приложения или же может превышать стоимость собственной разработки. Конечно, тут палка о двух концах, заниматься собственной разработкой или нет. Есть адепты только принципа “Я все разработаю сам”, будь то офисная программа или какой-нибудь маркетинговый инструмент. В этом проблема, ведь часто такая затея со временем превращается в спортивное программирование (это такой термин, который означает, что разработка различных алгоритмов на время, которые не имеют практической ценности, да такая вот фигня:), и в этом случае, вы станете заложником вашего спортивного программиста или спортивного ит директора. И беда в том, что это сложно будет понять, ведь для этого нужно понимать, что он делает и зачем. Но теперь у вас есть в руках эта книга заклинаний:). Так вот давайте разберем собственную разработку.
Собственная разработка. За и против
В принципе написать можно все что угодно. Если смотреть на нашу пирамиду, то фактически все известные системы и технологии, например офис, игра “Wolfenstein 3D” или какой-нибудь текстовый редактор были написаны на языках высокого уровня. Когда они появились, мир пошел по пути абстракции, то есть пытаться абстрагироваться от сложной логики машинного уровня, до каких-то простых вещей. Это дало рывок, и все начали писать свои программы, мир захватила лихорадка собственной разработки. На этом начинает строительство наша пирамида технологий. Каждый язык высокого уровня, обладает своими правилами, синтаксисом, инструментами и возможностям. Если посмотреть статистику за 2020 репозитория GIT, это то место, где хранят свой код 90 % всех разработчиков (по – моему мнению). То статистика, следующая: