Добавление лицензии 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.