11
\$\begingroup\$

As I was working through the Close Votes Review Queue, I came upon a question beginning like this:

I just cloned (Github clone, not literal clone) someone's Tic-Tac-Toe game and I was originally going to make a pull request, but I ended up making too many changes, the code is simply unrecognizable now.

The reason this question came up in this queue was that somebody had flagged it with Off-topic - Authorship of Code, for which I felt I was unable to correctly decide whether it was appropriate or not. On the one hand, the original code is certainly not the product of the asker's own creativity. On the other hand, he does argue that he made so many changes that the code became something different from the original authors creation, and was asking mostly about code style issues, which constitutes a standard review point.

As a quick reminder, here is the close reason description as it comes up in the Close > Off-topic dialog box:

Authorship of code: Since Code Review is a community where programmers improve their skills through peer review, we require that the code be posted by an author or maintainer of the code, that the code be embedded directly, and that the poster know why the code is written the way it is.


How should we deal with this problem of "whose code is this"? Where do we draw the line between acceptable for review and off-topic?

\$\endgroup\$
17
\$\begingroup\$

I think the close vote is inappropriate.

The close reason says "author or maintainer". In this case I think it makes sense to assume that the poster is the maintainer of the cloned code, especially if the code has diverged so much that the original is unrecognizable due to the changes.

That close reason intends to filter out questions asking to review someone else's code, without taking ownership of the code, or without understanding how it works, or looking for explanations about the code. That doesn't seem to be the case here.

\$\endgroup\$
  • \$\begingroup\$ I have added a link to the original repository now (in my question), just in case you're wondering how much has changed (specifically, I started refactoring from the solution/ directory of the repository, not the object-oriented-solution directory). \$\endgroup\$ – doubleOrt Feb 24 '18 at 18:26
  • 2
    \$\begingroup\$ I don't agree, it looks like the OP has committed some serious licence violations. Licencing closed source code under CC BY-SA 3.0. Where legal aspects is part of that close reason \$\endgroup\$ – Peilonrayz Feb 26 '18 at 9:14
  • \$\begingroup\$ @Peilonrayz Sounds serious, but I don't see it. Care to be more specific what went wrong? What closed source got improperly re-licensed? \$\endgroup\$ – Mast Feb 26 '18 at 18:02
  • \$\begingroup\$ @Mast I have written an answer, if there are any further problems, please notify me there :) \$\endgroup\$ – Peilonrayz Feb 26 '18 at 18:59
  • \$\begingroup\$ @Peilonrayz I think I might be blind, I don't see a LICENSE.MD file on the repository, and I see Javascript source code pushed in 4 commits by 1 author, over 2 years ago - how is it closed source? \$\endgroup\$ – Mathieu Guindon Feb 26 '18 at 20:06
  • 1
    \$\begingroup\$ @Mat'sMug No rights are given by default - so everything by default is closed source. There being no license anywhere means they've not given anyone any rights. If anything how did the original give the rights to change the license to CC BY-SA? \$\endgroup\$ – Peilonrayz Feb 26 '18 at 20:12
  • 1
    \$\begingroup\$ Ok call me dumb here, but I never ever read "closed source" as meaning "publicly available for anyone to grab on a public GitHub repository" ...I'd think "closed source" would be in a private repository. \$\endgroup\$ – Mathieu Guindon Feb 26 '18 at 20:13
  • \$\begingroup\$ @Mat'sMug That's like saying you can post GPL code here, because it's "publicly available for anyone to grab on a public GitHub repository". Closed source means the owner's not given rights away \$\endgroup\$ – Peilonrayz Feb 26 '18 at 20:14
  • \$\begingroup\$ I understand what you're saying, but no, it's not like saying you can post GPL code here because it's publicly available for anyone to grab on a public GitHub repository - a piece of GPL-licensed code would have a GPL license on the repo saying it's GPL-licensed. I'm not super well-versed in licensing, but if I see something out there without a license, my [apparently wrong] interpretation is that it's licensed under IDGAF or whatever. If I want something "closed source", I don't publish the code. Of course basic common sense is to ask the author permission to use their code... \$\endgroup\$ – Mathieu Guindon Feb 26 '18 at 20:22
  • \$\begingroup\$ @Mat'sMug I think it's wrong to assume everything is CC0 / IDGAF be default, as at no point has the poster given away rights to their IP. You can post closed source code on GitHub, but that means it's easy for people to steal your code, so isn't common. \$\endgroup\$ – Peilonrayz Feb 26 '18 at 20:26
  • 1
    \$\begingroup\$ The Github TOS disagree. see specifically section D 5 of the TOS where it states that: "If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking)" \$\endgroup\$ – Vogel612 Feb 26 '18 at 20:58
  • 1
    \$\begingroup\$ @Peilonrayz then I hope this will help \$\endgroup\$ – Mathieu Guindon Feb 26 '18 at 21:01
  • \$\begingroup\$ @Mat'sMug If they make it CC BY-SA compatible, then I, as I put on the question, have no problem. As there is no license or rule violation \$\endgroup\$ – Peilonrayz Feb 26 '18 at 21:04
2
\$\begingroup\$

There isn't enough information to say. The requirement is that the poster needs to be the person who can license the code under the cc by-sa 3.0 with attribution required license. Can this person do that? If not, the question should be closed.

If so, then it shouldn't be (at least not for that reason).

As written in the question, we don't have enough information to say one way or the other. The asker copied code from a github repository. We don't know what right the poster had to do so.

A simple solution would be if the original code were already licensed under a compatible license. However, we can't determine that in this case, as there is no license posted that I found at the current commit.

\$\endgroup\$
0
\$\begingroup\$

I think it should be closed for that reason.

Authorship of code: Since Code Review is a community where programmers improve their skills through peer review, we require that the code be posted by an author or maintainer of the code, that the code be embedded directly, and that the poster know why the code is written the way it is.

If you read just the description, then I can see why you wouldn't think it should be:

  • we require that the code be posted by an author or maintainer of the code

    The poster is the author of some of the code. And is the maintainer for their fork.

  • that the code be embedded directly

    The code has been embedded into the question.

  • and that the poster know why the code is written the way it is.

    They wrote some of the code, and so likely know why they programmed it that way.


However if you click the link for "posted by an author or maintainer of the code" then you should see:

For moral, practical, and legal reasons, we are only able to review code that you wrote or code that you maintain. Code Review is not the place to ask about someone else's code.

I'll go through if it's off-topic for these reasons:

  • Moral: We're not codecrap.com. However the user isn't here to shame the other author.
  • Practical: It's not helpful to tell people that don't understand code how to improve code. The OP here knows what the code is doing however.
  • Legal: The OP forked a close source repo. And has now modified the code. But not just that, they relicensed the code to CC BY-SA 3.0 by posting on here.

    And so as the link says:

    If it is not your code, then you have no authority to give away the licensing for it.

    And so should be off-topic according to our rules.

\$\endgroup\$
  • \$\begingroup\$ If it's modified enough, doesn't the copyright simply no longer hold? \$\endgroup\$ – Mast Feb 26 '18 at 19:13
  • \$\begingroup\$ @Mast IANAL but the person said they modified something they shouldn't, and also changed the license. I don't want to encourage copyright infringement, and saying it's ok because they broke the license enough that it shouldn't matter, sounds like that. \$\endgroup\$ – Peilonrayz Feb 26 '18 at 19:55
  • \$\begingroup\$ That's not how I read it and I don't see a strong case in your comment for getting the question closed. \$\endgroup\$ – Mast Feb 26 '18 at 20:12
  • 1
    \$\begingroup\$ To put it simply, your point is that the question violates copyright, and therefore it should be closed. That sounds like a fair point (+1), but I'm not a lawyer and so cannot really tell. We don't normally investigate the origin of work. For all I know, half of the posts could originate from sources with incompatible licenses. Also, is there harm being done? Looking at the original repo, do you think the author would feel violated? Most likely he would just say "oh cool, somebody actually did something with my code". I think you're making a big deal out of this. \$\endgroup\$ – Stop ongoing harm to Monica Feb 26 '18 at 20:49
  • 1
    \$\begingroup\$ @janos I agree that they may go "Oh cool, ..." I would probably do the same. However it's a licence and rule violation, and I don't agree with ignoring it. \$\endgroup\$ – Peilonrayz Feb 26 '18 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .