LINUX.ORG.RU

Как правильно добавлять лицензию к своим исходникам

 , ,


1

1

Сейчас пилю собственный велосипед на java и понадобилось мне сделать довольно интересную либу, хочу выложить на гитхаб под lgpl и тут вопрос - как правильно «лицензировать»? Добавлять в каждый исходник заголовком текст лицензии или достаточно просто в корне репозитория файл лицензии держать?
Ну и холиварный вопрос - какие лицензии используете для собственных разработок?

Добавлять в каждый исходник заголовком текст лицензии или достаточно просто в корне репозитория файл лицензии держать?

Оба варианта допустимы.

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

hippi90 ★★★★★
()
Ответ на: комментарий от Harald

Обожаю такое http://www.gnu.org/licenses/gpl-howto.html

Данной справкой ЗАО “Чудо-Юдо” отказывается от всех претензий на авторские права на программу “Дятел” (которая деконструирует деревья), написанной Яковом Хакером.

подпись Кощея Бессмертного, 1 апреля 1989 года Кощей Бессмертный, губернатор Тридевятого царства

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

я в русскоязычный перевод не заглядывал, хз кто там что напереводил :)

Harald ★★★★★
()

В каждом файле должна быть лицензия.

Источник: лично Столлман сказал на своём выступлении на TechTrain где я был.

d_a ★★★★★
()

Ну и холиварный вопрос - какие лицензии используете для собственных разработок?

MIT. Я недостаточно доверяю FSF, чтобы писать "(L)GPL 3 or later". А если напишу "(L)GPL 3", то фактически запрещу пользователям использовать мой код совместно с "(L)GPL n", где n > 3. Как сейчас нельзя линковать код, скопированный из ядра Linux с кодом, скопированным из libsmbclient.

Добавлять в каждый исходник заголовком текст лицензии или достаточно просто в корне репозитория файл лицензии держать?

Обычно в заголовке достаточно что-то вроде

/* ngettext - retrieve plural form string from message catalog and print it.
   Copyright (C) 1995-1997, 2000-2007, 2012, 2018-2019 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */

Можно короче

//   Copyright (C) 2019 Ivan Ivanov
//   License: GNU LGPL 3 or later, see file LICENSE

Для гитхаба всё равно LICENSE нужен, чтобы он в информации лицензию указывал

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)

Добавлять в каждый исходник заголовком текст лицензии

Хм, вроде так делается, но ведь если это GPL, то там текста лицензии будет больше, чем кода, нет?

Zhbert ★★★★★
()

Каноничный способ использования LGPL весьма уродлив и неочевиден - файлы COPYING с GPL + COPYING.LIB с LGPL (т.к. она, по сути, дополнение к GPL), причём из этого нельзя понять используется ли конкретная версия лицензии или «or later». Поэтому наличие copyright заголовка в каждом исходном файле обязательно. Но чтобы понять как лицензирован проект без лазанья по исходникам, файлы в корне тоже обязательны. В итоге как мантейнеру мне, чтобы указать в пакете лицензию, увы, приходится смотреть и в COPYING*, и в исходники.

slovazap ★★★★★
()
Ответ на: комментарий от monk

то фактически запрещу пользователям использовать мой код совместно с "(L)GPL n", где n > 3

Разве (L)GPL 3 не совместима с (L)GPL2 ?

next_time ★★★★★
()

Достаточно файла LICENSE в репозитории. А вообще английская и романо-германская системы права имеют различия, да и национальные системы права тоже. В США как раз английская прецендентная система права: там значения имеют преценденты. Так что тут х.. угадаешь. Некоторые и правда в каждый исходный файл комментарии с цопэрайтами добавляют, но это больше касается проектов, разрабатываемых совместно типа исходников ядра Linux либо Хромиума.

tz4678 ★★
()
Последнее исправление: tz4678 (всего исправлений: 1)
Ответ на: комментарий от Deleted

А вот этого делать нельзя. Ибо код без лицензии по факту использовать нельзя.

По поводу самой лицензии: это уже на вкус и цвет…

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

beastie ★★★★★
()
Ответ на: комментарий от next_time

Разве (L)GPL 3 не совместима с (L)GPL2 ?

Увы, но нет. Код, содержащий (L)GPL2 должен распространяться только под (L)GPL2. Код, содержащий модуль под GPL 3 or later не может распространяться под (L)GPL2.

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

monk ★★★★★
()
Ответ на: комментарий от annulen

LGPL3 вполне себе совместима с LGPL2

Линковать можно. Объединять в один исходник нельзя.

monk ★★★★★
()
Ответ на: комментарий от next_time

почему?

Потому что «you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.» примерно аналогично «В соответствии с ч.1 ст.450 Гражданского кодекса Российской Федерации Стороны договорились, что Банк имеет право вносить изменения и (или) дополнения в условия Договора и (или) в Тарифы. При этом изменения и (или) дополнения, внесенные Банком в: — Договор становятся обязательными для Сторон в дату введения редакции в действие.».

Если вдруг FSF напишет в GPL42 «программа может распространяться на условиях MS EULA», то всё, кто опубликовал под «GPL ... or later» неожиданно для себя подарили весь свой код Микрософту.

Тем более, что прецедент был.

monk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.