2016-08-05
Free software licenses are social things, not just legal ones
In theory software licenses are (pseudo-)legal instruments and can be considered purely on that basis, doing your best to figure out what would be found legal or improper under one. In practice, of course, this is nonsense. Every common free software license has accreted a social community around itself (or sometimes several), with its own philosophies, norms, views of the world, and priorities on what they consider important. As this happens, the actual written out software licenses themselves slowly become transmuted into being only the imperfect realization of what these social communities feel is the spirit of their licenses.
(This focus on the spirit instead of the legalities is part of what leads licenses to be revised over time and to evolve. When the spirit and the legal technicalities drift too far apart, people set out to fix the legal technicalities. Sometimes this leads a community to discover that it is actually several communities with somewhat different views of what their license's spirit is.)
These communities form relationships to each other, of course. Some are hostile; some are begrudgingly accepting; some of them are fully approving. These relationships are generally based on how the communities feel about the spirits of the licenses involved. These community views and relationships matter more than the legal technicalities.
If you find a surprising way to (perhaps) legally combine two things that a community feels doesn't fit within the spirit of their license, the community does not shrug regretfully at their legal error (or your cleverness) and move on. Instead people object, often loudly, and the community becomes angry and hostile to you. In reality people are not picking some legal wording when they chose a license to care about; they are signing up to certain philosophies and they object when they feel those philosophies are being violated, regardless of whether the legal bits let you get away with it.
And a hostile community generally matters. A hostile community is an uncooperative and obstructionist one; it is people who are willing to go out of their way to not work with you and to make life inconvenient for you, even if this has potential collateral damage and hurts their own interests and work. They may not be able to do anything to stop you legally, but they can certainly make their displeasure felt in plenty of other ways.
(Similarly, a cooperative community is potentially a great help in various ways, including being receptive to various kludges to make things look good enough on the legal level if there are potential problems there.)
It's likely worth re-detecting your system's sensor chips every so often
My main Linux machines are relatively old by now. Some people reinstall their machines every so often, but I don't, so a certain amount of stuff on my machines has been frozen as it was back when they were initially set up and installed. So let's talk about system sensors.
Lm_sensors is a long-standing package for getting readings for things like fan RPMs, power supply voltages, and various temperatures. Most motherboards, chipsets, and even graphics cards come with chips that can report this information; lm_sensors finds these chips and talks to them. In the way of the PC world, this is nowhere as easy or as straightforward as you would like it to be; there are all sorts of obscure places these chips can be hiding out and very few motherboard makers and so on bother to document anything.
(Usually they just write some Windows drivers and call it a day. The people who made the sensor chips may have written a datasheet that you can get access to, but that doesn't necessarily describe how the chip was connected in to some bit of the system so it can be read.)
Fortunately lm_sensors comes with a script that's designed to
probe everything and find everything it can, called sensors-detect
.
You run it once, tell it to go ahead and probe everything, and then
have it record the detected configuration so everything just works
from then on (or at least works as well as lm_sensors can make
it work). When I got my machines back in 2011, this is exactly what
I did, and ever since then I've just run sensors
every so often
without thinking about it.
2011 is a long time ago in software years and the lm_sensors
people have done any number of releases since back then. While I
was in the process of running sensors-detect
on a new system I
was setting up to see what would turn up, I wound up wondering what
would happen if I re-ran the current, modern Fedora version on my
2011 machines. Would the current version detect anything new or
anything different?
The short answer is yes. It doesn't seem to have made a major
difference, but sensors-detect
did change what modules it wanted
to use and the new set seems to have a bit different information
it presents. Specifically, on my ASUS motherboard
lm_sensors switched from w83627ehf
to nct6775
. As covered
in the relevant kernel hwmon documentation, the latter
is the preferred thing these days for chips that it supports and
sensors
now does seem to have a bit more data to report.
In the future I probably should do this every few Fedora releases
just to see if anything changes. Probably it won't (and it would
be handy if sensors-detect
could detect that), but it doesn't
hurt and there are evidently new developments every so often.