http
http copied to clipboard
Missing author information/attribution
When I read the HeaderMap code I recognize that it's based on my own code in crate indexmap (at one time formerly "ordermap"). The license is Apache-2 or MIT but it would be nice - if this is true - if authorship information was retained, as it has to be.
HeaderMap source link https://github.com/hyperium/http/blob/e54da7175a9af490a2e04003c5b49ff259222a88/src/header/map.rs
It seems to come all the way from the initial implementation https://github.com/hyperium/http/pull/13
When I read the code I recognize the probe loop, insert split into mulitple phases, the struct Pos, type HashValue etc. We have since refactored and upgraded IndexMap a lot, so they have certainly diverged.
An older version of indexmap source (2016) is here: https://github.com/bluss/indexmap/blob/02a9bf73356eb976ddcb980d1b839db6c2ee122f/src/lib.rs Comparing for example the function do_insert_phase_two
in HeaderMap, with insert_phase_2
in indexmap, I'd say the former is derived from the latter. The code includes comments like phase 2 is post-insert where we forward-shift
Pos in the indices.
which were literally written by me. :slightly_smiling_face:
If you credit me, please write Ulrik Sverdrup "bluss" as the author. Thank you!
Looks like a serious oversight, sorry about that! We can add a comment to the top of that file saying some of the code has been copied and/or adapted from your code.
Yes, that sounds good. I realize that in the community we don't really track authorship that well. Having authors per file is not really scalable, either. Then main authors vs other contributors etc. I don't know if I always do it correctly either. In my projects, I try to always mention the contributors I'm copying from, in the commit log if I do, and mention contributors for each item in the changelog, so that they are at least mentioned some place.