Skip to content
This repository has been archived by the owner on Nov 9, 2018. It is now read-only.

Deprecate this gem? #29

Closed
tarcieri opened this issue May 2, 2018 · 4 comments
Closed

Deprecate this gem? #29

tarcieri opened this issue May 2, 2018 · 4 comments

Comments

@tarcieri
Copy link
Contributor

tarcieri commented May 2, 2018

When I originally created RbNaCl back in 2012, it was hard to find native OS packages for libsodium, and so the "rbnacl-libsodium" gem was created as a convenience.

Unfortunately, it has grown into something of a maintenance nightmare for me. It's the equivalent work of trying to package libsodium for every OS, duplicating the efforts of the native OS packages, and becoming something of a jenga tower where fixing an issue for e.g. Windows breaks installation on certain Linux distros.

The way the gem works is something of an abuse of Ruby's native extension mechanism: it builds a fake extension using extconf.rb, but doesn't actually build it (so it can work on JRuby).

In the 6 years that have passed since I created RbNaCl, the OS packaging situation has changed: packages for libsodium are now readily available for all major operating systems.

Given how much of my time rbnacl-libsodium has taken up, how frustrating it's been (especially when I don't even personally use it anymore), and how much it duplicates OS packaging efforts, I'd really like to wash my hands of the entire thing. I am very, very tired of trying to maintain this thing and really just want it out of my life.

My deprecation plan would look something like:

  • Release RbNaCl 6.0 which only works with libsodium installed as an OS package
  • Attempting to use rbnacl-libsodium with RbNaCl 6.0+ would raise an exception
  • Previous releases of RbNaCl and rbnacl-libsodium would continue to work, but print a deprecation warning

If someone is extremely committed to maintaining this gem, you can try to convince me to take over ownership. That said, I don't want to hand it over as-is to someone who wants to be a mere maintainer: if you want the rbnacl-libsodium name and upstream support in RbNaCl, the first thing you'd need to do to convince me you're serious is do the rewrite of this gem I have neither time nor interest to do. If I find it acceptable, I might consider transferring ownership of the gem name and continue upstream support in RbNaCl (some work would be needed there too).

Barring that, I plan on moving forward with the deprecation plan.

@perlun
Copy link

perlun commented Jun 13, 2018

@tarcieri Sounds like a plan. I got here because I ran into #25 on MSYS2, i.e. Windows...

So whatever we do that can make things "more stable and easy to maintain" => go for it.

@tarcieri
Copy link
Contributor Author

@perlun when I get around to removing rbnacl-libsodium support from RbNaCl-proper, it'd be great to have Windows users test prereleases to make sure I didn't break anything, and also give feedback on the Windows install instructions:

https://github.com/crypto-rb/rbnacl/wiki/Installing-libsodium#windows

tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
tarcieri added a commit to RubyCrypto/rbnacl that referenced this issue Nov 8, 2018
@tarcieri
Copy link
Contributor Author

tarcieri commented Nov 8, 2018

Support for rbnacl-libsodium as a libsodium installation method was removed from the rbnacl gem:

RubyCrypto/rbnacl#180

@tarcieri
Copy link
Contributor Author

tarcieri commented Nov 8, 2018

RbNaCl 6.0.0 is out, and raises an exception if rbnacl-libsodium is detected.

This gem is officially deprecated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants