Hacker News new | past | comments | ask | show | jobs | submit login

Telegram is not truly open source. They utilize a pre-compiled library for the actual messaging code, as seen here:

https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/...

They would like to have you believe otherwise through their PR efforts, but I wouldn't trust them simply on the fact that they claim they are open source when they are not, and it's not clear what's going on in that binary lib. If they never claimed to be open source in the first place, it would be a different story.




Ehm, the "jni/" directory contains the source for those files. Running "ndk-build" (from Android NDK) in top-level dir will recompile them.

Looking at the source the libraries contain AES code, libjpeg, libwebp and libyuv to handle image decoding, some image blur algorithms and video NV21-YUV conversion routines.

Nothing out of the ordinary for an Android app - offloading CPU intensive stuff to C/C++ where it's almost always noticably slower.

Can you please, PLEASE, check your facts before jumping the gun next time?


I retract my statement. This used to be the case, but appears to no longer be so.


> Telegram is not truly open source.

Here's Telegram FAQ [0]

    Q: Why not open source everything?
    All code will be released eventually. We started with the     
    most useful parts — a well-documented API that allows developers to build new Telegram apps, and open source clients that can be verified by security specialists.
[0] https://telegram.org/faq#q-why-not-open-source-everything


Didn't see that part of the faq... it would be great if they had an ETA.


There is Telegram-FOSS [0]. I believe they have removed the binaries. It's also the version you can find on F-Droid.

Edit: Also, the maintainer of the Android app is making all his changes locally and then submits all of them in one giant commit. There are pull requests, but he just includes these in his giant commits.

People do have complained about this [1][2], but he obviously doesn't (want to) understand git.

0: https://github.com/slp/Telegram-FOSS/issues

1: https://github.com/DrKLO/Telegram/pull/76

2: https://github.com/DrKLO/Telegram/issues/1007


The telegram client is open source. But the server side isn't. At least that's what i gathered last time I read about it.


Why is there a binary blob in their Android repo, and what does it do? Is it just compiled open-source Telegram code?


Looking at it, the libs/arch/.so files are just compiled JNI/NDK libraries compiled from source of jni/* files (that's completely standard for native code on Android). Usually the compiled libs aren't checked into the source control though.

Taking my paranoid glasses off, I'd guess they're checked in so contributors don't have to deal with setting up NDK to compile the app.


wait what

What's in this thing? This isn't just some build optimization thing they're doing? Nobody's picked it apart yet?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: