The gem produces many warnings when warnings are enabled.
$ ruby -w -e 'require "protobuf"'
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:44:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/descriptors.rb:2:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:117:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:117:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb:6:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:44:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/descriptors.rb:3:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:117:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:117:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb:6:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:114:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/client.rb:2:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:114:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/client.rb:4:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/error.rb:1:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/rpc.pb.rb:6:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/optionable.rb:27: warning: instance variable @_optionable_options not initialized
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/error.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:114:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/client.rb:4:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/error.rb:28:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/error/client_error.rb:1:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:123:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/socket.rb:17:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65: warning: loading in progress, circular require considered harmful - ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb
from -e:1:in `<main>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf.rb:123:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/socket.rb:18:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/servers/socket/server.rb:3:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/servers/socket/worker.rb:1:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/server.rb:1:in `<top (required)>'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
from ~/.rubies/ruby-2.6.2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:65:in `require'
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/buffer.rb:19: warning: method redefined; discarding old mode=
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/stat.rb:35: warning: method redefined; discarding old client=
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/stat.rb:37: warning: method redefined; discarding old client
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/stat.rb:45: warning: method redefined; discarding old method_name
~/.gem/repos/my_project/gems/protobuf-3.10.2/lib/protobuf/rpc/stat.rb:58: warning: method redefined; discarding old service
The gem produces many warnings when warnings are enabled.