Gerry Agbobada <emacs-orgm...@gagbo.net> writes:
> On Sun, Dec 13, 2020, at 21:23, Jean Louis wrote: >> * TEC <tecos...@gmail.com> [2020-12-13 20:35]: >> > > From a perspective that some server has to know what user is writing >> > > it is advisable to use one own's servers. But if idea gets popular >> > > some company will commercialize it and centralize user's data and >> > > privacy is gone. >> > >> > FYI the nature of LSP (as I understand it) is that the "server" is a >> > locally running service that responds to signals from a "client" (code >> > editor / IDE). >> >> That is how it starts until corporation like Github or somebody else >> takes it over. Just look at Github pattern. Git was decentralized >> system that they centralized for 50 million developers and included >> eye candies that one cannot self-host as one wants. >> > > Hello, > > The "server" in Language Server Protocol is a program that answers to LSP > requests that's all. It could just be a program written in a FOSS licence > (like Palantir pyls > https://github.com/palantir/python-language-server ) that needs to read the > files on your computer in order to answer requests. Data (i.e your org files > on your filesystem) does not need to be centralized for it to work. > > Git was eventually ""centralized"" by github because version control systems > and software forges are based on sharing the data between multiple users, so > someone can (and will) offer the tradeoff to make the sharing easier at the > cost of privacy/freedom etc. > > LSP servers are just file indexers that implement a common protocol to make > writing integrations easier. They are called servers because they are long > running process listening to messages, but really everything could (and most > of the time do) run offline, with file watches over your "project" and > sockets for I/O with clients that run locally > > Good clarification and content. It is important to separate implementations from protocol. LSP is just a protocol to allow an interface between an editor and a service which can provide additional functionality in an editor independent manner. -- Tim Cross