Making Ubuntu free through apt pinning and purging packages
Say you have someone who is an existing Ubuntu user and want to make them more free without fully installing Trisquel and waiting for Ruben to release a new version of the OS. Ruben taking forever to release 6.0 has been tough because of the computers I still have running 4.0 and I would like them updated soon.
Would this be considered free?
1. Limit to only free repositories like main and universe and have the benefit of pulling packages from the large amount of Ubuntu mirrors worldwide.
2. Use Trisquel scripts as a reference to block packages from installing (like non libre kernel) and force it in apt preferences by setting pin priority for that package to a negative number.
3. Run a bash or Python script to purge any existing non-free components according to the blocked packages setup in #2.
This is just a brainstorm and I know the Ubuntu repositories being referenced in the OS contain non-free software, but the OS itself would sanitize what is coming in at the apt level and non-free Ubuntu packages won't make it.
I would guess so. That's what some people do with Fedora (Freedora project) but Fedora contains less proprietary software than Ubuntu.
It might be a little bit involved, because you would have to compile (or download precompiled) Linux-libre kernel to prevent running firmware blobs.
It *might* be easier just running Debian Sid instead (but running the risk of more instability than Ubuntu).
I agree... unless there were more non-free installed by default not removed with a libre kernel and adjusting the repos. I can't think of anything specific, though. I've not spent that much time researching Ubuntu these days. I believe that Canonical-developed (client-side) software is all free. A libre kernel should do the trick, after removing the non-free repos and third party non-free stuff.
The only other issue could be that some software in distributions recommend installing non-free add-ons. This is an issue if you are installing for someone else, as they would be tempted to install proprietary software without knowing the difference. However, if you are installing for yourself and paid attention to what you added it would most likely not be a problem.
Why not doing the same as Parabola ? This could actually solve the problem very easily :
1 - Create a package name (for example, like in parabola) your-freedom, that is only available to enter in conflict with non-free software, if you try to install non-free software or if any non-free software is installed on the computer when installing your-freedom, it will ask you to remove it in order to install this package.
2 - Build a repository with only free software that are not available on Ubuntu.
3 - Join the 2 in order that when you search for a software that is not-fully-free without taking some parts it redirects it to the totally-free version. Like for example, I type :
sudo apt-get install unrarThe file downloaded will be
unrar-freeThis is how Parabola works, and it allows to have the same OS as Arch Linux (and remember that Arch Linux is rolling distribution so it is harder to maintain for a small team than Ubuntu).
For me the biggest problem is a packaging issue.. I would like to help but I never find exactly how Debian's packaging is done :S.. (and this after reading a lot of tutorials). But only on a few hours I managed to make some good-quality packaging on Ubuntu with PKGBUILD.
So I'm pretty sure that this could be a good solution.