Decouple the original code from this repository
hajimes opened this issue · 2 comments
Currently I'm working on refactoring the library to decouple files whose large part traces back to the original C++ code (specifically, murmurhash3.c
and murmurhash3.h
) from this repository.
The update is to adress the pre-review process of the Journal of Open Source Software (JOSS), whose managing EiC (Daniel S. Katz) thoughtfully pointed out that it was not clear which part of this library was my (and other contributors') own contributions.
openjournals/joss-reviews#5487
I proposed to use a git submodule to refer to Appleby's repository, and then write a script that converts the original C++ files to more portable C code at compile time.
It turns out, however, readability may be degraded to some extent in my current ad hoc implementation, which may also impact on easiness of extension. Solving these issues will be left for future updates. On the other hand, this update will clarify the extent of the authorship of code and solve the license issue #45.
After several tries, I gave up the above architecture. Because mmh3module.c
also depends on murmurhash3.h
, decoupling the header file from my repo completely will hinder future development.
Instead, generated files (murmurhash3.c
and murmurhash3.h
) will stay in my repo, rather than being temporary files in the build time. This approach follows the structure of _hacl
(used by the official hashlib
) in CPtyhon's repo.
https://github.com/python/cpython/tree/main/Modules/_hacl
It still fulfills the main motivation of this refactoring, i.e., clarifying the extent of the authorship of code.
Done in version 4.0.1.