Kristoffer Grönlund, que trabaja en SUSE, ha anunciado la creación de un fork del editor de código Zed, que se desarrollará bajo el nombre de Gram. La razón para crear el fork es el deseo de tener un editor de código que pueda ser una alternativa a VS Code, que no utilice funcionalidades basadas en IA, que no imponga la firma de un acuerdo de uso incompatible con las licencias abiertas y que no envíe telemetría a las corporaciones. El desarrollo se llevará a cabo con la intención de crear un producto amigable para desarrolladores principiantes y estudiantes a los que enseña el autor del fork. El código del proyecto se distribuye bajo las licencias GPLv3 y AGPLv3.
Entre las diferencias de Gram respecto a Zed se destaca la eliminación de herramientas de IA y código para el envío de telemetría, la eliminación de dependencias a procesadores de servidor propietario, servicios externos y componentes utilizados para organizar la colaboración en el código y la instalación automática de actualizaciones. A los usuarios de Gram no se les imponen condiciones de uso (Terms of Service) ni suscripciones de pago.
El desarrollo futuro del fork se planea realizar de manera conservadora, independientemente de Zed y de las corporaciones, centrándose principalmente en garantizar la estabilidad. La aceptación de cambios en Gram se lleva a cabo sin necesidad de firmar un acuerdo de transferencia de derechos de propiedad (CCA, Contributor License Agreement). No se aceptarán cambios bajo la licencia Apache 2.0 en Gram, para el nuevo código solo se pueden utilizar las licencias GPLv3 y AGPLv3 (Zed se distribuía bajo tres licencias: Apache 2.0, GPLv3 y AGPLv3, lo que permitía utilizar su código en productos propietarios sin necesidad de abrir los cambios).
Al mismo tiempo se ha publicado la primera versión de Gram, en la que se eliminó el código relacionado con IA, telemetría, carga e instalación de actualizaciones, colaboración en el código y vinculación a cuentas. Entre las nuevas características, el editor incluye documentación integrada, se ha añadido soporte para los lenguajes de programación Gleam, Zig y Odin, y se ha implementado un sistema de autocompletado de entradas al estilo Vim Supertab. Las extensiones instaladas en Gram deben compilarse desde el código fuente y no se actualizan automáticamente. Para la carga de componentes LSP (Language Server) y Node, se ha introducido una confirmación obligatoria de la operación por parte del usuario. Las compilaciones listas están preparadas para Linux y macOS.

Es notable que este no es el primer fork de Zed: el proyecto Zedless desarrolla un fork enfocado en garantizar la privacidad y el funcionamiento local independiente sin depender de servidores externos. En Zedless, al igual que en Gram, se han eliminado las vinculaciones a servicios en la nube propietarios, se ha retirado el código para enviar telemetría y los informes de fallos generados automáticamente, sin requerir un acuerdo de CLA. Sin embargo, la funcionalidad de colaboración no ha sido eliminada, sino que se centra en la implementación de infraestructura propia, permitiendo al usuario restablecer el uso de servicios externos a su discreción.
El proyecto Zed se desarrolla bajo la dirección de Nathan Sobo, el autor del editor Atom (base de VS Code), con la participación de un equipo de exdesarrolladores del editor Atom, la plataforma Electron y la biblioteca de análisis de sintaxis Tree-sitter. Durante el desarrollo, se tuvo en cuenta la experiencia de crear Atom y se intentó implementar algunas ideas sobre cómo debería ser el editor ideal para programadores. Zed combina en un solo producto un editor de texto ligero y la funcionalidad de los modernos entornos de desarrollo integrados. Se presta gran atención al rendimiento y la capacidad de respuesta de la interfaz: los creadores del proyecto desean que todas las acciones de edición se realicen al instante y que las tareas de codificación se resuelvan de la manera más eficiente posible. El alto rendimiento de Zed se logra mediante el uso activo de múltiples hilos, aprovechando todos los núcleos disponibles de la CPU e involucrando la GPU en el proceso de renderización.
Fuente: opennet.ru
