The SDKs are all open source and make use of other open source components:
* Android: https://github.com/firebase/firebase-android-sdk/tree/master/firebase-firestore
* iOS: https://github.com/firebase/firebase-ios-sdk/tree/master/Firestore
* Web: https://github.com/firebase/firebase-js-sdk/tree/master/packages/firestore
For example, the iOS SDK uses LevelDB for local key-value storage and gRPC for communication with the backend.* .NET: https://github.com/googleapis/google-cloud-dotnet/tree/maste...
* Go: https://github.com/googleapis/google-cloud-go/tree/master/fi...
* Java: https://github.com/googleapis/google-cloud-java/tree/master/...
* Node.js: https://github.com/googleapis/nodejs-firestore
* PHP: https://github.com/googleapis/google-cloud-php-firestore
* Python: https://github.com/googleapis/google-cloud-python/tree/maste...
* Ruby: https://github.com/googleapis/google-cloud-ruby/tree/master/...
For example, Cloud Firestore uses TrueTime to provide similarly strong consistency guarantees to Cloud Spanner (see https://cloud.google.com/spanner/docs/true-time-external-con...)
I'm not aware of any whitepapers describing the listen feature that provides real-time updates.
Can you point towards papers that describe the algorithms and data structures that Firestore uses? What infrastructure does it rely on to perform reliably?