From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.devel Subject: Re: Question collaborative editing - Wikipedia reference Date: Tue, 6 Oct 2020 20:32:28 +0300 Message-ID: <20201006173228.GA18043@localhost> References: <20201004175447.GG15516@protected.rcdrun.com> <87362tvnil.fsf@gmail.com> <20201004194815.GH15516@protected.rcdrun.com> <11EB917D-3276-4D34-8DCD-2336E8062950@mit.edu> <20201005040245.GJ15516@protected.rcdrun.com> <20201005084441.GB4453@protected.rcdrun.com> <87zh50lhda.fsf@red-bean.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38924"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.14.2 (2020-05-25) Cc: Ergus , Fermin , Jean Louis , Caio Henrique , Noam Postavsky , Emacs developers , Karl Fogel , Stefan Monnier , Eli Zaretskii To: Qiantan Hong Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 20 13:36:00 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kUpvs-0009zN-05 for ged-emacs-devel@m.gmane-mx.org; Tue, 20 Oct 2020 13:36:00 +0200 Original-Received: from localhost ([::1]:41464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUpvr-0003cy-16 for ged-emacs-devel@m.gmane-mx.org; Tue, 20 Oct 2020 07:35:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54382) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUpoR-0004pG-1A for emacs-devel@gnu.org; Tue, 20 Oct 2020 07:28:19 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:40131) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUpoO-0001bs-Gm; Tue, 20 Oct 2020 07:28:18 -0400 Original-Received: from localhost ([::ffff:41.202.241.51]) (AUTH: PLAIN securesender, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000056167.000000005F8EC9CE.00000AB0; Tue, 20 Oct 2020 04:28:14 -0700 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/20 07:27:48 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: 15 X-Spam_score: 1.5 X-Spam_bar: + X-Spam_report: (1.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_96_XX=3.405, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:258186 Archived-At: * Qiantan Hong [2020-10-06 04:04]: > > But this has 3 main problems. > > > > 1) On one hand such services require some servers (to work like google > > spreadsheet) and need to be provided somehow... something difficult as I > > don't think gnu or fsf have resources to maintain a service like that > > and provide it. Comment on crdt.el in the regard to above quote is that the server is on Emacs, so there need not be and should not be any third party to provide any service to provide service to Emacs, as Emacs is providing server through crdt.el Please look at how Gobby real time simultaneous editor is working, that is very similar now to crdt.el If user have Emacs with public IP address, all such user need to do is to tell the IP address and port and password to the collaborator, they can already connect. If user do not have public IP address but user is behind the router, then such user who connects over network or administrator who is helping users to connect over the network is assumed to have sufficient knowledge how to click few times or setup router to port forward from local network to public network. If user has VPS or dedicated server, then such can use ssh to port forward to the public server, or can use permanent VPN to connect to other collaborators which is anyway best setup. When I say permanent VPN, I mean "private" network and not VPN through third parties. To use VPS, today it is about $5 or less, expenses are not high. And let us not forget that there are many organizations where such collaborative simultaneous editing can take place who need not have any Internet connection, they may have their hotspots for local network or ethernet wire networks. > > 2) On the other hand it will be better if the service is somehow > > distributed in order to give more privacy-security but also to reduce > > the load of the servers... We speak here of editing of a file, not transfer of huge binaries with many users. So there is no expected high load on the server. I cannot possibly understand why should simultaneous real time editing be distributed, maybe you think in similar fashion like Tor is doing it, but that is all definitely not necessary for Emacs to handle. You can handle your routing anyway through Tor, I am sure it will work, and you can route traffic through VPN, SSH and maybe other means. > > I still can't find any infrastructure we can > > use, cause most of the peer-to-peer libraries are for C++, javascript, > > Node.js and so on (example: webrtc). Just on yesterday I found > > n2n... But I am not a web specialist so it requires a lot of > > experimenting time for me. For crdt.el is definitely not needed, just as in Gobby editor is not needed. Collaborators who connect over Internet will have enough networking skills to connect to each other by using methods as I have explained above. Simplest method is ssh, and if any of collaborators have public IP exposed, such could be preferred server, and everybody else could connect to such, by doing simple ssh command with port forwarding, and editing afterwards. > > 3) The other workflow (create a local server for others) is the > > "simplest" approach at the moment. But that is a problem for many use > > cases due to dynamic ip addreses, firewalls, opening ports and so on. It > > is fine for a class room or company, but not for working from home. All solutions for that already exists, see above. > On this topic, I'm considering supporting sending the traffic over > IRC. Seems that it solves all those problem, what do you guys think? I think I feel like "abused" when I hear that. > The process will be that one user create a channel with a random > name, say on freenode.net, then they share the channel name > with other user (maybe via IRC as well!). Others can then join the > channel, and it behaves basically like TCP. To avoid spamming > the same authentication protocol for TCP (to be implemented) can > also work on IRC. The messages from user without authentication > are simply discarded. Please no. :-) Jean