Re: Guix on a microkernel

2019-04-30 Thread mikadoZero
Thank you for sharing this.

Vasilii Kolobkov writes:

> My .2 cryptocoins, but you might find it interesting in evaluating HURD
> as a kernerl for Guix system.  Frankly, I haven't been following HURD
> development and don't know how much's changed since.
>
> [[http://walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf]]




Re: User shell: state or config?

2019-04-25 Thread mikadoZero
Ludovic Courtès writes:

> Hello Guix!
>
> We recently discussed handling of the ‘shell’ field of ‘user-account’:
>
>   https://lists.gnu.org/archive/html/help-guix/2019-04/msg00171.html
>
> As I wrote there, starting with the switch to (gnu build accounts) in
> 0ae735bcc8ff7fdc89d67b492bdee9091ee19e86, user shells are considered
> “state”.  Before they were “config”: ‘guix system reconfigure’ would
> always reset the user shells.
>
> Considering user shells as state seemed like a good idea because, on a
> multi-user system, you’d rather let user invoke ‘chsh’ than have root
> reconfigure the system just to change the user’s shell.  The patches
> below document that.
>
> However, thinking more about it, I’m not sure if considering shells as
> state is such a good idea, for several reasons:
>
>   1. It’s surprising that ‘guix system reconfigure’ doesn’t actually
>  change the shell, as Tanguy reported.

As a new user of Guix System I was recently surprised by this as well.
I was expecting the shell to be managed by configuration.

https://lists.gnu.org/archive/html/help-guix/2019-03/msg00089.html

>   2. ‘chsh’ restricts users to the shells listed in /etc/shells anyway,
>  which is the combination of all the ‘shell’ fields, currently.
>
>  Given this restriction, you might just as well ask the admin to
>  change the shell for you.
>
>   3. It’s easy to end up with a shell that’s eventually GC’d.
>
>  Scenario #1: your shell is initially set to
>  /gnu/store/…-bash/bin/bash, which at the time is GC-protected
>  (listed in /etc/shells, etc.).  However, later, this specific Bash
>  variant is GC’d, and boom, you’re left with nothing.
>
>  Scenario #2: you set your shell to
>  /run/current-system/profile/bin/zsh, which is GC-protected, but
>  eventually the admin removes zsh for the global profile.
>
> All in all, I’m in favor of switching back to the previous behavior:
> considering user shells as system config.  That’s a one-line change in
> (gnu build accounts).
>
> Thoughts?
>
> Ludo’.
>
> From d1586f0c77cf63d0259cca9fc50c210c584529b3 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
> Date: Thu, 25 Apr 2019 12:10:06 +0200
> Subject: [PATCH 1/2] system: Add 'chsh' to %SETUID-PROGRAMS.
>
> * gnu/system/pam.scm (base-pam-services): Add "chsh".
> * gnu/system.scm (%setuid-programs): Add chsh.
> ---
>  gnu/system.scm | 1 +
>  gnu/system/pam.scm | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/system.scm b/gnu/system.scm
> index b00d384fee..a85ec109ac 100644
> --- a/gnu/system.scm
> +++ b/gnu/system.scm
> @@ -794,6 +794,7 @@ use 'plain-file' instead~%")
>;; Default set of setuid-root programs.
>(let ((shadow (@ (gnu packages admin) shadow)))
>  (list (file-append shadow "/bin/passwd")
> +  (file-append shadow "/bin/chsh")
>(file-append shadow "/bin/su")
>(file-append shadow "/bin/newuidmap")
>(file-append shadow "/bin/newgidmap")
> diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm
> index 13f76a50ed..27239c5621 100644
> --- a/gnu/system/pam.scm
> +++ b/gnu/system/pam.scm
> @@ -1,5 +1,5 @@
>  ;;; GNU Guix --- Functional package management for GNU
> -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès 
> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès 
> 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -265,7 +265,7 @@ authenticate to run COMMAND."
>;; These programs are setuid-root.
>(map (cut unix-pam-service <>
>  #:allow-empty-passwords? allow-empty-passwords?)
> -   '("passwd" "sudo"))
> +   '("passwd" "chsh" "sudo"))
>;; This is setuid-root, as well.  Allow root to run "su" without
>;; authenticating.
>(list (unix-pam-service "su"
> -- 
> 2.21.0
>
> From 6ab1ecd628f13829e31e4bcbe7bf0ff53951eedd Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
> Date: Thu, 25 Apr 2019 12:23:11 +0200
> Subject: [PATCH 2/2] doc: Document 'chsh'.
>
> * doc/guix.texi (User Accounts): Document 'chsh'.
> ---
>  doc/guix.texi | 9 +
>  1 file changed, 9 insertions(+)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 879cb562e9..b5048f7269 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -11000,6 +11000,15 @@ if it does not exist yet.
>  This is a G-expression denoting the file name of a program to be used as
>  the shell (@pxref{G-Expressions}).
>  
> +Users may change their shell at any time by running the @command{chsh}
> +command---run @command{man chsh} for more info.  The list of allowed shells
> +can be found in the @file{/etc/shells} file, which is itself the combination
> +of the @code{shell} fields of all the user accounts.
> +
> +Because the account's shell is user-modifiable system state---just like
> +passwords---it is preserved across reboots and reconfiguration, even if the
> 

Re: Guix on a microkernel

2019-04-01 Thread mikadoZero


Pjotr Prins writes:

> ... Being a GNU project we have a stake
> in getting the Hurd to a usable level and get people to start using
> it for daily work. 

I do not understand this.  Could someone elaborate on this "stake"
idea further.

Does Guix give preferential treatment to GNU projects over other free
software projects?

> I attended a talk at FOSDEM this year which gave an overview
>
> https://fosdem.org/2019/schedule/event/roadmap_for_the_hurd/attachments/slides/3270/export/events/attachments/roadmap_for_the_hurd/slides/3270/2019_02_01_fosdem_roadmap.pdf
>
> It looks like not a fat lot is needed to make this usable for many
> people. Most free software will actually run on Hurd today.

Thanks for sharing this link.  I will watch that talk.



Re: Guix on a microkernel

2019-04-01 Thread mikadoZero


I do not have benchmark information.

Thank you for sharing the link.

zna...@tutanota.com writes:

> Thanks for your compilation.
> Do you have found actual benchmark tests? 
> https://www.gnu.org/software/hurd/faq/slow.html 
> 
> "The Hurd is currently slower than Linux, yes. But not very much, so it is 
> completely usable."
> Vulnerabilities of processors is also sensitive task. Maybe RISC-V will not 
> have such bugs? Need to know in a practice.
>
> Mar 31, 2019, 12:05 AM by mikadoz...@yandex.com:
>
>> # Appreciation
>>
>> I appreciate:
>>
>> * many of Guix's design decisions.  The one that is relevant to this
>>  discussion is the kernel.  I like that Guix uses the linux-libre (no
>>  binary blobs) instead of the linux kernel.
>>
>> * that work is underway to get Guix to work with GNU Hurd.  I like that
>>  a microkernel is a potential kernel option. 
>>
>>  > http://lists.gnu.org/archive/html/guix-devel/2016-12/msg00857.html 
>> 
>>
>> * the effort that has been put into GNU Hurd to get it to where it is.
>>
>> * the bootsrapping initiative.
>>
>>  > https://bootstrappable.org 
>>  > https://fosdem.org/2019/schedule/event/gnumes 
>> 
>>
>> # Intent
>>
>> * I would like to understand why GNU Hurd is being focused
>>  on (my perception) given other microkernel options. 
>> * I want to share what I have found after doing some looking into
>>  microkernels.
>> * I am curious what others think of microkernels.
>>
>> I mention the appreciations above because I am aiming for a tone of
>> appreciation and curiosity and not a critical one.  The tone can be a
>> challenge for written communication. 
>>
>> # My microkernel experience
>>
>> Currently I do not have any practical experience using any microkernel.
>> I have just spent time looking into the topic as it is interesting to
>> me.
>>
>> # Why microkernels?
>>
>> I think Andrew Tanenbaum explains benefits of microkernel entertainingly
>> in this talk:
>> http://www.youtube.com/watch?v=bx3KuE7UjGA 
>> 
>>
>> The talks has a focus on Minix but I think the benefits are transferable
>> to other microkernels.
>>
>> # GNU Hurd
>>
>> ## Perceived focus
>>
>> I looks to me like there is a effort (which I appreciate) to get Guix
>> working on Hurd.  I get this perception from:
>>
>> http://lists.gnu.org/archive/html/guix-devel/2016-12/msg00857.html 
>> 
>>
>> These comments from this thread:
>>
>> https://lists.gnu.org/archive/html/help-guix/2019-03/msg00158.html 
>> 
>>
>> Ricardo Wurmus:  "Let’s work on the Hurd, people!  It’s beautiful!"
>>
>> Jan Nieuwenhuizen: "FWIW the Mes port to the Hurd is ongoing and mes now
>> runs, next thing up is fork which we need for running mescc."
>>
>> ## Critiques of Hurd
>>
>> I would be curious what people think about these third party critiques
>> (not mine) of Hurd.
>>
>> ### From X15
>>
>> https://www.sceen.net/x15 
>>
>> "Although the design of the Hurd is promising and attractive, its
>> implementation has a number of severe issues. X15 takes the approach of
>> the complete rewrite to make sure that key ideas are kept in mind at all
>> times during development. Since it’s not meant to be compatible with the
>> Hurd, critical interfaces such as IPC and signals can be re-implemented
>> completely differently. There is a lot of emphasis on code quality and
>> ease of maintenance, obtained from disciplined application of best
>> practices."
>>
>> ### From HelenOS
>>
>> http://www.helenos.org/wiki/FAQ#HowisHelenOSdifferentfromGNUHurd 
>> 
>>
>> ### Why Hurd?
>>
>> Why the focus on Hurd given other microkernel options?  I ask this
>> question out of curiosity and a lack of practical experience with
>> microkernels.
>>
>> # Microkernel wish list
>>
>> These are things that I see as desirable in a microkernel.
>>
>> ## Free software
>>
>> It should be completely free software.  No binary blobs included.  It
>> looks like all of the microkernel listed here are:
>> http://www.microkernel.info 
>>
>> ## RISC-V
>>
>> RISC-V a free and open instruction set architecture is a nice complement
>> to a free operating system.  It is nice if a mircokernel already has
>> plans to run on RISC-V. 
>>
>> Intel security issues:
>> https://libreboot.org/faq.html#intel 
>>
>> ARM security issues:
>> https://libreboot.org/faq.html#amd 
>>
>> ### Entirely free RISC-V computers
>>
>> These two initiatives are entirely free hardware based on RISC-V.
>>
>> * HiFive Unleashed
>>  > 

Re: Software Heritage & Guix

2019-03-30 Thread mikadoZero


This is a nice initiative.

>From reading the post I found it unclear what this Software Heritage
group is and what it's relation to Guix is.

Would it make sense for the "Software Heritage" to be decentralized
through free peer to peer software similar to what is discussed here: 

https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00135.html

https://issues.guix.info/issue/33899

Potential benefits being organization and geographic redundancy.

Ludovic Courtès writes:

> Hello!
>
> I’ve written a post on the Software Heritage support in Guix:
>
>   
> https://gnu.org/s/guix/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/
>
> Happy reading!  :-)
>
> Ludo’.




Guix on a microkernel

2019-03-30 Thread mikadoZero
# Appreciation

I appreciate:

* many of Guix's design decisions.  The one that is relevant to this
  discussion is the kernel.  I like that Guix uses the linux-libre (no
  binary blobs) instead of the linux kernel.

* that work is underway to get Guix to work with GNU Hurd.  I like that
  a microkernel is a potential kernel option. 

  http://lists.gnu.org/archive/html/guix-devel/2016-12/msg00857.html

* the effort that has been put into GNU Hurd to get it to where it is.

* the bootsrapping initiative.

  https://bootstrappable.org/
  https://fosdem.org/2019/schedule/event/gnumes/

# Intent

* I would like to understand why GNU Hurd is being focused
  on (my perception) given other microkernel options. 
* I want to share what I have found after doing some looking into
  microkernels.
* I am curious what others think of microkernels.

I mention the appreciations above because I am aiming for a tone of
appreciation and curiosity and not a critical one.  The tone can be a
challenge for written communication. 

# My microkernel experience

Currently I do not have any practical experience using any microkernel.
I have just spent time looking into the topic as it is interesting to
me.

# Why microkernels?

I think Andrew Tanenbaum explains benefits of microkernel entertainingly
in this talk:
http://www.youtube.com/watch?v=bx3KuE7UjGA

The talks has a focus on Minix but I think the benefits are transferable
to other microkernels.

# GNU Hurd

## Perceived focus

I looks to me like there is a effort (which I appreciate) to get Guix
working on Hurd.  I get this perception from:

http://lists.gnu.org/archive/html/guix-devel/2016-12/msg00857.html

These comments from this thread:

https://lists.gnu.org/archive/html/help-guix/2019-03/msg00158.html

Ricardo Wurmus:  "Let’s work on the Hurd, people!  It’s beautiful!"

Jan Nieuwenhuizen: "FWIW the Mes port to the Hurd is ongoing and mes now
runs, next thing up is fork which we need for running mescc."

## Critiques of Hurd

I would be curious what people think about these third party critiques
(not mine) of Hurd.

### From X15

https://www.sceen.net/x15/

"Although the design of the Hurd is promising and attractive, its
implementation has a number of severe issues. X15 takes the approach of
the complete rewrite to make sure that key ideas are kept in mind at all
times during development. Since it’s not meant to be compatible with the
Hurd, critical interfaces such as IPC and signals can be re-implemented
completely differently. There is a lot of emphasis on code quality and
ease of maintenance, obtained from disciplined application of best
practices."

### From HelenOS

http://www.helenos.org/wiki/FAQ#HowisHelenOSdifferentfromGNUHurd

### Why Hurd?

Why the focus on Hurd given other microkernel options?  I ask this
question out of curiosity and a lack of practical experience with
microkernels.

# Microkernel wish list

These are things that I see as desirable in a microkernel.

## Free software

It should be completely free software.  No binary blobs included.  It
looks like all of the microkernel listed here are:
http://www.microkernel.info/

## RISC-V

RISC-V a free and open instruction set architecture is a nice complement
to a free operating system.  It is nice if a mircokernel already has
plans to run on RISC-V. 

Intel security issues:
https://libreboot.org/faq.html#intel

ARM security issues:
https://libreboot.org/faq.html#amd

### Entirely free RISC-V computers

These two initiatives are entirely free hardware based on RISC-V.

* HiFive Unleashed
  https://www.sifive.com/boards/hifive-unleashed

* lowRISC
  https://www.lowrisc.org

## Formal verification

An application of the minimality principle in the design of microkernel
leads to smaller code bases which are amenable to formal verification. 

https://en.wikipedia.org/wiki/Microkernel#Essential_components_and_minimality

I see the extra security assurance that formal verification provide as
desirable.

# Alternative microkernels

I used http://www.microkernel.info/ as the starting point when I began
looking into microkernels. 

## Summary of interesting microkernels

This is a high level summary based on the "Microkernel wish list" above.
All of these are free software.  I am likely missing some other
interesting microkernel projects.

| projects | RISC-V efforts | Formal verification |
|--++-|
| sel4.systems | Yes| Yes |
| genode.org   | Yes| Yes |
| helenos.org  | Yes| No  |
| muen.sk  | ?/No   | Yes |
| minix3.org   | ?/No   | No  |
| hurd.gnu.org | ?/No   | No  |

Note:

* ?/No is where (to me without asking) there does not look like there
  have been efforts to make the project work with RISC-V. 

* Genode is different than the others as it is not just a microkernel.
  I have given Genode Yes 

Re: Automated linting before master branch commit

2019-03-27 Thread mikadoZero


Danny Milosavljevic writes:

> Hi,
>
>> What do people think about automating package linting?  This would be to
>> make sure a package is linted before it is committed to the Guix
>> repository master branch?
>
> A linter by its nature will in some cases flag things which are not wrong,
> otherwise one could just check the stuff while compiling in the first place.
>
>> I am not familiar with what Guix uses for continuous integration /
>> deployment.
>
> We can manually make cuirass and/or Hydra evaluate custom branches--but it's
> not automated.
>
> Christopher Baines is working on making patch review better--see thread
> "Patchwork + automated checking and testing of patches".

Thanks for sharing that thread.

>> Estimated number of packages with autogenerated tarball:
>> 
>> 389
>
> Yeah, those should be updated.  With that many packages, writing a script
> to do it would be less annoying.




Automated linting before master branch commit

2019-03-25 Thread mikadoZero
# Automated linting

What do people think about automating package linting?  This would be to
make sure a package is linted before it is committed to the Guix
repository master branch?

I am not familiar with what Guix uses for continuous integration /
deployment.

I do not know if automated linting is already in place.  The packages
on the master branch that have linting issues could have been committed
before automated linting was in place.

# Acknowledgment

It was brought to my attention by Tobias Geerinckx-Rice:

"... tarballs aren't guaranteed to be stable over time (GitHub can
regenerate them, changing the metadata and hence the hash, and has done
so in the past). 

They must not be used.  ..."

https://lists.gnu.org/archive/html/help-guix/2019-03/msg00096.html

# Guix master branch

There are package in the Guix repository master branch that use an
autogenerated tarball and have this lint output:

"the source URI should not be an autogenerated tarball"

# Number of packages

Estimated number of packages with autogenerated tarball:

389

This is a low estimate as it is only counts GitHub autogenerated
tarballs.

This estimate is from this command run in the Guix repository.

`grep github.*archive gnu/packages/*scm | wc -l`



Re: Improve package search

2019-03-15 Thread mikadoZero


Tobias Geerinckx-Rice writes:

> ...  Now all we
> need is someone to do the work, but that's the easy part, right?
> ...

I do not yet know enough about Guix or Guile to work on implementing
this.



Re: Guix pronunciation

2019-03-14 Thread mikadoZero


Laura Lazzati writes:
> ... The person I met interested in at least
> playing whith Guix told me that was thinking of both Guix and Nix, and
> I was asked before about the differences. Is it in the manual? Because
> I don't remember reading it.  ...

I just searched through the manual for Nix and it looks like the closest
thing to to covering differences between Nix and Guix is "15
Acknowledgments".  Although it does not cover differences and is just an
acknowledgment.

I was just reading the README in the Guix repository and found a section
called Guix & Nix that does covers differences between them.



Improve package search

2019-03-14 Thread mikadoZero
# Motivation

>From Ludovic Courtès response to bug#34828:
> "I would recommend against turning descriptions into lists of commands
> just for the sake of package search (we should instead have another
> mechanism to determine which package provides a given command) ..."

`guix package -s` often returns no useful results for a program that is
part of a larger multi program package with a different name.  This is
heightened by the very reasonable desire to prevent descriptions form
turning into lists of commands.

# Examples

Here two examples of programs that do not have useful package search
results:

`as` in `gcc-toolchain`
`recsel` in `recutils`

There are other programs that also have this issue.

# Proposed idea

* Add a "programs" field to package definitions that list the programs
  that are included in a package. 
* Include this field in search results.
* Have this field factor into the search result relevance scores.

# Implementation

I am not familiar with how package search works and do not know how
much work this would be to implement.

A requirement for a "programs" field could be included in package
linting.  I am not familiar with the inner workings of linting and do
not know how much work this would be to implement.

# Roll out

* New packages could be given the "programs" field when they are
  created.
  
* Existing packages that are being updated could be given the "programs"
  field.

* Existing packages with relevant irc questions or bug reports could
  be given the "programs" field.

* Existing packages without relevant irc questions or bug reports that
  are not being updated could remain unchanged.  This could save
  significant effort as many programs may never require the "programs"
  field to be added.

# Advantage

Allow users to better find what package includes the program they want
to install.

# Disadvantage

More effort required to package multi program packages.

I know that the coreutils package includes a very large number of
programs.  I do not know if there are many other packages that are also
as large.

# Feedback

This is an initial idea that would benefit from the input of others.

Given the uncertainties I mention in the Implementation and
Disadvantages sections this may not be a good solution for the
Motivation section.



Re: Status update on 1.0

2019-03-13 Thread mikadoZero


Ricardo Wurmus writes:

> mikadoZero  writes:
>
>>>   • “GuixSD” has been removed from the web site and from almost all of
>>> the source code.  Still need to fix the file names that appear in
>>> Makefile.am.
>>
>> Is it to be changed to "Guix SD"?
>
> Just “Guix system”.

I will wait for patch #34848 to be committed before looking at this.



Re: ; XXX: remove when Inetutils suffices

2019-03-13 Thread mikadoZero


Leo Famulari writes:

>> What does XXX in a comment mean?  I have seen it a couple times.
>
> It indicates something undesirable. Like a really nasty hack to
> work-around something or a problem upstream that we have no good
> solution for. Sort of like TODO but with extra complications.

Thanks for the explanation.



Re: Status update on 1.0

2019-03-13 Thread mikadoZero


Ludovic Courtès writes:

>   • The graphical installer has been merged (yay!) but we still need to
> discuss it in the manual and to test it some more.

I was just going to install Guix SD on another system.  So I could try
the installer.  I could also try my hand at texinfo and do some
documentation of the graphical installer.

>   • “GuixSD” has been removed from the web site and from almost all of
> the source code.  Still need to fix the file names that appear in
> Makefile.am.

Is it to be changed to "Guix SD"?

Greping the Guix repo it looks like “GuixSD” is in documentation (in
different languages) and source code comments.

What should be done when it is part of something more important like
file paths, variable name or command line argument?

I can start with the doc directory.



; XXX: remove when Inetutils suffices

2019-03-13 Thread mikadoZero
system.scm line 537:

net-tools ; XXX: remove when Inetutils suffices

git log -L 537,537:system.scm outputs:

commit 6f436c54d6d9698e62639de31a845cd9b9167423
Date:   Wed Jun 4 2014

This comment was committed in 2014.  Is inetutils at the point where
net-tools can be removed?

If it is then I can submit a patch to remove the line.

What does XXX in a comment mean?  I have seen it a couple times.



Re: Guix trademarked by Express Logic

2019-03-11 Thread mikadoZero


n...@n0.is writes:

> The other Guix keeps coming up over the years.
> I don't think we have to do anyting because it's 2 separate fields
> of software.
> No problem unless one of the Guix starts making it one.

Reading the recent press release linked it is clear that Express Logic
is continuing to invest more in their Guix trademarked product over
time.  As a result of this it is increasing likely that Express Logic
could request that the Guix free software project stop using it's
trademark.  Correspondingly it looks less likely that it will just go
away.



Re: CDN Test Results - Should We Continue Using a CDN?

2019-03-11 Thread mikadoZero
Thank you for correcting my false assumptions and sharing that link.

Ricardo Wurmus writes:

> mikadoZero  writes:
>
>> In "14.4.1 Software Freedom" of the Guix manual it says that Guix is free
>> software and follows the free software distribution guidelines.
>>
>> Is using a proprietary non free CDN as a core part of Guix's
>> infrastructure in conflict with Guix's software freedom?
>
> Two things:
>
> 1) It is not a core part of Guix’s infrastructure.  People who want to
> bypass the CDN can do so by fetching substitutes from berlin.guixsd.org
> instead of ci.guix.info.  People can also opt out of getting substitutes
> all together or choose to get them from some other build farm.  (The
> build farm is little more than another Guix user.)
>
> 2) “proprietary” / “non-free” terminology does not apply to services.
> See also
> https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
>
> This is a case of “Service as a Hardware Substitute” where we pay to use
> hardware that we do not physically control to substitute for having to
> own and maintain hardware at a large number of physical locations in the
> world.
>
>> Using a proprietary CDN has the potential for an unplanned increase in
>> workload.  This is because of the combination of vendor lock in and
>> product line discontinuation.  Which could create unplanned rework of
>> setting up a CDN elsewhere.  This hinders Guix's resource planning by
>> introducing the potential for surprise rework.
>
> There is no vendor lock in.  We can drop and have dropped the use of a
> CDN without service interruption.  If the CDN service were to be
> discontinued we would simply revert to not offering package distribution
> via CDN.




Guix trademarked by Express Logic

2019-03-11 Thread mikadoZero
I have search guix-devel for this and did not find it.  I would like to
know what people think about these topics:

* does the Guix free software project have a trademark?
* proactive name change
* reacting to a forced name change
* talking with Forbes Lindsey of Jade to gain insights
* talking with Express Logic about their Guix trademark

# Guix is trademarked

That Guix is trademarked by Express Logic was brought to my attention by
in this message: 

https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00122.html

Thank you Tobias Geerinckx-Rice for mentioning this.

Looking into this further here is additional information.

Express Logic website:

https://rtos.com/

Here is a press releases about Express Logic's Guix trademarked software
product:

https://www.marketwatch.com/press-release/express-logics-guix-becomes-the-first-deeply-embedded-gui-solution-certified-to-sil-4-asil-d-and-medical-class-c-for-safety-critical-iot-systems-2019-02-27

# Does Guix have a trademark?

Does the Guix free software project have a trademark for Guix?

There is only one search result for Guix's website using the term
trademark.  It is in the manual "14.4.1 Software Freedom" and is not
relevant to the question at hand.  I see no indication that the Guix
free software project has trademarked Guix.

# A parallel in free software

If it is the case that Guix the free software project does not have a
trademark for Guix, then I would like to share what looks like a clear
parallel.  It involves another free software project that used to be
called Jade.  Jade did not have a trademark for Jade.  A software
company had the trademark for Jade.  The company forced Jade to change
it's name.  Assuming Guix does not have a trademark then it looks like
it is the same situation without yet having been forced to change it's
name.

Here is a link to an issue on Pug's (Jade's new name) GitHub page
discussing their forced name change:
github.com/pug/issues/2184

# Proactive name change

Looking at the pug thread above shows that it would have been nice if
Jade had not been forced to change their name so quickly and could have
engaged it's community further on ideas for a new name.

This raises the idea that proactively changing Guix's name might be
better than reacting to a forced name change.  A benefit to a proactive
name change is being able to chose the timing.  So for example the name
change could be planned to coincide with the 1.0 release which I have
heard is approaching.  Similar to a butterfly emerging from a
chrysalis.  Maybe there is a opportunity here and this could be turned
into a nice announcement.

# Learning from Jade

>From that thread it looks like Forbes Lindsey was the person that the
company's lawyers were sending letters to.  They might be a good person
to talk as they may be able to share some interesting insights that
would likely be directly relevant to the Guix.

# Contacting Express Logic

Also it might be good to reach out to Express Logic as they may not
actually have any problem with the Guix free software project using the
name they have trademarked.

# Summary

I am not recommending any specific course of action.  I just want to
start a discussion.

Also in the interest of transparency I am linking to messages I recently
wrote where I am open about my bias of not being a fan of Guix
pronounced as "geeks". 

https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00121.html

https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00134.html



Re: CDN Test Results - Should We Continue Using a CDN?

2019-03-11 Thread mikadoZero


Chris Marusich writes:

> Since the test has concluded, we are not currently using a CDN.  Going
> forward, we need to decide if we want to continue to use a CDN.

In "14.4.1 Software Freedom" of the Guix manual it says that Guix is free
software and follows the free software distribution guidelines.

Is using a proprietary non free CDN as a core part of Guix's
infrastructure in conflict with Guix's software freedom?

Using a proprietary CDN has the potential for an unplanned increase in
workload.  This is because of the combination of vendor lock in and 
product line discontinuation.  Which could create unplanned rework of
setting up a CDN elsewhere.  This hinders Guix's resource planning by
introducing the potential for surprise rework.

Are there any free software content delivery networks?

> One of the reasons why we wanted to use a CDN in the first place was to
> free up resources so that the community could spend more time working on
> better solutions.  For example, some people have expressed an interest
> in a distributed or peer-to-peer substitute mechanism using IPFS or
> GNUnet.  In fact, Ludo paved the way for this by submitting patches to
> distribute substitutes over IPFS:
>
> https://issues.guix.info/issue/33899
>
> However, it seems his work hasn't succeeded in exciting people enough to
> carry the momentum forward.  We need more people who are interested in
> this and can work on it!  Otherwise, it may never become a reality.  So
> if you care about distributed or peer-to-peer substitutes, please help!

This is interesting.  Peer-to-peer substitutes using free software is
well aligned with Guix as a free software project.  I would want to use
this method if it was available.

Has there been any progress on this since the end of that thread?

Any guesses about how difficult this may be to complete and how much
work might be required?



Re: Guix pronunciation

2019-03-10 Thread mikadoZero


Tobias Geerinckx-Rice writes:

> Hullo!
>
> Now I personally think ‘Guix’ looks and sounds good (not fine), and
> our logo is positively stunning, and damn professional too. If that
> makes me biased, so be it ;-)
>
> mikadoZero wrote:
>> I also wanted to know what people think about the "geeks"
>> pronunciation and how it may impact adoption of Guix as it continues
>> to grow long term.  Maybe someday becoming as popular as Debian,
>> macOS or Windows are today (wishful thinking).  For example what if
>> Linux kernel had actually been called Freax. […] Would it have
>> negatively impacted adoption of the kernel.
>
> I really don't think so.  ‘Linux’ is the fellow's name with an X on
> the end.  It's as much of a anti-marketing joke as ‘Freax’ was (or GNU
> or Guix for that matter).  The only reason it seems more familiar is
> because, well, it is.
>
> And (honest question): do we even care?  Such a stupid reason to shoot
> yourself in the foot with an inferior package manager.
>
>> Yes Freax and "geeks"
>
> [and “Linux”]
>
>> are fun.   On the other hand branding is important.
>
> You wrote this as a contradiction but I don't see one.
>
> The world's most valuable and evil company was once called ‘Google’.
> Koooky!

Guix is different from Linux or Google because pronouncing it as
"geeks" gives it a negative connotation and sentiment.  See below.

>
>> Just to make my bias clear.  I am not a fan of pronouncing Guix
>> "geeks" and find myself thinking of deliberately mispronouncing
>> Guix as "gwixs" or spelling out the letters G U I X when talking
>> to people about Guix.
>
> That's really unfortunate.
>
> Kind regards,
>
> T G-R
>
> GUIX® is a trademark of Express Logic, Inc.  All other brands or
> product names are the property of their respective holders.

In my initial message I should have explained why I am not a fan of Guix
pronounced "geeks".  It is because the pronunciation is the same as the
plural of the word geek. The word geek has an ambiguous definition.
https://en.wikipedia.org/wiki/Geek  When Guix is pronounced "geeks"
there are negative connotation.

The current participants in the Guix community have a self selection
bias by using alpha or beta software.  This could shows itself through a
focus on the positive definition of geek.  However I am alone in
perceiving the negative connotations and sentiment of the word geek.

The vaderSentiment project on GitHub has sentiment scores for words
which you can see in it's vader_lexicon.txt.  Both geeks and geek have
negative sentiment.




Re: Guix pronunciation

2019-03-10 Thread mikadoZero


sirgazil writes:

> Hi, mikadoZero,
>
>
> El 10/03/19 a las 11:13 a. m., mikadoZero escribió:
>> Doing this duckduckgo site search:  `geeks
>> site:https://www.gnu.org/software/guix/` gives me only one match.  Which
>> is footnote 1 of section 1 Introduction of the manual.  I do not know of
>> anywhere else where the pronunciation of Guix is explicitly stated.
>>
>> I would like to know what other think about making the pronunciation of
>> Guix obvious to anyone who visits the website.  The reasoning for this is
>> because the pronunciation of Guix as "geeks" is not intuitive.  I
>> think a lot of people will assume it is pronounced some other way.  For
>> example "gwixs" or "gooixs".  I was not sure how to say Guix before
>> watching a talk on Guix.  It is also easy for people to miss that single
>> footnote in the manual on how to pronounce Guix.
>
>
> When there are more introductory videos about Guix in the home page, I
> think the pronunciation will be easier to discover.
>
> If it is not enough with the videos, I think one could do as Wikipedia
> does: adding a speaker icon which plays an audio file with the
> pronunciation of a word being defined.
>

I like how the Guix website does not have any JavaScript on it.  This
makes it accessible to terminal browsers and the eww browser in Emacs.
It is good to accommodate these non JavaScript browser as they help
people deal with: http://www.gnu.org/philosophy/javascript-trap.html

I hope that when video and audio are being added to the Guix website
that terminal browsers are kept in mind. 

> [...]
>
>
>> I also wanted to know what people think about the "geeks" pronunciation
>> and how it may impact adoption of Guix as it continues to grow long term.  
>> Maybe
>> someday becoming as popular as Debian, macOS or Windows are today
>> (wishful thinking).  For example what if Linux kernel had actually been
>> called Freax.
>> https://en.wikipedia.org/wiki/History_of_Linux#Naming
>> Would it have negatively impacted adoption of the kernel.
>>
>> Yes Freax and "geeks" are fun.
>> On the other hand branding is important.
>>
>> Just to make my bias clear.  I am not a fan of pronouncing Guix "geeks"
>> and find myself thinking of deliberately mispronouncing Guix as "gwixs"
>> or spelling out the letters G U I X when talking to people about Guix.
>>
>> I am curious what others think about these two related points.
>
>
> I don't see much problem with the relation to the term "geek". At
> least in my experience, I don't remember disapproving or derogative
> uses of it.
>
> Also where I live, in South America, in the Aburrá Valley, The term
> "geek" is used in its English form by some people to describe
> themselves as people who are very interested in technology and its
> specifics.




Re: Config files without corresponding program

2019-03-10 Thread mikadoZero
Tobias Geerinckx-Rice writes:

> mikadoZero wrote:
>> When I first installed Guix SD I followed the instructions in the
>> manual.  I modeled my system off of the example system configuration
>> template 'for a "bare bones" setup, with no X11 display server' from
>> "8.1 Using the Configuration System" of the manual.
>>
>> In the home directories for both root and another user there where
>> configuration files that did not have a corresponding program
>> installed.
>> The configuration files in question were:
>>
>> guile-wm - guile-wm
>> gdbinit - gdb
>> Xdefaults - xorg
>> zprofile - zsh
>>
>> Is there a reason why does installing Guix SD leave these
>> configuration
>> files in the home directories?
>
> These files are created by DEFAULT-SKELETONS in (gnu system shadow) to
> make those programmes play well with Guix, because there's no way to
> tell when or if the user will use them.  So everything is fine.

What about the scenario where someone deletes these seemingly unneeded
configuration files because they are not using the program?  I have
done this and others might as well.  Normally there are no issues with
removing unused configuration files.  Would a user then run into
problems if they later install one of these programs having previously
deleted it's special Guix configuration file? 

If so then would having the installation of these configuration files
done by the package definitions of their respective programs instead of
DEFAULT-SKELETONS solve this potential user error? 

Installation of one of these program could serve as an indicator that
the user needs it's configuration files that make the program work with
Guix.



Config files without corresponding program

2019-03-10 Thread mikadoZero
When I first installed Guix SD I followed the instructions in the
manual.  I modeled my system off of the example system configuration
template 'for a "bare bones" setup, with no X11 display server' from
"8.1 Using the Configuration System" of the manual.

In the home directories for both root and another user there where
configuration files that did not have a corresponding program installed.
The configuration files in question were:

.guile-wm - guile-wm
.gdbinit - gdb
.Xdefaults - xorg
.zprofile - zsh

Is there a reason why does installing Guix SD leave these configuration
files in the home directories?



Guix pronunciation

2019-03-10 Thread mikadoZero
Doing this duckduckgo site search:  `geeks
site:https://www.gnu.org/software/guix/` gives me only one match.  Which
is footnote 1 of section 1 Introduction of the manual.  I do not know of
anywhere else where the pronunciation of Guix is explicitly stated.

I would like to know what other think about making the pronunciation of
Guix obvious to anyone who visits the website.  The reasoning for this is
because the pronunciation of Guix as "geeks" is not intuitive.  I
think a lot of people will assume it is pronounced some other way.  For
example "gwixs" or "gooixs".  I was not sure how to say Guix before
watching a talk on Guix.  It is also easy for people to miss that single
footnote in the manual on how to pronounce Guix.

I think the confusion around the pronunciation of GIF would probably be
a worst case scenario.
https://en.wikipedia.org/wiki/Graphics_Interchange_Format#Pronunciation_of_GIF

Here are two projects that have non obvious pronunciation that address
this issue directly on their project homepage:

https://asciinema.org/
http://www.lighttpd.net/


I also wanted to know what people think about the "geeks" pronunciation
and how it may impact adoption of Guix as it continues to grow long term.  Maybe
someday becoming as popular as Debian, macOS or Windows are today
(wishful thinking).  For example what if Linux kernel had actually been
called Freax.
https://en.wikipedia.org/wiki/History_of_Linux#Naming
Would it have negatively impacted adoption of the kernel.

Yes Freax and "geeks" are fun.
On the other hand branding is important.

Just to make my bias clear.  I am not a fan of pronouncing Guix "geeks"
and find myself thinking of deliberately mispronouncing Guix as "gwixs"
or spelling out the letters G U I X when talking to people about Guix.

I am curious what others think about these two related points.



Re: Typo on Savannah project page.

2019-03-09 Thread mikadoZero


Just checked again and it looks good now.



Re: Packages with the same description

2019-03-06 Thread mikadoZero
Looking into this further there are many packages with non unique synopsis or 
description. 

Total number of Guix packages.

guix package -s "" | recsel -p name | sed '/^[[:space:]]*$/d' | tr --delete 
'\n' | sed 's/name: /\nname: /g' | wc -l   

9211

Number of packages with non unique synopsis.

guix package -s "" | recsel -p synopsis | sed '/^[[:space:]]*$/d' | tr --delete 
'\n' | sed 's/synopsis: /\nsynopsis: /g' | sort | uniq --all-repeated | wc -l

2548

Number of packages with non unique description.

guix package -s "" | recsel -p description | sed '/^[[:space:]]*$/d' | tr 
--delete '\n' | sed 's/description: /\ndescription: /g' | sort | uniq 
--all-repeated | wc -l

2459

Package descriptions sorted by how many times they are duplicated. 

guix package -s "" | recsel -p description | sed '/^[[:space:]]*$/d' | tr 
--delete '\n' | sed 's/description: /\ndescription: /g' | sort | uniq 
--all-repeated | uniq --count | sort --general-numeric-sort --reverse | less

The synopsis of packages sorted by how many times they are duplicated.

guix package -s "" | recsel -p synopsis | sed '/^[[:space:]]*$/d' | tr --delete 
'\n' | sed 's/synopsis: /\nsynopsis: /g' | sort | uniq --all-repeated | uniq 
--count | sort --general-numeric-sort --reverse | less



Re: Typo on Savannah project page.

2019-03-06 Thread mikadoZero
Now it says "presenging" instead of "presenting".
Looks like the letter t are being replaced with g both times.



Re: Guix on the ASUS C201PA

2019-03-06 Thread mikadoZero
Parabola made an announcement in December last year: "Parabola officially 
supports librebooted Asus Chromebook C201".

https://www.parabola.nu/news/parabola-officially-supports-librebooted-asus-chromebook-c201/

The announcement includes links which may be helpful.



Packages with the same description

2019-03-05 Thread mikadoZero
Issue:
Packages with the same synopsis and description.

Why does it matter:
This is an issue for people who want to know the difference between the 
packages.  Particularly if they do not understand dependencies or are not going 
to look at the source code for the packages.

Examples:
guile-emacs and emacs
guile-for-guile-emacs and guile

There could be more packages with the same issue.

Cause:
guile-emacs inherits from emacs and guile-for-guile-emacs inherits from guile.  
In both cases they do not have their own synopsis or description.  This results 
in them inheriting the synopsis and description.

Mitigation:
A potential mitigation is to check that if a package inherits it also has it's 
own synopsis and description.  This check could happen in the linting or 
continuous integration.



Typo on Savannah project page.

2019-03-04 Thread mikadoZero
On savannah.gnu.org/git/?group=guix there is a typo.

It says:
"Scripts for videos represenging Guix"
with represenging being the typo.

roptat on irc suggested it should be:
"Scripts for videos presenting Guix"