libfederation ?
начну пожалуй с небольшого вступления.
View article
View summary
начну пожалуй с небольшого вступления.
федеративные сети у меня вызвали больше технический интерес, было интересно попробовать стянуть себе контэнта с разных серверов, проиндексировать и поискать в нем, можно сказать идея провалилась, т.к. весь существующий софт довольно кривой и имеет разную степень несовместимости между собой, большая часть этого софта еще и жутко тормозит или написана на языках изначально плохо подходящих для таких задач, но на удивление меня почемуто эта тема заинтересовала, да я уже знаю что
@iron_bug уже пишет свою реализацию activitypub протокола и клиента на си, но мне кажется это не совсем правильный подход, во первых с моё скромное мнение такое что activitypub вероятно не лучший протокол для федерации, мне более симпатичны идея стоящие за zot (hubzilla), во вторых лучше пойти путем близким к тому которым идет pleroma - отдельно бэкэнд, отдельно фронтэнд, но в случае плеромы, она это умеет только для себя, я же вижу это как отдельную библиотеку в которой будут реализованы различные протоколы федерации, на данный момент имеет смысл реализовать activitypub, zot и возможно diaspora, либа должна быть на чем то быстром и эфективном, если буду делать я, то это наверно будет c/c++, можно так же рассмаотреть erlang (но я его не умею, но вот софт на нем впечатляет своей эфективностью и стабильностью, и нет я сейчас не о pleroma, а скорее о ejabberd который использую очеь много лет в разных сетях своих и не только)
что касается функционала, помимо эфективной реализации протоколов, нужно унифицированное удобное апи работы с либой, для того чтобы было достаточно просто делать фронтэнд и в целом использовать либу вобще не нагружаясь вопросами сериализации/дэсериализации и сети, нужна ли релазиация работы с бд в самой либе не уверен, надо подумать, возможно так будет проще сделать сериализацию /дэсериализацию, главное не перестараться и не получить в итоге монстра.
english:
//automated translation
I'll start with a little introduction.
Federated networks aroused more technical interest in me, it was interesting to try to pull content from different servers, index and search in it, one might say the idea failed, because all existing software is quite crooked and has varying degrees of incompatibility with each other, most of this software is also terribly slow or is written in languages that are initially poorly suited for such tasks, but surprisingly for some reason this topic interested me, I already know that
@iron_bug already writes its implementation of the activitypub protocol and client in C, but it seems to me that this is not quite the right approach, firstly, with my humble opinion, activitypub is probably not the best protocol for federation, I prefer the idea behind zot (hubzilla) , secondly, it is better to go the way close to that of pleroma - a separate backend, a separate frontend, but in the case of a pleroma, she can only do this for herself, but I see it as a separate library in which various federation protocols will be implemented, at the moment it has meaning to implement activitypub, zot and possibly diaspora, library must be implemented on some fast and efficient language, if I do it, it will probably be c / c ++ , you can also consider erlang (but I don't know how to do it, but the software on it impresses with its efficiency and stability, and no, I'm not talking about pleroma now, but rather about ejabberd, which I have been using for many years in different networks of my own and not only)
As for the functionality, in addition to the effective implementation of the protocols, you need a unified convenient api for working with either, so that it is enough to just make a frontend and, in general, use the lib without being burdened with issues of serialization / deserialization and the network, is it necessary to implement work with the database in the lib itself I'm sure you need to think, maybe it will be easier to make serialization / deserialization this way, the main thing is not to overdo it and not end up with a monster.
#fediverse #activitypub #zot #federation