From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [GSoC] Draft of my proposition Date: Mon, 21 Mar 2016 00:40:12 +0000 (GMT) Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_82461_1731696262.1458520812441" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahntN-0006ep-Pb for guix-devel@gnu.org; Sun, 20 Mar 2016 20:40:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ahntJ-0003k5-OZ for guix-devel@gnu.org; Sun, 20 Mar 2016 20:40:21 -0400 Received: from w1.tutanota.de ([81.3.6.162]:35802) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahntJ-0003jn-9u for guix-devel@gnu.org; Sun, 20 Mar 2016 20:40:17 -0400 Received: from localhost (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 4BF86FA82BB for ; Mon, 21 Mar 2016 00:40:14 +0000 (UTC) Received: from w1.tutanota.de ([127.0.0.1]) by localhost (w1.tutanota.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xw4_F9Y8bL8m for ; Mon, 21 Mar 2016 00:40:12 +0000 (UTC) Received: from w1.tutanota.de (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 704A3FA82FD for ; Mon, 21 Mar 2016 00:40:12 +0000 (UTC) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org ------=_Part_82461_1731696262.1458520812441 Content-Type: multipart/alternative; boundary="----=_Part_82462_143244524.1458520812441" ------=_Part_82462_143244524.1458520812441 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi everyone! The admission for Google's Summer of Code have started and I want to spend the summer working on Guix. I have a proposition I hope you will find interesting! I have joined the draft to this e-mail. I would really like if you could point out the part where I don't explain myself very well, if some French syntax has slipped through or if there is something that should be added to meet GNU's guideline. Also I don't if any mentors are available for this project, and who I should talk to about that. Don't hesitate if you have any question. Thank you, Vincent Cloutier ------=_Part_82462_143244524.1458520812441 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi everyone!

The admission for Google's Summer of Code have started and I want to spend the summer working on Guix. I have a proposition I hope you will find interesting! I have joined the draft to this e-mail.

I would really like if you could point out the part where I don't explain myself very well, if some French syntax has slipped through or if there is something that should be added to meet GNU's guideline.

Also I don't if any mentors are available for this project, and who I should talk to about that.

Don't hesitate if you have any question.
Thank you,

Vincent Cloutier
------=_Part_82462_143244524.1458520812441-- ------=_Part_82461_1731696262.1458520812441 Content-Type: application/vnd.oasis.opendocument.text; name="GSoC guix.odt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="GSoC guix.odt" UEsDBBQAAAgAACYEdUhexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz aXMub3BlbmRvY3VtZW50LnRleHRQSwMEFAAACAAAJgR1SCPLFWnEHQAAxB0AABgAAABUaHVtYm5h aWxzL3RodW1ibmFpbC5wbmeJUE5HDQoaCgAAAA1JSERSAAAAxgAAAQAIAwAAAN+D+XIAAACNUExU RQAAABcXFyIiIioqKjMzMzs7O0NDQ0xMTFJSUlxcXGJiYmtra3Nzc3x8fIODg4uLi5OTk5ubm6Oj o6urq7Ozs7y8vKCgz6Oj0Kur1bCw17S02b6+3sPDw8vLy8DA39PT09vb28TE4cvL5NDQ59PT6dvb 7OPj4+vr6+Tk8erq9PPz8/T0+f7+/gAAAP///31AnDMAABzySURBVHja7V0Ndxynks3uJo79pJkG qmpfTkwdsE8CCY////v2XnokWbbkSI4dx5seSaP+oOmuhlsfVFF8N/9ffL47yDjIOMg4yDjIOMg4 yDjIOMg4yDjIOMg4yDjI+OhnjAcOlj59PLWG2r8+GZvHMfHQfV4ee1zhT3ymXEDh6GNRym9+lb3c O0fmyMqNMZxvZLSvQYbr7P103U8nqZcjlud5y+dNQtTz+VxnOZ9DzNu5Xdnc8mYCUkPethDKlcyT 5Xjy63kl15pOUcPXIKPFCRrO81Sv0TuytSl2HpsafoOU05YGysRXhiceJwmhncf1qZx9O+u11jPI vsp2iq/miQSdJJWv0qnM4oyhbCr7/RveeEvRU5SoOVyd4mzX4to1941tZWy2f6WeSra+jWkx25ZC 3zqJT9fXf0dOtanOsn3AFq4eK58+c6ca91jQGOPbZLilq5VaWykld3R67dhTb9W/LbmBrotPDQmc J6ML5/WTTL8xMoaa5QZSShumWjI+WoodyshXJuP3/8z5n2+SjF/fvv71l/nmt7dvf3375s1Pv7/9 +fdff/315ze//fpm/vL722+GjH+/fv367W8//e/r129e//Tm59/wj59/v/55vgZp30qnwlP//Nub X17//PbNv3/65bc3P//y5u1rfP/y+jf8/P6ttMbrywfk/PT6Z/5/8/ru8+vBqQ4yDjIOMg4yPhcZ WVtYdseN/fFtkqEv+4tg+UXaavCgL79NMpq80pc/yvmHFOyH86vy6lu1/jyrF9h9uavD7hgHxA8y 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 hhh7jlX69qrlqG/pGdlQdgVqHxug9k2Mz4xnDcMSnz1DtEzrNnVzDj+WfLE8p4iiSGwfO1UbfgEl 25ozOUokzZkee6LdJAE1nP1DHDlCza0nTz0rmRlbdT2xpdYfUG1B2Hb/+YNRhqApOjzZscTDEEe+ PmyoRiQTA2ChH8QmSlHt7RSY/ZxgooLTdVhb0Ljsqpsmzy6TAeRuzRREz682YwrRcVq/ux2m2NOU IDfkJ4DvoJBS/YssF1NbbXc0kAotcvqyo6n7csC1jw6dHW+TUjJEAoT/L7Ddd0M117jqcMnU9rid ZYytpM/wN1kqK09fJjsP+EBJEvJHIQwlURrxmY9wkaMx4n4mnF6tNer12tWJJ4YTsxWgH/Ee5iwR PjJth4S0UeYfqJy4eLcZQ+U7MRjv+kj5ab7HRzSfE234fGsLST9xs3xgMmGiY3czPcTMuRyDBmOh 2DZG2XmVJKAd5n0omp+ZnhRaxGR4QJ25gjtRmw2QhWNiMZTiDdTLilmXxXaH3LI/YVEPpR2R/reA FTsUo9n90GnYb7KgPSpo6xexvRM9T4puVSR83Bajl739XV98xcFepl/XMayrkn4g4A74q29+SlfN +5Fh619QSwcIb9WvrB0GAACmKAAAUEsDBBQAAAgAACYEdUgAAAAAAAAAAAAAAAAaAAAAQ29uZmln dXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAACAAAJgR1SAAAAAAAAAAAAAAAABoAAABDb25maWd1 cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAAAmBHVIAAAAAAAAAAAAAAAAHwAAAENvbmZpZ3Vy YXRpb25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAAJgR1SAAAAAAAAAAAAAAAABoAAABDb25m aWd1cmF0aW9uczIvdG9vbHBhbmVsL1BLAwQUAAgICAAmBHVIAAAAAAAAAAAAAAAAJwAAAENvbmZp Z3VyYXRpb25zMi9hY2NlbGVyYXRvci9jdXJyZW50LnhtbAMAUEsHCAAAAAACAAAAAAAAAFBLAwQU AAAIAAAmBHVIAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAwQUAAAI AAAmBHVIAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9tZW51YmFyL1BLAwQUAAAIAAAm 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 AABTSgAAAAA= ------=_Part_82461_1731696262.1458520812441-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [GSoC] Draft of my proposition Date: Mon, 21 Mar 2016 10:35:36 +0100 Message-ID: <87h9g09nrr.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59312) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahwFV-0004E4-Cv for guix-devel@gnu.org; Mon, 21 Mar 2016 05:35:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ahwFP-00082L-S2 for guix-devel@gnu.org; Mon, 21 Mar 2016 05:35:45 -0400 In-Reply-To: (vincent@cloutier.co's message of "Mon, 21 Mar 2016 00:40:12 +0000 (GMT)") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: vincent@cloutier.co Cc: guix-devel@gnu.org Hello! skribis: > The admission for Google's Summer of Code have started and I want to spen= d=20 > the summer working on Guix. I have a proposition I hope you will find=20 > interesting! I have joined the draft to this e-mail. Thanks for your proposal! Preliminary question: could you resend it as plain text or Org-mode to simply the life of people on this list? Thanks in advance, :-) Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: Re: [GSoC] Draft of my proposition Date: Mon, 21 Mar 2016 22:19:09 +0000 (GMT) Message-ID: References: < (vincent@cloutier.co's message of "Mon, 21 Mar 2016 00:40:12 +0000 (GMT)")> <87h9g09nrr.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_7320_842491214.1458598749673" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54215) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ai8AP-0000MC-Cc for guix-devel@gnu.org; Mon, 21 Mar 2016 18:19:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ai8AM-00016C-4c for guix-devel@gnu.org; Mon, 21 Mar 2016 18:19:17 -0400 Received: from w1.tutanota.de ([81.3.6.162]:57577) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ai8AL-000162-JA for guix-devel@gnu.org; Mon, 21 Mar 2016 18:19:14 -0400 Received: from localhost (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 2451CFA82F3 for ; Mon, 21 Mar 2016 22:19:12 +0000 (UTC) Received: from w1.tutanota.de ([127.0.0.1]) by localhost (w1.tutanota.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1bzM7nat3iFo for ; Mon, 21 Mar 2016 22:19:09 +0000 (UTC) Received: from w1.tutanota.de (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id A83E5FA8314 for ; Mon, 21 Mar 2016 22:19:09 +0000 (UTC) In-Reply-To: <87h9g09nrr.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix Devel ------=_Part_7320_842491214.1458598749673 Content-Type: multipart/alternative; boundary="----=_Part_7321_227503401.1458598749673" ------=_Part_7321_227503401.1458598749673 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 21. Mar 2016 05:35 by ludo@gnu.org: > Hello! > > <> vincent@cloutier.co> > skribis: > >> The admission for Google's Summer of Code have started and I want to spend >> the summer working on Guix. I have a proposition I hope you will find >> interesting! I have joined the draft to this e-mail. > Preliminary question: could you resend it as plain text or Org-mode to > simply the life of people on this list? > > Of course! I added a plain text version to this email. Vincent Cloutier ------=_Part_7321_227503401.1458598749673 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit


21. Mar 2016 05:35 by ludo@gnu.org:

Hello!

<vincent@cloutier.co> skribis:
The admission for Google's Summer of Code have started and I want to spend
the summer working on Guix. I have a proposition I hope you will find
interesting! I have joined the draft to this e-mail.
Preliminary question: could you resend it as plain text or Org-mode to
simply the life of people on this list?

Of course! I added a plain text version to this email.


Vincent Cloutier

------=_Part_7321_227503401.1458598749673-- ------=_Part_7320_842491214.1458598749673 Content-Type: text/plain; charset=UTF-8; name=GSoC.txt Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=GSoC.txt =EF=BB=BFGuix =E2=80=93 Adding peer-to-peer sharing Vincent Cloutier vincent@cloutier.co Abstract Large performance gains and servers savings could be made by fetching data = from peers instead of a central set of servers. Since Guix users know in ad= vance the hash of the data they want, downloading from peers has no securit= y implications (and privacy can be done trough proxies). =20 What I want to build I have a fascination for peer-to-peer tech and I am constantly looking for = the innovative new tech in this area (Bitcoin, Ethereum, etc). Less than a = year ago I discovered IPFS, a project that takes the best ideas from BitTor= rent and Git to create a simple and elegant protocol.=20 IPFS allows one to find who has a piece of content and is ready to share it= , when knowing only the content=E2=80=99s hash. Content is added in a repro= ducible manner and deduplication can be added via Merkle trees. IPFS is als= o content-agnostic, one could serve Guix=E2=80=99s programs without even ru= nning Guix. It would also be possible to share text or video documentation = using IPFS.=20 This could allow the community to chip in to Guix success more easily. Publ= ishing the content of one=E2=80=99s store for anyone to download will be po= ssible. Looking at GNU/Linux distributions=E2=80=99 torrents, everyone seed= s to help the community. It is very likely people will want to do the same = for Guix.=20 This adds no restriction on how a chain of trusts of key contributor to the= project can be built. When a way of building consensus on a package=E2=80= =99s hash (maybe via an Ethereum smart contract) will be build, everything = will be in place for a serverless and fully auditable OS.=20 What I will do before the summer There is currently a free implementation of the IPFS protocol written in go= and another one in Javascript underway. I will package them for Guix and a= dd them to the repository. This will be a great way to familiarize myself w= ith the codebase.=20 Lisp looks interesting having done some Haskell. I will make sure I am comf= ortable with it. What I will do during the first half of the summer I will add the option to fetch content via IPFS instead of via HTTP. Guix w= ill spawn an IPFS daemon and run it in a container. I will build it in a wa= y that it will not be a hard dependency, as it is preferable in some cases = to use a client-server architecture, and the code I will write will handle = without problems the absence of an IPFS client. I will also make sure this = can run with any of IPFS free implementation. What I will do during the second half of the summer=20 I will made the publish command also spawn an IPFS daemon and publish every= thing available in the store. I will also be there if the Hydra build farm = runs into any problem with this new code. There will be a option to turn it= off at any time, and statitstics will be made available, ex: how much band= width has been used, what are the most requested packages, etc.=20 I will look into making the data storage efficient by making the IPFS daemo= n not copy everything in its own data store.=20 Stretch goals If everything goes better than expected and everything works beautifully be= fore the end of the summer, I have the following stretch goals in mind:=20 A GPL=E2=80=99ed IPFS implementation in Lisp Packaging more free software for Guix Who I am=20 My name is Vincent Cloutier and I am a french speaking developper in Qu=C3= =A9bec. I am currently in c=C3=A9gep (https://en.wikipedia.org/wiki/CEGEP).= =20 I started programming when I was very young. My father started showing me s= ome python when I was 8, and I have not stopped programming since. I worked= in python for a few years - I was fascinated by infinite loops until I was= 9 - then I switched to Perl for a while (where I tried to make chatbots), = and then to PHP that I continue to use to this day. I also do haskell compe= titions for fun here (https://www.codingame.com/profile/8ee4bb16e866d398775= fa5bc545e426e2789121), though I am not good at it yet. I already contribute to free software. I made ipfs.pics with a friend. It i= s a picture sharing website that uses the P2P IPFS technology. I did a juni= or job on Owncloud two years ago (https://github.com/owncloud/core/pull/110= 29) to see what a big open source project looked like. I used Sagemath clou= d on my chromebook for school and made two pull requests (https://github.co= m/sagemathinc/smc/pull/52 and https://github.com/sagemathinc/smc/pull/53) t= o improve the UI on small screens. A couple of years ago I realized that every tool I had learn and everything= that I tinkered with was free and open source software. Almost everything = I achieved with computers was because of people who shared their knowledge = and technologies and I want to contribute back.=20 ------=_Part_7320_842491214.1458598749673 Content-Type: application/vnd.oasis.opendocument.text; name="GSoC guix.odt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="GSoC guix.odt" UEsDBBQAAAgAACYEdUhexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz aXMub3BlbmRvY3VtZW50LnRleHRQSwMEFAAACAAAJgR1SCPLFWnEHQAAxB0AABgAAABUaHVtYm5h aWxzL3RodW1ibmFpbC5wbmeJUE5HDQoaCgAAAA1JSERSAAAAxgAAAQAIAwAAAN+D+XIAAACNUExU RQAAABcXFyIiIioqKjMzMzs7O0NDQ0xMTFJSUlxcXGJiYmtra3Nzc3x8fIODg4uLi5OTk5ubm6Oj o6urq7Ozs7y8vKCgz6Oj0Kur1bCw17S02b6+3sPDw8vLy8DA39PT09vb28TE4cvL5NDQ59PT6dvb 7OPj4+vr6+Tk8erq9PPz8/T0+f7+/gAAAP///31AnDMAABzySURBVHja7V0Ndxynks3uJo79pJkG qmpfTkwdsE8CCY////v2XnokWbbkSI4dx5seSaP+oOmuhlsfVFF8N/9ffL47yDjIOMg4yDjIOMg4 yDjIOMg4yDjIOMg4yDjI+OhnjAcOlj59PLWG2r8+GZvHMfHQfV4ee1zhT3ymXEDh6GNRym9+lb3c O0fmyMqNMZxvZLSvQYbr7P103U8nqZcjlud5y+dNQtTz+VxnOZ9DzNu5Xdnc8mYCUkPethDKlcyT 5Xjy63kl15pOUcPXIKPFCRrO81Sv0TuytSl2HpsafoOU05YGysRXhiceJwmhncf1qZx9O+u11jPI vsp2iq/miQSdJJWv0qnM4oyhbCr7/RveeEvRU5SoOVyd4mzX4to1941tZWy2f6WeSra+jWkx25ZC 3zqJT9fXf0dOtanOsn3AFq4eK58+c6ca91jQGOPbZLilq5VaWykld3R67dhTb9W/LbmBrotPDQmc J6ML5/WTTL8xMoaa5QZSShumWjI+WoodyshXJuP3/8z5n2+SjF/fvv71l/nmt7dvf3375s1Pv7/9 +fdff/315ze//fpm/vL722+GjH+/fv367W8//e/r129e//Tm59/wj59/v/55vgZp30qnwlP//Nub X17//PbNv3/65bc3P//y5u1rfP/y+jf8/P6ttMbrywfk/PT6Z/5/8/ru8+vBqQ4yDjIOMg4yPhcZ WVtYdseN/fFtkqEv+4tg+UXaavCgL79NMpq80pc/yvmHFOyH86vy6lu1/jyrF9h9uavD7hgHxA8y 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 hhh7jlX69qrlqG/pGdlQdgVqHxug9k2Mz4xnDcMSnz1DtEzrNnVzDj+WfLE8p4iiSGwfO1UbfgEl 25ozOUokzZkee6LdJAE1nP1DHDlCza0nTz0rmRlbdT2xpdYfUG1B2Hb/+YNRhqApOjzZscTDEEe+ PmyoRiQTA2ChH8QmSlHt7RSY/ZxgooLTdVhb0Ljsqpsmzy6TAeRuzRREz682YwrRcVq/ux2m2NOU IDfkJ4DvoJBS/YssF1NbbXc0kAotcvqyo6n7csC1jw6dHW+TUjJEAoT/L7Ddd0M117jqcMnU9rid ZYytpM/wN1kqK09fJjsP+EBJEvJHIQwlURrxmY9wkaMx4n4mnF6tNer12tWJJ4YTsxWgH/Ee5iwR PjJth4S0UeYfqJy4eLcZQ+U7MRjv+kj5ab7HRzSfE234fGsLST9xs3xgMmGiY3czPcTMuRyDBmOh 2DZG2XmVJKAd5n0omp+ZnhRaxGR4QJ25gjtRmw2QhWNiMZTiDdTLilmXxXaH3LI/YVEPpR2R/reA FTsUo9n90GnYb7KgPSpo6xexvRM9T4puVSR83Bajl739XV98xcFepl/XMayrkn4g4A74q29+SlfN +5Fh619QSwcIb9WvrB0GAACmKAAAUEsDBBQAAAgAACYEdUgAAAAAAAAAAAAAAAAaAAAAQ29uZmln dXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAACAAAJgR1SAAAAAAAAAAAAAAAABoAAABDb25maWd1 cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAAAmBHVIAAAAAAAAAAAAAAAAHwAAAENvbmZpZ3Vy YXRpb25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAAJgR1SAAAAAAAAAAAAAAAABoAAABDb25m aWd1cmF0aW9uczIvdG9vbHBhbmVsL1BLAwQUAAgICAAmBHVIAAAAAAAAAAAAAAAAJwAAAENvbmZp Z3VyYXRpb25zMi9hY2NlbGVyYXRvci9jdXJyZW50LnhtbAMAUEsHCAAAAAACAAAAAAAAAFBLAwQU AAAIAAAmBHVIAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAwQUAAAI AAAmBHVIAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9tZW51YmFyL1BLAwQUAAAIAAAm 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 AABTSgAAAAA= ------=_Part_7320_842491214.1458598749673-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: [GSoC] Draft of my proposition Date: Tue, 22 Mar 2016 23:17:25 -0700 Message-ID: <87fuvhvhu2.fsf@gmail.com> References: <87h9g09nrr.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aic6q-0005Rq-Uc for guix-devel@gnu.org; Wed, 23 Mar 2016 02:17:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aic6n-00076n-L2 for guix-devel@gnu.org; Wed, 23 Mar 2016 02:17:36 -0400 Received: from mail-pf0-x231.google.com ([2607:f8b0:400e:c00::231]:36653) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aic6n-00076i-9b for guix-devel@gnu.org; Wed, 23 Mar 2016 02:17:33 -0400 Received: by mail-pf0-x231.google.com with SMTP id u190so11625268pfb.3 for ; Tue, 22 Mar 2016 23:17:33 -0700 (PDT) In-Reply-To: (vincent@cloutier.co's message of "Mon, 21 Mar 2016 22:19:09 +0000 (GMT)") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: vincent@cloutier.co Cc: Guix Devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable writes: > Since Guix users know in advance the hash of the data they want, > downloading from peers has no security implications (and privacy can > be done trough proxies). How will trust work in the IPFS world? I think maybe you touch on this when you later mention "building consensus on a package=E2=80=99s hash", bu= t it wasn't entirely clear to me. My understanding is that because Guix uses a cryptographic hash function, it's true that if you have some data, you know the expected hash value of that data, and the computed hash value of the data matches the expected hash value, then you can be confident that the data hasn't been corrupted or tampered with. However, how do you know the expected hash value was correct to begin with? How can you trust it? Currently, I believe that Guix handles trust by refusing to use substitutes that are not signed by a trusted key. The substitutes built and vended by hydra.gnu.org are signed with Hydra's key, and users of Guix must trust Hydra's key in order to use Hydra's substitutes. > I have a fascination for peer-to-peer tech and I am constantly looking > for the innovative new tech in this area (Bitcoin, Ethereum, > etc). Less than a year ago I discovered IPFS, a project that takes the > best ideas from BitTorrent and Git to create a simple and elegant > protocol. > > IPFS allows one to find who has a piece of content and is ready to > share it, when knowing only the content=E2=80=99s hash. Content is added = in a > reproducible manner and deduplication can be added via Merkle > trees. IPFS is also content-agnostic, one could serve Guix=E2=80=99s prog= rams > without even running Guix. It would also be possible to share text or > video documentation using IPFS. This is a very compelling idea! Thank you for sharing it; IPFS is new to me, and it looks intriguing. I understand that in the past, R=C3=A9mi Birot-Delrue did some work on a similar project to enable publication of packages over GNUnet: https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00022.html Although progress was made, I don't think the project to publish packages over GNUnet was fully completed. This seems to be the last email thread from R=C3=A9mi: https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00455.html Have you considered picking up where R=C3=A9mi left off? Even if you choose not to use GNUnet instead of IPFS, perhaps R=C3=A9mi's prior work can help you as you work on your project. > A couple of years ago I realized that every tool I had learn and > everything that I tinkered with was free and open source > software. Almost everything I achieved with computers was because of > people who shared their knowledge and technologies and I want to > contribute back. That's fantastic! Thank you for stepping up and helping. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJW8jT4AAoJEN1AmhXYIkad1vYQAJfTRijvQyw7h/co9Q3PYGe/ AAdPuRkQff3iC/5XKKM6QyUgTx4DqHJmXQZIkEXiRzEZN2slsnWRa9jx7fxlKpZW Oi1lCml261vCPqaEq/9AIEDsp2Gx0so56hdAJcnFkNm9BMob9zM0c7xiLywBp1pu KCeT6HpL0PVbOsMqsZb2RL1kMq6Jhd8Sg4Aw0iz0jxGoLjuBmGREZTEh9BQCnVa1 oBP+rJicTe0SUMsFebWj1C+VfwC5El5UiaHtMgxrmpx0Fv6UcHWBZlLTNQMinwuY hFm90IIQ9guNv49+eJrNaK/3fFdW49HN/bCvx/4jVF+iMkPfqRTV+305CmVbgCl4 OFp9G1ayj7UjtMz+Eb05LZaOyKBq1VJ6sHCqiQcn354CTgfrmZ3rfGzv3crgSE2s muezF6hB8ufbuevcet2fYfGLtdpiu2IfmvQPkBKgpvZfu48Esy30YVvclsEItDQR b2kMPCW5r8Na8silqiy9QTlbamfTP7y2qRzQrYjifCFlJ9PXQAav8u3blotYltbP jibSoUYDuu0GzexDtPJ2SHSk4nNHz0DbfCpitz1qq0BMExLYv+lK2EKPaQaq5yJg lLzU6auvt38MLdQ/YA3jWsIwGuEF/N2I3n6mu5/sekCrHQIt9Nxc/iYi26p04Rll CkTC9W9zR13UUQaGymX1 =c0AG -----END PGP SIGNATURE----- --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?R=C3=A9mi?= Birot-Delrue Subject: Re: [GSoC] Draft of my proposition Date: Wed, 23 Mar 2016 21:33:25 +0100 Message-ID: <87fuvhq6i9.fsf@free.fr> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51188) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aipc3-0001mG-SZ for guix-devel@gnu.org; Wed, 23 Mar 2016 16:42:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aipby-0000R4-ST for guix-devel@gnu.org; Wed, 23 Mar 2016 16:42:43 -0400 Received: from smtp5-g21.free.fr ([212.27.42.5]:37365) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aipby-0000Qv-Kq for guix-devel@gnu.org; Wed, 23 Mar 2016 16:42:38 -0400 In-reply-to: <87fuvhvhu2.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: vincent@cloutier.co, Guix Devel Hello! > Have you considered picking up where R=C3=A9mi left off? Even if you c= hoose > not to use GNUnet instead of IPFS, perhaps R=C3=A9mi's prior work can h= elp > you as you work on your project. Our work last summer around sharing packages through a P2P network was tied to GNUnet=E2=80=99s architecture, but surely adaptable to any other = system: as described last year on this mailing list, one would publish packages under a specific identity (=3D gpg key couple) and anyone, given the identity=E2=80=99s public key, would be able to fetch the shared packages= . It goes well with Guix because everything is gpg signed, is it similar in IPFS? GNUnet and IPFS seem to share some concepts (immutability, peer identity/namespace) but IPFS is less mature: for instance, there=E2=80=99= s a priori no way to search a file. You might hit the same difficulties I=E2=80= =99ve encountred: unstable API, bugs, inaccurate or inexisting documentation. Anyway, IPFS=E2=80=99s hyperlinked nature could be great t= o handle multiple versions of a package. Work on this matter can only enrich our/my comprehension of the subject, please feel free to contact me for any question :) --=20 R=C3=A9mi From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jookia <166291@gmail.com> Subject: Re: [GSoC] Draft of my proposition Date: Thu, 24 Mar 2016 08:29:24 +1100 Message-ID: <20160323212924.GA15238@novena-choice-citizen.lan> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> <87fuvhq6i9.fsf@free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <166291@gmail.com>) id 1aiqQP-0003WE-FB for guix-devel@gnu.org; Wed, 23 Mar 2016 17:34:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <166291@gmail.com>) id 1aiqQL-00049Q-Dd for guix-devel@gnu.org; Wed, 23 Mar 2016 17:34:45 -0400 Received: from mail-lf0-x232.google.com ([2a00:1450:4010:c07::232]:36511) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <166291@gmail.com>) id 1aiqQL-00049C-6Z for guix-devel@gnu.org; Wed, 23 Mar 2016 17:34:41 -0400 Received: by mail-lf0-x232.google.com with SMTP id d82so21051111lfe.3 for ; Wed, 23 Mar 2016 14:34:39 -0700 (PDT) Content-Disposition: inline In-Reply-To: <87fuvhq6i9.fsf@free.fr> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?iso-8859-1?Q?R=E9mi?= Birot-Delrue Cc: Guix Devel On Wed, Mar 23, 2016 at 09:33:25PM +0100, Rémi Birot-Delrue wrote: > GNUnet and IPFS seem to share some concepts (immutability, peer > identity/namespace) but IPFS is less mature: for instance, there’s a > priori no way to search a file. You might hit the same difficulties I’ve > encountred: unstable API, bugs, inaccurate or inexisting > documentation. Anyway, IPFS’s hyperlinked nature could be great to > handle multiple versions of a package. Another issue with IPFS is that it's not anonymous. I've spent a few times trying to get it to work with Tor but it absolutely hates proxies, and putting strain on the Tor network like that is generally a bad idea. With such a system like this, people, organizations or companies using Guix could have their Guix version (thus all of the packages, patches, etc) found by analyzing a few substitutes being fetched over the network, much worse than traditional distros. > Work on this matter can only enrich our/my comprehension of the subject, > please feel free to contact me for any question :) > -- > Rémi Jookia. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: Re: [GSoC] Draft of my proposition Date: Wed, 23 Mar 2016 22:37:27 +0000 (GMT) Message-ID: References: < (vincent@cloutier.co's message of "Mon, 21 Mar 2016 00:40:12 +0000 (GMT)")> <87h9g09nrr.fsf@gnu.org> < (vincent@cloutier.co's message of "Mon, 21 Mar 2016 22:19:09 +0000 (GMT)")> <87fuvhvhu2.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_29510_775579293.1458772647036" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1airPF-0002Hg-56 for guix-devel@gnu.org; Wed, 23 Mar 2016 18:37:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1airPB-0002aM-O6 for guix-devel@gnu.org; Wed, 23 Mar 2016 18:37:37 -0400 Received: from w1.tutanota.de ([81.3.6.162]:51950) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1airPB-0002Zh-E4 for guix-devel@gnu.org; Wed, 23 Mar 2016 18:37:33 -0400 Received: from localhost (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id A3918FA82C0 for ; Wed, 23 Mar 2016 22:37:30 +0000 (UTC) Received: from w1.tutanota.de ([127.0.0.1]) by localhost (w1.tutanota.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CvYSTYKlNV_s for ; Wed, 23 Mar 2016 22:37:27 +0000 (UTC) Received: from w1.tutanota.de (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 0CB49FA82FC for ; Wed, 23 Mar 2016 22:37:27 +0000 (UTC) In-Reply-To: <87fuvhvhu2.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix Devel ------=_Part_29510_775579293.1458772647036 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 23. Mar 2016 02:17 by cmmarusich@gmail.com: > <> vincent@cloutier.co> > writes: > >> Since Guix users know in advance the hash of the data they want, >> downloading from peers has no security implications (and privacy can >> be done trough proxies). > > How will trust work in the IPFS world? I think maybe you touch on this > when you later mention "building consensus on a package=E2=80=99s hash", = but it > wasn't entirely clear to me. IPFS checks the integrity of the content you download and that's it. You ha= ve=20 to validate in other ways that the content you want has effectively a given= =20 hash. I think it's a very big advantage, because it totally uncouples the p2p=20 sharing from the trust system. Users do not have to agree to be on the same= =20 security scheme. One could configure his system in a way that it will only= =20 download content signed by, let's say the FSF and the EFF, and another user= =20 downloads only when signed by his employers. Both those users will be able = to=20 share the same data with one another, because the data is separated from th= e=20 signature. That's what I meant by "building consensus on a package=E2=80=99s hash", be= cause the=20 community will be able to innovate to build a trust system. :) =C2=A0 > My understanding is that because Guix uses a cryptographic hash > function, it's true that if you have some data, you know the expected > hash value of that data, and the computed hash value of the data matches > the expected hash value, then you can be confident that the data hasn't > been corrupted or tampered with. However, how do you know the expected > hash value was correct to begin with? How can you trust it? =C2=A0 IPFS does not aim to solve the last part.=C2=A0 > Currently, I believe that Guix handles trust by refusing to use > substitutes that are not signed by a trusted key. The substitutes built > and vended by hydra.gnu.org are signed with Hydra's key, and users of > Guix must trust Hydra's key in order to use Hydra's substitutes. Users who trust Hydra will be able do download substitutes from one another= ,=20 if the package is signed by Hydra. This should come as a relief to hydra's= =20 servers! :) I could also add that a package must be signed by the all the user's truste= d=20 substitutes before downloading. >> I have a fascination for peer-to-peer tech and I am constantly looking >> for the innovative new tech in this area (Bitcoin, Ethereum, >> etc). Less than a year ago I discovered IPFS, a project that takes the >> best ideas from BitTorrent and Git to create a simple and elegant >> protocol. >> >> IPFS allows one to find who has a piece of content and is ready to >> share it, when knowing only the content=E2=80=99s hash. Content is added= in a >> reproducible manner and deduplication can be added via Merkle >> trees. IPFS is also content-agnostic, one could serve Guix=E2=80=99s pro= grams >> without even running Guix. It would also be possible to share text or >> video documentation using IPFS. > > This is a very compelling idea! Thank you for sharing it; IPFS is new > to me, and it looks intriguing. I understand that in the past, R=C3=A9mi > Birot-Delrue did some work on a similar project to enable publication of > packages over GNUnet: > > https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00022.html > > Although progress was made, I don't think the project to publish > packages over GNUnet was fully completed. This seems to be the last > email thread from R=C3=A9mi: > > https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00455.html > > Have you considered picking up where R=C3=A9mi left off? Even if you cho= ose > not to use GNUnet instead of IPFS, perhaps R=C3=A9mi's prior work can hel= p > you as you work on your project. I think IPFS simpler and more stable API is a must. But I will definitely b= e=20 looking into reusing parts of his code, either for IPFS or making it usable= =20 for both. I could be an interesting stretch goal. >> A couple of years ago I realized that every tool I had learn and >> everything that I tinkered with was free and open source >> software. Almost everything I achieved with computers was because of >> people who shared their knowledge and technologies and I want to >> contribute back. > > That's fantastic! Thank you for stepping up and helping. Thanks to you for making it possible :) - Vincent ------=_Part_29510_775579293.1458772647036 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


23. Mar 2016 02:17 by cmmarusich@gmail.com:

<vincent@cloutier.co> writes:
Since Gui= x users know in advance the hash of the data they want,
downloading fr= om peers has no security implications (and privacy can
be done trough = proxies).

How will trust work in the IPFS world? I think= maybe you touch on this
when you later mention "building consens= us on a package=E2=80=99s hash", but it
wasn't entirely clear to = me.


IPFS checks the integrity of the content yo= u download and that's it. You have to validate in other ways that the conte= nt you want has effectively a given hash.


I think= it's a very big advantage, because it totally uncouples the p2p sharing fr= om the trust system. Users do not have to agree to be on the same security = scheme. One could configure his system in a way that it will only download = content signed by, let's say the FSF and the EFF, and another user download= s only when signed by his employers. Both those users will be able to share= the same data with one another, because the data is separated from the sig= nature.


That's what I meant by "building con= sensus on a package=E2=80=99s hash", because the community will be abl= e to innovate to build a trust system. :)

 

My understanding is that because Guix = uses a cryptographic hash
function, it's true that if you have some da= ta, you know the expected
hash value of that data, and the computed ha= sh value of the data matches
the expected hash value, then you can be = confident that the data hasn't
been corrupted or tampered with. Howev= er, how do you know the expected
hash value was correct to begin with?= How can you trust it?

 

IPFS does not aim to s= olve the last part. 


Currently, I believe that Guix handles trust by refusing to= use
substitutes that are not signed by a trusted key. The substitute= s built
and vended by hydra.gnu.org are signed with Hydra's key, and u= sers of
Guix must trust Hydra's key in order to use Hydra's substitute= s.


Users who trust Hydra will be able do downlo= ad substitutes from one another, if the package is signed by Hydra. This sh= ould come as a relief to hydra's servers! :)


I could als= o add that a package must be signed by the all the user's trusted substitut= es before downloading.


I have a fascination for peer-to-peer tech and I = am constantly looking
for the innovative new tech in this area (Bitcoi= n, Ethereum,
etc). Less than a year ago I discovered IPFS, a project t= hat takes the
best ideas from BitTorrent and Git to create a simple an= d elegant
protocol.

IPFS allows one to find who has a piece= of content and is ready to
share it, when knowing only the content=E2= =80=99s hash. Content is added in a
reproducible manner and deduplicat= ion can be added via Merkle
trees. IPFS is also content-agnostic, one = could serve Guix=E2=80=99s programs
without even running Guix. It woul= d also be possible to share text or
video documentation using IPFS.
This is a very compelling idea! Thank you for sharing it; = IPFS is new
to me, and it looks intriguing. I understand that in the = past, Rémi
Birot-Delrue did some work on a similar project to e= nable publication of
packages over GNUnet:

https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00022.html<= /a>

Although progress was made, I don't think the project to pub= lish
packages over GNUnet was fully completed. This seems to be the l= ast
email thread from Rémi:

h= ttps://lists.gnu.org/archive/html/guix-devel/2015-08/msg00455.html

Have you considered picking up where Rémi left off? Even if = you choose
not to use GNUnet instead of IPFS, perhaps Rémi's pr= ior work can help
you as you work on your project.


I think IPFS simpler and more stable API is a must. But I will def= initely be looking into reusing parts of his code, either for IPFS or makin= g it usable for both. I could be an interesting stretch goal.

<= br />

A couple of = years ago I realized that every tool I had learn and
everything that I= tinkered with was free and open source
software. Almost everything I = achieved with computers was because of
people who shared their knowled= ge and technologies and I want to
contribute back.

T= hat's fantastic! Thank you for stepping up and helping.

Thanks to you for making it possible :)



- Vincent

------=_Part_29510_775579293.1458772647036-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: Re: [GSoC] Draft of my proposition Date: Wed, 23 Mar 2016 22:45:05 +0000 (GMT) Message-ID: References: < (vincent@cloutier.co's message of "Mon, 21 Mar 2016 00:40:12 +0000 (GMT)")> <87h9g09nrr.fsf@gnu.org> < (vincent@cloutier.co's message of "Mon, 21 Mar 2016 22:19:09 +0000 (GMT)")> <87fuvhvhu2.fsf@gmail.com> <<87fuvhvhu2.fsf@gmail.com>> <87fuvhq6i9.fsf@free.fr> <<87fuvhq6i9.fsf@free.fr>> <20160323212924.GA15238@novena-choice-citizen.lan> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_29566_272526965.1458773105261" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51351) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1airWZ-0003Sc-Ev for guix-devel@gnu.org; Wed, 23 Mar 2016 18:45:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1airWW-0003rE-44 for guix-devel@gnu.org; Wed, 23 Mar 2016 18:45:11 -0400 Received: from w1.tutanota.de ([81.3.6.162]:60793) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1airWV-0003qo-Ql for guix-devel@gnu.org; Wed, 23 Mar 2016 18:45:08 -0400 Received: from localhost (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 3CE02FA82F9 for ; Wed, 23 Mar 2016 22:45:07 +0000 (UTC) Received: from w1.tutanota.de ([127.0.0.1]) by localhost (w1.tutanota.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7udJ6sloW439 for ; Wed, 23 Mar 2016 22:45:05 +0000 (UTC) Received: from w1.tutanota.de (unknown [127.0.0.1]) by w1.tutanota.de (Postfix) with ESMTP id 419B4FA830C for ; Wed, 23 Mar 2016 22:45:05 +0000 (UTC) In-Reply-To: <20160323212924.GA15238@novena-choice-citizen.lan> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix Devel ------=_Part_29566_272526965.1458773105261 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 23. Mar 2016 17:29 by 166291@gmail.com: > On Wed, Mar 23, 2016 at 09:33:25PM +0100, R=C3=A9mi Birot-Delrue wrote: >> GNUnet and IPFS seem to share some concepts (immutability, peer >> identity/namespace) but IPFS is less mature: for instance, there=E2=80= =99s a >> priori no way to search a file. You might hit the same difficulties I=E2= =80=99ve >> encountred: unstable API, bugs, inaccurate or inexisting >> documentation. Anyway, IPFS=E2=80=99s hyperlinked nature could be great = to >> handle multiple versions of a package. > > Another issue with IPFS is that it's not anonymous. I've spent a few time= s > trying to get it to work with Tor but it absolutely hates proxies, and=20 > putting > strain on the Tor network like that is generally a bad idea. I want to add IPFS as an option, not as the only way to download stuff. It= =20 might be better for privacy-conscious people to use http over Tor.=C2=A0 > With such a system > like this, people, organizations or companies using Guix could have their= =20 > Guix > version (thus all of the packages, patches, etc) found by analyzing a few > substitutes being fetched over the network, much worse than traditional= =20 > distros. > A company or any large install could run IPFS/Guix in a LAN, with a build= =20 server, which would bring *huge* performance gains while being private. ------=_Part_29566_272526965.1458773105261 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


23. Mar 2016 17:29 by 166291@gmail.com:

On Wed, Mar 23, 2016 at 09:33:25PM +0100, Rémi Bi= rot-Delrue wrote:
GNUnet and IPFS seem to share some concepts (i= mmutability, peer
identity/namespace) but IPFS is less mature: for ins= tance, there=E2=80=99s a
priori no way to search a file. You might hit= the same difficulties I=E2=80=99ve
encountred: unstable API, bugs, in= accurate or inexisting
documentation. Anyway, IPFS=E2=80=99s hyperlink= ed nature could be great to
handle multiple versions of a package.
Another issue with IPFS is that it's not anonymous. I've spe= nt a few times
trying to get it to work with Tor but it absolutely hat= es proxies, and putting
strain on the Tor network like that is general= ly a bad idea.


I want to add IPFS as an option= , not as the only way to download stuff. It=20 might be better for privacy-conscious people to use http over Tor. 


With such a = system
like this, people, organizations or companies using Guix could = have their Guix
version (thus all of the packages, patches, etc) found= by analyzing a few
substitutes being fetched over the network, much w= orse than traditional distros.


A company = or any large install could run IPFS/Guix in a LAN, with a build server, whi= ch would bring *huge* performance gains while being private.

------=_Part_29566_272526965.1458773105261-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jookia <166291@gmail.com> Subject: Re: [GSoC] Draft of my proposition Date: Thu, 24 Mar 2016 10:11:53 +1100 Message-ID: <20160323231153.GA16753@novena-choice-citizen.lan> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> <87fuvhvhu2.fsf@gmail.com> <87fuvhq6i9.fsf@free.fr> <87fuvhq6i9.fsf@free.fr> <20160323212924.GA15238@novena-choice-citizen.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57141) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <166291@gmail.com>) id 1airzM-0002rr-UY for guix-devel@gnu.org; Wed, 23 Mar 2016 19:14:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <166291@gmail.com>) id 1airzI-0002hc-Gn for guix-devel@gnu.org; Wed, 23 Mar 2016 19:14:56 -0400 Received: from mail-wm0-x234.google.com ([2a00:1450:400c:c09::234]:36767) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <166291@gmail.com>) id 1airzI-0002hW-9X for guix-devel@gnu.org; Wed, 23 Mar 2016 19:14:52 -0400 Received: by mail-wm0-x234.google.com with SMTP id r129so155995009wmr.1 for ; Wed, 23 Mar 2016 16:14:52 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: vincent@cloutier.co Cc: Guix Devel On Wed, Mar 23, 2016 at 10:45:05PM +0000, vincent@cloutier.co wrote: > I want to add IPFS as an option, not as the only way to download stuff. It > might be better for privacy-conscious people to use http over Tor.  Perhaps, though I think it's worth thinking about if this issue is solvable for now. If an IPFS implementation is widely used and solves a lot of load issues, I can see it becoming the most commonly used option with tools relying on this functionality, especially for people running their own build servers and only using IPFS. Once in to the situation that a tool works for most people and it becomes a defacto standard it's very hard to get people to use other tools, especially if it would mean we'd end up running three networks: HTTP, IPFS and whatever p2p option there is that both Tor users and non-Tor users can use. > A company or any large install could run IPFS/Guix in a LAN, with a build > server, which would bring *huge* performance gains while being private. Why would they need IPFS in LAN if they have a build server? Jookia. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: [GSoC] Draft of my proposition Date: Thu, 24 Mar 2016 09:32:21 +0200 Message-ID: <20160324073221.GA16131@debian-netbook> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> <87fuvhvhu2.fsf@gmail.com> <87fuvhq6i9.fsf@free.fr> <87fuvhq6i9.fsf@free.fr> <20160323212924.GA15238@novena-choice-citizen.lan> <20160323231153.GA16753@novena-choice-citizen.lan> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="WIyZ46R2i8wDzkSu" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39836) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aizks-0001Eh-I3 for guix-devel@gnu.org; Thu, 24 Mar 2016 03:32:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aizkn-00056O-Ie for guix-devel@gnu.org; Thu, 24 Mar 2016 03:32:30 -0400 Received: from flashner.co.il ([178.62.234.194]:59140) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aizkn-00056K-Br for guix-devel@gnu.org; Thu, 24 Mar 2016 03:32:25 -0400 Content-Disposition: inline In-Reply-To: <20160323231153.GA16753@novena-choice-citizen.lan> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Jookia <166291@gmail.com> Cc: Guix Devel --WIyZ46R2i8wDzkSu Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Mar 24, 2016 at 10:11:53AM +1100, Jookia wrote: > On Wed, Mar 23, 2016 at 10:45:05PM +0000, vincent@cloutier.co wrote: > > I want to add IPFS as an option, not as the only way to download stuff.= It > > might be better for privacy-conscious people to use http over Tor.=C2=A0 >=20 > Perhaps, though I think it's worth thinking about if this issue is solvab= le for > now. If an IPFS implementation is widely used and solves a lot of load is= sues, I > can see it becoming the most commonly used option with tools relying on t= his > functionality, especially for people running their own build servers and = only > using IPFS. Once in to the situation that a tool works for most people an= d it > becomes a defacto standard it's very hard to get people to use other tool= s, > especially if it would mean we'd end up running three networks: HTTP, IPF= S and > whatever p2p option there is that both Tor users and non-Tor users can us= e. >=20 > > A company or any large install could run IPFS/Guix in a LAN, with a bui= ld > > server, which would bring *huge* performance gains while being private. >=20 > Why would they need IPFS in LAN if they have a build server? >=20 > Jookia. They could have one machine in front as a build/cache server that the other machines connect to --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --WIyZ46R2i8wDzkSu Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJW85gFAAoJEPTB05F+rO6Trz8P/ireABoZqlfinhPFGCiQXoQO mDiwpuNNzVyNBmM0ugWgp3AgPxX+sS035ROSmSRBXuA5yjMDRZVr8bJqt1ib++1+ McRf8MVTTkEvhQPc97y43R9LIPiXp3BqKSkFaSBgCNJ2gcbkxhz16T1M4Sy6z6Tp r8/wOBGKJ4xxkiQpXReGBaArBrhZmT2Lal7o2m/Lu6S7kFqng0gstorN9/mER0gd CKzONOUWz/teooncyaOsa4LzOMJ+UWjVdyE0ITPNGKmqMm9vg1g+S5SPSwIf5GM1 yKB/PeEcefWkOgwcxbX0iT5LOW+o4KsVV8MRhGCYwWD3S1P/6BuC5Jx7bUzy5DiJ Jtok6HDi6IhgZJKIC8PS4NRt1PkQsmcTKZu7S7/Ed6KUsG9KvsYWbKrYCcYypBaj pz8nqJ6rT276WhrpE94sqr1VCkm12IqkTrPdY39tuyAD7yzohguGtVK5FWFH81JZ NznoDLzVVKgrklIcqcXuie2bpHmrCOwimM2AS/IQmIWgp3aAHDOBQSZ84NnvKb+B sfyioQHFEnnG/BVACNdKZRPkLPeBYui+5Jp7/Cum3e6gEc+yz9Fdv8xGWqdgpm+I e9MJHPVhyTM5bQ8ELuVC+vNX+XBj9HZCgJBET/BuBi4aXqVvxc4Rp0e0Dn+slMo9 sqq8Ovexyhic2jOk+kvM =Ez4Z -----END PGP SIGNATURE----- --WIyZ46R2i8wDzkSu-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [GSoC] Draft of my proposition Date: Fri, 25 Mar 2016 14:24:03 +0100 Message-ID: <87k2kqofm4.fsf@gnu.org> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34251) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajRil-0005fP-4U for guix-devel@gnu.org; Fri, 25 Mar 2016 09:24:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajRih-0005bT-UI for guix-devel@gnu.org; Fri, 25 Mar 2016 09:24:11 -0400 In-Reply-To: (vincent@cloutier.co's message of "Wed, 23 Mar 2016 22:37:27 +0000 (GMT)") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: vincent@cloutier.co Cc: Guix Devel Salut Vincent, skribis: > 23. Mar 2016 02:17 by cmmarusich@gmail.com: [...] >> This is a very compelling idea! Thank you for sharing it; IPFS is new >> to me, and it looks intriguing. I understand that in the past, R=C3=A9mi >> Birot-Delrue did some work on a similar project to enable publication of >> packages over GNUnet: >> >> https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00022.html >> >> Although progress was made, I don't think the project to publish >> packages over GNUnet was fully completed. This seems to be the last >> email thread from R=C3=A9mi: >> >> https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00455.html >> >> Have you considered picking up where R=C3=A9mi left off? Even if you ch= oose >> not to use GNUnet instead of IPFS, perhaps R=C3=A9mi's prior work can he= lp >> you as you work on your project. > > > > > I think IPFS simpler and more stable API is a must. I=E2=80=99m not completely sure and, as Jookia pointed out, the two projects share different goals, with GNUnet allowing for anonymous communications. > But I will definitely be looking into reusing parts of his code, > either for IPFS or making it usable for both. I could be an > interesting stretch goal. I don=E2=80=99t think there=E2=80=99d be much code to reuse. However, past design discussions should probably be taken into account, because some of the questions we had about how to store things, or how to reuse the code and protocols of the existing =E2=80=98guix publish=E2=80= =99 and =E2=80=98guix substitute=E2=80=99 tools is definitely needed. WDYT? Thanks, Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [GSoC] Draft of my proposition Date: Fri, 25 Mar 2016 14:28:20 +0100 Message-ID: <87d1qiofez.fsf@gnu.org> References: <87h9g09nrr.fsf@gnu.org> <87fuvhvhu2.fsf@gmail.com> <87fuvhq6i9.fsf@free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajRms-0006qE-BA for guix-devel@gnu.org; Fri, 25 Mar 2016 09:28:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajRmp-0006DE-2y for guix-devel@gnu.org; Fri, 25 Mar 2016 09:28:26 -0400 In-Reply-To: <87fuvhq6i9.fsf@free.fr> (=?utf-8?Q?=22R=C3=A9mi?= Birot-Delrue"'s message of "Wed, 23 Mar 2016 21:33:25 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?utf-8?Q?R=C3=A9mi?= Birot-Delrue Cc: Guix Devel Hi R=C3=A9mi, Long time no see! :-) How do you view the project you worked on, in hindsight? Would you pick it up and complete it? Cheers, Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederick Muriithi Subject: Re: [GSoC] Draft of my proposition Date: Mon, 21 Aug 2017 13:06:33 +0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1djjbp-0003b4-9u for guix-devel@gnu.org; Mon, 21 Aug 2017 06:07:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1djjbl-0004av-Gv for guix-devel@gnu.org; Mon, 21 Aug 2017 06:07:01 -0400 Received: from mail-lf0-x233.google.com ([2a00:1450:4010:c07::233]:33683) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1djjbl-0004ZW-9F for guix-devel@gnu.org; Mon, 21 Aug 2017 06:06:57 -0400 Received: by mail-lf0-x233.google.com with SMTP id d17so64700555lfe.0 for ; Mon, 21 Aug 2017 03:06:55 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org I am currently looking into IPFS for Guix, and found this thread. I would appreciate anyone pointing me to the work that was done, so that I might figure out what is needed to continue ir. For now, my main focus is to get an IPFS package defined for Guix, that users could use to install IPFS on their machines. -- Frederick M. Muriithi From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [GSoC] Draft of my proposition Date: Mon, 21 Aug 2017 13:19:42 +0200 Message-ID: <87lgmdw4kx.fsf@elephly.net> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1djkkP-0000hT-AH for guix-devel@gnu.org; Mon, 21 Aug 2017 07:19:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1djkkH-0001zq-Re for guix-devel@gnu.org; Mon, 21 Aug 2017 07:19:53 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21039) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1djkkH-0001yz-LC for guix-devel@gnu.org; Mon, 21 Aug 2017 07:19:49 -0400 In-reply-to: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Frederick Muriithi Cc: guix-devel@gnu.org Hi Fred, > I am currently looking into IPFS for Guix, and found this thread. I > would appreciate anyone pointing me to the work that was done, so that > I might figure out what is needed to continue ir. previous work focused on Gnunet. The project ended with initial Guile bindings for Gnunet, IIRC. There has been no work on IPFS. > For now, my main focus is to get an IPFS package defined for Guix, > that users could use to install IPFS on their machines. This seems like a good first step. A close second step could be to write a service definition for GuixSD. Thanks for working on this! -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net