Добавление лицензии GPL в проекты C#

В какие файлы мне нужно добавить комментарий заголовка для добавления GPL в проект C#?

Требуется ли сгенерированный формой код?

Должен ли он быть в каждом файле *.cs?

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

6 ответов

Решение

Канонический ответ в GPL Howto:

Какую бы лицензию вы не планируете использовать, процесс включает в себя добавление двух элементов к каждому исходному файлу вашей программы: уведомление об авторском праве (например, "Copyright Terry Jones 1999") и заявление о разрешении на копирование, в котором говорится, что программа распространяется в соответствии с условия Стандартной общественной лицензии GNU (или Малой лицензии GPL).

Рекомендуемый заголовок для применения GPL:

Авторское право 200X Мое имя

Этот файл является частью Foobar.

Foobar является свободным программным обеспечением: вы можете распространять его и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation, либо версией 3 лицензии, либо (по вашему выбору) любой более поздней версией.

Foobar распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОГО ОБЕСПЕЧЕНИЯ или ПРИГОДНОСТИ ДЛЯ ОСОБЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для более подробной информации.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с Foobar. Если нет, см. http://www.gnu.org/licenses/.

Да, его СЛЕДУЕТ добавлять в каждый файл, поскольку вы не можете на законных основаниях полагать, что каждый получатель получает вашу работу в целом. И нет, это не должен быть полный текст лицензии.

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

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

Совет: в Resharper для Visual Studio есть хорошая возможность указать заголовок файла (Options-Languages-Common-File Header Text).

Если вы укажете его, а затем выполните "Очистку кода" для всего решения, каждый файл *.cs получит обновленный заголовок.

Вот как я добавляю заголовок лицензии в мои проекты с открытым исходным кодом,

GPL является лицензией - не требуется "включать" фактический текст лицензии в каждый отдельный исходный файл.

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

Если я не прав, скажите, пожалуйста, откуда у вас это требование?

Monodevelop предлагает добавить следующее к каждому файлу:

$ {FileName}

Copyright (C) $ {Year} [имя автора]

Эта программа является свободным программным обеспечением; вы можете распространять его и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation; либо версия 2 лицензии, либо (по вашему выбору) любая более поздняя версия.

Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОГО ОБЕСПЕЧЕНИЯ или ПРИГОДНОСТИ ДЛЯ ОСОБЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для более подробной информации. Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой; если нет, напишите в Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, США

Обратите внимание, что почтовый адрес FSF - не 59 Temple Place, а указанный ниже.

Фонд свободного программного обеспечения, Inc.
51 Franklin Street, Fifth Floor, Бостон, Массачусетс, США 02110-1301, США

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

http://www.gnu.org/licenses/

Другие вопросы по тегам