Parabola GNU/Linux: Freedom Packaged

There are different reasons people use Unix-like operating systems, including configurable, availability free of charge, powerful command line interface an many more. Some people are motivated by the moral issue: they reject non-free software. Specifically for such users Free Software Foundation developed Guidelines for Free System Distributions and created the list of absolutely free (“as in freedom”) distributions. In this article we are going to look at the most recent entry on the list – Parabola GNU/Linux.

Arch legacy

Parabola GNU/Linux is based on Arch Linux with differences being subtle:

  • It doesn’t allow installation of non-free software (obviously).
  • Additional repository “libre” is used for completely free versions of packages that are non-free in Arch.
  • It has its own download locations.
  • It has its own branding elements (eg., Arch’s blue color is replaced with purple for console messages’ decorations).
  • The installer features the additional message about the download locations being the only sources of “libre” repository packages.

This list is fairly complete. Effectively, long term Arch user won’t feel any difference in user experience unless the hardware support is concerned. The compatibility of distributions even allows the Arch users to migrate from Arch without re-installing system by emitting 6 commands in terminal.

Hardware and firmwares

Some hardware (including most WiFi and Bluetooth adapters) uses closed-source software (commonly referred to as “firmware”) for its operation. The device drivers on start load such firmware into the actual hardware, where it runs invisibly for operating system. Historically the firmware was stored on ROMs inside the hardware and didn’t require any handling from operating system; but more and more devices that need firmware load operations handling in driver emerge these days.

In BSD community such firmware is regarded as part of hardware. Eg., the OpenBSD’s campaign against blobs didn’t target firmware, and the base system of OpenBSD includes the firmware for all the supported devices unless there are legal concerns regarding redistribution. FSF’s position on this issue is completely different: every binary without source code available must be removed. The Latin American branch of FSF maintains the “Linux-libre” project with all the in-kernel non-free firmwares removed and loading of separately available firmware is disabled. Parabola GNU/Linux sticks with that kernel. The binary drivers for ATi/AMD and NVIDIA video adapters are also not included for the same reasons.

That effectively means that many devices are not supported in Parabola. Eg., after installing it on my Acer Aspire One 531h netbook I couldn’t use my Broadcom bluetooth module and Intel’s WiFi/WiMax Link 5150 adapter. (I still could use my HTC Magic with a custom Gingerbread ROM as a USB 3G/WiFi modem, though having something always connected to USB port is pretty annoying on laptop and specifically on netbook.)

Walled garden

As in Arch, after installing Parabola GNU/Linux you only get bare system. The distribution doesn’t pre-install any desktop environment or tools apart from those used in init scripts and pacman – the package manager.

The choice of software in Parabola is also limited to free software only. Regarding the amount of free software available for Unix-like systems, this limitation is by far less painful then the firmware issues though. Unless one relies on Skype or Adobe Flash, this shouldn’t be a big deal (especially with Gnash and Lightspark addressing the later issue available in repositories).

Parabola developers chose a refreshing approach to limiting the availability of non-free software while maintaining the ability to use Arch mirrors: all the “liberated” (built with special options or otherwise stripped off the non-free parts) packages are included in a separate “libre” repository; the blacklisting of non-free packages is done with a virtual “your-freedom” package that doesn’t install any files but conflicts with a long list of packages. Installing this package makes pacman (package manager) remove all the non-free software to resolve conflict or replace it with free analogues if required.

For the rest of the system one can use the Arch’s mirrors, though this option requires editing the “/etc/pacman.conf” configuration file and splitting the mirrorlists.

The backlisted packages are:

  • abyssws
  • acetoneiso2
  • alienarena
  • alienarena-data
  • alsa-firmware
  • angband
  • aqua-data-studio
  • arch-artwork
  • archboot
  • arch-firefox-search
  • archlinux-artwork
  • archlinux-menus
  • archlinux-themes-kde
  • archlinux-themes-kdm
  • archlinux-themes-slim
  • archlinux-wallpaper
  • arch-wiki-docs
  • arch-wiki-lite
  • assaultcube
  • b43-fwcutter
  • bass
  • blobwars
  • blobwars-data
  • bluez-firmware
  • boinc
  • boinc-nox
  • chromium
  • chromium-bsu
  • crafty
  • d4x
  • dangerdeep
  • dangerdeep-data
  • desmume
  • dina-font
  • dosemu
  • faac
  • fceux
  • fcpci
  • fcpcmcia
  • firefox-adblock-plus
  • firefox-i18n
  • firefox-i18n-af
  • firefox-i18n-ak
  • firefox-i18n-ar
  • firefox-i18n-ast
  • firefox-i18n-be
  • firefox-i18n-bg
  • firefox-i18n-bn-bd
  • firefox-i18n-bn-in
  • firefox-i18n-br
  • firefox-i18n-bs
  • firefox-i18n-ca
  • firefox-i18n-cs
  • firefox-i18n-cy
  • firefox-i18n-da
  • firefox-i18n-de
  • firefox-i18n-el
  • firefox-i18n-en-gb
  • firefox-i18n-eo
  • firefox-i18n-es-ar
  • firefox-i18n-es-cl
  • firefox-i18n-es-es
  • firefox-i18n-es-mx
  • firefox-i18n-et
  • firefox-i18n-eu
  • firefox-i18n-fa
  • firefox-i18n-fi
  • firefox-i18n-fr
  • firefox-i18n-fy-nl
  • firefox-i18n-ga-ie
  • firefox-i18n-gl
  • firefox-i18n-gu-in
  • firefox-i18n-he
  • firefox-i18n-hi-in
  • firefox-i18n-hr
  • firefox-i18n-hu
  • firefox-i18n-hy-am
  • firefox-i18n-id
  • firefox-i18n-is
  • firefox-i18n-it
  • firefox-i18n-ja
  • firefox-i18n-kk
  • firefox-i18n-kn
  • firefox-i18n-ko
  • firefox-i18n-ku
  • firefox-i18n-lg
  • firefox-i18n-lt
  • firefox-i18n-lv
  • firefox-i18n-mai
  • firefox-i18n-mk
  • firefox-i18n-ml
  • firefox-i18n-mr
  • firefox-i18n-nb-no
  • firefox-i18n-nl
  • firefox-i18n-nn-no
  • firefox-i18n-nso
  • firefox-i18n-or
  • firefox-i18n-pa-in
  • firefox-i18n-pl
  • firefox-i18n-pt-br
  • firefox-i18n-pt-pt
  • firefox-i18n-rm
  • firefox-i18n-ro
  • firefox-i18n-ru
  • firefox-i18n-si
  • firefox-i18n-sk
  • firefox-i18n-sl
  • firefox-i18n-son
  • firefox-i18n-sq
  • firefox-i18n-sr
  • firefox-i18n-sv-se
  • firefox-i18n-ta
  • firefox-i18n-ta-lk
  • firefox-i18n-te
  • firefox-i18n-th
  • firefox-i18n-tr
  • firefox-i18n-uk
  • firefox-i18n-vi
  • firefox-i18n-zh-cn
  • firefox-i18n-zh-tw
  • firefox-i18n-zu
  • firefox-noscript
  • firefox-spell-pt-br
  • firefox-spell-ru
  • flashplugin
  • fmodex
  • font-mathematica
  • foomatic-db-nonfree
  • freepascal
  • frogatto
  • frogatto-data
  • gsopcast
  • handbrake
  • hplip-plugin
  • ipw2100-fw
  • ipw2200-fw
  • isdn4k-utils
  • iwlwifi-1000-ucode
  • iwlwifi-3945-ucode
  • iwlwifi-4965-ucode
  • iwlwifi-5000-ucode
  • iwlwifi-5150-ucode
  • iwlwifi-6000-ucode
  • java-sun
  • jdk
  • jdk6
  • jre
  • jre6
  • kdebase-konqueror
  • kdenetwork-kopete
  • kernel26-firmware
  • krusader
  • lha
  • lib32-libflashsupport
  • lib32-mesa-demos
  • lib32-nvidia-utils
  • libcl
  • libflashsupport
  • linux-firmware
  • mac
  • madwifi
  • madwifi-utils
  • martian
  • martian-utils
  • mednafen
  • microcode_ctl
  • mod_fastcgi
  • monaco-linux-font
  • moonlight
  • mp32ogg
  • mupen64plus
  • ndiswrapper
  • ndiswrapper-lts
  • ndiswrapper-utils
  • nestopia
  • netperf
  • nouveau-drm-lts
  • nouveau-firmware
  • nppangband
  • nvidia
  • nvidia-173xx
  • nvidia-173xx-utils
  • nvidia-96xx
  • nvidia-96xx-utils
  • nvidia-cg-toolkit
  • nvidia-lts
  • nvidia-utils
  • nxclient
  • ogre
  • opencl-nvidia
  • openttd-opensfx
  • opera
  • paintown
  • pcsxr
  • povray
  • poweriso
  • profont
  • pypy
  • qingy-theme-arch
  • qsopcast
  • qstat
  • r8168
  • rt2870usb-fw
  • rt2x00-rt61-fw
  • rt2x00-rt71w-fw
  • rt3562sta
  • sane-gt68xx-firmware
  • sauerbraten
  • sauerbraten-data
  • screenlets
  • sdlmame
  • sfarkxtc
  • skype
  • skype-call-recorder
  • skype-oss
  • skype-staticqt
  • slim-themes
  • slmodem
  • snes9x
  • sopcast
  • speedtouch
  • sqlite3-doc
  • syslog-ng
  • tarsnap
  • tiacx
  • tiacx-firmware
  • tiacx-lts
  • ttf-hannom
  • ttf-ms-fonts
  • ufoai
  • ufoai-data
  • unetbootin
  • urbanterror
  • urbanterror-data
  • vbaexpress
  • virtualbox-additions
  • virtualbox-additions-modules
  • visualboyadvance
  • warsow-data
  • winetricks
  • xdm-archlinux
  • xf86-input-vmmouse
  • xf86-video-vmware
  • xorg-xlsfonts
  • xpdf-chinese-simplified
  • xpdf-chinese-traditional
  • xpdf-japanese
  • xpdf-korean
  • xsnow
  • xv
  • zd1211-firmware
  • zsnes


Apart from non-free software the list also includes some packages that are build with optional non-free dependencies/

Note, that non-free packages also include Mozilla Firefox. The home site of Parabola GNU/Linux gives the following explanation:


We recently added the Debian Iceweasel web-browser to the [libre] repo (actually “iceweasel-libre”), and encourage IceCat users to switch. For a long time our primary browser was GNU IceCat. Both are based on the Mozilla Firefox browser, which we don’t include because it recommends non-free addons, encourages the use of non-free Software as a service (Google SafeBrowsing), and has non-free trademark licensing.

After installing “gnome” and “gnome-extra” package groups (Arch’s analogues of gnome metapackage elsewhere) I got a fully function GNOME 3 environment. Though some stock Arch’s packages (cdrkit, file-roller, ghostscript, gstreamer0.10-bad, gstreamer0.10-bad-plugins, lame, python2 and sdl) got replaced with “libre” versions, I didn’t hit any functionality loss regarding my everyday tasks.

Documentation

Just like in Arch and most of other distributions, all the software comes with the manual pages one would generally expect, with some packages including the additional documentation in other formats. The online documentation of the Parabola is currently virtually non-existing: the sparse articles that mostly are just the stripped-down copies of the Arch Wiki content leave the impression that the distribution was first released earlier this morning. Though the Arch Wiki itself contains a lot of information that can be successfully reused in Parabola, I found no links there.

A simple example to illustrate my point: as the Arch-based system, Parabola includes the easy-to-use ABS package building system, that can be used to rebuild the packages with addition configuration options or add the software that is missing in stock repositories. The use (and even the availability!) of ABS is not covered in Parabola documentation at all! The instructions to use the Arch User Repository, containing a lot of additional software, are also not available. As I come from OpenBSD land, where everything is well documented and any answer can be found just after a couple of minutes reading of online FAQ and relevant manual pages, I find this lack of information pretty puzzling, specifically regarding the overall state of Linux-specific documentation.

Conclusion

The overall impression of the Parabola GNU/Linux user experience exactly matches the one of Arch: a system with easy and flexible installation and configuration process and good choice of free software packages. Though the lack of documentation spoils the user experience, the Arch Linux resources can be used to further configure and extend the distribution.

If my hardware would allow, I would probably stick with Parabola. How about you?

78 Comments

  1. 2012-02-02 11:39 pm
    • 2012-02-03 8:20 am
      • 2012-02-03 8:25 am
        • 2012-02-03 8:45 am
          • 2012-02-03 9:30 am
          • 2012-02-03 9:37 am
          • 2012-02-03 9:40 am
          • 2012-02-03 9:41 am
          • 2012-02-03 9:48 am
          • 2012-02-03 9:38 am
        • 2012-02-03 11:38 am
          • 2012-02-03 2:49 pm
          • 2012-02-03 7:00 pm
        • 2012-02-03 8:00 pm
      • 2012-02-03 12:51 pm
    • 2012-02-03 8:24 am
      • 2012-02-03 8:53 am
        • 2012-02-03 11:26 am
        • 2012-02-03 4:11 pm
    • 2012-02-04 10:34 am
    • 2012-02-06 1:28 pm
  2. 2012-02-03 12:35 am
  3. 2012-02-03 2:03 am
  4. 2012-02-03 2:55 am
    • 2012-02-03 4:20 am
      • 2012-02-03 9:21 am
        • 2012-02-03 10:26 am
      • 2012-02-04 7:03 am
    • 2012-02-03 5:59 am
      • 2012-02-03 1:42 pm
    • 2012-02-03 7:31 am
      • 2012-02-03 8:26 am
        • 2012-02-03 9:33 am
          • 2012-02-03 3:40 pm
          • 2012-02-03 5:20 pm
          • 2012-02-04 10:03 am
          • 2012-02-04 1:34 pm
      • 2012-02-03 8:33 am
        • 2012-02-03 2:06 pm
          • 2012-02-03 3:14 pm
          • 2012-02-03 5:58 pm
          • 2012-02-03 6:31 pm
          • 2012-02-03 7:17 pm
          • 2012-02-03 8:21 pm
          • 2012-02-03 10:36 pm
          • 2012-02-04 12:22 pm
          • 2012-02-05 8:07 am
          • 2012-02-05 12:59 pm
    • 2012-02-03 9:36 am
    • 2012-02-03 10:04 am
      • 2012-02-03 10:27 am
        • 2012-02-03 3:00 pm
          • 2012-02-03 3:20 pm
        • 2012-02-03 7:03 pm
          • 2012-02-03 8:24 pm
          • 2012-02-03 8:39 pm
    • 2012-02-03 12:08 pm
      • 2012-02-03 1:32 pm
    • 2012-02-03 4:33 pm
  5. 2012-02-03 5:06 am
    • 2012-02-04 10:18 pm
  6. 2012-02-03 8:57 am
  7. 2012-02-03 9:41 am
  8. 2012-02-03 10:02 am
    • 2012-02-03 1:29 pm
  9. 2012-02-03 10:03 am
  10. 2012-02-03 11:11 am
  11. 2012-02-03 11:59 am
  12. 2012-02-03 12:46 pm
  13. 2012-02-03 3:09 pm
  14. 2012-02-03 3:19 pm
  15. 2012-02-03 4:41 pm
  16. 2012-02-03 4:45 pm
    • 2012-02-03 6:59 pm
    • 2012-02-04 5:21 pm
  17. 2012-02-04 10:08 am