Статьи

Введение в лицензии с открытым исходным кодом

Выбор лицензии с открытым исходным кодом

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

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

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

Стандартное авторское право

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

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

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

Выбор лицензии

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

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

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

Лицензия MIT

мит

Лицензия MIT позволяет людям делать с вашим кодом все, что они захотят, при условии, что они возвращают вам ссылки и не несут за вас ответственности, если что-то пойдет не так. Он используется в таких проектах, как jQuery и Rails .

Что требуется от вас

Вам необходимо включить в код уведомление об авторских правах вместе с копией лицензии. (Просто добавьте файл лицензии вместе с файлом ReadMe.)

Как вы охвачены

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

Комментарии

Это, вероятно, лучший вариант, если вы хотите, чтобы ваш ребенок вышел из дома и оставил его в Интернете.

Сказав это, вы должны быть готовы к тому, что ваше творение будет использоваться в другом месте без доступного источника, а это означает, что вы, возможно, не сможете применить изменения в восходящем потоке (да, по сути, кто-то может создать проприетарное программное обеспечение из вашего программного обеспечения с открытым исходным кодом).

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

Лицензия Apache 2.0

апаш

Лицензия Apache аналогична лицензии MIT, но она также предоставляет явное предоставление патентных прав от участников пользователям.

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

Эта лицензия используется — как вы уже догадались — Apache, а также Google (для его ОС Android).

Что требуется от вас

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

Как вы охвачены

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

Комментарии

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

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

Стандартная общественная лицензия GNU v3 (GPL3)

GPL

Стандартная общественная лицензия GNU (или GPL для краткости) является лицензией с авторским левом.

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

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

Эта лицензия используется Linux, Git и WordPress.

Что требуется от вас

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

Как вы охвачены

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

Комментарии

По сути, если ваш код лицензирован по лицензии GPL, его нельзя использовать в любом проприетарном программном обеспечении (кроме определенных особых обстоятельств).

Вы можете многое узнать о GPL, например, о различиях между GPLv3 и GPLv2, а также о многих вариациях GPL, таких как Affero General Public License , которая охватывает такие вещи, как программное обеспечение как услуга (SaaS).

Другие лицензии

Другой

Хотя три вышеуказанные лицензии — те, с которыми вы столкнетесь чаще всего — и те, которые вы, скорее всего, выберете — есть много других. Я кратко перечислю только несколько.

артистический

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

Кроме того, хотя это может неявно относиться ко всем лицензиям, в лицензии Artistic прямо указывается, что вы не можете использовать имена, логотипы или торговые марки участников (аналогично лицензии Apache).

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

Затмение

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

Полный исходный код должен быть раскрыт при публикации программного обеспечения.

BSD

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

Общественная лицензия Mozilla (MPL)

MPL 2.0 поддерживается Mozilla. Он пытается быть компромиссом между разрешительной лицензией BSD и взаимной лицензией GPL.

Creative Commons (CC)

Creative Commons предоставляет ряд лицензий для уточнения ваших условий авторского права. Например, с лицензией CC0 вы можете пройти весь путь и отказаться от всех претензий по авторскому праву, тем самым предоставив вашу работу полностью в открытый доступ. (Однако обратите внимание, что CC рекомендует использовать лицензии, такие как MIT, Apache и GNU, для программного обеспечения, поскольку лицензии CC не решают многих проблем, связанных с кодом.)

Завершение

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

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

Чтобы закончить, вот несколько ссылок для дальнейшего чтения:

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

Кроме того, знаете ли вы, что на форумах SitePoint есть раздел Showcase, куда вас приглашают поделиться своим кодом и рассказать о ваших проектах с открытым исходным кодом?