OpenGenus / cosmos

World's largest Contributor driven code dataset | Used in Quark Search Engine, @OpenGenus IQ, OpenGenus Visual Project
http://internship.opengenus.org
GNU General Public License v3.0
13.53k stars 3.67k forks source link

Plagiarism of code #3179

Open InfiniteCoder opened 6 years ago

InfiniteCoder commented 6 years ago

It seems some ( or at least one) user had submitted codes that were plagiarised. Codes have been copied from various websites and have been submitted here, after removal of comments, and/or minor changes.

For example: https://github.com/OpenGenus/cosmos/pull/945/files is plagiarised from https://www.geeksforgeeks.org/check-string-pangrammatic-lipogram/ https://github.com/OpenGenus/cosmos/pull/597/files from https://www.geeksforgeeks.org/lucky-numbers/ https://github.com/OpenGenus/cosmos/pull/535/files from https://www.geeksforgeeks.org/tribonacci-numbers/

This is very unethical behaviour on the part of the contributer. I dislike to point fingers, but I am quite sure that other contributions from @imfaizz are also plagiarized, quite likely from the same website. I checked some other programs, and they are strikingly similar to other programs from the website.

IMHO, this is unacceptable behaviour, especially as no credit has been given to original authors. Such programs should be removed from the repository, and such users banned from further contributions.

AdiChat commented 6 years ago

Plagiarism is a scary word. πŸ˜…

There is a small section of codes that can be categorized as such. We, usually, try to keep this in mind while reviewing contributions but still, some go unnoticed. I, strongly, agree with you.

One good point you raised is that we should support credit for external sites (provided the contributor acknowledges the source). We must include the source you pointed out. We do have links to external sites on a few readmes and we should make contributors aware of this (ensuring that we do not encourage one to copy). In short, we must improve our credit system.

We must not point to a particular user for such behavior. I do agree with the point you raised. As such, the concerned contributions do not reduce the quality or deviate from our end goal. Banning someone or removing contributions would turn out to be super sad and thus, should not be considered as a solution.

In fact, this triggered the user to change his username.

We should make OpenGenus our sweet home on the web. πŸ’ͺ

In my opinion, even if we write code without referring to a source, the style can be similar. We should have the freedom to browse and learn from various resources and on doing so, chances that we adopt similar style are high. Thus, it is difficult to prove and disprove plagiarism. Due to the nature of our contribution environment, it looks like the concept of plagiarism is not applicable but we must respect the licensing and the original hard work associated.

Any working contribution (with good intentions) is acceptable. πŸ˜„

Conclusion:

InfiniteCoder commented 6 years ago

I agree that proving plagiarism can be hard, but when programs are same down to the variable names, then it's hard to disprove it too. Actually, the way I came to know about this is that, the codes on the mentioned websites seem to have zero length characters, which are used for fingerprinting text. These characters are invisible, and so someone simply copying the code won't notice them. These characters were present in these codes.

While it's OK to add programs from other sites here, they should,

  1. Have compatible license to that of this repositories
  2. Credit the original writer of the code.

I totally agree with your conclusion.

AdiChat commented 6 years ago

πŸ˜† Nice and clever way to find the source :male_detective:

πŸ‘ We must incorporate and make users aware of our conclusions. πŸ’ͺ