[ccan] htable license change request for Ruby

Rusty Russell rusty at rustcorp.com.au
Wed May 21 13:17:16 EST 2014


Eric Wong <normalperson at yhbt.net> writes:
> Hello Rusty!  I am interested in using htable with mainline Ruby.
> Ruby is 2-clause BSD-licensed nowadays[1].
>
> My preliminary switch of one big st_table to htable beat out my proposed
> container_of-based hash implementation (ihash) in memory usage:
>
>     ihash:  ~100K reduction
>     htable: ~150K reduction
>     https://bugs.ruby-lang.org/issues/9841#change-46823

Do you have performance measurements?  It's easy to make a smaller hash
table, by filling it more :)

The other considerations with htable:
- It grows atomically, which can suck if you're after RT response.
  This one is possible to fix, but tradeoffs abound.  You may also have
  simply hit a sweet spot for htable: do you have reliable memory
  reports for a range of uses?

- It doesn't shrink.

- Assuming you use a nicely randomly seeded universal hash function :)

> I noticed in commit d4941bf8047d16007f19a3b5b2211e1e7571f068
> (htable: relicense under LGPL), there is a chance of relicensing
> htable under public domain or BSD:
>
>     So this is the simplest fix.  I might relicense under PD or BSD later,
>     since the likely module should probably have an even more liberal
>     license.
>
> Therefore I kindly request the htable license be changed to a permissive
> license so it may be considered for use with Ruby.

Sure, but let's make sure it's actually a good idea first :)

Thanks!
Rusty.


More information about the ccan mailing list