VSCodium - el binario de código abierto de VSCode
(vscodium.com)- Como VS Code tiene condiciones distintas entre el código fuente y la distribución oficial, VSCodium se vuelve una alternativa para quienes quieren obtener directamente un binario con licencia MIT
- El código fuente
vscodede Microsoft está bajo licencia MIT, pero el producto descargable Visual Studio Code incluye una licencia distinta y telemetría/seguimiento - VSCodium distribuye scripts automatizados que compilan el repositorio
vscodede Microsoft y suben los binarios resultantes a GitHub releases, reemplazando así el proceso de distribución - Los binarios ofrecidos tienen la telemetría desactivada y se pueden descargar las versiones más recientes para Windows, Mac OS y Linux
- Se puede instalar mediante varios gestores de paquetes como Homebrew, WinGet, Chocolatey, Scoop, Snap, Nixpkgs, AUR, repositorios deb/rpm y Flatpak
Diferencia entre el código fuente de VS Code y la distribución de Microsoft
- VSCodium es una distribución binaria libre/de código abierto basada en VS Code de Microsoft
- El código fuente
vscodede Microsoft tiene licencia MIT, pero el producto Visual Studio Code distribuido por Microsoft usa una licencia que no es FLOSS e incluye telemetría/seguimiento - La compilación distribuida por Microsoft se crea clonando el repositorio
vscodey aplicando unproduct.jsoncon funciones exclusivas de Microsoft- Esas funciones exclusivas de Microsoft incluyen telemetry, gallery, logo, etc.
- Si se compila directamente con el
product.jsonpredeterminado, se genera una compilación “clean” sin personalizaciones de Microsoft, y por defecto se aplica la licencia MIT
Cómo compila y distribuye VSCodium
- VSCodium permite obtener una compilación con licencia MIT sin que el usuario tenga que descargar el código fuente y compilarlo manualmente
- Los scripts de compilación clonan el repositorio
vscodede Microsoft, ejecutan los comandos de compilación y luego suben los binarios resultantes a GitHub releases - Los binarios de VSCodium tienen licencia MIT y la telemetría está desactivada
- Quienes quieran compilar por su cuenta pueden usar el repositorio
vscodede Microsoft y sus instrucciones de compilación - La versión más reciente está disponible para Windows, Mac OS y Linux
Instalación según el gestor de paquetes
- En Mac, si usas Homebrew:
brew install --cask vscodium - En Windows se pueden usar varios gestores de paquetes
- WinGet
winget install vscodium - Chocolatey
choco install vscodium - Scoop
scoop bucket add extras scoop install vscodium
- WinGet
- En Linux se puede instalar con Snap, Nixpkgs, AUR, Flatpak, etc.
- En Snap Store se ofrece con el nombre Codium
snap install codium --classic - En Nix(OS),
vscodiumse puede agregar aenvironment.systemPackageso instalar localmentenix-env -iA nixpkgs.vscodium - En Arch Linux, el paquete
vscodium-binde AUR se puede instalar con un AUR Helperyay -S vscodium-bin
- En Snap Store se ofrece con el nombre Codium
Instalación mediante distribuciones y repositorios
- VSCodium viene preinstalado en Parrot OS
- Si no aparece por defecto, se puede instalar desde el repositorio oficial de Parrot
sudo apt update && sudo apt install codium
- Si no aparece por defecto, se puede instalar desde el repositorio oficial de Parrot
- El paquete deb para Debian/Ubuntu se instala mediante repositorios relacionados con VSCodium y mirrors CDN
- Después de agregar la clave GPG del repositorio, se añade la configuración correspondiente a la versión de Debian/Ubuntu
- El comando de instalación es el siguiente
sudo apt update && sudo apt install codium - Si quieres
vscodium-insiders, cambiacodiumporcodium-insiders
- El paquete rpm para Fedora/RHEL/CentOS/Rocky Linux/OpenSUSE también se instala agregando un repositorio aparte
- Fedora/RHEL/CentOS/Rocky Linux:
sudo dnf install codium - OpenSUSE/SUSE:
sudo zypper in codium
- Fedora/RHEL/CentOS/Rocky Linux:
- En Gentoo/Funtoo se instala mediante ebuild
- Funtoo:
sudo emerge -av vscodium-bin - Gentoo:
sudo emerge -av vscodium
- Funtoo:
Flatpak y documentación de migración
- VSCodium también está disponible como app de Flatpak, y el repositorio de compilación es flathub/com.vscodium.codium
- En entornos con el repositorio Flathub habilitado, se puede instalar con el siguiente comando
flatpak install flathub com.vscodium.codium - Si
gnome-software-plugin-flatpakestá instalado, también se puede encontrar VSCodium en GNOME Software - La documentación resume los puntos particulares que puedes encontrar al migrar de Visual Studio Code a VSCodium o durante su uso
1 comentarios
Opiniones de Hacker News
Los binarios creados por proyectos como este se sienten más difíciles de confiar que los binarios ofrecidos por Big Tech. Aunque Big Tech está entre los mayores rastreadores, un proyecto con mucha menos gente e intereses parece más vulnerable a ataques a la cadena de suministro o a una adquisición hostil si un desarrollador vende el proyecto.
No conozco tan bien este tema, así que me gustaría tener materiales de referencia sobre cómo proyectos como este evitan esos riesgos; quizá esta preocupación sí sea válida.
Las grandes empresas hacen esfuerzos extremos para garantizar la cadena de confianza del software que compilan, y las plataformas de distribución de apps también hacen mucho por asegurar una cadena de confianza de extremo a extremo, desde el desarrollador hasta la app que se ejecuta en el dispositivo del usuario.
Básicamente es imposible sin confiar no solo en el autor original, sino también en el redistribuidor, pero mecanismos como procedimientos de compilación verificables, verificación de claves de firma y hashes, y refirma reducen la cantidad de confianza necesaria. Si el usuario, en teoría, puede reproducir la misma compilación por su cuenta, se vuelve más fácil confiar.
La mejor opción sería que el proyecto original ofreciera directamente builds sin marca, y que proyectos como VSCodium quedaran solo para configuración, como desactivar la telemetría, sin necesidad de volver a firmar. Por ejemplo, el proyecto Chromium distribuye directamente binarios de Chromium sin los elementos exclusivos de Google.
Estaba pensando sobre todo en las app stores, pero casi la misma lógica aplica a lugares como los repositorios de paquetes de Debian. Las app stores normalmente vuelven a firmar en el medio, así que hay que confiar en la tienda, pero estas empresas hacen muchos esfuerzos para asegurar la confiabilidad de ese punto.
Si esas diferencias parecen seguras, eso se acerca a poder confiar también en el binario. Por supuesto, también habría que comprobar que no esté descargando recursos de internet cuya integridad no pueda garantizarse de la misma forma.
Debería ser posible comparar el código fuente que usó el paquete con el SHA de git upstream de Microsoft en el que afirma basarse: https://aur.archlinux.org/packages/vscodium
Justo ahora también existe una extensión de modo remoto open source, así que ya no hay razón para usar la versión propietaria. De mi lado, ya no hay telemetría.
No tengo ninguna confianza en que una gran empresa haga algo bien y no llene la aplicación de spyware bajo el nombre de telemetría. Prefiero confiar en la gente que insiste obstinadamente en crear software libre y de código abierto.
Las compilaciones reproducibles pueden ayudar aquí, como hizo Go con el SDK más reciente: https://go.dev/blog/rebuild
Es especialmente útil si el fork tiene pocos cambios de código fuente, porque entonces solo hace falta verificar los parches.
Las distribuciones de Linux son bastante similares. La razón por la que en general confío en los paquetes de Debian es que existe una organización paraguas y procedimientos. Las organizaciones independientes tienen menos de eso.
Algún día podría existir una organización paraguas dedicada solo a compilaciones reproducibles, y la gente podría distribuir binarios a través de ella. Como con los registradores de dominios, una verificación independiente podría mantener honesta a esa organización.
Microsoft restringió las extensiones principales para que solo se usen en los lanzamientos oficiales, eliminando así la competencia en esa dirección. Personalmente uso bastante las extensiones remotas, así que ojalá alguien ofrezca una alternativa.
“Open Remote - SSH” de “jeanp413”, es decir
@ext:jeanp413.open-remote-ssh, al menos para mí funciona igual que la extensión de código cerrado.Uso el paquete AUR de vscodium en Manjaro, y obtuve la extensión desde la tienda predeterminada de vscodium. No sé si está en la tienda de Microsoft.
En
Code - OSSesa extensión no me funcionó, pero parecía un error de configuración y no investigué más.Así que, si hay una extensión imprescindible que no está en el marketplace de codium, todavía se puede usar a través del marketplace de Microsoft.
Para automatizar la instalación y configuración del túnel, se puede usar algo como el script que está aquí: https://github.com/CGamesPlay/dotfiles/blob/master/files/.lo...
También estoy trabajando en un PR para agregar una forma de ejecutar automáticamente un script personalizado que configure el túnel: https://github.com/xaberus/vscode-remote-oss/pull/9
Remote OSS: https://open-vsx.org/extension/xaberus/remote-oss
Esto es básicamente lo mismo que se obtiene al descargar el código fuente de Visual Studio Code y compilarlo.
Incluso el nombre parece casi un juego de palabras del estilo Chrome → Chromium.
La práctica de Microsoft y Google de decir que “abren el código” de sus productos, cuando en realidad lanzan productos con funciones adicionales de código cerrado, es deshonesta en el mejor de los casos y, en el peor, material para una demanda enorme.
Estas grandes empresas se benefician del trabajo de ingenieros de software ingenuos que donan su tiempo a productos open source, pero lo que entregan a los usuarios finales es una versión de código cerrado.
Es el mismo caso que el de muchísimas empresas comerciales que lanzan software propietario basado en proyectos open source.
Lo que hace falta es algo más parecido a la clasificación de antifunciones de la tienda F-Droid. Por ejemplo, marcas como “esta app depende de otras apps no libres” o “depende de servicios de red no libres o los promueve”.
Vscode fue diseñado para inducir fragmentación: https://ghuntley.com/fracture/
En resumen, Microsoft lanzó Visual Studio Code con telemetría incorporada, por lo que proyectos como VSCodium empezaron a publicar compilaciones personalizadas sin telemetría. Pero como estos proyectos no tienen licencia de Microsoft, no pueden usar el mismo marketplace, y esa es la fragmentación del título del artículo.
Luego dice que otros IDE propietarios también tienen problemas, y que GitHub es una trampa para capturar y fragmentar a los desarrolladores.
Este drama alrededor de Microsoft y el open source me recuerda a los documentos de Halloween: http://www.catb.org/~esr/halloween/
Mmm… ¿y? Úsalo o no lo uses. No estoy seguro de que “es tan bueno que no puedo dejar de usarlo” sea una queja válida.
Ayer tuve que cambiarme desde la build de código abierto. Después de actualizar, Pylance pareció dejar de funcionar por DRM
Cada vez que iniciaba, mostraba una gran advertencia de que usarlo en una build no aprobada por MS era una violación de la licencia, y se detenía de inmediato
Es la versión libre y de código abierto de pyright, pero le faltan algunas funciones
Artículos relacionados
VSCodium – Free/Libre Open Source Software Binaries of VS Code - https://news.ycombinator.com/item?id=31604932 - junio de 2022, 430 comentarios
VS Code without Microsoft branding/telemetry/licensing - https://news.ycombinator.com/item?id=23447413 - junio de 2020, 200 comentarios
VSCodium – An Open Source Visual Studio Code Without Trackers - https://news.ycombinator.com/item?id=19650109 - abril de 2019, 253 comentarios
VSCodium: 100% Open Source Version of vs. Code - https://news.ycombinator.com/item?id=19619956 - abril de 2019, 8 comentarios
VSCodium: Binary releases of VSCode without MS branding, telemetry and licensing - https://news.ycombinator.com/item?id=17850960 - agosto de 2018, 113 comentarios
Lo usé durante mucho tiempo y le dije al equipo que también lo usara, pero al final me rendí. Sin las funciones de Remote SSH y devcontainers, Microsoft tiene un fuerte control sobre quienes quieren sacarle el máximo provecho a VSCode
Además, parece que Microsoft dio marcha atrás con la telemetría, y ahora dicen que se puede desactivar por completo. Aunque no probé personalmente si “desactivado” realmente significa eso
Además, si usas Remote OSS puedes usar un host remoto de vscodium dentro de un dev container. Escribí más detalles en este comentario: https://news.ycombinator.com/item?id=37386025
Uso tanto VSCode como VSCodium. La razón es simple y práctica: gestión de configuración y varias ventanas distinguibles
Mi VSCode está completamente invadido por una cantidad enorme de extensiones que parecen necesarias para trabajo con Microchip/Atmel/zephyr
Para trabajos con ansible/elixir uso VSCodium
¿VSCodium no tiene una función como los perfiles de navegador, donde se puedan cambiar todo tipo de configuraciones solo dentro de ese perfil? En Firefox lo uso seguido de esa forma, y también dejo las ventanas con apariencias distintas
Espero que lo sigan manteniendo. La extensión de nuestra startup está en Open VSX Registry, y estamos muy satisfechos operando así
En Arch hay algo que parece ser un paquete equivalente, simplemente con el nombre
codecodees el nombre del binario, y el “proyecto” en sí esCode - OSS, como se indica en https://wiki.archlinux.org/title/Visual_Studio_CodeEse es el paquete que ofrece el repositorio principal, y si quieres usar VSCodium o Visual Studio Code tienes que usar AUR