Написание информации об авторских правах в коде Python

Каков стандартный способ написания «информации об авторских правах» в коде Python? Должен ли он быть внутри строки документации или в комментариях блока? Не нашел в PEP.


person Shefali    schedule 12.01.2010    source источник
comment
Почему пометить это лицензией, а не авторским правом?   -  person Kimvais    schedule 12.01.2010
comment
@lutz: что за фиг? речь идет о стиле сообщения об авторских правах в коде Python. не только сообщения об авторских правах в Python.   -  person SilentGhost    schedule 12.01.2010
comment
Стандарт? Кто бы указывал такой стандарт? ISO? IEEE? ANSI? Каким образом устанавливаются стандарты для такого рода вещей? Авторское право - вещь очень локализованная, так какой уровень стандартизации вы ищете? НАС? ЕВРОСОЮЗ? Китай?   -  person S.Lott    schedule 12.01.2010
comment
Я думаю, что «стандарт» здесь означает «обычная практика».   -  person Kimvais    schedule 12.01.2010
comment
@Kimvais: Интересное чтение по этому вопросу. Интересно, что на самом деле имел в виду Автор?   -  person S.Lott    schedule 12.01.2010
comment
Я думал, что вопрос был написан достаточно ясно, тем более что на плакате упоминалось, что они ожидали найти эту информацию в PEP, поэтому подразумевается, что они ищут рекомендации по стилю.   -  person RTbecard    schedule 17.01.2020


Ответы (4)


В некоторых проектах используются переменные модуля, такие как __license__, например:

__author__ = "Software Authors Name"
__copyright__ = "Copyright (C) 2004 Author Name"
__license__ = "Public Domain"
__version__ = "1.0"

Мне кажется довольно чистым решением (если вы не переусердствуете и не сбросите эпические тексты в эти переменные), но только __version__, похоже, широко используется, как упоминается в PEP 8.

person Fred    schedule 12.01.2010
comment
Довольно чисто, но в большинстве организаций при распространении программного обеспечения авторские права - это большой объем текста. Хотя мне интересно, почему он не включен в PEP. - person Shefali; 13.01.2010
comment
@Shefali: неработающая ссылка - person Mr_and_Mrs_D; 03.09.2016

# Comment in the beginning of the file

По крайней мере, встроенные модули Python делают это. (узнал, сделав grep 'Copyright' /usr/lib64/python2.4/*.py)

person Kimvais    schedule 12.01.2010
comment
Это не причина (как моя) -1 :) - person ; 12.01.2010
comment
@Shefali просил о «стандартном способе записи информации об авторских правах», а не о том, нужно ли писать информацию. Вот почему я считаю, что мой отрицательный голос оправдан, а ваш выглядит как злобная месть. - person Kimvais; 12.01.2010

Мы следуем рекомендациям, найденным (где-то) на сайте Центра права свободы программного обеспечения. Вот пример простого файла под GPL.

person Walter    schedule 12.01.2010
comment
Похоже, что нигде в документах python или PEP для этого нет никаких рекомендаций, но приведенная выше нотация широко используется и принимается. Спасибо! - person Shefali; 13.01.2010
comment
@Walter неработающая ссылка - person Marc; 21.10.2017
comment
Его вроде как осуждают давать ссылки без объяснения причин на SO. Возможно, объясните, что это за пример. В этом случае уведомление об авторских правах и полная лицензия были включены в начало файла с использованием комментариев (а не строк документа). - person RTbecard; 17.01.2020

Насколько я знаю, стандартного способа на данный момент нет. Каждая компания / организация будет иметь свой собственный шаблон для документирования информации об авторских правах. Если это ваш личный проект, просто документируйте его так, как вам будет удобнее всего. Добавление файла LICENSE - очень распространенный способ для проектов с большим количеством исходных файлов. Даже в Python в настоящее время нет стандарта на структуру строк документации.

Python предоставляет большую свободу, так что пусть будет чувак;)

person user247468    schedule 12.01.2010
comment
Я понимаю, что многие могут сделать это по-другому ... но смысл включения лицензии состоит в том, чтобы избежать юридических вопросов в будущем ... Я не думаю, что просто оставь это - хороший совет, чтобы дать на такие вещи: / - person RTbecard; 17.01.2020