{
  "id": 302965,
  "title": "YOLOv5 and YOLOR realizations are licensed by GPLv3 . Is this a problem?",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/302965",
  "author_name": "Vitaliy Dushepa",
  "post_date": "2022-01-25T09:15:10.548000",
  "votes": 21,
  "comment_count": 9,
  "views": 0,
  "content": "<p>I paid attention that popular implementations of YOLOv5 (from <a href=\"https://github.com/ultralytics/yolov5\" target=\"_blank\">Ultralytics</a>) and YOLOR (from <a href=\"https://github.com/WongKinYiu/yolor\" target=\"_blank\">WongKinYiu</a>), which actively used here in Kaggle notebooks, have the \"copyleft\" GPLv3 license. If in simple words, \"copyleft\" means that although the program itself is \"free\" (and you can do whatever you want with it), but all its derivatives must also be distributed under the same \"copyleft\" license. This can severely limit commercial applications.</p>\n<p>At the bottom of each Kaggle notebook, the license is indicated - this is Apache 2.0 (more permissive, don't copyleft license). In my opinion, there is already a discrepancy here. A quick internet search for compatibility between Apache 2.0 and GPLv3 yields the answer that they are compatible. But here is a more detailed explanation (<a href=\"https://www.apache.org/licenses/GPL-compatibility.html\" target=\"_blank\">apache.org</a>):</p>\n<blockquote>\n  <p>Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.</p>\n</blockquote>\n<p>and further</p>\n<blockquote>\n  <p>We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. </p>\n</blockquote>\n<p>It turns out that a notebook cannot be licensed with Apache 2.0 if it uses components with a GPLv3 license, right? The question also arises, is it permissible in this competition to use solutions that contain components under the GPLv3 license?</p>\n<p>I am not a big expert in this matter. I hope more knowledgeable people can clarify these issues in the comments.</p>",
  "messages": [
    {
      "id": 1663617,
      "postDate": "2022-01-25T09:15:10.550Z",
      "content": "<p>I paid attention that popular implementations of YOLOv5 (from <a href=\"https://github.com/ultralytics/yolov5\" target=\"_blank\">Ultralytics</a>) and YOLOR (from <a href=\"https://github.com/WongKinYiu/yolor\" target=\"_blank\">WongKinYiu</a>), which actively used here in Kaggle notebooks, have the \"copyleft\" GPLv3 license. If in simple words, \"copyleft\" means that although the program itself is \"free\" (and you can do whatever you want with it), but all its derivatives must also be distributed under the same \"copyleft\" license. This can severely limit commercial applications.</p>\n<p>At the bottom of each Kaggle notebook, the license is indicated - this is Apache 2.0 (more permissive, don't copyleft license). In my opinion, there is already a discrepancy here. A quick internet search for compatibility between Apache 2.0 and GPLv3 yields the answer that they are compatible. But here is a more detailed explanation (<a href=\"https://www.apache.org/licenses/GPL-compatibility.html\" target=\"_blank\">apache.org</a>):</p>\n<blockquote>\n  <p>Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.</p>\n</blockquote>\n<p>and further</p>\n<blockquote>\n  <p>We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. </p>\n</blockquote>\n<p>It turns out that a notebook cannot be licensed with Apache 2.0 if it uses components with a GPLv3 license, right? The question also arises, is it permissible in this competition to use solutions that contain components under the GPLv3 license?</p>\n<p>I am not a big expert in this matter. I hope more knowledgeable people can clarify these issues in the comments.</p>",
      "rawMarkdown": "I paid attention that popular implementations of YOLOv5 (from [Ultralytics](https://github.com/ultralytics/yolov5)) and YOLOR (from [WongKinYiu](https://github.com/WongKinYiu/yolor)), which actively used here in Kaggle notebooks, have the \"copyleft\" GPLv3 license. If in simple words, \"copyleft\" means that although the program itself is \"free\" (and you can do whatever you want with it), but all its derivatives must also be distributed under the same \"copyleft\" license. This can severely limit commercial applications.\n\nAt the bottom of each Kaggle notebook, the license is indicated - this is Apache 2.0 (more permissive, don't copyleft license). In my opinion, there is already a discrepancy here. A quick internet search for compatibility between Apache 2.0 and GPLv3 yields the answer that they are compatible. But here is a more detailed explanation ([apache.org](https://www.apache.org/licenses/GPL-compatibility.html)):\n> Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.\n\nand further\n\n> We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. \n\nIt turns out that a notebook cannot be licensed with Apache 2.0 if it uses components with a GPLv3 license, right? The question also arises, is it permissible in this competition to use solutions that contain components under the GPLv3 license?\n\nI am not a big expert in this matter. I hope more knowledgeable people can clarify these issues in the comments.",
      "votes": 20
    },
    {
      "id": 1664559,
      "postDate": "2022-01-26T04:15:07.297Z",
      "content": "<p>From section 8c of the rules:</p>\n<blockquote>\n  <p>C. Use of Open Source. Unless otherwise stated in the Specific Competition Rules above, if open source code is used in the model to generate the Submission, then you must only use open source code licensed under an Open Source Initiative-approved license (see <a href=\"http://www.opensource.org\" target=\"_blank\">www.opensource.org</a>) that in no event limits commercial use of such code or model containing or depending on such code.</p>\n</blockquote>\n<p>On opensource.org GPLv3 is an approved license <a href=\"https://opensource.org/licenses/LGPL-3.0\" target=\"_blank\">https://opensource.org/licenses/LGPL-3.0</a></p>\n<p>However it might violate the \"in no event limits commercial use of such code or model containing or depending on such code.\" To me this seems a bit ambiguous and would most likely need clarification by Kaggle staff or competition organizers. I have heard that competitions in the past have both allowed and disallowed YoloV5 so I'm not completely sure unfortunately.</p>",
      "rawMarkdown": "From section 8c of the rules:\n> C. Use of Open Source. Unless otherwise stated in the Specific Competition Rules above, if open source code is used in the model to generate the Submission, then you must only use open source code licensed under an Open Source Initiative-approved license (see www.opensource.org) that in no event limits commercial use of such code or model containing or depending on such code.\n\nOn opensource.org GPLv3 is an approved license https://opensource.org/licenses/LGPL-3.0\n\nHowever it might violate the \"in no event limits commercial use of such code or model containing or depending on such code.\" To me this seems a bit ambiguous and would most likely need clarification by Kaggle staff or competition organizers. I have heard that competitions in the past have both allowed and disallowed YoloV5 so I'm not completely sure unfortunately.",
      "votes": 1,
      "replies": [
        {
          "id": 1664693,
          "postDate": "2022-01-26T07:20:36.863Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 1665068,
          "postDate": "2022-01-26T14:34:17.707Z",
          "content": "<p>You gave a link to LGPL-3.0 (Lesser General Public License version 3). But it differs just from the GPL-3.0 in the direction of mitigation. However, the GPL-3.0 license is also approved by Open Source Initiative, in this you are right.</p>",
          "rawMarkdown": "You gave a link to LGPL-3.0 (Lesser General Public License version 3). But it differs just from the GPL-3.0 in the direction of mitigation. However, the GPL-3.0 license is also approved by Open Source Initiative, in this you are right."
        }
      ]
    },
    {
      "id": 1665403,
      "postDate": "2022-01-26T19:55:50.497Z",
      "content": "<p>Hey there - </p>\n<p>This has come up in a few competitions in the past and is a bit of a sticky wicket. I'll reach out to the sponsors to follow up.</p>",
      "rawMarkdown": "Hey there - \n\nThis has come up in a few competitions in the past and is a bit of a sticky wicket. I'll reach out to the sponsors to follow up.",
      "replies": [
        {
          "id": 1665434,
          "postDate": "2022-01-26T20:39:06.377Z",
          "content": "<p>We spend 2 months looking for solutions and now two weeks before the end you want to clarify the rules? 😳🤓🤔 If there have been such cases before, you should exclude yolov5 from the competition right at the beginning and write it clearly.</p>\n<p>And here is quote from your post: 😍😁😜</p>\n<p>❤️❤️ <code>There are no restrictions to any technologies or libraries used for the main leaderboard prize.</code> 💔💔</p>",
          "rawMarkdown": "We spend 2 months looking for solutions and now two weeks before the end you want to clarify the rules? 😳🤓🤔 If there have been such cases before, you should exclude yolov5 from the competition right at the beginning and write it clearly.\n\nAnd here is quote from your post: 😍😁😜\n\n❤️❤️ `There are no restrictions to any technologies or libraries used for the main leaderboard prize.` 💔💔",
          "votes": 7
        },
        {
          "id": 1665444,
          "postDate": "2022-01-26T20:56:55.510Z",
          "content": "<p>Ultimately it comes down to interpretation from the competition hosts. We've had some competition hosts who felt more comfortable than others with the restrictions outlined by YoloV5 use, etc.</p>\n<p>In that post, \"technologies or libraries\" was in the context of Tensorflow, etc. being required for the bonus prize by the host (e.g. the host does not require the use of only certain technologies to be used for the main leaderboard prize). </p>\n<p>However, if a technology or library places limitations on how it can be used and would include terms that would disallow its use in a competition based on the terms of that competition- that is not a restriction the hosts can control. </p>\n<p>Asking a question in the forums is the right step here as the licensing allowed by YOLOv5 is subject to interpretation, as is the licensing in the competition rules - therefore I've passed along the question to the hosts to weigh in.</p>",
          "rawMarkdown": "Ultimately it comes down to interpretation from the competition hosts. We've had some competition hosts who felt more comfortable than others with the restrictions outlined by YoloV5 use, etc.\n\nIn that post, \"technologies or libraries\" was in the context of Tensorflow, etc. being required for the bonus prize by the host (e.g. the host does not require the use of only certain technologies to be used for the main leaderboard prize). \n\nHowever, if a technology or library places limitations on how it can be used and would include terms that would disallow its use in a competition based on the terms of that competition- that is not a restriction the hosts can control. \n\nAsking a question in the forums is the right step here as the licensing allowed by YOLOv5 is subject to interpretation, as is the licensing in the competition rules - therefore I've passed along the question to the hosts to weigh in.",
          "votes": 1
        },
        {
          "id": 1665725,
          "postDate": "2022-01-27T05:00:19.057Z",
          "content": "<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> If the host doesn't allow GPL license, can you also consult with host about postponing competition deadline? As I build my pipeline based on YOLOv5, if I rebuild it and train based on other model will require another few weeks. I guess others might be the same situation as mine, that will end up with decreasing the number of finally qualified models.</p>",
          "rawMarkdown": "@addisonhoward If the host doesn't allow GPL license, can you also consult with host about postponing competition deadline? As I build my pipeline based on YOLOv5, if I rebuild it and train based on other model will require another few weeks. I guess others might be the same situation as mine, that will end up with decreasing the number of finally qualified models.",
          "votes": 2
        },
        {
          "id": 1666673,
          "postDate": "2022-01-28T01:42:24.770Z",
          "content": "<p>Hi there - following up on this to note that YoloV5 is good to go! No issues with the licensing from the competition sponsor.</p>",
          "rawMarkdown": "Hi there - following up on this to note that YoloV5 is good to go! No issues with the licensing from the competition sponsor.",
          "votes": 18
        }
      ]
    },
    {
      "id": 1665263,
      "postDate": "2022-01-26T17:33:38.257Z",
      "rawMarkdown": "",
      "votes": -2,
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1664559,
      "author_name": "Max van Dijck",
      "author_url": "",
      "post_date": "2022-01-26T04:15:07.297000",
      "content": "<p>From section 8c of the rules:</p>\n<blockquote>\n  <p>C. Use of Open Source. Unless otherwise stated in the Specific Competition Rules above, if open source code is used in the model to generate the Submission, then you must only use open source code licensed under an Open Source Initiative-approved license (see <a href=\"http://www.opensource.org\" target=\"_blank\">www.opensource.org</a>) that in no event limits commercial use of such code or model containing or depending on such code.</p>\n</blockquote>\n<p>On opensource.org GPLv3 is an approved license <a href=\"https://opensource.org/licenses/LGPL-3.0\" target=\"_blank\">https://opensource.org/licenses/LGPL-3.0</a></p>\n<p>However it might violate the \"in no event limits commercial use of such code or model containing or depending on such code.\" To me this seems a bit ambiguous and would most likely need clarification by Kaggle staff or competition organizers. I have heard that competitions in the past have both allowed and disallowed YoloV5 so I'm not completely sure unfortunately.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1664693,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-26T07:20:36.863000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1665068,
          "author_name": "Vitaliy Dushepa",
          "author_url": "",
          "post_date": "2022-01-26T14:34:17.707000",
          "content": "<p>You gave a link to LGPL-3.0 (Lesser General Public License version 3). But it differs just from the GPL-3.0 in the direction of mitigation. However, the GPL-3.0 license is also approved by Open Source Initiative, in this you are right.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1665403,
      "author_name": "Addison Howard",
      "author_url": "",
      "post_date": "2022-01-26T19:55:50.497000",
      "content": "<p>Hey there - </p>\n<p>This has come up in a few competitions in the past and is a bit of a sticky wicket. I'll reach out to the sponsors to follow up.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1665434,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-26T20:39:06.377000",
          "content": "<p>We spend 2 months looking for solutions and now two weeks before the end you want to clarify the rules? 😳🤓🤔 If there have been such cases before, you should exclude yolov5 from the competition right at the beginning and write it clearly.</p>\n<p>And here is quote from your post: 😍😁😜</p>\n<p>❤️❤️ <code>There are no restrictions to any technologies or libraries used for the main leaderboard prize.</code> 💔💔</p>",
          "votes": 7,
          "replies": []
        },
        {
          "id": 1665444,
          "author_name": "Addison Howard",
          "author_url": "",
          "post_date": "2022-01-26T20:56:55.510000",
          "content": "<p>Ultimately it comes down to interpretation from the competition hosts. We've had some competition hosts who felt more comfortable than others with the restrictions outlined by YoloV5 use, etc.</p>\n<p>In that post, \"technologies or libraries\" was in the context of Tensorflow, etc. being required for the bonus prize by the host (e.g. the host does not require the use of only certain technologies to be used for the main leaderboard prize). </p>\n<p>However, if a technology or library places limitations on how it can be used and would include terms that would disallow its use in a competition based on the terms of that competition- that is not a restriction the hosts can control. </p>\n<p>Asking a question in the forums is the right step here as the licensing allowed by YOLOv5 is subject to interpretation, as is the licensing in the competition rules - therefore I've passed along the question to the hosts to weigh in.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1665725,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-27T05:00:19.057000",
          "content": "<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> If the host doesn't allow GPL license, can you also consult with host about postponing competition deadline? As I build my pipeline based on YOLOv5, if I rebuild it and train based on other model will require another few weeks. I guess others might be the same situation as mine, that will end up with decreasing the number of finally qualified models.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1666673,
          "author_name": "Addison Howard",
          "author_url": "",
          "post_date": "2022-01-28T01:42:24.770000",
          "content": "<p>Hi there - following up on this to note that YoloV5 is good to go! No issues with the licensing from the competition sponsor.</p>",
          "votes": 18,
          "replies": []
        }
      ]
    },
    {
      "id": 1665263,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-26T17:33:38.257000",
      "content": "",
      "votes": -2,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1663617": "I paid attention that popular implementations of YOLOv5 (from [Ultralytics](https://github.com/ultralytics/yolov5)) and YOLOR (from [WongKinYiu](https://github.com/WongKinYiu/yolor)), which actively used here in Kaggle notebooks, have the \"copyleft\" GPLv3 license. If in simple words, \"copyleft\" means that although the program itself is \"free\" (and you can do whatever you want with it), but all its derivatives must also be distributed under the same \"copyleft\" license. This can severely limit commercial applications.\n\nAt the bottom of each Kaggle notebook, the license is indicated - this is Apache 2.0 (more permissive, don't copyleft license). In my opinion, there is already a discrepancy here. A quick internet search for compatibility between Apache 2.0 and GPLv3 yields the answer that they are compatible. But here is a more detailed explanation ([apache.org](https://www.apache.org/licenses/GPL-compatibility.html)):\n> Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.\n\nand further\n\n> We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. \n\nIt turns out that a notebook cannot be licensed with Apache 2.0 if it uses components with a GPLv3 license, right? The question also arises, is it permissible in this competition to use solutions that contain components under the GPLv3 license?\n\nI am not a big expert in this matter. I hope more knowledgeable people can clarify these issues in the comments.",
    "1664559": "From section 8c of the rules:\n> C. Use of Open Source. Unless otherwise stated in the Specific Competition Rules above, if open source code is used in the model to generate the Submission, then you must only use open source code licensed under an Open Source Initiative-approved license (see www.opensource.org) that in no event limits commercial use of such code or model containing or depending on such code.\n\nOn opensource.org GPLv3 is an approved license https://opensource.org/licenses/LGPL-3.0\n\nHowever it might violate the \"in no event limits commercial use of such code or model containing or depending on such code.\" To me this seems a bit ambiguous and would most likely need clarification by Kaggle staff or competition organizers. I have heard that competitions in the past have both allowed and disallowed YoloV5 so I'm not completely sure unfortunately.",
    "1665403": "Hey there - \n\nThis has come up in a few competitions in the past and is a bit of a sticky wicket. I'll reach out to the sponsors to follow up.",
    "1665263": ""
  }
}