ghornby / alps

A C++ library for the Age-Layered Population Structure Evolutionary Algorithm
http://idesign.ucsc.edu/projects/alps.html
25 stars 3 forks source link

License? #2

Open ianhbell opened 7 years ago

ianhbell commented 7 years ago

I have my own implementation in C++11 of the ALPS algorithm based upon your papers. ALPS, by the way, works brilliantly on my fitting problems. That said, I wonder whether there are any copyright restrictions or encumberances on the ALPS algorithm itself? I will obviously refer to your work in literature upon which I based my implementation.

I just wanted to make sure before I open my repo to the public..

ghornby commented 7 years ago

Hi Ian,

I'm really glad to learn that you like my ALPS algorithm. From my side, I'd love to have more people using ALPS and even writing their own ALPS library. I do know of friends/colleagues who have written a version for academic work as well as a couple who use it in commercial products. My C/C++ coding was a bit a mix of basic C and C++98 at the time and it could use a rewrite so if you've a cleaner implementation that's easier for others to use that'd be great.

As for patent/copyright restrictions on it, the algorithm is published and no patents were filed on it so you're good from that end. My version of the code has a copyright, but I don't think that copyright law keeps you from writing your own implementation. Although I'm not a lawyer so this only my non-professional understanding.

Also, I'm up for answering any technical questions on the algorithm. But if you've already got a version of it working well for you then you're probably good.

best, Greg

On Thu, Jun 1, 2017 at 8:29 AM, Ian Bell notifications@github.com wrote:

I have my own implementation in C++11 of the ALPS algorithm based upon your papers. ALPS, by the way, works brilliantly on my fitting problems. That said, I wonder whether there are any copyright restrictions or encumberances on the ALPS algorithm itself? I will obviously refer to your work in literature upon which I based my implementation.

I just wanted to make sure before I open my repo to the public..

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ghornby/alps/issues/2, or mute the thread https://github.com/notifications/unsubscribe-auth/AAl-IqS9C2odzn-Q0p7kwUOIfQMDKNvWks5r_tjVgaJpZM4NtJpX .

ianhbell commented 7 years ago

Greg,

That is all great news. In that case I will tidy up my implementation and take out the hardcoded stuff and make everything modifiable at the top level using configuration variables. And add some documentation. Ultimately I am going to bring it into my parallel model fitting tool ( https://github.com/usnistgov/nistfit ) as one of the available fitting algorithms, but I'm not quite there yet. Probably I will make a small paper in early 2018 with some benchmarks once I have implemented ALPS and differential evolution in NISTfit. I'll probably be in touch on some technical points. Could you reach out to me at ian.bell@nist.gov with your personal email?

My implementation is pretty much state of the art C++11, along with cmake build scripts and a python wrapper (made with pybind11) that I have been calling from my code. All tolled, my ALPS implementation is about 300 lines of literate C++ code. I'm pretty happy with it.