On Apr  3, 2025, Richard Stallman <r...@gnu.org> wrote:

>> It's not that hard, really.  Jami sets up and shares a GIT repository
>> for each conversation.

> Either we are miscommunicating or I am totally flabbergsted.
> Jami is an ordinary application, right?

Yes

> Does it run as superuser?

There's no need for superuser privileges.

> If not, how can it create a server on your machine

It doesn't.

> that someone else cna contact?

The whole point of a communication platform like Jami is to share data
with others.

It does so by maintaining per-conversation git repos, and using git
synchronization primitives to share messages between peers.

The git sharing primitives are funneled through Jami's own P2P protocol.

When I send you a message through Jami, Jami adds a commit to the local
git repository holding our past conversations, and then it starts trying
to reach out to deliver the message to you, using Jami's protocols.

When it succeeds in finding a machine running a copy of Jami that holds
your id keys, it syncs up the repository on my machine with the
repository on yours, so that you get the messages I sent you, and I get
the messages you sent me.


I hypothesize that this could be used to share code as well, because
AFAIK Jami doesn't really care what kind of data is held in the git
repositories when sharing it.

> I have run Jami on my laptop and it has no DNS hostname.  You can't
> connect to my laptop _at all_,

That's not correct.  Jami records your transient IP address in a
Distributed Hash Table, so that other peers can contact you to send you
messages and invite you to join calls.

> and if it were running a git server, there would be no URL for it.

That's correct.  There's no URL for it that you could throw at a
browser, or even at a standard git program.

But Jami can reach out to other peers' repositories nevertheless.

Plus, git is extensible, and there have been programs that added support
for other protocols to git, so one could refer to repositories with such
addresses as (IIRC) gittorrent://..., git-ssb://..., etc.

Conceivably one could write an extension for git to support the Jami
protocol, or to interact with Jami's local git repositories, so that one
could clone from or push to swarm:// URLs, whether talking to one's own
running copy of Jami, or reaching out to the network at large.

That would be awesome IMHO.

-- 
Alexandre Oliva, happy hacker            https://blog.lx.oliva.nom.br/
Free Software Activist     FSFLA co-founder     GNU Toolchain Engineer
Learn the truth about Richard Stallman at https://stallmansupport.org/

Reply via email to