Какую лицензию выбрать на GitHub: типы, сравнение

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

Как выбрать GitHub лицензию и почему важно не ошибиться с выбором?

GitHub — это самый большой сервис для совместной разработки IT – проектов и их последующего хостинга. С помощью этого веб-сервиса над проектом может работать сразу неограниченное количество человек, а также из абсолютно любой точки мира.

Также в GitHub есть система управления или же контроля, которая позволяет просматривать и контролировать абсолютно все изменения разработчиков в течение какого-либо времени, а также он позволяет возвращаться к состоянию, происходящего до изменений.

Какую лицензию выбрать на GitHub: типы, сравнение

Но если говорить по простому, то GitHub — это так называемая социальная сеть для программистов и разработчиков, в которой можно найти, а в последствии потренироваться на кодах от других разработчиков. Также в GitHub можно хранить своё портфолио.

В общем GitHub — это сервис, который хорошо подойдёт как для начинающих разработчиков, так и для опытных программистов. Однако у пользователей данного сервиса иногда могут возникать некоторые вопросы насчёт выбора лицензии, так как их выбор там достаточно разнообразен.

Что такое лицензия на ГитХаб

Лицензия — это специальный документ, который был установлен государственной формой и позволяющий заниматься определённым видом предпринимательской деятельности, которая в обязательном порядке требует особого внимания от государственной стороны.

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

В целом лицензия преследует всего лишь одну, но самую главную цель, это договор об обязанностях и правах между лицензиаром и лицензиатом.

Эти обязанности и права могут быть абсолютно любыми, но только в рамках законодательства.

Ярким примером, является то , что лицензиар может потребовать обязательное указание имени правообладателя при использование работы лицензиатом.

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

Какую лицензию выбрать на GitHub: типы, сравнение
Пример одной из лицензий Apache

Но, также нельзя забывать, что лицензия защищает права не только лицензиара, но и лицензиата. Так как в ней чётко можно увидеть и прочитать все условия использования работы и поэтому ему не надо бояться то, что лицензиар внезапно потребует какие-либо отчисления или любые другие компенсации за использование его работы.

При отказе от использования лицензии , которая ассоциируется с работой, всё равно действуют авторские права в соответствие с юридическими правилами, действующими в определённой стране.

Проще говоря, отсутствие лицензии ни в коем случае не подразумевает то, что другие авторы могут использовать этот проект так, как они захотят.

Всё, ровным счётом, наоборот, ведь без какой-либо определённой лицензии программист ни в коем случае не отказывается от прав, которые были предоставлены законом. Также важно всегда помнить, что лицензия регулирует все права и обязанности.

Это надо для того, чтобы защитить владельца работы от пользовательских ожиданий и того, что подразумевает какая-либо гарантия. Ведь никто не хочет, чтобы его код попал каким-либо образом в суд.

Что такое авторское право

Авторское право появляется у человека только тогда, когда он в качестве результата интеллектуальной деятельности создаёт некое произведение, которое будет уникальным, но в то же время полезным, за пример можно взять написание той же самой программы.

Когда все перечисленное выполнено, человек становится автором и теперь у него есть абсолютно все авторские права на данную работу. Также надо сказать, что авторские права бывают имущественными и не имущественными. Их различие в том, что имущественные права можно передать кому угодно, а вот не имущественные права всегда останутся только за автором в любой ситуации. Ведь быть автором — это непередаваемое и неотчуждаемое право.

Для чего нужна Open Source лицензия

Это также достаточно популярный вопрос у начинающих разработчиков и программистов, так как им просто не понятно, для чего на их проекты прикреплять какую-либо лицензию, ведь без неё проект также может спокойно существовать.

Однако, это не совсем так, ведь если, например, какой-нибудь начинающий разработчик написал какой-либо достаточно важный и полезный кусок кода, но не защитил её лицензией, то возникают вопросы у других пользователей.

И именно из-за этого, когда к нему приходят клиенты и хотят использовать данный кусок кода в своих коммерческих целях, то они видят то, что код не имеет никакой лицензии и просто отказываются от него. Это происходит из-за того, что компании просто не будет использовать код без лицензии, ведь им не нужны проблемы с законом и юристами.

Какую лицензию выбрать на GitHub: типы, сравнение

И именно поэтому, даже самый полезный и удобный проект никогда не будет реализован.

А тому разработчику, который хотел взять этот кусок кода придётся искать и использовать альтернативу или же полностью переписывать код, который был уже написан начинающим разработчиком ранее. Именно поэтому, лучше всего будет заранее убедиться в том, что программист использует правильную, а главное подходящую лицензию.

Изучение GitHub в одном видео уроке за 15 минут:

Какая GitHub лицензия подойдёт в тех или иных условиях – как выбрать?

Точного ответа на данный вопрос быть не может, так как выбор лицензии зависит только лишь от целей проекта и от личных предпочтений и желаний самого разработчика.

Как можно заметить, на GitHub достаточно много разнообразных лицензий, а главное они все бесплатные и находятся в общем доступе, а это обозначает, что каждый программист может найти ту Open Source лицензию, которая точно подойдёт к его проекту. Но, главное нельзя забывать, что Open Source лицензия — это не просто код с отсутствием лицензии.

Какую лицензию выбрать на GitHub: типы, сравнение
Семейство лицензий на GitHub

Проведя небольшое исследование можно собрать все Open Source лицензии и разделить их на три большие основные группы:

  1. Сильно защищающие.
  2. Слабо защищающие.
  3. Разрешающие.

Сильно защищающие

Сильно защищающие лицензии это чаще всего различные вариации GPL. Эти лицензии в обязательном порядке требуют лицензирование проекта, а также раскрытие исходных кодов, даже не смотря на то каким образом будет использоваться или уже использован какой-либо код или проект.

Слабо защищающие

Слабо защищающие лицензии это чаще всего различные вариации Lesser GPL. У которых основное отличие от разрешающих лицензий, это то, что тут просто необходимо также проводить лицензирование программы под GPL лицензии, а также предоставлять в обязательном порядке исходные коды.

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

Какую лицензию выбрать на GitHub: типы, сравнение
Где указывается вид лицензии на GitHub

Разрешающие

Разрешающих лицензий достаточно большое количество, в их рядах самые популярные лицензии — это MIT, Apache 2.0, а также BSD. При небольших вариациях, данные лицензии имеют возможность позволять использовать код как в Open Source проектах, так и в коммерческих целях и проектах. Но, в этом случае важно помнить, что надо обязательно указывать авторство оригинальной программы.

Другие популярные лицензии GitHub

Помимо этих трёх групп лицензий есть также и другие, например, ещё одна из самых полезных лицензий — это GPLv2 with classpath extensions. Данная лицензия также может использоваться как в  Open source проектах, так и в коммерческих проектах и целях.

Самое популярное её появление – это в компании Oracle, данная копания использует GPLv2 with classpath extensions для лицензирования своих  Open Source проектов и решений.

Данная лицензия довольно важна и полезна, так как обычные GPL лицензии, например, никогда не смогут справиться с байт кодом.

То есть, в них есть особое описание процесса компиляции и линковки, что совершенно не подходит для других интерпретированных языков программирования, в числа таких языков как раз таки и входит популярнейший язык Java. Именно для таких случаев и как раз таки была выпущена специальная лицензия GPLv2 with classpath extensions.

Ведь она предельно чётко и ясно говорит о том, что библиотека, которая была выпущена под этой лицензией можно использоваться в коммерческих проектах и целях с абсолютно любой другой лицензией.

Какую лицензию выбрать на GitHub: типы, сравнение

Что еще нужно знать про GitHub лицензии.

Добавление лицензии

После того как конечная лицензия наконец-то выбрана, её осталось только лишь добавить в сам корень проекта. Чтобы проделать данное действие, надо ещё во время создания самого проекта или вообще в любое другое время просто добавить выбранную лицензию под корень проекта.

Но даже в этом действии веб-сервис GitHub успел позаботиться о своих пользователях и они сделали достаточно удобный способ добавления конечной лицензии ещё даже при старте самого проекта.

Какую лицензию выбрать на GitHub: типы, сравнение

Однако, к сожалению это ещё не всё, так как разработчику или программисту надо проверить абсолютно все зависимости, которые были использованы в его идее или же проекте. То есть, если же даже одна из зависимостей, которая выпущена под GPL лицензией, то и абсолютно весь проект разработчика должен быть GPL совместим. Для такой проверки обычно используются для этого предназначенные раннее созданные программы или инструменты.

Например, для этого есть инструмент https://github.com/pivotal/LicenseFinder:

Какую лицензию выбрать на GitHub: типы, сравнение

Можно сказать, что лицензирование — это достаточно трудоёмкая задача, но в то же время необходимое действие для жизни проекта или какой-либо идеи программиста.

Для того, чтобы выбрать правильную лицензию, к сожалению придётся потратить достаточно большое количество времени, однако, это стоит того, чтобы проект был успешен.

Лучше всего выбор лицензии поставить на первое место при написании какой-либо программы, так как сделав это в самом начале, можно направить абсолютно все свои силы в нужное русло и написать такую программу, которая будет успешна и удобна для большинства пользователей.

Поделиться ссылкой:

Rate this post
Rate author
Программирование, инвестиции и алготрейдинг
Add a comment