jacoblevine / PhenoGraph

Subpopulation detection in high-dimensional single-cell data
http://www.c2b2.columbia.edu/danapeerlab/html/phenograph.html
MIT License
135 stars 70 forks source link

Louvain sources unavailable #3

Open rekado opened 7 years ago

rekado commented 7 years ago

Would it be possible to include the sources of the Louvain subdirectory? Also, what is the license of the modified Louvain sources? Will they be released under a free software license like the rest of your code?

As it stands your software cannot be built from source, so it cannot be packaged for GNU Guix, which we use at our institute.

rekado commented 7 years ago

Ping :)

Are the sources for Louvain available? PhenoGraph cannot be packaged as long as it bundles opaque binaries.

DrYak commented 6 years ago

The project's readme mentions Louvain is taken from here.

That page in turn mentions that further development is done on sourceforge

There the commit 4 (f7ab0fd5cc87) Changing license to GPL gives it a GPLv3+ license.

I'm not in anyway related to their team, but I've discovered this while fixing an issue in Phenograph's embed Louvain.

(Feel free to grab my fix)

DrYak commented 6 years ago

Though, according to the file in Phenograph's subdirectory the Louvain code was modified to accept binary input.

Probably graph.cpp: Graph::Graph was modified to work with the ouput of core.py: graph2binary

zbjornson commented 6 years ago

nudge

Since this is a derivative of a GPLv3 software package, it's actually required that the entire source code be made available including any code changes and additions. (Generally this library must also be licensed GPLv3 itself, not as MIT.)

yishaishimoni commented 6 years ago

@zbjornson - I guess it depends on when the files were taken from the original repository for modification. If they were taken before the license was changed to GPL (Jan 26 2012) then there is no GPL requirement, and therefore no requirement to expose the source code. This is up to @jacoblevine to say. [edit: In fact, the readme says that the original code was written in 2008, which means that there is no GPL issue].

I agree that this has to be resolved one way or another since most institutions and businesses cannot use the package in its current form until the licensing issue is clarified.

rekado commented 1 year ago

Perhaps we can change core.py's graph2binary to generate a boring old text file, so that we no longer need any modified version of louvain.