{
  "id": 12701,
  "title": "Proprietary Software: Allowed or Not?",
  "url": "/competitions/diabetic-retinopathy-detection/discussion/12701",
  "author_name": "",
  "post_date": "2015-03-05T23:28:13.973Z",
  "votes": 1,
  "comment_count": 5,
  "views": 2568,
  "content": "<p>Is it acceptable to use proprietary software for this competition, as long as the software implementing the submitted solution is free to give away?</p>",
  "messages": [
    {
      "id": "65553",
      "postDate": "03/05/2015 23:28:13",
      "content": "<p>Is it acceptable to use proprietary software for this competition, as long as the software implementing the submitted solution is free to give away?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65615",
      "postDate": "03/06/2015 17:16:57",
      "content": "<p>Hey Will,</p>\n<p>This question can be&nbsp;a bit thorny, even if the legal definition&nbsp;is not. The intent of open source competitions is to allow&nbsp;anybody to take, use, modify the winning solution without cost. That should always be in the back of your head as you code.</p>\n<p>Kaggle and the hosts sometimes&nbsp;allow a &quot;liberal&quot; interpretation of what it means to open source your solution. Historically, we have not denied a team a prize if a&nbsp;trivial piece of work (like, say, code to read an image into memory) was done by code that was proprietary or license encumbered. We care about the scientific idea first, the implementation second, and the licensing technicalities third. As such, we apply reasonable human judgement and grant&nbsp;small allowances where reasonable, like rewriting a bit of MATLAB code in Octave. This would not apply to proprietary code where you call out to something that does <em>do_magic(image),</em>&nbsp;which does&nbsp;significant work&nbsp;in a way that&nbsp;isn't transparent.</p>\n<p>Now, can you use something that is free but proprietary? Probably not.&nbsp;The risk there (aside from knowing what's in the black box) is that people&nbsp;start using the competition solution and later the authors decide to&nbsp;charge for use of what&nbsp;was once free, with potential legal ramifications.</p>\n<p>I know this answer is less concrete than you'd like, but we're not attorneys and get far too many &quot;can I use X in competition Y?&quot; questions&nbsp;to respond to&nbsp;individual cases (I'm responding to yours because I owe you one for your excellent blogging back in the day). Do your best to comply with the spirit of open sourcing, don't rely on any magic closed-source stuff, and you'll likely be okay.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65663",
      "postDate": "03/07/2015 03:49:27",
      "content": "<p>Thanks, I think this clears this up for me.</p>\n<p>I'm still looking for that <em>do_magic()</em> routine, though... :)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67152",
      "postDate": "03/19/2015 05:07:09",
      "content": "<p>I'm looking at&nbsp;GPU accelerated neural net training and can't seem to find anything which is independent of NVIDIA's CUDA framework.&nbsp;</p>\n<p>Does this mean that GPU accelerated neural nets are effectively not usable in this competition, or&nbsp;is a dependency on CUDA allowed, or am I missing some library&nbsp;which allows GPU accelerated neural net training&nbsp;without CUDA?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67244",
      "postDate": "03/19/2015 17:06:52",
      "content": "<p>The winner of the Kaggle Galaxy competition used&nbsp;<a href=\"http://blog.kaggle.com/2014/04/18/winning-the-galaxy-challenge-with-convnets/\">cuda covnet</a>&nbsp;so I think you're OK.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67356",
      "postDate": "03/20/2015 03:01:45",
      "content": "<p>Ah, perfect, thanks for the answer! That definitely simplifies things :)&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 65615,
      "author_name": "wcukierski",
      "author_url": "",
      "post_date": "03/06/2015 17:16:57",
      "content": "<p>Hey Will,</p>\n<p>This question can be&nbsp;a bit thorny, even if the legal definition&nbsp;is not. The intent of open source competitions is to allow&nbsp;anybody to take, use, modify the winning solution without cost. That should always be in the back of your head as you code.</p>\n<p>Kaggle and the hosts sometimes&nbsp;allow a &quot;liberal&quot; interpretation of what it means to open source your solution. Historically, we have not denied a team a prize if a&nbsp;trivial piece of work (like, say, code to read an image into memory) was done by code that was proprietary or license encumbered. We care about the scientific idea first, the implementation second, and the licensing technicalities third. As such, we apply reasonable human judgement and grant&nbsp;small allowances where reasonable, like rewriting a bit of MATLAB code in Octave. This would not apply to proprietary code where you call out to something that does <em>do_magic(image),</em>&nbsp;which does&nbsp;significant work&nbsp;in a way that&nbsp;isn't transparent.</p>\n<p>Now, can you use something that is free but proprietary? Probably not.&nbsp;The risk there (aside from knowing what's in the black box) is that people&nbsp;start using the competition solution and later the authors decide to&nbsp;charge for use of what&nbsp;was once free, with potential legal ramifications.</p>\n<p>I know this answer is less concrete than you'd like, but we're not attorneys and get far too many &quot;can I use X in competition Y?&quot; questions&nbsp;to respond to&nbsp;individual cases (I'm responding to yours because I owe you one for your excellent blogging back in the day). Do your best to comply with the spirit of open sourcing, don't rely on any magic closed-source stuff, and you'll likely be okay.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 65663,
      "author_name": "predictor",
      "author_url": "",
      "post_date": "03/07/2015 03:49:27",
      "content": "<p>Thanks, I think this clears this up for me.</p>\n<p>I'm still looking for that <em>do_magic()</em> routine, though... :)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67152,
      "author_name": "phasing",
      "author_url": "",
      "post_date": "03/19/2015 05:07:09",
      "content": "<p>I'm looking at&nbsp;GPU accelerated neural net training and can't seem to find anything which is independent of NVIDIA's CUDA framework.&nbsp;</p>\n<p>Does this mean that GPU accelerated neural nets are effectively not usable in this competition, or&nbsp;is a dependency on CUDA allowed, or am I missing some library&nbsp;which allows GPU accelerated neural net training&nbsp;without CUDA?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67244,
      "author_name": "alexcoventry",
      "author_url": "",
      "post_date": "03/19/2015 17:06:52",
      "content": "<p>The winner of the Kaggle Galaxy competition used&nbsp;<a href=\"http://blog.kaggle.com/2014/04/18/winning-the-galaxy-challenge-with-convnets/\">cuda covnet</a>&nbsp;so I think you're OK.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67356,
      "author_name": "phasing",
      "author_url": "",
      "post_date": "03/20/2015 03:01:45",
      "content": "<p>Ah, perfect, thanks for the answer! That definitely simplifies things :)&nbsp;</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "65553": "",
    "65615": "",
    "65663": "",
    "67152": "",
    "67244": "",
    "67356": ""
  },
  "source": "meta"
}