> Просто не в обиду автору до того как кодить что-то неплохо посмотреть
> что на эту тему есть, какие у них подходы, во что
> им это отлилось по итогам, достоинства и недостатки.Повторюсь - я не программист, соответствующего опыта у меня не особо много. Не говоря уж о времени разбирать чужие решения и вникать в чужой код. Это не есть хорошо, но пока ситуация именно такова.
> Насчет либы - об этом лучше думать сразу, на уровне устройства этой
> штуки и всех этапов кодинга. "Потом" - такое не особо делается.
Когда проект задумывался, то я даже приблизительно не представлял, какой будет конечный объём кода, и как это всё будет работать в принципе. Потому что о сетях и их работе я в то время имел самое смутное представление. Многое стало ясно уже в процессе разработки. Поэтому я исходил из принципа: "Сначала сделать, потом сделать, чтобы работало, затем - чтобы работало хорошо". Сейчас проект на этапе "чтобы работало", дальше будет - "чтобы работало хорошо".
> и, ктулху меня упаси, icu, а собирается даже совсем без билдсистемы
> по минимуму как gcc ... *.c.
При работе с текстом от кодировок вы не уйдёте никак. Особенно в кроссплатформенном приложении. Поэтому какая-то замена icu в tox есть однозначно (например icu слинкован статически), какая именно - я не знаю. Было желание написать что-то своё (не потому что "моё лучше", а чтобы была альтернатива - монополизм почти всегда ничем хорошим не заканчивается), поэтому в код tox я не лазил принципиально. Хотя и в курсе, что такой проект есть.
> И как я понял токсеры сделали очень забавное крипто: 32-байтовый DHT ID
> сразу же и публичный ключ, годный для защищенных коммуникаций с назначением.
В случае с Коммунистом всё работает примерно также, если конечно я правильно понял, о чём вы. Только в Коммунисте использован ещё один трюк - "сложение" ключей, чтобы даже сам пользователь не знал, через какие ключи идёт обмен данными.