http icon indicating copy to clipboard operation
http copied to clipboard

Missing author information/attribution

Open bluss opened this issue 3 years ago • 2 comments

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!

bluss avatar Jul 12 '21 14:07 bluss

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.

seanmonstar avatar Jul 12 '21 19:07 seanmonstar

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.

bluss avatar Jul 13 '21 18:07 bluss