Я видел, как множество проектов сворачивают свои собственные вещи вместо использования хорошо протестированных библиотек.Роллинг собственного кода вместо использования библиотек, избегая общего подхода
В некоторых других случаях я видел, как люди повторно применяли эллиптические кривые и генераторы случайных чисел, отказываясь использовать проверенные библиотеки, потому что их код «лучше».
Почему люди делают это, предпочитают тратить время на то, чтобы что-то реализовать, вместо того, чтобы использовать что-то, что уже было сделано, протестировано и развернуто во множестве систем?
Например, приложение для обмена сообщениями Android Signal Android имеет полную, полную копию OpenSSL, встроенную в нее для шифрования. Ref Почему бы не использовать BouncyCastle или java.security.*
?
Это вещь эго? Это вещь доверия, т.е. они не доверяют библиотекам?
Существует бесконечные причины, по которым человек может захотеть использовать свое собственное решение против существующего. –