Is is possible and legal to run RHEL without buying a subscription?
some background
Our organization has installed 3 RHEL boxes on bare-metal machines for a customer, for which there exist subscriptions (so far, this is a pretty sweet deal for Red Hat).
Now there appears to be a need to test some settings that should now be applied directly to the production system, but to one that is virtualized. Given that we want as a test, it is desired that the system will remain as similar to the original as possible, including that it RHEL is run on those machines (I am aware of CentOS, but it is not really clear that there are no differences, and hence using CentOS would introduce a undesired difference...).
Given that we - better said our client - already contributes well to RHEL with three subscriptions for servers, I would like to know if it is technically possible "to cheat", and run VM of RHEL that will not subscripe to RHN but instead to a "local repo"/"in our LAN" that is filled with those packages the original servers loaded from RHN.
Doing a rpm -qa
I can query and see all the packages those three servers use from RHN and I am conviced that the rpm files can be copied, and I would assume createrepo
to be a tool to setup a rope that I can host on a local httpd
in the VM machines network.
So I assume that it is technically quite possible, and this question merely desires some confirmation (at best, of course maybe it is not possible, that would also be an outcome of this question)
The second aspect is more of a legal nature. If it was a proprietary only product such as the good software of Microsoft (for sake of an example) I would be aware that I could not do anything if not granded a license. However I would assume that most package (?? all ??) that RH distributes have some sort of healthy GPLv2 infection and hence would allow anybody (that licensed from RHEL) to have the free software rights to relicense.
Is it correct to assume that our client , that subscribed to RHN, provided the GPLv2 nature of most packages, is provided the free software right to the following:
- demand the source code of (GPLv2) and other free software licensed code they received via RHN
- be entitled to reuse also the binary packages they required from RHN?
Due to copyright, to use software legally, there must be licenses granted. To the best of my understanding this is done (in the context of linux distros) on the level of packages, since those upstream package projects are the original copyright holder (i.e. its not Red Hat that created bash, but is is many contributers and the GNU project). To find out the licenses I did run this query:
rpm -qa | while read pkg; do LANG=C yum info "$pkg" ; done | grep -ie '^License' | sort | uniq -c
which yields those licenses:
1 License : AFL and GPLv2+
3 License : ASL 2.0
4 License : Boost and MIT and Python
25 License : BSD
3 License : BSD and GPLv2+
2 License : BSD and LGPLv2 and Sleepycat
1 License : BSD with advertising
1 License : BSD with advertising and MPLv1.1
2 License : CC-BY-SA
1 License : commercial
2 License : Commercial
2 License : Commercial IBM
1 License : (FTL or GPLv2+) and BSD and MIT and Public Domain and zlib with
1 License : GPL
5 License : GPL+
1 License : GPL+ and BSD and GPLv2+ and GPLv2 and LGPLv2+
1 License : GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
1 License : GPL+ and GPLv2+ and MIT and Redistributable, no modification
1 License : GPL+ and LGPLv2+
27 License : GPL+ or Artistic
1 License : (GPL+ or Artistic) and BSD
1 License : (GPL+ or Artistic) and (GPLv2+ or Artistic) and Copyright Only and
37 License : GPLv2
48 License : GPLv2+
3 License : GPLv2+ and BSD
1 License : GPLv2+ and GPL+
1 License : GPLv2 and GPLv2+ with exceptions and GPLv3+ and Verbatim and
2 License : GPLv2+ and GPLv3+
1 License : GPLv2 and LGPLv2
5 License : GPLv2+ and LGPLv2+
2 License : GPLv2+ and LGPLv2+ with exceptions
1 License : GPLv2+ and Public Domain
1 License : GPLv2+ and Redistributable, no modification permitted
1 License : GPLv2+, LGPLv2+, MIT
2 License : (GPLv2+ or AFL) and GPLv2+
1 License : GPLv2+ or Artistic
1 License : GPLv2+ or LGPLv2+ or MPLv1.1
3 License : GPLv2+ or LGPLv3+
1 License : GPLv2 with exceptions and LGPLv2 and BSD
1 License : GPLv3
22 License : GPLv3+
2 License : (GPLv3+ and ASL 2.0)
1 License : GPLv3+ and GFDL
1 License : GPLv3+ and GFDL and BSD and MIT
1 License : GPLv3+ and GPL and LGPLv3+ and LGPL and BSD
1 License : GPLv3+ and (GPLv2+ or LGPLv3+)
1 License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with
4 License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and
3 License : GPLv3+ and LGPLv2+
1 License : IBM and GPLv2+
3 License : ISC
1 License : LGPL-2.0
12 License : LGPLv2
40 License : LGPLv2+
1 License : LGPLv2+ and GPLv2+ and CC-BY-SA
1 License : LGPLv2+ and GPLv3+
1 License : LGPLv2+ and GPLv3+ and GFDL
1 License : LGPLv2+ and GPLv3+ and GPLv2+ and Verbatim and Public Domain
3 License : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
1 License : LGPLv2+ and MIT
1 License : LGPLv2+ or MIT
2 License : LGPLv3+
1 License : LGPLv3+ and GFDL
1 License : LGPLv3+ and GPLv3+ and GFDL
1 License : LGPLv3+ or GPLv2+
1 License : Licensed only for approved usage, see COPYING for details.
22 License : MIT
2 License : MIT and BSD and ISC and GPLv2+
1 License : MIT and Public Domain
1 License : MIT or LGPLv2+ or BSD
1 License : MPLv1.1
6 License : MPLv2.0
1 License : OpenLDAP
1 License : OpenSSL
1 License : Proprietary
11 License : Public Domain
5 License : Python
1 License : Python or ZPLv2.0
15 License : Redistributable, no modification permitted
4 License : Vim
1 License : zlib and Boost
Now nonwithstanding the trouble to be aware of all the particularities, I assume those licenses that are "free software licenses" (i.e. GPLv2+) should entitle the person that acquired a license to the right to simply generated as many copies of a such a rpm as they please?
I am less certain about software that is MIT or BSD, where I think Red Hat was able to require a software license for the usage of a package?