- Software packages
- Software availability
The |CL| team felt that performance was left on the table with Linux software. |CL| takes a holistic approach to improve performance across the stack. We also wanted to take more modern approaches with OS updates and tooling.
Can other distros copy |CL| improvements?
Yes, we absolutely love open source reuse and upstreaming improvements.
The telemetry solution provided by |CL| is entirely optional and customizable. It is disabled by default. If you do choose to enable telemetry, the data helps the |CL| team proactively identify and resolve bugs. See the :ref:`telem-guide` guide for more information.
|CL| has a stateless design that maintains a separation between system files and user files. Default values are stored under :file:`/usr/share/defaults/`. Files under :file:`/etc/` are not created unless you create one.
A blog post explaining how this is accomplished with :file:`/etc/fstab/` specifically is available here: https://clearlinux.org/news-blogs/where-etcfstab-clear-linux
:ref:`Flatpak\* <flatpak-tutorial>` is an application virtualization solution that allows more software to be available to |CL| users by augmenting the software |CL| packages natively with software available through Flatpak.
Our goal is to have software packaged natively and made available through bundles whenever possible.
Individual RPMs can sometimes be manually installed on a |CL| system with the right tools, but that is not the intended use case.
The Google Chrome web browser is not distributed as a bundle in |CL| due to copyright and licensing complexities.
A discussion on manually installing and maintaining Google Chrome can be found on GitHub: https://github.com/clearlinux/distribution/issues/422
The |CL| team is working on a natively packaged version of Visual Studio Code for future release.
Join a community forum discussion about manually installing and maintaining Visual Studio Code: https://community.clearlinux.org/t/need-native-support-for-vs-code-through-swupd/
FFmpeg is a multimedia software suite, which is commonly used for various media encoding/decoding, streaming, and playback.
|CL| does not distribute FFmpeg due to well-known licensing and legal complexities (See https://www.ffmpeg.org/legal.html and http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html).
Read more in the |CL| repository, including discussion of an alternative hardware-based solution: https://github.com/clearlinux/distribution/issues/429.
While |CL| cannot distribute FFmpeg, a manual solution to build and install FFmpeg under :file:`/usr/local` has been shared on the community forums: https://community.clearlinux.org/t/how-to-h264-etc-support-for-firefox-including-ffmpeg-install.
A user on GitHub notes that the ZFS kernel module can be compiled, built, and installed manually: https://github.com/clearlinux/distribution/issues/631
If a kernel module is available as part of the Linux kernel source tree but not enabled in the |CL| kernels, in many cases the |CL| team will enable it upon request. Submit requests on GitHub here: https://github.com/clearlinux/distribution/issues
The |CL| team does not typically add out-of-tree kernel modules as a matter of practice because of the maintenance overhead. If the driver was unable to be merged upstream, there is a good chance we may be unable to merge it for similar reasons.