Figure out how to support a BSD or MIT license
Currently this is not possible as we rely on Jellyfish for the memory-efficient hash, parallel read parser, and basic k-mer operations. The read parser and (with some trouble) k-mer operations could be replaced with other alternatives or re-implemented. However, there's not a clear alternative for the hash right now, of which I know, that doesn't adversely affect either the memory consumption or speed.
Related to this issue, using the Jellyfish hash instead of the google hash makes loading the index considerably faster, and reduces the memory usage by 30-40%. However, it also increases the runtime by 30-40%. We should figure out what the right design decision is here.
The jellyfish parser can easily be replaced with FQFeeder --- this switch has already been made in the develop branch of salmon. The Jellyfish hash has also become a low priority because the minimum perfect hash option (based on BBHash and BooM) provides essentially the same benefit. So now, an equally efficient implementation of the k-mer operations exposed by Jellyfish are the only sticking point.
Hi Rob, It looks like S. Vigna recently updated sux license https://github.com/vigna/sux/commit/9faa34350128657e2739e68f1f9d0e101fcbf9e0 to include the GCC Runtime Library Exception. I believe this should be enough to allow re-licensing RapMap under a more permissive license.