From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: Question collaborative editing - Wikipedia reference Date: Tue, 20 Oct 2020 18:15:57 +0200 Message-ID: <20201020161557.trl2ehuvcqotag4l@Ergus> References: <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> <20201006173228.GA18043@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16326"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Qiantan Hong , Karl Fogel , Stefan Monnier , Caio Henrique , Eli Zaretskii , Fermin , Noam Postavsky , Emacs developers To: Jean Louis Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 20 18:28:26 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 1kUuUr-000482-UQ for ged-emacs-devel@m.gmane-mx.org; Tue, 20 Oct 2020 18:28:26 +0200 Original-Received: from localhost ([::1]:43784 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUuUq-0005R0-Uw for ged-emacs-devel@m.gmane-mx.org; Tue, 20 Oct 2020 12:28:24 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42578) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUuJB-0005Ai-K5 for emacs-devel@gnu.org; Tue, 20 Oct 2020 12:16:21 -0400 Original-Received: from sonic310-14.consmr.mail.bf2.yahoo.com ([74.6.135.124]:39120) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUuJ6-0006QH-DB for emacs-devel@gnu.org; Tue, 20 Oct 2020 12:16:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1603210573; bh=eMy8fX6k5alYi2zpSa1QDgJuWVKUVIYoWkV6zV18pnk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=Qd9r+GmepTEtmCX6H0GryPECCj0It/TvX78rNXTNvNcvYvPaIatubwvXHqVguKJOzDM6iNWt906jJEBemxVP+mOt/eVSD8dTDlXjUUC2qirzoU+1wDfsNsqDQVXAXTKo2nLtxh0iwhLPKvzEaEHD9Dj5tBo2raIXbLjWoSJMDw5L2VqrZNc7oIHFH8s1topSkiG8kSBFUq6aihKhmLR/+zB4AeSlASvFLQbGBCcKh/Xo2bI/cGXuEbtxwyGyE8ZgY1PHBpgpVP7na/r6pMi3dzhfK1MOw6T9/0AMMv+bShRwfF3p6NY/T8cvg1ewLoWP3xlx6cZXBDTk/OPUiESrhA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1603210573; bh=J3HrXM8mdmHpS3KK4putfVgYDjz57ollQMYFYGuDcf8=; h=Date:From:To:Subject; b=mC+nq6kqJwNIv9OztTkpg/cX1kQp4HvH14UvdE4nWMlleYwnuLbxbXSG4X5PP6HLKtO18z++MfyKF/5BE9tyA6qR1kdCSwlbCj0+Y1wI9MghCj+zHGj5MQV22w5lQJrdCfX92vCx7OGJmzpCVeU1UwfiCq+tzsGmz5oB9ssGwLe4EY5RLpmpnxHm5FxY04AOEcH0pheVqtIyVB+EQFmrFFxojEileAz2Rh5oVfXmIhY/zEdCUGbcfKNazIb3aU2vnAxncyV/3lBW1NCjArIeJF0hLBlm8f/k1Nv+xQkSCxUOlVRmbYMVR2F7ASMmunW9sb/HhAgcfVWEA/tfMBc8aQ== X-YMail-OSG: 7uWe0uYVM1k.xruNTQo5CD7x7gc4bbIBt.rb.drUyjy.Fl8ag_EanVSrT5jeKfN ehwWHkz.gK58ugYV1yDDePFplWIW1OXUaNDK9E6qTkJmf.CxtheCqw8VgXdjPGxaKeWVR1ndhzR3 yfyKIvR09beGv6rfcZTDnhUwo2aEw3IYc5vnKz5gUsG4IrDEp5J_8Z1z6Ovu99lOIuOtQ5FdDikL Sy.3AxGMozHiPbPH25mQpWphB0uhTVC.oalIp5J8oG8I2nxd2zll._Swl2VlFEGMEJHmi3DMSc4A 6zFtQ5Atr0wJFD4IT5Q1H7XtTvIbRuDSIt9CiCyAMD1SwSVvPlOHpSAFEvGvD6Wf70twGDvM6RaE Q37IyatPL3T9NrvpYUmFkWSKnQBarP8HdqM9ML47ZwQDzMgVFMVkrJ6z0XgX1x43rlFOnMiwad.p NnL1z2wmqCiv2SfG6fYL3SvKnez56iZ4u15LH5aTGryjQYuqKzzrp.h_XZ9BhT7H0vJbx8xa6x48 4ld12uKjMgJEmobLT62dm2e5ERcSEFN52b4L.oJPfubz5J7SUOePyqRl.muaM0hzq9ID3uiVeZ.R NipQPXqlJkEpTTXQr4uM70VlYNY_qgymdJlDvAfR_RM5ydBtu3RbcxKhM8OVspSWPZ1yYJlBwwkA J1qRoTvAS7JY4RhhI.azus9wP.vPa2u6jLN54pg2sLbrZ3RxjYeWhPAJcFsKdp._mWd_wvjT5WPZ oAhX2m5bzAeGJgDIQ624krPlM4izfJVZwkV3bPEfjhMI0IM2mPVuE_qPtSN7EvZPs0zMh2oyOP2R IZEq1fSDNcRXUM2nmxooJW9kcb6dX3KZYhuHgcveFO Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.bf2.yahoo.com with HTTP; Tue, 20 Oct 2020 16:16:13 +0000 Original-Received: by smtp424.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 764040828775ff0bef7483ca14f5cbbe; Tue, 20 Oct 2020 16:16:11 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20201006173228.GA18043@localhost> X-Mailer: WebService/1.1.16868 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Received-SPF: pass client-ip=74.6.135.124; envelope-from=spacibba@aol.com; helo=sonic310-14.consmr.mail.bf2.yahoo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/20 10:25:41 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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:258195 Archived-At: On Tue, Oct 06, 2020 at 08:32:28PM +0300, Jean Louis wrote: >* 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. > Not all the users have the skills/knowledge to do this. Even if they do, the most frequent is that they don't have the privileges for that in their network/work/home/ISP to open a port or so. Users with real IP are not common these days. VPS is an option... but do you really think that most users can/want to create a virtual machine create a VPS + VPN and so just to edit a document?... actually in some countries (like mine) the common VPS services are blocked too... >> > 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. > Not Tor. Tor is an onion infrastructure I was referring to the user connections. I explicitly said p2p so, direct communication without needing an permanent intermediate server. Many ISP don't allow you to connect directly or open ports to your home. Some networks have fireworks. Some of them even change your IP every some hours that's why services like noip need a program to ping frequently with updated information. >> > 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. > I understand that crdt.el does a good work for local networks, but to extend it ever internet your solutions are very limited. There is something else needed and what you explained is exactly the kind of things I won't recommend/suggest to any user to do (create a virtual machine, install a vpn, create it, open a port in your router, get an ISP with fix IP...). It is almost like open a tmux session over ssh... will be simpler. Specially with the inexpert users in mind... they can edit easily with many other tools these days (either documents or code). So the idea is to offer something "competitive"... not to challenge their skills and make collaborative editing like a final lever of a complex videogame... >> > 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. > What you mention are not solutions... just workarounds and their complexity (and requirements of skills) just show that some extra work is needed to easy the user experience... >> 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. Why not? >:-) > > >Jean > Ergus