Telegram FOSS

Las diferencias principales entre Telegram y Telegram FOSS (Free and Open Source Software) radican en su enfoque hacia la privacidad, la eliminación de componentes propietarios y la distribución.

A continuación, te detallo las diferencias clave:

  1. Código fuente y licencias:
    • Telegram: Es una aplicación de mensajería instantánea con código fuente parcialmente abierto. Aunque el cliente de Telegram es de código abierto, incluye componentes propietarios, como bibliotecas de terceros no libres, y el servidor no es de código abierto.
    • Telegram FOSS: Es una bifurcación no oficial del cliente de Telegram para Android, diseñada para ser completamente de código abierto y libre (FOSS). Elimina todo el código y las dependencias propietarios del cliente original, asegurando que todo el software sea libre y verificable.
  2. Eliminación de rastreadores y servicios propietarios:
    • Telegram: Incluye servicios propietarios como Google Play Services para notificaciones push (Google Cloud Messaging), Google Analytics para telemetría, y servicios de localización basados en Google Maps. Estos elementos pueden recopilar datos del usuario, lo que plantea preocupaciones de privacidad.
    • Telegram FOSS: Elimina estos componentes propietarios, reemplazándolos con alternativas de código abierto. Por ejemplo:
      • Usa OpenStreetMap (osmdroid) en lugar de Google Maps para compartir ubicación.
      • Sustituye Google Cloud Messaging por el servicio de notificaciones push de Telegram.
      • Elimina Google Analytics y otras herramientas de rastreo, lo que reduce la telemetría.
  3. Distribución:
    • Telegram: Disponible en tiendas oficiales como Google Play Store y App Store, lo que facilita su instalación, pero incluye dependencias de Google Play Services en Android.
    • Telegram FOSS: Se distribuye exclusivamente a través de F-Droid, un repositorio de aplicaciones de código abierto. No está disponible en Google Play Store, lo que refleja su compromiso con el software libre, pero puede requerir pasos adicionales para la instalación.
  4. Actualizaciones:
    • Telegram: Recibe actualizaciones frecuentes con nuevas funciones y mejoras de seguridad directamente desde el equipo oficial de Telegram.
    • Telegram FOSS: Las actualizaciones suelen ser más lentas, ya que dependen de los desarrolladores voluntarios de la comunidad FOSS para integrar los cambios del código fuente oficial de Telegram. Esto puede llevar a un retraso en la incorporación de nuevas funciones o parches de seguridad.
  5. Funcionalidad:
    • Telegram: Incluye todas las funciones oficiales, como chats secretos, soporte para bots, canales, grupos masivos, y personalización avanzada. Sin embargo, algunas funciones dependen de servicios propietarios, como las notificaciones push en Android.
    • Telegram FOSS: Mantiene la mayoría de las funciones de Telegram, pero algunas pueden estar limitadas o modificadas debido a la eliminación de componentes propietarios. Por ejemplo, la funcionalidad de compartir ubicación se basa en OpenStreetMap, lo que puede ser menos preciso en ciertas regiones. Además, no permite crear nuevas cuentas directamente en la aplicación; los usuarios deben crear una cuenta en la versión oficial de Telegram y luego iniciar sesión en Telegram FOSS.
  6. Privacidad:
    • Telegram: Aunque ofrece cifrado de extremo a extremo en chats secretos, los chats normales usan cifrado cliente-servidor, y los datos se almacenan en los servidores de Telegram. La presencia de Google Analytics y otros servicios propietarios plantea preocupaciones sobre la privacidad.
    • Telegram FOSS: Mejora la privacidad al eliminar rastreadores y servicios propietarios. Sin embargo, sigue dependiendo de los servidores de Telegram, por lo que no elimina por completo las limitaciones de privacidad inherentes al protocolo MTProto y al modelo cliente-servidor de Telegram.
  7. Rendimiento y experiencia de usuario:
    • Telegram: Optimizado para un rendimiento fluido y una experiencia de usuario completa, con soporte para todas las funciones oficiales.
    • Telegram FOSS: Generalmente ofrece una experiencia similar, pero puede tener pequeños inconvenientes debido a la falta de actualizaciones rápidas o la dependencia de alternativas de código abierto (como OpenStreetMap). Algunos usuarios reportan que funciona bien y que las notificaciones son confiables en entornos como GrapheneOS.

Resumen:

  • Telegram es la aplicación oficial, más completa en funciones y actualizaciones, pero incluye componentes propietarios que pueden afectar la privacidad.
  • Telegram FOSS es una alternativa enfocada en la privacidad y el software libre, ideal para usuarios que priorizan la eliminación de rastreadores y el uso de código abierto, pero puede sacrificar la rapidez de las actualizaciones y algunas funcionalidades menores.

Recomendación: Si la privacidad es tu prioridad y estás dispuesto a aceptar posibles retrasos en actualizaciones o limitaciones menores, Telegram FOSS es una mejor opción, especialmente en dispositivos como GrapheneOS. Si prefieres la experiencia completa y actualizaciones rápidas, Telegram estándar puede ser más adecuada, aunque con menos énfasis en la privacidad.

Descarga

Discusión

Únase a la Grupo Offtopics de Telegram-FOSS

También puedes unirte #telegram-foss:matrix.org via matriz o #telegram-foss en freenode.

Cambios:

Reemplazo de binarios o código fuente no FOSS, no confiables o sospechosos:

  • Comparta la ubicación con OpenStreetMap (osmdroid) en lugar de Google Maps
  • Utilice el conjunto de emojis Noto en lugar del emoji de Apple
  • Google Play Services GCM reemplazado por el servicio push de Telegram
  • Tiene que mostrar una notificación en Oreo+, pregúntale a Google
  • SEGURIDAD: Las precompilaciones de BoringSSL se reemplazan con código fuente ascendente reciente creado en el momento de la compilación
  • SEGURIDAD: Las precompilaciones de FFmpeg se reemplazan con código fuente ascendente reciente creado en el momento de la compilación
  • SEGURIDAD: Las precompilaciones de libvpx se reemplazan con código fuente ascendente reciente creado en el momento de la compilación
  • SEGURIDAD: Se actualiza el paquete libWebP

Eliminación de binarios o código fuente no FOSS, no confiables o sospechosos y su funcionalidad:

  • Detección facial y escaneo de códigos de barras de Google Vision (Pasaporte)
  • Integración de Google Wallet y Android Pay
  • Integración de Google Voice
  • Informes de fallos y actualizaciones automáticas de HockeyApp
  • Recuperación de SMS de Google
  • Kit de aprendizaje automático de Google

Otros:

  • Se agregó la capacidad de analizar ubicaciones a partir de intenciones que contienen a geo:<lat>,<lon>,<zoom> cadena
  • Forzar vistas previas de mapas estáticos desde Telegram
  • Sin restricciones de contenido

Versionado

Este repositorio contiene etiquetas para facilitar el seguimiento de las versiones.

Las versiones tienen el formato “v$UPSTREAM$RELEASE” donde:

  • $UPSTREAM es la versión pública y visible de upstream.
  • $RELEASE es una letra ([az]) que indica lanzamientos menores entre versiones oficiales (a veces, upstream se actualiza sin relacionar los cambios con una versión específica).

API, documentación del protocolo

Manuales de la API de Telegram: https://core.telegram.org/api

Manuales del protocolo MTproto: https://core.telegram.org/mtproto

Construcción

NOTA: Lamentablemente, no se admite la compilación en Windows. Considere utilizar una máquina virtual Linux o arranque dual. 

Importante:

  1. Necesitas el NDK de Android, Go(Golang) y Ninja para construir el apk.
  2. No olvides incluir los submódulos al clonar:
    • git clone --recursive https://github.com/Telegram-FOSS-Team/Telegram-FOSS.git
  3. Cree dependencias nativas de FFmpeg y BoringSSL:
    • Ir a la TMessagesProj/jni carpeta y ejecute lo siguiente (defina las rutas a su NDK y Ninja):
    export NDK=[PATH_TO_NDK] export NINJA_PATH=[PATH_TO_NINJA] ./build_libvpx_clang.sh ./build_ffmpeg_clang.sh ./patch_ffmpeg.sh ./patch_boringssl.sh ./build_boringssl.sh
  4. Si quieres publicar una versión modificada de Telegram:
    • Deberías conseguirlo tu propia clave API aici: https://core.telegram.org/api/obtaining_api_id y crea un archivo llamado API_KEYS en el directorio raíz de origen. El contenido debería verse así:APP_ID = 12345 APP_HASH = aaaaaaaabbbbbbccccccfffffff001122
    • No utilice el nombre Telegram ni el logotipo estándar (plano de papel blanco en un círculo azul) para su aplicación — o asegúrese de que sus usuarios comprendan que no es oficial
    • Cuida bien los datos y la privacidad de tus usuarios
    • Recuerde publicar también su código para cumplir con las licencias

El proyecto se puede construir con Android Studio o desde la línea de comandos con gradle:

./gradlew assembleAfatRelease

error: