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, 20 Oct 2020 21:21:49 +0300 Message-ID: <20201020182149.GC6994@t400> References: <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> <20201020161557.trl2ehuvcqotag4l@Ergus> 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="9050"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: Qiantan Hong , Fermin , Caio Henrique , Noam Postavsky , Emacs developers , Karl Fogel , Stefan Monnier , Eli Zaretskii To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 26 20:34:11 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 1kX8Ft-00029Y-V8 for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Oct 2020 20:34:10 +0100 Original-Received: from localhost ([::1]:54794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kX8Fs-0002Em-Sn for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Oct 2020 15:34:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57376) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kX885-0001JQ-Pg for emacs-devel@gnu.org; Mon, 26 Oct 2020 15:26:05 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:32847) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kX883-0000v0-LB; Mon, 26 Oct 2020 15:26:05 -0400 Original-Received: from localhost ([::ffff:197.157.0.60]) (AUTH: PLAIN securesender, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000012199.000000005F9722C9.00001209; Mon, 26 Oct 2020 12:26:00 -0700 Content-Disposition: inline In-Reply-To: <20201020161557.trl2ehuvcqotag4l@Ergus> 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/26 15:23:12 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: 30 X-Spam_score: 3.0 X-Spam_bar: +++ X-Spam_report: (3.0 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_96_XX=3.405, RCVD_IN_SORBS_WEB=1.5, 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:258474 Archived-At: * Ergus [2020-10-20 19:16]: > > 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. I am comparing it with Gobby collaborative editor, it works, but it does not say how to connect. Person who invites others to connect, I am assuming, will learn how to do it. With Qiantan we connected together and I was using ssh connection to VPS. > 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... You mean VPN services are blocked. As VPS is just virtual machine running. I think that collaborative editing is first very usable in local area networks, then over Internet. We have to keep in mind that Emacs is installed on multi user computers. The daemon and client model are already well done and I somehow think that multiple users connecting through network to same computer could use emacsclient model to collaborate. It is just not handy or very secure. Now we have crdt.el and it can be used well in local area network. If that is so, users already have IP address. If it is not so, at least one of them has to have IP address exposed to Internet that can expose also the server ports. In gaming world this is very common, even children learn today how to expose or forward ports from inside to the router, and they host gaming servers. > 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. That is all true. Though it will not prevent those who wish to collaborate. If you have particular need, you can tell me, and I may tell you how to connect. > I understand that crdt.el does a good work for local networks, but to > extend it ever internet your solutions are very limited. ssh today is very common, all VPS providers teach people how to connect with SSH and it is not hard. I have enabled TCP forwarding and GatewayPorts on server, and I could -R LOCALPORT:my.example.com:REMOTE-PORT my.example.com already forward the ports to Qiantan, and he could connect. How people connect is quite different subject, that must be left to people to decide, crdt.el cannot do much about it. There are free shell accounts too. > 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. I know my friend in Tacoma, WA, they connect over Wi-Fi to Internet, then they collaborate on Google, that is why I favour collaboration in Emacs, that I can offer him fully free software as solution. You can be connected by local area network, or through wireless local area network, through VPN, through SSH, by using public IP of one of the participants, anything is possible. My suggestions are examples. If you have particular need, you may tell me, I can analyse it and give you few solutions how to connect. > 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... What Gobby editor did for years, now is possible on Emacs. We have simultaneous real-time collaborative editing feature as free software. If it is competitive or not, why? We do not have yet users' requests to know what it has to be competitive. Qiantan is doing good job and have enabled all general options, soon it will be finished. Give me some examples, to what exactly would crdt.el need to be competitive? What I can think of is that somebody can provide service of Emacs collaboration, that would not be hard to do. I would make simple HTML interface, users could launch their session and server would start on specific port and by specific session name, and other users could connect. It is similar like Jitsi, everybody can connect on video call with Jitsi, and somebody is providing a server. If people want they can host it themselves. > > > > 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... OK you tell me your particular case problem and I will tell you how to connect.