Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm thinking of a program which would scan packages and report some statistics about them - and report all packages that contain non-free software.

It would of course have to include kernel modules, drivers and other binary blobs that are often allowed in distributions. The wider the scope of the search - the better.

I'd like this functionality on Fedora, but something that works on most distributions would be preferred.

share|improve this question
    
@jofel gNewsense seems to be an Ubuntu based distribution. Is that what you meant? –  terdon Jul 16 '13 at 11:34
    
I don't want to restrict myself over installing any software, I'm just curious. –  jco Jul 16 '13 at 11:49
2  
For Debian, there is Virtual Richard M. Stallman. If you want to have a strictly free (in sense of FSF) distribution, you can have a look at gNewsense. –  jofel Jul 16 '13 at 11:51
    
@terdon Thanks, this was clearly a mistake. I added a fixed comment. –  jofel Jul 16 '13 at 11:52
2  
Keep in mind that it is not possible to distinguish a binary compiled from a non-free source from one which isn't, so there can't be any direct way of detecting such a thing. You would need something that blacklists and whitelists binaries by name (it looks like that is how the "Virtual RMS" thing works). –  goldilocks Jul 16 '13 at 14:06

1 Answer 1

up vote 2 down vote accepted

This is sort of indirect answer, because I don't see why you would have non-free software on the system and not know about it. This is not to say you are wrong to want to check, but maybe first you want to stop and think if you really need to.

I'd like this functionality on Fedora

Fedora repositories are divided into 'free' and 'non-free'. By default, only the free repositories are used. So if you have never added any other repositories, then yum cannot have installed anything from them.

It would of course have to include kernel modules, drivers and other binary blobs that are often allowed in distributions.

See this page. The only exception fedora makes is for "binary firmware", which is not required unless you are using certain hardware. I think you would know that too, but I can't promise.

I believe "firmware" technically is installed to a device, and technically it's already there anyway. Eg., your BIOS runs non-free software. On that level there is nothing you can do. You can also read fedora's discussion of "binary firmware" via the link on that page.

The kernel itself can't contain non-free code, it can only end up in a module. If you download the source from kernel.org and compile your own, I do not think it contains anything of that sort, since Linus's attitude ("I kind of accept them, but I never support them and I don't like them") implies non-free modules are allowed to be used with the kernel but very unlikely to be distributed by Linux proper (that is, kernel.org). The proprietary drivers are independently distributed; distros then include them, not kernel.org (however, according to that "Forbidden Items" page, fedora explicitly does not include proprietary drivers, at least in the default 'free' repos).

You could investigate online all the stuff listed by lsmod. Since any binary blob has to be a module, methinks that's where you'll find it.

Fedora recommends that if you want to build your own kernel, you use a source package from them. However, I've used hand rolled kernels from vanilla kernel.org sources on fedora for years and never had a problem. So if you are comfortable doing that and don't use non-free repositories, you should not have any non-free stuff installed.

share|improve this answer
    
Reading this line: "If it is proprietary, it cannot be included in Fedora. (Binary firmware is the only exception to this)" made me curious. Also, sometimes I enable non-free repositories for some programs/drivers, and when I have something installed for over a year, I don't know whether something could've been pulled as a dependency from non-free or installed by me on accident. I'd just like to check it, that's all. Also, I'm also familiar with that "firmware = on-device software, not drivers" definition, but I definitely need more information about that. –  jco Jul 16 '13 at 13:42
2  
@Yannbane It would be nice if they had an explicit, maintained list of the "binary firmware" that is included. I imagine if you ask the right person nicely, they might have an answer -- to that end I started a thread here: forums.fedoraforum.org/showthread.php?p=1660611#post1660611 Reading that "Forbidden Items" page further, it is explicit that Fedora does not include proprietary kernel modules (unless, I guess, if you've gotten them from a non-free repo). –  goldilocks Jul 16 '13 at 13:58
    
Still, it'd be great to have a way to make sure. The default installation might not include non-free software - but it might end up there, and even if it's unlikely, I'd still appreciate just making sure. –  jco Jul 16 '13 at 14:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.