Luis Felipe <luis.felipe.la@protonmail.com> writes:
This is a proposal to help differentiate Guix, the package manager,
from Guix System.
Guix is (in my opinion) a (set of) tool(s) with a broad set of features
centered around reproducibly managing software/computers. Some of those
features enable you to set up and manage entire GNU/linux systems, some
even enable you to do so remotely, others enable you to configure
homedirs, to set up containers, to reproducibly build software or to
manage your computational environment. In my view, these functions are
all quite tightly intertwined, and I don't think it makes sense to
categorize Guix features as belonging to either the package management
or the operating system side of things.
Since guix packages kernels, since it can install and configure
bootloaders, and since it can manage/configure system-wide services, it
can be used as an "operating system". I think that it is important to
- clearly communicate the various different things guix can be used for,
- emphasize how guix can be used with other operating systems and tools,
- and to show how these various features relate to each other.
Background: As far as I understand, Guix was supposed to be GNU's
package manager, and GNU was supposed to be the operating system: two
products with two different websites. Unfortunatelly, that didn't
happen and the Guix website became the home for two products: Guix,
the package manager, and Guix System, a distribution of the GNU
operating system.
Guix has become a package manager developed as part of and endorsed by
the GNU project. GNU (to me) is an operating system family with
significant overlap with the Linux family, and Guix falls somewhere in
between as a distribution of both. I personally don't see this as a
failure, but I guess that this largely a matter of perspective and
beside the point.
Since then, both products have been presented almost
as a single one in the website. Probably as a result of this some
people call both products by the same name (Guix), and some other
people don't understand what «Guix» is by skimming through the home
page.
While there is indeed confusion, presenting Guix as just an operating
system and a package manager would not clear that up (in my opinion),
- since ~guix deploy~ is related to managing operating systems, but is
not really a function of the operating system itself,
- since ~guix home~ is best used on an entire system managed by guix but
can IIRC also be used on foreign distros,
- since ~guix shell~ doesn't really fall into either package management
or operating system territory, etc.
[...]
The following mockups illustrate the proposed changes. You can start
in the Home page mockup, and click links to go to the other
mockups. If your browser doesn't support PDF, you can find a PNG
version of each mockup in the same URL paths (simply change the "pdf"
extension to "png").
·········
Resource: Home page
Path: https://guix.gnu.org/
Mockup:
https://luis-felipe.gitlab.io/downloads/temp/guix-website-2023-09-21-LF/home-page.pdf
·········
Resource: Download page
Path: https://guix.gnu.org/en/download/
Mockup:
https://luis-felipe.gitlab.io/downloads/temp/guix-website-2023-09-21-LF/download-package-manager-page.pdf
·········
Resource: OS Home page
Path: https://guix.gnu.org/en/operating-system/
Mockup:
https://luis-felipe.gitlab.io/downloads/temp/guix-website-2023-09-21-LF/os-home-page.pdf
·········
Resource: OS Download page
Path: https://guix.gnu.org/operating-system/download/
Mockup:
https://luis-felipe.gitlab.io/downloads/temp/guix-website-2023-09-21-LF/download-os-page.pdf
·········
(The source files of the mockups can be found in
https://codeberg.org/luis-felipe/guix-graphics/ in the "mockups"
directory.)
As said before: wow, these look great!
I can help implement several of the proposed changes.
Subsequent changes (hinted in the mockups) with the same goal of product
differentiation could be:
5. Guix Features section in the manual: Improve it.
+ Separate in sections to make it easier to browse
+ List forgotten functional features (if any)
+ List non-functional features
+ Compare with similar products
6. Guix System Features section in the manual: Add it.
7. Guix System Configurations page: A collection of configurations, ideally of
real systems currently used in production environments.
Those changes would be very valuable!
Thanks a lot for all the work