{"action":"created","issue":{"url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/162","repository_url":"https://api.github.com/repos/blue-yonder/pyscaffold","labels_url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/162/labels{/name}","comments_url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/162/comments","events_url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/162/events","html_url":"https://github.com/blue-yonder/pyscaffold/issues/162","id":323800079,"node_id":"MDU6SXNzdWUzMjM4MDAwNzk=","number":162,"title":"__author__ / __copyright__ / __license__ not widely accepted as modern best practice","user":{"login":"aspiers","id":100738,"node_id":"MDQ6VXNlcjEwMDczOA==","avatar_url":"https://avatars0.githubusercontent.com/u/100738?v=4","gravatar_id":"","url":"https://api.github.com/users/aspiers","html_url":"https://github.com/aspiers","followers_url":"https://api.github.com/users/aspiers/followers","following_url":"https://api.github.com/users/aspiers/following{/other_user}","gists_url":"https://api.github.com/users/aspiers/gists{/gist_id}","starred_url":"https://api.github.com/users/aspiers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspiers/subscriptions","organizations_url":"https://api.github.com/users/aspiers/orgs","repos_url":"https://api.github.com/users/aspiers/repos","events_url":"https://api.github.com/users/aspiers/events{/privacy}","received_events_url":"https://api.github.com/users/aspiers/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-05-16T21:49:09Z","updated_at":"2018-06-03T22:48:54Z","closed_at":null,"author_association":"NONE","body":"I was a bit surprised by the presence of `__author__`, `__copyright__`, and `__license__` being introduced to my project by PyScaffold, so I did a quick bit of googling to try to find whether there was any generally accepted wisdom about whether they should or shouldn't be used.  Most of the results seemed to reference pretty old style guides, e.g.\r\n\r\n- http://web.archive.org/web/20111010053227/http://jaynes.colorado.edu/PythonGuidelines.html#module_formatting\r\n- http://epydoc.sourceforge.net/manual-fields.html#module-metadata-variables (does *anyone* use epydoc these days?)\r\n\r\n I couldn't find *any* recent documents advising the use of these.  In contrast, look at the comments below [this answer to \"What is the common header format of Python files?\" on Stack Overflow](https://stackoverflow.com/questions/1523427/what-is-the-common-header-format-of-python-files/1523456#1523456).  Whilst the answer itself got a lot of votes simply by being helpfully factual without stating any opinion on best practice, by far the most upvoted comment was:\r\n\r\n> I think all of this metadata after the imports is a bad idea. The parts of this metadata that apply to a single file (eg author, date) are already tracked by source control. Putting an erroneous & out of date copy of the same info in the file itself seems wrong to me. The parts that apply to the whole project (eg licence, versioning) seem better located at a project level, in a file of their own, rather than in every source code file.\r\n\r\nAnd indeed with well-established modern best practices which involve [putting a single license file in the repository at the top level of the repository](https://help.github.com/articles/licensing-a-repository/#determining-the-location-of-your-license), and tracking authorship via git, these variables seem pretty anachronistic, in addition to violating the widely agreed-on [DRY principle](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself).  So I suggest removing them."},"comment":{"url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/comments/394197958","html_url":"https://github.com/blue-yonder/pyscaffold/issues/162#issuecomment-394197958","issue_url":"https://api.github.com/repos/blue-yonder/pyscaffold/issues/162","id":394197958,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDE5Nzk1OA==","user":{"login":"abravalheri","id":320755,"node_id":"MDQ6VXNlcjMyMDc1NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/320755?v=4","gravatar_id":"","url":"https://api.github.com/users/abravalheri","html_url":"https://github.com/abravalheri","followers_url":"https://api.github.com/users/abravalheri/followers","following_url":"https://api.github.com/users/abravalheri/following{/other_user}","gists_url":"https://api.github.com/users/abravalheri/gists{/gist_id}","starred_url":"https://api.github.com/users/abravalheri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abravalheri/subscriptions","organizations_url":"https://api.github.com/users/abravalheri/orgs","repos_url":"https://api.github.com/users/abravalheri/repos","events_url":"https://api.github.com/users/abravalheri/events{/privacy}","received_events_url":"https://api.github.com/users/abravalheri/received_events","type":"User","site_admin":false},"created_at":"2018-06-03T22:48:54Z","updated_at":"2018-06-03T22:48:54Z","author_association":"COLLABORATOR","body":"That works nicely for me, @FlorianWilhelm... I usually never remember to include those fields anyway...\r\n\r\nJust a minor comment: I always thought that the reason behind those 3 variables is that most of the famous open source licenses strongely recommend you to place the license notice as the header on *every file* in the project.\r\n\r\nBut as you can see, the topic is a little bit polemic:\r\n- https://softwareengineering.stackexchange.com/questions/125836/do-you-have-to-include-a-license-notice-with-every-source-file\r\n- https://www.quora.com/Why-should-we-include-copyright-notices-and-license-snippets-in-each-of-the-single-source-files-Why-does-the-project-level-license-file-not-suffice\r\n- https://opensource.stackexchange.com/questions/202/should-i-include-license-text-in-a-single-file-or-all-source-files/322#322\r\n...\r\n\r\n\r\n"}}
{"actor":{"display_login":"abravalheri"}}