PIX, Código Aberto e a Lei: O Que Está Errado Nessa Conta?

Em tempos de digitalização acelerada dos serviços públicos, cresce a importância do debate sobre transparência, soberania tecnológica e o papel do código aberto na administração pública.

Grafismo ilustrando ícones monetários ao redor de um cartão de crédito genérico.
Imagem: pexels.com

Um ponto crítico, porém pouco debatido, envolve uma possível contradição legal na forma como o Estado brasileiro desenvolve e disponibiliza seus sistemas digitais , especialmente quando olhamos para o PIX, sistema de pagamentos instantâneos operado pelo Banco Central do Brasil.

O Que Diz a Lei?

A Lei nº 14.063, de 23 de setembro de 2021, em seu Artigo 16, é clara:

“Os sistemas de informação e de comunicação desenvolvidos exclusivamente pela administração pública são regidos por licença de código aberto, permitida a sua utilização, cópia, alteração e distribuição sem restrições por todos os órgãos e entidades públicos.”

Ou seja, todo software criado exclusivamente pelo setor público, portanto com recursos públicos e para fins de interesse coletivo, deve ser publicado sob licença de código aberto, garantindo transparência, auditabilidade, interoperabilidade e segurança democrática.

E o PIX?

O PIX foi desenvolvido inteiramente pelo Banco Central, uma autarquia federal vinculada ao Ministério da Economia. O sistema é considerado hoje uma das maiores inovações tecnológicas em serviços públicos dos últimos anos, e seu uso é onipresente no dia a dia dos brasileiros.

Mas o código-fonte do PIX não é público. Nenhum cidadão, empresa ou órgão público externo ao Banco Central pode auditar diretamente como o sistema funciona em seus detalhes técnicos. Isso contraria diretamente o espírito e a letra do Art. 16 da Lei 14.063/2021.

Por Que Isso Importa?

  1. Transparência e Confiança Pública: Em tempos de crescente vigilância digital, os cidadãos têm o direito de saber como funcionam os sistemas que processam e armazenam seus dados e movimentações financeiras.
  2. Segurança: O código aberto permite auditoria independente, o que é especialmente importante em sistemas críticos como o PIX, onde falhas podem ter impactos financeiros e sociais severos.
  3. Legalidade: A não disponibilização do código do PIX pode configurar descumprimento direto da lei — ou, ao menos, exige uma explicação técnica ou jurídica muito robusta por parte do Banco Central.
  4. Soberania Tecnológica: O uso de código aberto fortalece a capacidade do Estado de controlar, manter e evoluir suas próprias tecnologias, sem depender de soluções fechadas ou proprietárias.

E o Que Diz o Banco Central?

Até o momento, o Banco Central não publicou o código-fonte completo do sistema PIX. Algumas partes relacionadas à interface com os bancos e instituições financeiras estão documentadas e normatizadas, mas o núcleo operacional do sistema permanece fechado.

Se o Banco Central entende que o PIX não se enquadra na obrigação do Art. 16, seria fundamental que essa interpretação fosse justificada e publicamente debatida, sob pena de abrir um perigoso precedente de descumprimento legal por parte da própria administração pública.

Conclusão

O caso do PIX mostra como até mesmo inovações públicas bem-sucedidas podem esbarrar em problemas sérios de legalidade e transparência. Se o código-fonte do PIX não for tornado aberto, estamos diante de uma provável ilegalidade e, mais do que isso, de uma contradição com os valores democráticos que deveriam nortear a transformação digital do Estado brasileiro.

É hora de exigir respostas claras. Afinal, tecnologia pública deve ser, acima de tudo, pública.

O Linux Vai um Dia Conquistar o PC?

No site The Register encontro um artigo de opinião escrito pelo veterano repórter de tecnologia e entusiasta do GNU/Linux, Steven J. Vaughan-Nichols, do qual transcrevo trechos para depois comentar.

Linux Mint
Área de trabalho do esplêndido Linux MintImagem: WikiMedia Commons

[…] tendo coberto o mundo do desktop Linux (…), acho que usei mais dele do que qualquer outra pessoa que também tenha uma vida além do PC. Em suma, eu amo o desktop Linux. Muitas distribuições do Linux para desktop são ótimas. Eu sou um grande fã do Linux Mint há anos. Também gosto, em nenhuma ordem específica, do Fedora, openSUSE, Ubuntu e MX Linux. Mas você sabe o que? Isso é um problema. Temos muitas distribuições de desktop Linux excelentes, o que significa que nenhuma delas consegue ganhar participação de mercado suficiente para causar qualquer impacto real no mercado geral.

[…]Além de mais de 200 distribuições, existem 21 interfaces de desktop diferentes e mais de meia dúzia de gerenciadores de instalação de software, como o Debian Package Management System (DPKG), Red Hat Package Manager (RPM), Pacman, Zypper e muitos outros. Depois, há toda uma gama desses novos contêineres para instalar programas, incluindo Flatpak, Snap e AppImage. Eu mal consigo ver todos e isso sendo parte do meu trabalho! Como esperar que os usuários comuns entendam tudo isso? É impossível. Nenhum dos principais distribuidores Linux – Canonical, Red Hat e SUSE – realmente se importa com o desktop Linux. (…) seu dinheiro vem de servidores, contêineres, nuvem e Internet das Coisas (IoT). Desktop? Por favor. Devemos apenas ficar felizes por eles gastarem tanto no desktop.

[…]Agora, dito tudo isso, não quero que você tenha a impressão de que não acho que o desktop Linux seja importante. Eu acho. Na verdade, acho crítico. A Microsoft, você vê, está abandonando o desktop tradicional baseado em PC. (…) em favor da “nuvem”. Isso significa que o futuro do sistema operacional de desktop estará nas mãos da Apple, com o macOS, e nas nossas, com o Linux. Como alguém que se lembra da transição de mainframes, controlados centralmente, para PCs, de uso individual, não quero retornar a um mundo onde todo o poder pertence à Microsoft ou a qualquer outra corporação.

“O desktop Linux nunca será tão grande quanto o Windows já foi”, escreve Vaughan-Nichols no encerramento. “Entre a ascensão dos serviços de nuvem e o domínio do smartphone, não é possível isso acontecer. Mas ele ainda pode se tornar o desktop convencional mais popular.”

Linux precisa de padrões

Foi oportuna a ênfase nos usuários avançados. De muitas maneiras, eles são o centro de gravidade em um ecossistema de tecnologia.

Quase todos os usuários avançados/técnicos que conheço querem “padrões”. As distribuições Linux estão repletas de padrões por baixo do capô, mas não há um padrão de certificação de hardware (portanto, encontrar periféricos compatíveis é sempre estranho, além de arriscado) e não há uma interface de usuário padrão. Os usuários técnicos querem essas duas coisas. Um técnico que seja obrigado a dar instruções de suporte técnico ao usuário, ensinando a ele comandos de terminal porque não há uma Interface Gráfica padrão é um técnico que um dia dará as costas ao “desktop Linux”.

Três posições – ao meu ver equivocadas – que a comunidade FOSS [Free Open Source SoftwareSoftware Livre] assume, e que levam a essa situação são:

1. Pregar que o “’Linux’ é um sistema operacional”. Fora do âmbito técnico essas palavras alienam o ouvinte. Apenas os técnicos entendem ou se interessam por esse jargão. Para qualquer pessoa com mentalidade de consumidor (que inclui a maioria dos usuários avançados) isso não significa nada. Aliás, tenho receio de ter perdido leitores no início deste texto, com todas aquelas siglas e nomes esquisitos. Se você ainda está aqui, receba minha admiração pela sua capacidade de foco(*). É preciso vender o Linux como uma solução a problemas comuns e não um ‘sistema operacional’. Não me ocorre no momento nenhum remédio para esse problema crítico de comunicação, mas ele tem que ser superado.

2. Inconsistência nas interfaces de usuário. “Interfaces são compromissos” (aprendi isso em Análise de Sistemas). A fragmentação do Linux é ainda maior quando se fala nos ambientes gráficos de usuário disponíveis (GNOME, KDE, MATE, etc). Interfaces são compromissos para todos os envolvidos. Se uma determinada categoria de stakeholder experimenta o computador como algo caótico, nunca previsível, o sistema todo pode desmoronar. Os computadores devem fornecer consistência ou então enfrentar o opóbrio.

3. Opções demais para instalação e atualização. O “empacotamento” da distribuição sempre foi hostil, tanto ao desenvolvedor de aplicativos quanto ao usuário, de novo por razões de fragmentação do ecossistema. Cada distribuição tem seu gerenciador de pacotes particular. Uma tentativa de solução proposta é o padrão universal Snap no qual se baseia o popular Snapcraft. Segundo a Wiki “Snapcraft é uma ferramenta para desenvolvedores empacotar seus programas no formato Snap. Ele roda em qualquer distribuição Linux suportada por Snap, macOS e Microsoft Windows. O Snapcraft compila os pacotes de forma a garantir que o resultado de uma compilação seja o mesmo, independentemente de qual distribuição ou sistema operacional ele é compilado”.

Faça como o Windows

Para merecer a atenção e o investimento do público em geral, os desenvolvedores de desktops FOSS precisam voltar sua mentalidade para as questões: a) Como fazer para que as pessoas fiquem empolgadas o suficiente com a plataforma para começar a escrever aplicativos para ela? b) Como juntar desenvolvedores de aplicativos e usuários finais da maneira mais satisfatória possível?

As respostas para isso podem variar às vezes, mas geralmente se parecem com:

  • Integrar o sistema verticalmente
  • Manter o visual consistente – mas não espartano

A maioria dos usuários avançados prefere Windows ou OS X exatamente por esses motivos!

Em oposição, o FOSS – como eu o o conheço – sempre tende a enfatizar a integração horizontal, a resolução de dependências através de bibliotecas, UIs descartáveis e APIs espartanas – todas as respostas erradas para desafiar a Microsoft no campo do desktop!

Além disso, se você tiver uma coleção de APIs para desktop, elas apenas serão úteis se todo o conjunto tiver versões padrão. Mesmo assim a comunidade de distribuição Linux não se importa em misturar as versões upstream conforme cada um achar melhor – isso seria perfeitamente razoável em um mundo em que todos os “desenvolvedores” fossem hackers de sistema.

O Google (Alphabet) aparentemente descobriu a solução para a maioria dos problemas acima com o Android, construído a partir do Kernel do Linux, mas sempre pronto para substituí-lo/alterá-lo/descartá-lo.

__

(*) A propósito disto, respeito muito a inteligência das pessoas que se propõem a ler este blog, e não faço concessões ao fácil [:wink]

Fundação Linux Lança Projeto para o Ecossistema Agrícola Global

Na quarta-feira passada, a Linux Foundation, a organização sem fins lucrativos que busca promover a inovação em massa por meio de tecnologias de código aberto, anunciou o lançamento da Fundação AgStack, o primeiro projeto de infraestrutura digital de código aberto desenhado especificamente para o ecossistema agrícola global.

A Fundação AgStack vai melhorar a eficiência da agricultura global por meio da criação, manutenção e aprimoramento de uma infraestrutura digital gratuita, reutilizável, aberta e especializada, para dados e aplicativos agrícolas.

Os membros fundadores e contribuintes incluem líderes das indústrias de tecnologia e agricultura, abrangendo diversos setores e geografias. Membros e parceiros incluem Agralogics, Call for Code, Centricity Global, Digital Green, Farm Foundation, farmOS, HPE, IBM, Mixing Bowl & Better Food Ventures, NIAB, OpenTeam, Our Sci, Produce Marketing Association, Purdue University / OATS & Agricultural Informatics Laboratório, a Universidade da Califórnia em Agricultura e Recursos Naturais (UC-ANR) e o Projeto SmartFarm da Universidade da Califórnia em Santa Bárbara.

“O ecossistema da agricultura global precisa desesperadamente de uma reforma digital. Há muita perda de produtividade e inovação devido à ausência de ferramentas e dados reutilizáveis. Estou animado para liderar esta comunidade de líderes, colaboradores e membros – de vários setores e países – para ajudar a construir este recurso comum e reutilizável – AgStack – que ajudará todas as partes interessadas na agricultura global com ferramentas e dados digitais abertos, ” Disse Sumer Johal, Diretor Executivo da AgStack.

A Linux Foundation observou que 33 por cento de todos os alimentos produzidos são desperdiçados, enquanto nove por cento das pessoas no mundo estão com fome ou desnutridas. Esses dados sociais são combinados com sistemas antigos que são muito lentos e ineficientes e não podem funcionar em toda a crescente e complexa cadeia de abastecimento agrícola. A AgStack usará colaboração e software de código aberto para construir uma infraestrutura digital do século 21 que, segundo ela, será um catalisador para a inovação em novos aplicativos, eficiência e escala.

“A explosão de inovações em agrotecnologia de grandes empresas a startups, governos e organizações sem fins lucrativos representa uma virada de jogo para os agricultores do Sul e do Norte Global”, disse Rikin Gandhi, co-fundador e diretor executivo do parceiro da AgStack Digital Green. “Ao mesmo tempo, é fundamental construirmos uma infraestrutura digital que garanta que o impacto dessas mudanças possibilite a inclusão e aumento da resiliência dos produtores mais marginalizados, especialmente em meio às mudanças climáticas.”

AgStack consiste em um repositório aberto para criar e publicar modelos, acesso fácil e gratuito a dados públicos, estruturas interoperáveis ​​para uso em projetos cruzados, extensões, e caixas de ferramentas baseadas em tópicos específicos. Ele irá alavancar tecnologias existentes, como padrões agrícolas (AgGateway, UN-FAO, CAFA, USDA e NASA-AR); dados públicos (Landsat, Sentinel, NOAA e Soilgrids; modelos (UC-ANR IPM) e projetos de código aberto como Hyperledger, Kubernetes, Open Horizon, Postgres, Django e muito mais.

“Temos o prazer de fornecer o ambiente para o AgStack existir e crescer”, disse Mike Dolan, gerente geral e vice-presidente sênior de projetos da Linux Foundation. “É claro que, ao usar software de código aberto para padronizar a infraestrutura digital para a agricultura, a AgStack pode reduzir custos, acelerar a integração e permitir a inovação. É incrível ver um setor como a agricultura usar princípios de código aberto para inovar.”

Precision AI

O anúncio da AgStack segue nesta semana com outras notícias importantes sobre financiamento no espaço agtech. Na terça-feira passada, a empresa canadense de robótica agrícola Precision AI anunciou que fechou com sucesso uma rodada de negociações de US$ 20 milhões, liderada pelo cofundador do GoogleX, Tom Chi’s At One Ventures, junto com o Fundo de Inovação Industrial da BDC Capital, Fulcrum Global Capital e Golden Opportunities Fund.

Os fundos serão usados ​​para apoiar o avanço da plataforma disruptiva de agricultura de precisão, a Precision AI, que gerencia enxames de drones para reduzir drasticamente o uso de herbicidas na agricultura de cultivo em linha.

De acordo com o Precision AI, a pulverização de herbicidas é uma das atividades agrícolas menos eficientes, com mais de 80% desperdiçada em solo descoberto. Embora os concorrentes tenham se concentrado em safras de alto valor e pequena área, a Precision AI diz que sua tecnologia pode ser aplicada a grandes lavouras a um custo muito mais baixo do que as grandes máquinas agrícolas tradicionais, reduzindo potencialmente o uso de pesticidas em até 95%, mantendo o rendimento da colheita e proporcionando economia de até US$ 52 por acre por safra.

* * *

No ano passado escrevi uma monografia sobre Agricultura de Precisão. Pretendo disponibilizá-la em breve, com novas adições ao blog.

Funcionalidade de VPN usando Túnel SSH

Este não é um blog novidadeiro ou de breaking news. Também não é um site de dicas. Meu compromisso é ter um canto na Web para discussão, em formato longo, de assuntos que não são contemplados em outras mídias e sites de língua portuguesa, mas que são importantes no debate internacional no campo da Tecnologia da Informação (de acordo com o que eu vejo). Assim, sempre haverá lugar aqui para sugestão de algumas técnicas rápidas e diretas, principalmente quando ligadas à Segurança e Privacidade Se este texto parece uma dica, que assim seja.

Alguns recursos na Internet podem ser acessados apenas a partir de clientes [*clientes são programas que rodam em seu computador local] com endereços IP específicos. Por exemplo, suponha que você queira baixar um documento da sua universidade publicado em uma revista científica. Nesse caso, normalmente você precisa se conectar ao site da revista a partir de um computador com um endereço IP que pertença à sua universidade. Se você estiver trabalhando em casa, é possível se conectar à VPN da universidade, de forma a que seu endereço IP de casa seja disfarçado como endereço IP do campus.

Contudo, nem sempre é possível usar a VPN fornecida pela sua universidade. Por exemplo, algumas VPNs requerem um software cliente especial, que pode não suportar certos sistemas operacionais, como o Linux. Existiria então alguma solução alternativa simples para VPN? A resposta é sim, se você puder estabelecer uma conexão SSH para um servidor com o endereço IP de sua universidade – por exemplo, para a estação de trabalho em execução no seu departamento. Essa conexão é chamada Túnel SSH e é implementada através de protoclos como o Socks.

Socks Proxy

Para contornar/resolver o problema do acesso à revista científica , podemos executar o seguinte comando, que cria uma listagem do servidor Socks na porta 12345 do seu localhost.


A opção -D especifica um encaminhamento “dinâmico” de porta em nível de aplicativo local. Isso funciona alocando opcionalmente um soquete para ouvir a porta no lado local. Sempre que uma conexão for feita a esta porta, a conexão é encaminhada sobre o canal seguro e o protocolo do aplicativo é então usado para determinar onde se conectar a partir da máquina remota. Atualmente, os protocolos Socks4 e Socks5 são suportados; o SSH atuará como um servidor Socks.

Se você quiser pará-lo, basta pressionar [Control] – [C]

Firefox via Socks proxy

A próxima etapa é a configuração de proxy no seu navegador. Usarei o Firefox como exemplo. A configuração está em preferências> Configuração de rede> Configurações …

Configuração de um Socks proxy no Firefox

Depois de fazer isso, você pode logar, procurar os papers que precisa e começar a baixá-los.

Para testar essa funcionalidade VPN improvisada, pesquise “Qual é o meu IP” no duckduckgo.com (ou Google) usando o navegador com proxy. Você vai reparar que ele exibe agora o IP de ssh_remote_host_ip em vez do IP de sua máquina local.

Arroz-feijão? Sim. E Funciona? Pode Apostar

Em servidores Linux, pode ser incrivelmente difícil qualquer processo se completar se o disco estiver sem espaço. Comandos de cópia e até mesmo as exclusões podem falhar ou demorar, quando a memória tenta “swap” para um disco que está cheio e há pouco a se fazer para liberar grandes lotes de espaço. Mas, e se houvesse uma maneira de liberar um grande espaço em disco nos momentos em que você realmente precisa? A resposta: Digite o comando dd[1].

Red beans and rice – prato do sul dos EUA

Como decisão de ano-novo, todos os meus servidores têm agora um arquivo espacer.img de 6 a10 GB vazio, que não faz absolutamente nada, exceto ocupar espaço. Dessa forma, em um momento de crise de disco cheio, posso simplesmente excluí-lo e ganhar algum tempo crítico para depurar e corrigir o problema. Oito Giga é uma quantidade significativa de espaço, mas o armazenamento é tão barato nos dias de hoje que acumular esse espaço vazio é basicamente imperceptível… um volume pequeno para se notar normalmente, mas que faz toda a diferença do mundo quando se precisa.

Então é isso. É por isso que eu mantenho um arquivo inútil no disco em todos os momentos: para poder um dia deletá-lo. Esta solução é super simples, trivial para implementar e fácil de utilizar. Verdadeiro arroz-feijão. Obviamente, a solução real é não deixar o servidor de banco de dados sem espaço, mas, como todo administrador sabe, às vezes os servidores ficam cheios devido a erros simples ou falhas inesperadas de design. Quando chega a hora, é bom ter um plano B, porque, caso contrário, você está enrolado com um disco cheio e um dia muito ruim pela frente.

[1] dd é um utilitário de linha-de-comando para sistema UNIX e derivados, cujo propósito é converter e copiar arquivos;

Para criar uma imagem de um HD: Em vez de fazer um backup do disco, você pode criar um arquivo de imagem do disco, como sugerido acima, e salvá-lo em outros dispositivos de armazenamento. Há muitas vantagens em fazer o backup de seus dados para uma imagem de disco, sendo uma a facilidade de uso. Este método é tipicamente mais rápido que outros tipos de backups, permitindo que você restaure rapidamente os dados após uma catástrofe inesperada. Exemplo:

dd if = /dev/hda of = ~/hdadisk.img