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: Luis Felipe
Subject: Re: Proposal: Differentiate products more clearly (Cycle 01)
Date: Wed, 1 Nov 2023 16:01:09 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0

Hi pinoaffe,

El 12/10/23 a las 20:30, pinoaffe escribió:
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.

In this proposal, that clear list of what Guix can do would be the feature list, linked early in the home page, right after Guix's definition. The features list already exists in the manual, but I think it could provide more information.

Regarding the separation of both products, as I see it, it already exists, it is just that it is not that clear. There are separate downloads for both products and the manual, for example, has specific sections for the package manager and the operating system.

Now, I do agree that "package manager" and "operating system" don't quite make potential users picture the whole range of features provided by Guix... Would you still disagree with the differentiation of both products if the definition of Guix changed from "package manager" to, say, "a tool for reproducible deployment at every level of scale", as Ricardo suggest (https://lists.gnu.org/archive/html/guix-devel/2023-10/msg00142.html)? Or something along those lines?

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 may be misreading you, but I think your points are in line with the idea of changing the definition of Guix to better communicate its many other features, instead of simply calling it a "package manager".

If I read you correctly, I think having an additional presentation and definition for the Guix System (the OS), as suggested in this proposal, would not conflict with a possible change to Guix's definition.


[...]

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

Anytime, pinoaffe. Thanks for your feedback :)

P.S. I'm backing out from implementing this proposal for now (which I was planning to start today). I'll let more people read the feedback so far and think about it.

Cheers,

Attachment: OpenPGP_0x0AB0D067012F08C3.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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