20

This is a situation I observed some time ago, and didn't think much of it. After some time, I stumbled back to it and thought this would make an interesting discussion for would-be mods.


A hypothetical situation:

Adam and Bill are both valuable users on TeX-SE, answering questions, helping people around and whatnot. Once, Adam answers a certain question, spending some time to prepare a good minimum working example (which the submitter didn't do), with added explanations of what is going on. Bill, apparently unsatisfied with Adam's answer (which is a perfectly valid solution), takes most of the code that Adam has written, makes a few changes, and posts an answer of his own, without mentioning the code came from another person. Now, this only happens in the course of an hour, so to a casual observer after a day they both seem to be posted at basically the same time.

What happens is that Bill's answer gets a decent amount of upvotes and is accepted (in part due to the reputation delta between them), but Adam, who wrote the original MWE, got only one or two sympathy upvotes.

Now, the questions:

  • Should Bill credit Adam for the code he reused?
  • Is this behaviour acceptable?
  • Should the answer to the above be "no", what steps the moderators should take to rectify the situation?

I understand it's going to be difficult to judge without seeing the actual question, but I ask you to state your opinion based on my (unquestionably biased) description.

It probably goes without saying that these particular Adam and Bill are fictitious, but are based on real users on the site. I implore you not to look for them -- this is not meant to be a frame-and-shame post, but to spur a discussion on the topic in general.

  • Mods: If you don't think such a discussion should take place here or at all (due to its potential sensitivity), feel free to delete the question. – Martin Tapankov Feb 25 '11 at 9:20
  • 8
    I can't see any reason why you shouldn't ask this question here. It's a very good question, and you did everything to remove any sensitivity. (I wouldn't even care that much about the sensitivity, so maybe it's good that I didn't nominate myself ...) – Hendrik Vogt Feb 25 '11 at 10:32
18
  • Should Bill credit Adam for the code he reused?

Yes.

  • Is this behaviour acceptable?

No.

  • Should the answer to the above be "no", what steps the moderators should take to rectify the situation?

Firstly, it may be accidental. So the current moderator style of "softly, softly" should be taken. I'd leave a comment along the lines of "Hi Bill, great answer. I notice that it's an improvement of Adam's answer, in which case it'd be polite to acknowledge the source.".

If there's no response to this, then I'd be tempted to leave it at that since the desired outcome has actually now been achieved: that the link between the answers is explicit. If Adam requests a higher profile acknowledgement, or Bill responds badly, then I would consider taking action with an aim of getting the acknowledgement in the actual answer - first by trying to persuade Bill but ultimately editing the answer if necessary. But this would only be a last resort.

But the main thing to do is to create an environment wherein it is perfectly acceptable to improve on other's code, and where it is the standard form when doing so to put in something like:

"This is an adaptation of Adam's code because it doesn't do X. If you vote for this answer, you should also vote for Adam's answer since this is based on that one.".

After all, it's no skin off my nose if someone else's answer gets voted for along with mine.

Thinking a little more, since the question is about an old situation, I would also hesitate a little before taking any action at all. I would try to gauge whether or not it is better to let sleeping dogs lie in a specific instance - it may be that Adam isn't particularly bothered by the situation in which case it's not worth resurrecting it. Such situations are unfortunate, but we have to allow for mild unpleasantness since the only way to truly remove it is to remove all possibility of people interacting at all!

To clarify that last point: there is a big difference between taking action when the event initially occurs (time frame of a day or so) and going back to an old situation and taking action there. In the former, because it is "live", people will be more forgiving of mistakes and more ready to correct impressions that have caused unpleasantness. In the latter, since the assumption will be that you have had plenty of time to think what to do, you had better ensure that you take that time and that you know all the facts - including the answer to whether Adam is actually bothered at all.

  • Agree 100%, except maybe with the last paragraph. I'd apply that last paragraph to the actual example not mentioned in the OP, but in general I don't see any problem in a polite comment; I think it would be a benefit. – Hendrik Vogt Feb 25 '11 at 10:41
  • @Hendrik: My thinking on the last paragraph was partly that the actual situation (which I don't know anything about) is in the past and it may be best to hesitate before revisiting it. There's a big difference between spotting something as it happens and leaving a comment and going back to leave a comment. – Loop Space Feb 25 '11 at 10:54
  • @Andrew: I also don't know the actual situation. And that's exactly what I meant with my comment: It's only good to leave a comment when spotting something as it happens; I fully agree with your comment. Maybe you update your answer to make that part a bit clearer? – Hendrik Vogt Feb 25 '11 at 11:24
  • @Hendrik: better? (Note to others: Hendrik's first comment referred to the last paragraph in my first version which is now the penultimate paragraph and didn't include the phrase "since the question is about an old situation") – Loop Space Feb 25 '11 at 11:48
  • Nothing much to say here, except that I absolutely agree that it's pointless, and even harmful, to revisit the situation now, a few weeks later. My intention was, as you say, to prevent or soften this kind of situations in the future. – Martin Tapankov Feb 25 '11 at 12:17
  • 8
    It seems also that rather than just acknowledging the source, it is ofter more appropriate to simply add a comment about the improvement and let the original answerer add the improvement. This is a bit of a judgement call, depending on the nature of the addition, but seems especially appropriate if the first answer is funadmentally correct. – Alan Munn Feb 25 '11 at 16:27
  • I agree with most of what you said, but I disagree with the categorical answers. Boilerplate code shouldn't need to be sourced. – TH. Feb 26 '11 at 20:09
  • @TH. I think that the "categorical" stuff - if I understand correctly which bit you mean - is there to show how it might be done. If someone chooses to do something a different way then that's fine so long as they've thought about it. Often slights like this are unintentional and purely because the other part hasn't realised that it could be taken another way. If the possibility is drawn to their attention, say by a suggested "categorical answer", then they'll find their own way of ensuring that their answers aren't likely to cause offence. That's the hope, anyway. – Loop Space Feb 26 '11 at 22:05
  • @Andrew: I meant the categorical (which is to say "unambiguously explicit and direct") "Yes" and "No" answers. – TH. Feb 26 '11 at 22:35
  • @Andrew: Yes, I like it! – Hendrik Vogt Feb 27 '11 at 14:50
  • @TH. Okay, I see. That's just my style: I'd rather give short, sharp answers and then qualify them in the detail. I think it best to give guidelines that are easy to understand and apply. Being guidelines, of course one can say, "This case needs more thought" but then, of course, one has thunk and not reacted automatically. So guidelines are there just to give a baseline of acceptable behaviour, a "if you can't be bothered to think for yourself, then this is what you should do" list. Hope that makes it clearer. – Loop Space Feb 27 '11 at 17:45
  • @AlanMunn: or if the improvement is a fix to an obvious error, edit it in directly – Tobias Kienzler Mar 1 '11 at 11:45
  • 1
    @Tobias This is a trickier issue. Correcting obvious typos in the code is fine, but more substantive errors (that may be the result of some actual misunderstaning) should probably still be left as comments (or at least with comments explaining them.) – Alan Munn Mar 2 '11 at 1:43
  • I think the distinction between when to suggest an improvement in the comments and when to add a new answer depends on how much extra work you have to do. Rule of thumb: if it fits in a comment, it should be a comment. – Seamus May 18 '11 at 10:27
9

A post with reused code should contain a note pointing to the original author, especially if Bill reuses the solution of Adam. If Bills code just contain non-relevant but similar standard additions to make a compilable example out of it, I guess it doesn't matter much.

There could be a situation when it happened that Adam and Bill found two different solutions, and both added some lines around to make a minimal compilable example for it, just for the convenience of the reader. Since both, as frequent posters, are versed in creating minimal examples, they do it in a very straightforward way:

  1. specify a document class
  2. load the involved packages
  3. put in the questioners problem, who didn't post a compilable example himself
  4. built in the respective solution (that's the intellectual point)
  5. add \begin{document}
  6. add some dummy text
  7. finally add \end{document}

Thus, the result can look very similar. I can even remember such a post myself, where I looked at the choices

  • to remove the naturally added lines to make it compilable, this way the good habit of giving a convenient compilable example would not be respected
  • to do something fancy to make it different to a straightforward creation of an MWE
  • or let it stand there, with similar standard flesh around the solution, so the different solutions are comparable, at least.

I think points 1-3 and 5-7 are pretty standard. Posting MWEs instead of one-liner should be encouraged.

When I thought back to remember a post where I could feel as Bill next to Adam, but with the thoughts written here above, I noted that I've also been like Adam next to Bill ;-) the same persons but places swapped. My (short) solution appeared a few minutes later extended to a compilable example. I know for completely sure it's just a coincidence. So I removed my shorter solution, added a positive comment to the longer and better example and voted it up.

  • If both codes are similar just in standard code but not relevant the solution, I guess it's a matter of tact to say if the example has been made similarly.

  • The author of a solution should receive credit, if it's copied and possibly modified.

8

Andrew is right, of course. A further point: the standing of Adam and Bill matters to the seriousness of the incident. Consider the following scenarios:

  1. Adam is high rep. (and for simplicity's sake, assume Bill is not a moderator) — then it is probably a good idea for everyone else to ignore the situation since Adam knows how things work, and is well-placed in the tex.sx community;
  2. Both Adam and Bill are low rep. — A gentle intervention along the lines of that described by Andrew is just the ticket. Note that while high rep. users can and probably should be blasé about rep., it is much more important to the site that low rep. users get the up votes they deserve;
  3. Bill is high rep., Adam low rep. — Like #2, but more directness is called for as the unacceptability level is higher, though I hope that occasional stupidity is a more common affliction among us high rep. users than malice.

I'll leave the permutations involving middle rep. users and moderators as an exercise to the moderator candidates, to be handed in by 10:00 UTC on Monday.

  • I think Martin is referring to your (1). And the point is that Bill should know better so what, if anything should be done to tell him so. – Alan Munn Feb 25 '11 at 13:43
  • 1
    @Alan: Oh bother: I had Adam and Bill mixed up. A private email would suffice: it's personal, so hard not to take seriously, and discreet, so reduces the risk of fallout. If Bill's email address isn't publically available ... well, that's uncommon for high rep. users, but maybe emailing a mod. would be good, explaining the situation and suggesting a possible wording of the email. – Charles Stewart Feb 25 '11 at 13:51

You must log in to answer this question.

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