Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple the original code from this repository #48

Closed
hajimes opened this issue Jul 9, 2023 · 2 comments
Closed

Decouple the original code from this repository #48

hajimes opened this issue Jul 9, 2023 · 2 comments
Assignees

Comments

@hajimes
Copy link
Owner

hajimes commented Jul 9, 2023

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.

@hajimes hajimes self-assigned this Jul 9, 2023
@hajimes
Copy link
Owner Author

hajimes commented Jul 10, 2023

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.

@hajimes
Copy link
Owner Author

hajimes commented Aug 18, 2023

Done in version 4.0.1.

@hajimes hajimes closed this as completed Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant