unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Fabio Pesari <fabiop@gnu.org>
To: Amirouche Boubekki <amirouche@hypermove.net>
Cc: guix-devel@gnu.org,
	guix-devel-bounces+amirouche=hypermove.net@gnu.org,
	guile-devel@gnu.org
Subject: Re: Guix as a Guile package manager
Date: Sat, 9 Jan 2016 16:29:13 +0100	[thread overview]
Message-ID: <56912749.5030501@gnu.org> (raw)
In-Reply-To: <138b89e2a7ca9e091727a331a416bd6a@hypermove.net>

On 01/09/2016 03:35 PM, Amirouche Boubekki wrote:
>
> Can you explain what a Guile specific fork of guix will bring over guix?

See the last part of this post.

>> User should be able to upload packages but each package should be
>> carefully reviewed (possibly by the community itself).
> 
> This is not how pypi works for instance.

But that doesn't mean Guix should follow suit. Implementing approval
like Savannah does is a bad idea, because packages get stuck there for
ages and there's a lot of centralized power, but putting packages in a
public queue which users can vote and allow packages to be reported for
being nonfree and let maintainers be moderators is a better idea.

> I just checked the documentation [1] and it's possible to have third 
> party
> repositories but the policy is to not fork the effort and package guile
> softwares in guix.
> 
> [1] 
> https://www.gnu.org/software/guix/manual/guix.html#index-GUIX_005fPACKAGE_005fPATH

Where's the bit about forking? The page is too long and I couldn't find it.

> My question is: what must do a guix fork that guix doesn't have already?

It's not about functionality, it's about purpose.

The "fork" is not really a fork, but rather a separate program which
uses the same core library as Guix (which I defined as guile-guix
earlier). In practical terms, it would use a different repo and have
different defaults tuned to Guile development rather than system
maintenance.

If the Guile devs decided to adopt Guix as it is right now as the
official package manager like Perl's CPAN or Ruby's Gem, they would have
to ship Guix with Guile, but that doesn't sound right in my opinion
because Guix has a much larger scope and different purpose than CPAN and
Gem and users could perceive this as adding bloat and/or a tool that is
largely unrelated to Guile development - much like bundling Emacs
because it has good Guile editing capabilities.

It would also make more sense to distribute Guix as a separate program
rather than require users to run a command like "pacman -S guile" to
install Guix, but the same does not apply to the Guile package manager
obviously because package management for Guile can be seen as part of
the Guile environment (like it is for Ruby, Perl, Python, Go, Chicken,
Racket, Emacs, etc.)

The way I see it:

* Guile ships with guile-guix (a library that implements much of Guix'
  package management capabilities, but not the Guix program) and a
  (very small) Guile package manager which depends on guile-guix

* Guix is distributed separately as a (very small) program which
  depends on guile-guix

Just to be clear, Guile does not depend on guile-guix, it just is a
library that is shipped along with Guile and on which the package
manager (also shipped with Guile) depends.

The only side effect from doing this is that Guile's size in bytes would
go up a bit, however it'd still be smaller than Python and it would gain
package management capabilities. If that is not acceptable,
I think that distributing the Guile package manager as a standalone
package (like npm or composer) would still be a good thing, but I'd make
it a separate program from Guix anyway for the reasons mentioned above.



  reply	other threads:[~2016-01-09 15:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09 10:35 Guix as a Guile package manager Fabio Pesari
2016-01-09 13:05 ` Amirouche Boubekki
2016-01-09 14:06   ` Fabio Pesari
2016-01-09 14:35     ` Amirouche Boubekki
2016-01-09 15:29       ` Fabio Pesari [this message]
2016-01-09 19:47         ` Ricardo Wurmus
2016-01-09 15:30 ` Thompson, David
2016-01-09 16:00   ` Fabio Pesari
2016-01-09 18:52   ` Ludovic Courtès
2016-01-09 20:42 ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56912749.5030501@gnu.org \
    --to=fabiop@gnu.org \
    --cc=amirouche@hypermove.net \
    --cc=guile-devel@gnu.org \
    --cc=guix-devel-bounces+amirouche=hypermove.net@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).