edollar-project / edollar

BSD 3-Clause "New" or "Revised" License
11 stars 7 forks source link

Invalid License #5

Closed selsta closed 6 years ago

selsta commented 6 years ago

See https://github.com/github/dmca/blob/master/2018/2018-01-25-Monero.md for more details.

VincentVespa commented 6 years ago

If I'm not mistaken, the line: "# Copyright (c) 2017, edollar project (fork from Monero)"

In all files sourced from Monero should be changed to: "# Copyright (c) 2017-2018 The Edollar Project." "# Copyright (c) 2014-2017 The Monero Project."

I've seen several different repos taken down for not doing so.

selsta commented 6 years ago

This is the correct way to do it: https://gitlab.com/Sumoprojects/sumokoin/commit/70d76e70d581e4fdb75049bd1fd97c26302b9d5c

  1. As Sumokoin forked Monero v0.10.1, most copyright notices reverted to 'Copyright (c) 2014-2016, The Monero Project'

  2. Some codes merged from upstream in 2017 were marked as 'Copyright (c) 2014-2017'

  3. Sumokoin retained copyright at only a few places where we improved or largely modified code logic like emission scheme, different calculation algo etc.

VincentVespa commented 6 years ago

Gotcha. Shouldn't be too hard to compare the Monero fork at edollar-project/monero with the current files. I just happen to have some spare time.

VincentVespa commented 6 years ago

Right... So this process is more time consuming than anything else. I'm working on a Pull Request for this, but it will take some time. I'm not extremely familiar with this project, but it seems like as good a way as any to familiarize myself with the differences between Edollar and Monero.

block202612 commented 6 years ago

How about this quick and dirty script to begin with:

https://github.com/block202612/utils/blob/master/changelicense.py

VincentVespa commented 6 years ago

Hmm... I've been trying to make a script to do this for me for a bit... Unfortunately this task seems to be more akin to manual labor. You have to actually go in to each file, compare it to the source Monero fork, determine if any changes were made, then determine if the changes warrant a separate edollar mark.

I'm still working on it, but I still have 500 or so files to comb through in the scr and tests folders.

VincentVespa commented 6 years ago

Here is the list of files that still need to be looked though... list.txt

block202612 commented 6 years ago

Ok, got it . I made the pull request anyway. In case I can close it. I can see two other possibilities:

Any feedback is welcome

VincentVespa commented 6 years ago

The problem with that method is that it doesn't factor context into account. For example, if one line is changed in a file, that could either be a comment edit or a proprietary algorithm. A single line change in one large file could be way more relevant than multiple line changes in a small file, but the smaller one would have a much lower similarity score.

block202612 commented 6 years ago

@VincentVespa you are right. At this point I'd like to give a try adding a scoring mechanism based not just on the whole source file content , but splitting by blocks of lines. In this way if I'm confident to pick up the source files that are actually the same, and I can still tweak the thresholds in a way that the ones with few changes are also showed as file of interest . Let's see.

VincentVespa commented 6 years ago

8 Should have all of the necessary copyrights updated... It haven't double-checked my work, though, if someone would like to look through it and make sure I didn't make any mistakes. @block202612 Sometimes good ol' manual reading is quicker than straight coding. I did make a quick wpf gui to let me choose between the various copyright headers and review the Monero and Edollar branches side by side. Took me about three hours to go through all of the files.

block202612 commented 6 years ago

@VincentVespa sounds to me you changed pretty much the same number of files of the script I wrote for this which has produced https://github.com/edollar-project/edollar/pull/7. Anyway a double check is not bad at all for a task like this one and I'd like to have the GUI based tool mostly because I'm completely not familiar with UI tools. Below, some stats of interest:

Please note: the following stats are based on filename only with the purpose to show an initial difference in terms of file to look at:

[i] - code base [monero] - total number of files: 1532
[i] - code base [edollar] - total number of files: 1470
------------------------------------------------------------
[i] - target code base [monero] contains 76 unique file names
[i] - source code base [edollar] contains 14 unique file names
------------------------------------------------------------
[i] - number of common file names: 1456
VincentVespa commented 6 years ago

@block202612 Yessir. Same idea, just kind of a different route. :-) I filtered the two repositories in the following order before I determined the copyright determinations:

  1. Removed all files that I had already manually edited earlier.
  2. Removed all files that did not contain any form of copyright marker.
  3. Removed all files that did not contain 'edollar' or 'monero'.
  4. Removed all files that did not appear in both bases. (I was left with about 507 files at that point).

After that I made a function that would read the file from both code bases, then remove all lines that were identical. If the only remaining line was the Edollar copy, I knew that would have to be changed to the Monero copyright without the Edollar copyright. Batch edited those and removed them from my file list.

After that, I incorporated the same function into a GUI so I could see the differences an manually edit it. Unforunately, I would edit that GUI as I went for whatever I needed it to do, and I trashed the input code when I changed the functions to my output (text edit) code. The base GUI outline is still there, though, if that helps you get an idea of what I was working with.

wpf

block202612 commented 6 years ago

@VincentVespa great work anyway

edollar-project commented 6 years ago

Merge pull request from @@VincentVespa