<i>I kind of thought that always meant to be used a flag for &quot;this user loaded some random binary in the kernel and now complains there is bug &quot;. So developers look at the debug output and see &quot;oh, well, it is tained, so, we won&#x27;t waste time on this, you are on your own&quot; kind of stuff. Which is reasonable.</i><p>I think it&#x27;s useful to look at it as that if the kernel is flagged as tainted, it means it&#x27;s in a state that can&#x27;t be properly debugged, independent of the exact reason.<p>This could be because there&#x27;s a opaque blob loaded that makes debugging difficult, if not impossible.<p>It could also be because the license of the code that was loaded (even if it isn&#x27;t an opaque blob) means that even if someone did figure out the problem, they couldn&#x27;t necessarily get their changes committed upstream (or might have a hard time of it) and then they&#x27;d have wasted that time debugging something that legally can&#x27;t be debugged by anyone or anyone can&#x27;t use the results of the debugging (the fix), which are freedoms the GPL is designed to protect.  There&#x27;s a lot of bugs to work on, and it&#x27;s meaningful to consider code that is licensed in a way that is not strictly GPL compatible as lower priority than code that is GPL.