unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: pukkamustard <pukkamustard@posteo.net>
To: Shivam Madlani <shivammadlani5@gmail.com>
Cc: Csepp <raingloom@riseup.net>,
	guix-devel@gnu.org, Attila Lendvai <attila@lendvai.name>
Subject: Re: Fwd: [gnu-soc] GNU Guix Project: Decentralized substitute distribution
Date: Sun, 05 Mar 2023 07:39:58 +0000	[thread overview]
Message-ID: <86y1obmxko.fsf@posteo.net> (raw)
In-Reply-To: <87bkl991iu.fsf@riseup.net>


Hi Shivam,

Thanks for your interest!

Shivam Madlani <shivammadlani5@gmail.com> writes:

> 1) The project title states "decentralized"... which i don't get. How
> exactly is it decentralized? Similar to a P2P file sharing tech or
> something else (BitTorrent)?

Actually it is similar to P2P file sharing exactly like BitTorrent :)

The terms "centralized", "decentralized" and "distributed" are a bit
confusing. I like to think of them as illustrated in a paper by P. Baran
from 1964 [1]:

- Centralized means that all nodes connect to one single central node.
- Decentralized means that nodes connect to a smaller set of nodes that
  may be interconnected. This is similar to what is sometimes called
  "federated" networks.
- Distributed means that all nodes are equivalent and connect to many
  other nodes (like a grid or mesh).

[1] https://www.rand.org/content/dam/rand/pubs/research_memoranda/2006/RM3420.pdf#page=16&zoom=90,-494,792

The goal of the project is to make Guix substitute distribution
something more in-between decentralied and distributed. Currently it
resembels something between centralized and decentralized.

The project will work atop of previous work to make substitute
distribution decentralized: https://issues.guix.gnu.org/52555

The idea is to use an encoding of content that allows the content, in
this case substitutes, to be distributed over many different protocols
and transport mediums including IPFS, GNUnet, NDN, CoAP, HTTP. The basic
ideas are very similar to BitTorrent.

There are a few directions in which a project go (quote from the project
description):

- Improving the user experience and integration
- Adding more transport protocols (e.g. IPFS, GNUnet, NDN, CoAP,...)
- Conducting performance evaluations

> 2) As per the project idea I interpreted that the technologies involved
> would be c/c++, shell and a bit of networking. Is this correct or am I
> missing something?

The main programming language involved is Guile Scheme (as already
mentioned by Csepp).

There might be some interaction with existing tools and libraries that
would require programming in other languages (e.g. C/C++/Rust/Go) but
that is not the focus or main task of the project.

> 3) What would be the duration of the project? (175hrs/350hrs).

I think 175h should be enough to do interesting and meaningfull work.

Csepp <raingloom@riseup.net> writes:

> As for other details, I CC'd Pukkamustard, who will be the mentor for
> this project if I'm not mistaken, and should be able to fill in the
> blanks.

Thanks for the CC, also CCing Attila who might co-mentor (yay!).

-pukkamustard


  reply	other threads:[~2023-03-05  8:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAAa6HdfHSv2StzmLQ=78vzUqyJSyQMy64saGXWZFGQ5o7DThtg@mail.gmail.com>
     [not found] ` <CAAa6HdeNxxMkn9fwzPZU7wyaKR21Q5LJpQRi3WEVmo4hbyZEYw@mail.gmail.com>
2023-03-03 17:33   ` Fwd: [gnu-soc] GNU Guix Project: Decentralized substitute distribution Csepp
2023-03-05  7:39     ` pukkamustard [this message]
2023-03-06 16:57       ` Shivam Madlani

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://guix.gnu.org/

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

  git send-email \
    --in-reply-to=86y1obmxko.fsf@posteo.net \
    --to=pukkamustard@posteo.net \
    --cc=attila@lendvai.name \
    --cc=guix-devel@gnu.org \
    --cc=raingloom@riseup.net \
    --cc=shivammadlani5@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).