(Virtual) Richard Stallman can inspect your computer!Clearly, the tile is a joke: there is no way RMS could and would spy on you and your computer!
Therefore, what is this post about?
It is about a program named
vrms, that stands for Virtual RMS. This is a software that has been originated on Debian and is now ported to other distributions, like CentOS (and other Red-Hat based), where it is called
But what is
vrmsor its cousin
It is a program that inspect the list of locally installed application packages to see which one are not blessed by RMS; in other words it provides you with a list of packages that have software licences that are not allowed by GNU.
Running such software, as you can see, is not mandatory and does not provide any boost to your system and its software, nor it will stop your computer to work: it will simply inform you that you can do better with regard to GNU software.
Running such program is a good and interesting experience!
On CentOS the package is named
vrms on a CentOS
vrms-rmpand can be installed from the official repositories by means of
Running it is as simple as:
% vrms-rpm --ascii --explain 897 pacchetti liberi (96.7%) 31 pacchetti non-liberi (3.3%) - centos-logos Licensed only for approved usage, see COPYING for details. - gobject-introspection GPLv2+, LGPLv2+, MIT - gobject-introspection-devel GPLv2+, LGPLv2+, MIT - iwl100-firmware Redistributable, no modification permitted - iwl1000-firmware Redistributable, no modification permitt ...
--asciioption will print an ASCII-art image of RMS in the case your system is clean, or when it is too few GNU-compatible. Depending on your terminal, this can appear as garbage, so you can use the
--imageflag to show a “better drawing” of RMS (by means of escape sequences):
--explainoption will print out a line that explains why a particular package has been considered “bad”. For instance, the
centos-logosis not allowed by GNU because it has a licence that limits the usage (
Licensed only for approved usage, see COPYING for details).
There are different options, so you can use the command to consider “good” specific licences, as well as you can ask it to list all free or non free packages by means of
--listoption. For example, to see that free packages installed, you can use
% vrms-rpm --ascii --explain --list free ... - emacs-common GPLv3+ and GFDL and BSD - emacs-filesystem GPLv3+ and CC0-1.0 - emacs-nox GPLv3+ and CC0-1.0 ...
Guess what? Emacs is considered as free software!
Tuning the licencesIt is possible to define which licences are considered good for you: you can list every licence in a text file and use it as the default dictionary when scanning thru installed software.
% echo BSD > good_licences.txt % echo MIT >> good_licences.txt % vrms-rpm --ascii --explain --licence-list ./good_licences.txt ...
The output of the command will include all the packages that are considered non free, according to your freedom definition. For instance, with the above configuration, even packages with
GPL(in any form) will be considered as poor licensed packages.
vrmscan help you understand how well your stack is open source, and which components could break your licensing.
Similarly, it can help you find out inconsistencies and incompatibilities across the system you are going to prepare, ship and deploy, or simply use!