hyperium / hyperium/http

Missing author information/attribution

Open
#489 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.4k
Forks
378
Avg merge
1d 21h
Merged PRs (30d)
5

Description

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. 🙂

If you credit me, please write Ulrik Sverdrup "bluss" as the author. Thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/header/map.rs and the initial implementation in pull request 13. Compare the referenced HeaderMap code with the 2016 IndexMap source, especially do_insert_phase_two and insert_phase_2, to verify the attribution claim. Done means the requested authorship information is retained in an appropriate project location.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.