More specifically, I’m thinking about forkgram, a telegram fork. I get that open source app make their code public therefore people can use it and build from it, but I thought it allowed for creating a separate app. Forkgram however still has all my chats so it must be able to connect to telegram servers and both apps must be somehow intertwined. Since telegram is only partly open sourced, I don’t understand how this is possible and why telegram would allow this?
I’m short on time, but here’s the general idea. Telegrams front end, the part you use I the open source part. The backend is the closed off part. The two parts are separate but communicate via a protocol, kinda like email. The forked project can change anything they want, to make it do whatever they want, but it still needs to be able to speak to the backend server.
deleted by creator
An app “talks” to server through some interface (what they call an API). If the interface is known, another app can use the same interface. Telegram goes as far as providing code that interfaces with their protocol and full API documentation to explain how to use it. The base app is open source too, so developers can even peek at how the official app does it for inspiration.