A gem native extension might link to a separate library that needs to be pre-installed, and RMagick is an example of that. However, the term really just means "includes some code that needs to be compiled for your machine". The code is compiled and linked so that the resulting executable file can be required by Ruby on the machine. The usual reasons for writing a Ruby C or C++ extension are: Speed

