VSCodium - o binário open source do VSCode
(vscodium.com)- Como o código-fonte do VS Code e a distribuição oficial têm condições diferentes, o VSCodium se torna uma alternativa para usuários que querem obter diretamente um binário sob licença MIT
- O código-fonte
vscodeda Microsoft é licenciado em MIT, mas o produto Visual Studio Code disponível para download inclui uma licença separada e telemetria/rastreamento - O VSCodium substitui o processo de distribuição com scripts automatizados que compilam o repositório
vscodeda Microsoft e publicam os binários resultantes no GitHub releases - Os binários fornecidos têm a telemetria desativada e é possível baixar as versões mais recentes para Windows, Mac OS e Linux
- A instalação é possível por vários gerenciadores de pacotes, como Homebrew, WinGet, Chocolatey, Scoop, Snap, Nixpkgs, AUR, repositórios deb/rpm e Flatpak
Diferença entre o código-fonte do VS Code e a distribuição da Microsoft
- VSCodium é uma distribuição binária livre/open source baseada no VS Code da Microsoft
- O código-fonte
vscodeda Microsoft é licenciado em MIT, mas o produto Visual Studio Code distribuído pela Microsoft usa uma licença que não é FLOSS e inclui telemetria/rastreamento - O build distribuído pela Microsoft é criado clonando o repositório
vscodee aplicando umproduct.jsoncom recursos exclusivos da Microsoft- Esses recursos exclusivos da Microsoft incluem telemetry, gallery, logo etc.
- Se você compilar diretamente com o
product.jsonpadrão, será gerado um build “clean”, sem customizações da Microsoft, com licença MIT por padrão
Como o VSCodium faz build e distribuição
- O VSCodium permite que o usuário obtenha um build sob licença MIT sem precisar baixar o código-fonte e compilar manualmente
- Os scripts de build clonam o repositório
vscodeda Microsoft, executam os comandos de build e depois enviam os binários resultantes para o GitHub releases - Os binários do VSCodium usam licença MIT e têm a telemetria desativada
- Usuários que quiserem compilar por conta própria podem usar o repositório
vscodeda Microsoft e suas instruções de build - A versão mais recente é oferecida para Windows, Mac OS e Linux
Instalação por gerenciador de pacotes
- No Mac, se você usa Homebrew:
brew install --cask vscodium - No Windows, é possível usar vários gerenciadores de pacotes
- WinGet
winget install vscodium - Chocolatey
choco install vscodium - Scoop
scoop bucket add extras scoop install vscodium
- WinGet
- No Linux, é possível instalar via Snap, Nixpkgs, AUR, Flatpak etc.
- Na Snap Store, ele é oferecido com o nome Codium
snap install codium --classic - No Nix(OS), é possível adicionar
vscodiumaenvironment.systemPackagesou instalar localmentenix-env -iA nixpkgs.vscodium - No Arch Linux, o pacote
vscodium-bindo AUR pode ser instalado com um AUR Helperyay -S vscodium-bin
- Na Snap Store, ele é oferecido com o nome Codium
Instalação via distribuição/repositório
- No Parrot OS, o VSCodium vem instalado por padrão
- Se ele não aparecer por padrão, pode ser instalado pelo repositório oficial do Parrot
sudo apt update && sudo apt install codium
- Se ele não aparecer por padrão, pode ser instalado pelo repositório oficial do Parrot
- Os pacotes deb para Debian/Ubuntu são instalados por meio de repositórios relacionados ao VSCodium e mirrors CDN
- Após adicionar a chave GPG do repositório, adicione a configuração correspondente à sua versão do Debian/Ubuntu
- O comando de instalação é o seguinte
sudo apt update && sudo apt install codium - Se quiser
vscodium-insiders, troquecodiumporcodium-insiders
- Os pacotes rpm para Fedora/RHEL/CentOS/Rocky Linux/OpenSUSE/SUSE também são instalados após adicionar um repositório separado
- Fedora/RHEL/CentOS/Rocky Linux:
sudo dnf install codium - OpenSUSE/SUSE:
sudo zypper in codium
- Fedora/RHEL/CentOS/Rocky Linux:
- No Gentoo/Funtoo, a instalação é feita com ebuild
- Funtoo:
sudo emerge -av vscodium-bin - Gentoo:
sudo emerge -av vscodium
- Funtoo:
Flatpak e documentação de migração
- O VSCodium também é oferecido como aplicativo Flatpak, e o repositório de build é flathub/com.vscodium.codium
- Em ambientes com o repositório Flathub ativado, é possível instalar com o comando abaixo
flatpak install flathub com.vscodium.codium - Se
gnome-software-plugin-flatpakestiver instalado, também será possível encontrar o VSCodium no GNOME Software - Particularidades que você pode encontrar ao migrar do Visual Studio Code para o VSCodium, ou durante o uso, estão organizadas na documentação
1 comentários
Opiniões no Hacker News
Binários criados por projetos assim parecem mais difíceis de confiar do que binários fornecidos por Big Techs. Embora as Big Techs sejam os maiores rastreadores, projetos com muito menos pessoal e interesses envolvidos parecem poder ser mais vulneráveis a ataques à cadeia de suprimentos ou a aquisições hostis quando um desenvolvedor vende o projeto
Não conheço tão bem essa área, então seria bom ter materiais de referência sobre como projetos assim evitam esses riscos; talvez essa preocupação seja mesmo válida
Grandes empresas fazem esforços extremos para garantir a cadeia de confiança do software que compilam, e plataformas de distribuição de apps também se esforçam muito para garantir uma cadeia de confiança de ponta a ponta, do desenvolvedor até o app executado no dispositivo do usuário
Basicamente, isso é impossível sem confiar não só no autor original, mas também no redistribuidor; porém, procedimentos de build verificáveis, verificação de chaves de assinatura e hashes, e reassinatura reduzem a quantidade de confiança necessária. Se o usuário, em teoria, puder reproduzir o mesmo build por conta própria, fica mais fácil confiar
A melhor opção seria o projeto original fornecer diretamente builds sem marca, e projetos como o VSCodium ficarem apenas na configuração, como desativar telemetria, sem necessidade de reassinatura. Por exemplo, o projeto Chromium distribui diretamente binários do Chromium sem os elementos exclusivos do Google
Eu estava pensando principalmente em lojas de aplicativos, mas quase a mesma lógica se aplica a lugares como repositórios de pacotes Debian. Lojas de aplicativos normalmente reassinam no meio do caminho, então é preciso confiar na loja, mas essas empresas fazem muitos esforços para garantir a confiabilidade desse ponto
Se essas diferenças parecerem seguras, isso praticamente significa que você também pode confiar no binário. Claro, também é preciso verificar se ele não busca recursos da internet cuja integridade não possa ser garantida da mesma forma
Deve ser possível comparar o código-fonte usado pelo pacote com o SHA git do upstream da Microsoft que ele afirma ter como base: https://aur.archlinux.org/packages/vscodium
Por sorte, agora também existe uma extensão de modo remoto open source, então não há mais motivo para usar a versão proprietária. Do meu lado, não há mais telemetria
Não tenho nenhuma confiança de que uma grande empresa vá fazer algo direito e não vá encher o aplicativo de spyware sob o nome de telemetria. Prefiro confiar nas pessoas que insistem teimosamente em criar software livre e open source
Builds reproduzíveis podem ajudar aqui, como o Go fez no SDK mais recente: https://go.dev/blog/rebuild
Isso é especialmente válido para forks com poucas mudanças no código-fonte, já que basta verificar os patches
Distribuições Linux são bem parecidas. O motivo de eu confiar em geral nos pacotes Debian é que existe uma organização guarda-chuva e procedimentos. Organizações independentes têm menos disso
Talvez um dia surja uma organização guarda-chuva dedicada apenas a builds reproduzíveis, e as pessoas possam distribuir binários por meio dela. Como registradores de domínio, a verificação independente poderia manter essa organização honesta
A Microsoft restringiu extensões importantes para serem usadas apenas na versão oficial, eliminando a concorrência nessa direção. Pessoalmente, uso bastante as extensões remotas, então seria bom se alguém oferecesse uma alternativa
“Open Remote - SSH”, de “jeanp413”, ou seja,
@ext:jeanp413.open-remote-ssh, pelo menos para mim funciona exatamente igual à extensão de código fechadoUso o pacote AUR do vscodium no Manjaro, e peguei a extensão na loja padrão do vscodium. Não sei se ela está na loja da Microsoft
No
Code - OSS, essa extensão não funcionou para mim, mas parecia erro de configuração e não investiguei maisEntão, se houver alguma extensão indispensável que não esteja no marketplace do codium, ainda dá para usá-la pelo marketplace da Microsoft
Para automatizar a instalação e configuração do túnel, dá para usar algo como este script aqui: https://github.com/CGamesPlay/dotfiles/blob/master/files/.lo...
Também estou trabalhando em um PR que adiciona uma forma de executar automaticamente um script customizado para configurar o túnel: https://github.com/xaberus/vscode-remote-oss/pull/9
Remote OSS: https://open-vsx.org/extension/xaberus/remote-oss
Isto é basicamente o mesmo que você obtém ao baixar e compilar o código-fonte do Visual Studio Code
O nome também parece mais um trocadilho no estilo Chrome → Chromium
Essa prática da Microsoft e do Google de dizer que estão “tornando open source” seus produtos, quando na verdade lançam um produto com recursos adicionais de código fechado, é desonesta na melhor das hipóteses e, na pior, um enorme caso para processo
Essas gigantes se beneficiam do trabalho de engenheiros de software ingênuos que doam tempo a produtos open source, mas o que entregam aos usuários finais é uma versão de código fechado
É o mesmo caso de inúmeras empresas comerciais que lançam software proprietário baseado em projetos open source
O que falta é algo mais parecido com a classificação de antirrecursos da loja F-Droid. Por exemplo, avisos como “este app depende de outros apps não livres” ou “depende de serviços de rede não livres, ou os promove”
O Vscode foi projetado para induzir fragmentação: https://ghuntley.com/fracture/
Em resumo, a Microsoft lançou o Visual Studio Code com telemetria embutida, e por isso projetos como o VSCodium começaram a publicar builds customizados sem telemetria. Mas, como esses projetos não são licenciados pela Microsoft, não podem usar o mesmo marketplace, e essa é a fragmentação do título do artigo
Em seguida, o texto diz que outros IDEs proprietários também têm problemas, e que o GitHub é uma armadilha para capturar e fragmentar desenvolvedores
Esse drama envolvendo a Microsoft e o open source lembra os documentos Halloween: http://www.catb.org/~esr/halloween/
Hmm… é mesmo? Use ou não use. Não sei se “é tão bom que não dá para não usar” é uma reclamação legítima
Ontem tive que trocar a build open source. Depois da atualização, o Pylance pareceu parar de funcionar por causa de DRM
A cada inicialização, ele exibia um grande aviso de que usá-lo em uma build não aprovada pela MS violava a licença e então parava imediatamente
É a versão livre e open source do pyright, mas alguns recursos ficam de fora
Posts relacionados
VSCodium – Free/Libre Open Source Software Binaries of VS Code - https://news.ycombinator.com/item?id=31604932 - junho de 2022, 430 comentários
VS Code without Microsoft branding/telemetry/licensing - https://news.ycombinator.com/item?id=23447413 - junho de 2020, 200 comentários
VSCodium – An Open Source Visual Studio Code Without Trackers - https://news.ycombinator.com/item?id=19650109 - abril de 2019, 253 comentários
VSCodium: 100% Open Source Version of vs. Code - https://news.ycombinator.com/item?id=19619956 - abril de 2019, 8 comentários
VSCodium: Binary releases of VSCode without MS branding, telemetry and licensing - https://news.ycombinator.com/item?id=17850960 - agosto de 2018, 113 comentários
Usei isso por muito tempo e recomendei para a equipe, mas acabei desistindo. Sem SSH remoto e devcontainers, a Microsoft mantém um controle forte sobre a possibilidade de aproveitar o VSCode ao máximo
Além disso, parece que a Microsoft recuou na telemetria, e dizem que agora é possível desativá-la completamente. Só não testei por conta própria se “desligado” é mesmo desligado
Além disso, com Remote OSS dá para usar um host remoto do vscodium dentro de um dev container. Escrevi mais detalhes neste comentário: https://news.ycombinator.com/item?id=37386025
Uso tanto o VSCode quanto o VSCodium. O motivo é simples e prático: gerenciamento de configurações e várias janelas distinguíveis
Meu VSCode foi completamente tomado por uma quantidade enorme de extensões que parecem necessárias para trabalhos com Microchip/Atmel/zephyr
Para trabalhos com ansible/elixir, uso o VSCodium
O VSCodium não tem algo como perfis de navegador, em que dá para mudar todo tipo de configuração apenas dentro daquele perfil? Uso isso com frequência no Firefox, e também deixo as janelas com aparências diferentes
Espero que continuem mantendo. A extensão da nossa startup está no Open VSX Registry, e estamos muito satisfeitos em operar assim
No Arch, existe o que parece ser um pacote equivalente, simplesmente chamado
codecodeé o nome do binário, e o “projeto” em si éCode - OSS, como está escrito em https://wiki.archlinux.org/title/Visual_Studio_CodeEsse é o pacote fornecido pelo repositório principal; para usar VSCodium ou Visual Studio Code, é preciso usar o AUR