{"action":"created","issue":{"url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/17","repository_url":"https://api.github.com/repos/Cheeselab/DecoraterBot","labels_url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/17/comments","events_url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/17/events","html_url":"https://github.com/Cheeselab/DecoraterBot/issues/17","id":174575039,"number":17,"title":"Licensing issues 2: Electric Boogaloo","user":{"login":"gdude2002","id":204153,"avatar_url":"https://avatars.githubusercontent.com/u/204153?v=3","gravatar_id":"","url":"https://api.github.com/users/gdude2002","html_url":"https://github.com/gdude2002","followers_url":"https://api.github.com/users/gdude2002/followers","following_url":"https://api.github.com/users/gdude2002/following{/other_user}","gists_url":"https://api.github.com/users/gdude2002/gists{/gist_id}","starred_url":"https://api.github.com/users/gdude2002/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdude2002/subscriptions","organizations_url":"https://api.github.com/users/gdude2002/orgs","repos_url":"https://api.github.com/users/gdude2002/repos","events_url":"https://api.github.com/users/gdude2002/events{/privacy}","received_events_url":"https://api.github.com/users/gdude2002/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Cheeselab/DecoraterBot/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"Paladinleeds","id":10800494,"avatar_url":"https://avatars.githubusercontent.com/u/10800494?v=3","gravatar_id":"","url":"https://api.github.com/users/Paladinleeds","html_url":"https://github.com/Paladinleeds","followers_url":"https://api.github.com/users/Paladinleeds/followers","following_url":"https://api.github.com/users/Paladinleeds/following{/other_user}","gists_url":"https://api.github.com/users/Paladinleeds/gists{/gist_id}","starred_url":"https://api.github.com/users/Paladinleeds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Paladinleeds/subscriptions","organizations_url":"https://api.github.com/users/Paladinleeds/orgs","repos_url":"https://api.github.com/users/Paladinleeds/repos","events_url":"https://api.github.com/users/Paladinleeds/events{/privacy}","received_events_url":"https://api.github.com/users/Paladinleeds/received_events","type":"User","site_admin":false},"assignees":[{"login":"Paladinleeds","id":10800494,"avatar_url":"https://avatars.githubusercontent.com/u/10800494?v=3","gravatar_id":"","url":"https://api.github.com/users/Paladinleeds","html_url":"https://github.com/Paladinleeds","followers_url":"https://api.github.com/users/Paladinleeds/followers","following_url":"https://api.github.com/users/Paladinleeds/following{/other_user}","gists_url":"https://api.github.com/users/Paladinleeds/gists{/gist_id}","starred_url":"https://api.github.com/users/Paladinleeds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Paladinleeds/subscriptions","organizations_url":"https://api.github.com/users/Paladinleeds/orgs","repos_url":"https://api.github.com/users/Paladinleeds/repos","events_url":"https://api.github.com/users/Paladinleeds/events{/privacy}","received_events_url":"https://api.github.com/users/Paladinleeds/received_events","type":"User","site_admin":false},{"login":"AraHaan","id":15173749,"avatar_url":"https://avatars.githubusercontent.com/u/15173749?v=3","gravatar_id":"","url":"https://api.github.com/users/AraHaan","html_url":"https://github.com/AraHaan","followers_url":"https://api.github.com/users/AraHaan/followers","following_url":"https://api.github.com/users/AraHaan/following{/other_user}","gists_url":"https://api.github.com/users/AraHaan/gists{/gist_id}","starred_url":"https://api.github.com/users/AraHaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AraHaan/subscriptions","organizations_url":"https://api.github.com/users/AraHaan/orgs","repos_url":"https://api.github.com/users/AraHaan/repos","events_url":"https://api.github.com/users/AraHaan/events{/privacy}","received_events_url":"https://api.github.com/users/AraHaan/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Cheeselab/DecoraterBot/milestones/1","html_url":"https://github.com/Cheeselab/DecoraterBot/milestones/Soon%E2%84%A2","labels_url":"https://api.github.com/repos/Cheeselab/DecoraterBot/milestones/1/labels","id":1950710,"number":1,"title":"Soon™","description":"","creator":{"login":"AraHaan","id":15173749,"avatar_url":"https://avatars.githubusercontent.com/u/15173749?v=3","gravatar_id":"","url":"https://api.github.com/users/AraHaan","html_url":"https://github.com/AraHaan","followers_url":"https://api.github.com/users/AraHaan/followers","following_url":"https://api.github.com/users/AraHaan/following{/other_user}","gists_url":"https://api.github.com/users/AraHaan/gists{/gist_id}","starred_url":"https://api.github.com/users/AraHaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AraHaan/subscriptions","organizations_url":"https://api.github.com/users/AraHaan/orgs","repos_url":"https://api.github.com/users/AraHaan/repos","events_url":"https://api.github.com/users/AraHaan/events{/privacy}","received_events_url":"https://api.github.com/users/AraHaan/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":4,"state":"open","created_at":"2016-08-19T00:56:33Z","updated_at":"2016-09-01T20:35:57Z","due_on":null,"closed_at":null},"comments":30,"created_at":"2016-09-01T16:59:51Z","updated_at":"2016-09-01T21:30:38Z","closed_at":null,"body":"As #11 was closed, thus signalling that a response to the comment there was clearly considered lacking in value, I felt that it was only right to create a second ticket, having done the legwork that was suggested in the closing response. So, I've audited all the dependencies (that I could find) that are being distributed from this repository, along with their licenses, and I've even summarised what it means to distribute the dependencies under those libraries. I've split the section by license below, and my recommendations are at the bottom.\r\n\r\n**Note**: While such an audit would usually be quite expensive, I have a love for open source development and would prefer to see licenses adhered to instead of users unknowingly (or knowingly) breaking them and putting themselves at legal risk - So I've spent about two hours of my own free time working on this ticket for gratis. You're welcome.\r\n\r\n**Note**: This audit does not cover what you'd have to do if you were distributing modified copies of the dependencies. You'll have to read up on the licenses yourselves for that - a `CTRL+F` for `distrib` should be more than enough to find what you need.\r\n\r\n````\r\nDISCLAIMER: I'm not a lawyer, but I have been working \r\nwith open-source projects for over six years, and have \r\ncome to an understanding of the common software \r\nlicenses and how they should be applied.\r\n```\r\n\r\n# Python Software Foundation license\r\n\r\n### Applicable dependencies\r\n\r\n* Python ([x86](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/python35)) ([x64](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/python35x64)): [Link to license](https://docs.python.org/3/license.html)\r\n\r\n### Relevant quote\r\n\r\n> Subject to the terms and conditions of this License Agreement, PSF hereby\r\n> grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,\r\n> analyze, test, perform and/or display publicly, prepare derivative works,\r\n> distribute, and otherwise use Python 3.5.2 alone or in any derivative\r\n> version, provided, however, that **PSF's License Agreement and PSF's notice of**\r\n> **copyright, i.e., \"Copyright © 2001-2016 Python Software Foundation; All Rights**\r\n> **Reserved\" are retained in Python 3.5.2 alone or in any derivative version**\r\n> **prepared by Licensee.**\r\n\r\n### Simple translation\r\n\r\n* You are required to bundle a copy of the license with your distribution.\r\n\r\n---\r\n\r\n# Apache 2.0\r\n\r\n### Applicable dependencies\r\n\r\n* [aiohttp](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/Dependencies/aiohttp): [Link to license](https://github.com/KeepSafe/aiohttp/blob/master/LICENSE.txt)\r\n* [multidict](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/Dependencies/multidict): [Link to license](https://github.com/aio-libs/multidict/blob/master/LICENSE)\r\n* [nacl](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/Dependencies/nacl): [Link to license](https://github.com/pyca/pynacl/blob/master/LICENSE)\r\n* requests ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/kennethreitz/requests/blob/master/LICENSE)\r\n\r\n### Relevant quote\r\n\r\n>   4\\. Redistribution. You may reproduce and distribute copies of the\r\n>      Work or Derivative Works thereof in any medium, with or without\r\n>      modifications, and in Source or Object form, provided that You\r\n>      meet the following conditions:\r\n>\r\n>   (a) You must give any other recipients of the Work or\r\n>        Derivative Works a copy of this License\r\n\r\n### Simple translation\r\n\r\n* You are required to bundle a copy of the license with your distribution.\r\n\r\n# BSD 3-clause\r\n\r\n### Applicable dependencies\r\n\r\n* colorama ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/tartley/colorama/blob/master/LICENSE.txt)\r\n* pycparser ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/eliben/pycparser/blob/master/LICENSE)\r\n* [opus](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/opus): [Link to license](https://www.opus-codec.org/license/)\r\n\r\n### Relevant quote\r\n\r\n> \\* Redistributions of source code must retain the above copyright notice, this\r\n>   list of conditions and the following disclaimer.\r\n> \r\n>\\* Redistributions in binary form must reproduce the above copyright notice,\r\n>   this list of conditions and the following disclaimer in the documentation\r\n>   and/or other materials provided with the distribution.\r\n>\r\n> \\* Neither the name of the copyright holders, nor those of its contributors\r\n>   may be used to endorse or promote products derived from this software without\r\n>   specific prior written permission.\r\n\r\n### Simple translation\r\n\r\n* You are required to bundle a copy of the license with your distribution.\r\n* You are not allowed to use the names of the contributors to promote your distribution.\r\n\r\n# LGPL\r\n\r\n### Applicable dependencies\r\n\r\n* chardet ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/chardet/chardet/blob/master/LICENSE)\r\n* [ffmpeg](https://github.com/Cheeselab/DecoraterBot/tree/Async-Portable/resources/ffmpeg): [Link to license](https://www.ffmpeg.org/legal.html)\r\n\r\n### Relevant quote\r\n\r\n> 1\\. You may copy and distribute verbatim copies of the Library's\r\n> complete source code as you receive it, in any medium, provided that\r\n> you conspicuously and appropriately publish on each copy an\r\n> appropriate copyright notice and disclaimer of warranty; keep intact\r\n> all the notices that refer to this License and to the absence of any\r\n> warranty; and distribute a copy of this License along with the\r\n> Library.\r\n> \r\n> [ ... ]\r\n> \r\n> 4\\. You may copy and distribute the Library (or a portion or\r\n> derivative of it, under Section 2) in object code or executable form\r\n> under the terms of Sections 1 and 2 above provided that you accompany\r\n> it with the complete corresponding machine-readable source code, which\r\n> must be distributed under the terms of Sections 1 and 2 above on a\r\n> medium customarily used for software interchange.\r\n\r\n### Simple translation\r\n\r\n* You are required to bundle a copy of the license with your distribution.\r\n* You must provide the source code of any compiled parts of the libraries, including bytecode-compiled `.pyc` files.\r\n\r\n# MIT\r\n\r\n### Applicable dependencies\r\n\r\n* cffi ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://bitbucket.org/cffi/cffi/src/8ee16fdadf92fe50a70eacbcc3c33eaae10de442/LICENSE?at=default&fileviewer=file-view-default)\r\n* discord.py ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/Rapptz/discord.py/blob/master/LICENSE)\r\n* setuptools/easy_install ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/pypa/setuptools/blob/master/LICENSE)\r\n* six ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://bitbucket.org/gutworth/six/src/ca4580a5a648fc75abc568907e81abc80b05d58c/LICENSE?at=default&fileviewer=file-view-default)\r\n\r\n### Relevant quote\r\n\r\n> The above copyright notice and this permission notice shall be included in\r\n> all copies or substantial portions of the Software.\r\n\r\n### Simple translation\r\n\r\n* You are required to bundle a copy of the license with your distribution.\r\n\r\n# Unlicense\r\n\r\n### Applicable dependencies\r\n\r\n* youtube-dl ([Zip](https://github.com/Cheeselab/DecoraterBot/blob/fcdfeb9a62726ea5fe0872c46d18aa6128c81f91/resources/Dependencies/dependencies.zip)): [Link to license](https://github.com/rg3/youtube-dl/blob/master/LICENSE)\r\n\r\n### Relevant quote\r\n\r\n> This is free and unencumbered software released into the public domain.\r\n> \r\n> Anyone is free to copy, modify, publish, use, compile, sell, or\r\n> distribute this software, either in source code form or as a compiled\r\n> binary, for any purpose, commercial or non-commercial, and by any\r\n> means.\r\n\r\n### Simple translation\r\n\r\n* Do what you want.\r\n\r\n---\r\n\r\nI was unable to find a license for the following:\r\n\r\n* py2pycx (A module for importing packages from the pycx respository automatically)\r\n\r\nIf you have access to the source repository for this, you should check what license it uses.\r\n\r\n---\r\n\r\n# The issue with TinyURL\r\n\r\nIn #11, the following was stated:\r\n\r\n> TinyURL3 is mine so I can embed it in here (like you see in my code) just fine\r\n\r\nI did a little research on this one as well (Figured I might as well since I looked at everything else), and I found the following issue: Your port is an unattributed derivative work of [this library](https://bitbucket.org/meatballhat/tinyurl/src). The [PyPi page](https://pypi.python.org/pypi/TinyUrl/) for it states that it is under the MIT license, and while your fork [does include this](https://github.com/Cheeselab/TinyURL/blob/master/LICENSE), you haven't provided any attribution to Dan Buch (AKA *meatballhat*), the author of the original. While your claims are otherwise correct, you should attribute Dan in the LICENSE file of your fork.\r\n\r\nAs this is a clear derivative work (there is a clear structural resemblance between the original code and the fork), the developer cannot simply attribute all of the work to themselves - they also have to provide attribution to the original developer.\r\n\r\nIt's also worth noting that [the repository](https://bitbucket.org/meatballhat/tinyurl/src) doesn't contain a license, so you have no explicit right to fork the library in the first place - but given that the PyPi page states MIT, it's likely that the author intended to add an MIT license in the first place and forgot - so you should be in the clear. Never hurts to check in, though.\r\n\r\n---\r\n\r\n# Recommendations\r\n\r\nThese won't be too painful, I promise.\r\n\r\n## If you want to continue distributing your dependencies\r\n\r\nFor all the licenses, you can do either of the following:\r\n\r\n* Create a directory named `licenses`, `attribution`, or something similar, and copy all of the applicable licenses into it, using a filename like `LICENSE-projectname`. For example, for the Opus library, you'd include their copy of the BSD 3-clause license in a file named `LICENSE-opus`.\r\n* Include the relevant LICENSE files along with each of your distributions - For example, for the Opus library, you'd include their copy of the BSD 3-clause license inside your `resources/opus` directory.\r\n\r\nFor LGPL-licensed libraries only:\r\n* Check whether you're providing the source code for them. If not, you will need to include it - Simply copying the source files along with the compiled files is enough.\r\n\r\n## If you'd rather avoid this problem altogether\r\n\r\n* Create a `requirements.txt` file that includes the names (and versions if you wish) of all of the PyPi libraries you require.\r\n* Provide instructions for each platform you support on how to install Python, find and install copies of non-PyPi dependencies, and compile dependencies manually that require it. Include links.\r\n* Remove all of the dependencies that you've covered above from the repository, and instruct users to use `python3 -m pip install -U -r requirements.txt` when they install a new instances of your bot, or update an older instance.\r\n\r\n---\r\n\r\nDo what you want with this information of course - but understand the risks you're undertaking by ignoring licensing issues. For example, [there are](http://sfconservancy.org/copyleft-compliance/) several [organisations that](http://www.fsf.org/licensing/) dedicate themselves to OSS license compliance, and even fund lawsuits relating to them. If you're willing to risk it, then feel free, at that point I'll have done all I can, and the responsibility will fall on the maintainers of this repository."},"comment":{"url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/comments/244218958","html_url":"https://github.com/Cheeselab/DecoraterBot/issues/17#issuecomment-244218958","issue_url":"https://api.github.com/repos/Cheeselab/DecoraterBot/issues/17","id":244218958,"user":{"login":"AraHaan","id":15173749,"avatar_url":"https://avatars.githubusercontent.com/u/15173749?v=3","gravatar_id":"","url":"https://api.github.com/users/AraHaan","html_url":"https://github.com/AraHaan","followers_url":"https://api.github.com/users/AraHaan/followers","following_url":"https://api.github.com/users/AraHaan/following{/other_user}","gists_url":"https://api.github.com/users/AraHaan/gists{/gist_id}","starred_url":"https://api.github.com/users/AraHaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AraHaan/subscriptions","organizations_url":"https://api.github.com/users/AraHaan/orgs","repos_url":"https://api.github.com/users/AraHaan/repos","events_url":"https://api.github.com/users/AraHaan/events{/privacy}","received_events_url":"https://api.github.com/users/AraHaan/received_events","type":"User","site_admin":false},"created_at":"2016-09-01T21:30:38Z","updated_at":"2016-09-01T21:30:38Z","body":"what I could extract for opus in ``opus.c``\r\n\r\n    Copyright (c) 2011 Xiph.Org Foundation, Skype Limited\r\n    Written by Jean-Marc Valin and Koen Vos */\r\n\r\n    Redistribution and use in source and binary forms, with or without\r\n    modification, are permitted provided that the following conditions\r\n    are met:\r\n\r\n    - Redistributions of source code must retain the above copyright\r\n    notice, this list of conditions and the following disclaimer.\r\n\r\n    - Redistributions in binary form must reproduce the above copyright\r\n    notice, this list of conditions and the following disclaimer in the\r\n    documentation and/or other materials provided with the distribution.\r\n\r\n    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n    ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r\n    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r\n    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER\r\n    OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r\n    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r\n    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\r\n    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r\n    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r\n    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r\n    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n"}}
{"actor":{"display_login":"AraHaan"}}