guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal: Differentiate products more clearly (Cycle 01)


From: pinoaffe
Subject: Re: Proposal: Differentiate products more clearly (Cycle 01)
Date: Tue, 31 Oct 2023 13:11:59 -0000
User-agent: mu4e 1.10.5; emacs 28.2

Hi!

I think it's important to clarify what Guix is (and I really like your
mockups/some of the concrete proposed changes), but I don't quite agree
with the idea behind your proposal.

I think it would be more useful to produce and maintain a clear list of
what guix can do than to bifurcate guix into a package manager and an
operating system, especially since many of the aspects of Guix don't
cleanly fall in either of those two categories.

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.

> I've seen comments related to this issue in different places through the 
> years. Some examples:
>
> 2018-01-17 · website: say what Guix is at the very top
> https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00232.html
>
> 2020-01-02 · How to present Guix to a wider audience
> https://lists.gnu.org/archive/html/help-guix/2020-01/msg00002.html
>
> 2022-09-16 · Guix as a tool for computational science
> https://10years.guix.gnu.org/video/guix-as-a-tool-for-computational-science/
>
>
> Proposal: In summary, I'd like to propose clearer product differentiation, 
> starting with the following changes:
>
> 0. Main menu: Change Overview and Download items to
>
>    Overview
>    • Package manager
>    • Operating system
>
>    Download
>    • Package manager
>    • Operating system
>
> 1. Home page: Focus on Guix, the package manager.
> 2. Download page: Likewise.
> 3. Operating system home page: New page.
> 4. Operating system download page: New page.
>
> 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

Kind regards,
pinoaffe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]