signalapp / libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
GNU Affero General Public License v3.0
3.52k stars 410 forks source link

is there any api documentation for this library #493

Closed demon-bixia closed 1 year ago

demon-bixia commented 1 year ago

Is there any API documentation for this library or an example i can study ? and can this library be used in another application ?

jrose-signal commented 1 year ago

A longstanding lack indeed. I'm going to consolidate this with #152, filed quite a while ago, which talks about some reasons why we haven't had proper documentation (not all of them still relevant). But I would guess the documentation that's needed most is at least moderately high-level, showing how the various APIs work together, rather than the basic "doc comments on every API". And that documentation should be written for all four of libsignal's languages: Java, Swift, TypeScript, and Rust. And Signal is a small org and supporting this library for clients outside of Signal is, I'm afraid, not a top priority.

(Improving the doc comments of the Rust API specifically is tracked in #467, which I'm very grateful to @cosmicexplorer for spearheading even though they don't even work at Signal! I owe them more reviews.)

jrose-signal commented 1 year ago

P.S. Please feel free to ask specific questions in the Development section of the unofficial community forums. It's not a replacement for real documentation but it is there.