Revista “(En)Coders” – segundo semestre de 2023.
Entrevista com Hali Omani – Diretor do Instituto Imbuhy, desenvolvedor de sistemas processuais aplicados.”
- Por que sistemas processuais não devem ser criados com linguagens interpretadas ?
A resposta parece óbvia, mas os desenvolvedores insistem em fingir que não sabem. Sistemas processuais – desses que funcionam em justiças federais e estaduais, sistemas processuais administrativos, em repartições públicas, sistemas hospitalares, militares e financeiros: todos são sistemas de alta segurança. O ideal é que esses produtos tenham (1) checagem de integridade e (2) sejam compilados (por exemplo, usando Java ou Rust). Assim, mesmo tendo acesso à rede onde ele funciona, um invasor não poderá alterá-lo sem passar pelo processo de CI/CD. Já esse processo precisa também ser seguro, senão o problema só se desloca de cenário. Muitas equipes, por exemplo, usam GIT para versionamento de software. Eu creio que o Google Jenkins é mais adequado.
- A questão do sistema desenvolvido mas não pago é resolvida assim ?
Sim. Os desenvolvedores que usam linguagens interpretadas têm levado muito calote. Num programa compilado é muito mais fácil embutir travas que obriguem o contratante a pagar. Mas lembre-se de que o combinado não sai caro. Mantenha os acertos e limitações, prazos e condições bem claros !
- Como devemos disciplinar o acesso de usuários e máquinas aos sistemas ?
Bem lembrado. Precisamos sempre validar máquinas como usuários correntes. Isso até pode ser feito via servidores que registrem máquinas certificadas. Mas ainda é incomum. Por exemplo, eu posso permitir à máquina [ m01.landriadvogados.com.br ] fazer um certo número de consultas por minuto, com limite diário de consultas, mas ela precisa ter certificado. Ou talvez dar o acesso a qualquer máquina desse domínio. É um assunto mais complexo do que login e senha somente. Para pessoas físicas temos ainda o [ gov.br ] e certificados pessoais. E pessoas jurídicas possuem certificado também. Isso sem esquecer os métodos de logon humano – hoje são vários e alguns até irritantes. É um grande universo que precisa ser discutido constantemente.
- Um sistema computacional tem as fragilidades definidas na teoria geral de sistemas. Por exemplo, todo sistema pode ser levado a colapso dado o estímulo adequado.
Sim. Penso que outros sistemas – os guardiães – devam se encarregar de desligar preventivamente o sistema em foco, quando seus sinais vitais não são bons. Mas quem protege os guardiães ? Ultimamente tenho pensado bastante na questão do triplo controle, mencionado num livro do catalão Josep Maria Domènech: “O Terceiro Milênio – Um Sonho no Espaço”.
- Na justiça, quem protege os projetistas e suas famílias dos sequestradores e ladrões ?
É uma questão contemporânea. Não creio que os times de segurança dos operadores de direito possam realizar seu trabalho sem a ajuda de inteligência artificial. Por exemplo, um sistema de segurança deveria emitir um alerta ao RH quando um analista essencial ao sistema está endividado e sensível ao aliciamento por antagonistas. Sequestro então, nem se fala. A atividade de segurança patrimonial e pessoal precisa se reinventar. O modelo israelense de treinamento e proteção de pessoas das IDFs pode ser aplicado aqui. Ninguém tenta sequestrar uma mulher-soldado de Israel, sem sofrer baixas. Ela anda armada e não desiste nunca. Assim que o evento é percebido, um enxame de abelhas assassinas com uma estrela no ombro aparece. Tem que ser muito louco e suicida para tentar algo assim. Mas acontece. Aí entram outros protocolos.
- Quando um sistema “sente” que vai degradar ele deve avisar ?
Às vezes não dá tempo. Mas sim, os sistemas precisam ter essa propriedade. É uma coisa que não temos hoje.
- Sistemas devem se proteger, ter logs de acesso, ter alarmes ?
Penso que um sistema deve ser o mais simples possível. A minha definição de processo, por exemplo, é super simples.
Quem faz logs é o sistema de segurança – é um outro produto. Podemos incorporar sistemas ao nosso produto principal, mas sempre de modo simples e transparente para o desenvolvimento.
Concentremo-nos naquilo que realmente interessa.
Por exemplo, quem movimentou um processo no dia tal ? Não é uma pergunta para o desenvolvedor. É uma pergunta para a Corregedoria, que terá essa informação na ponta dos dedos, ou da língua sintética de um sistema especialista.
- A tecnologia blockchain tem a ver com isso ?
Não se pode separar hoje a tecnologia blockchain dos sistemas processuais. Mas não conheço ainda nenhum que a use.
- É sua a frase: “Se o sistema fosse bom ele conversava comigo, na minha língua” ?
Sim. Qualquer um que tenha usado ChatGpt, Siri, Bard ou Alexa sabe das possibilidades trazidas pela IA como interface de usuário. E mais, podemos usar IA para desenvolver sistemas melhores, mais adaptáveis etc – talvez fazendo interface com os grandes APPs de comunicação já existentes.
Os desenvolvedores de grandes IAs precisam tornar essa tecnologia acessível e barata, em prol da evolução da espécie humana.
Por outro lado, os desenvolvedores não podem mais gastar tempo e processador com telas etc. Pouca gente sabe que um programa JavaScript mal feito pode travar um notebook. Quando analisamos a quantidade de disciplinas de estudo para formar um desenvolvedor processual na empresa, vemos que a abordagem da interface textual ou vocal reduz esse número em quase 40%.
O que me preocupa é o pouco tempo dedicado ao estudo de IA nos cursos universitários de computação. Geralmente os estudantes têm apenas uma matéria de IA no curso todo (e nenhuma de Teoria Geral de Sistemas). Isso vai mudar, pelo menos com o IMPA TECH. Mas é para poucos.
- Advogados serão inúteis no futuro ?
Pelo contrário! Serão essenciais porque serão ultra especializados ! Mas precisarão aprender a trabalhar em conjunto, como abelhas e formigas. E aprender a dividir lucros e perdas.
Creio também que os advogados do futuro serão grandes estatísticos ou estarão associados a esses profissionais.
- Como um sistema processual poderia ajudar na guerra Israel-Palestina por exemplo ?
Não é Israel-Palestina, é Israel-Hamás e Israel-Rezbolah. O povo palestino apenas está no meio, apesar de ser casualidade desejável para muitos. Mas você deve ter ouvido os boatos de que um terrorista teria se infiltrado no grupo de asilados palestinos. Acho impossível que nossa chancelaria tenha dado esse mole, porque ela faz acompanhamento de material nuclear com a Abin, por que não acompanharia pessoas suspeitas de terrorismo ?
Mas imagine que o processo de asilo, documentação, emprego, tudo fosse acompanhado por um sistema processual único ou com acesso integrado aos dados de todos. Seria fácil perceber distorções ou desvios…
- Também é uma frase sua: “Os dados precisam falar” ?
Sim. Os dados hoje são copiados, manipulados, avaliados, complementados, trafegam e são armazenados indefinidamente. Eu acho importante o meu cadastro bancário me informar quem teve acesso a ele recentemente. Acho importante saber que meu endereço foi passado de um equipamento servidor da UFRJ para uma empresa de planos de saúde e quero também saber quem passou. Quero poder me comunicar com meus dados e dizer “olha, peçam para sair do banco A e vão para o banco B”. Mas talvez eles me respondessem: “Só podemos fazer isso quando acabar o seu empréstimo consignado” !
- As pessoas precisam de IA para sua própria proteção ?
Sem dúvida. As IAs pessoais vão ser essenciais desde já, seja para informar que a mensagem que acabou de chegar é fake, seja para informar que o mundo vai acabar em seis meses se não pararmos de usar torres de microondas. Ou para fazer a petição inicial em um processo.
Não sei como vamos fazer isso, nem como a nossa sociedade será alterada, mas compreendo quando “gente lá de cima” treme com a ideia.
- As Justiças Federais do Rio e Espírito Santo estiveram migrando peças do sistema antigo (Apolo) para o novo (eProc) desde 2018 até agora, 2023. Parece que estabilizou. Ninguém tinha pensado nesse problema há cinco anos ?
A Corregedora na época, Dra. Nizete Lobato, teve uma presciência da pandemia. Sem aquela magistrada genial, nós iríamos paralisar nossos serviços por muito tempo. E seria ruim para a região, tão ávida de justiça e acordos.
Claro está que a migração não foi adequada no tempo, mas o trabalho compensou pela continuidade do serviço jurisdicional. Foi um trade-off que valeu a pena, literalmente. Podia ter sido planejado melhor, com mais dedicação e mais atenção e ponderações dos analistas.
- Como você se intitula desenvolvedor de sistemas processuais se nunca fez um ?
Espere os próximos dois anos que eu respondo.
- Regras de negócio ficam no código ?
Nem pensar. O código é apenas um engine. Regras de negócio ficam no repositório de regras de negócio, definições e valores globais (ReVeNGe). As operações são realizadas no tempo de acordo com as validades de cada item do ReVeNGe. Por exemplo, a regra “Toda petição será encaminhada à vara de plantão de cada serventia competente” só será válida durante o recesso judiciário 2023-2024. É um exemplo fraco, mas é o que me ocorre agora. Essa regra será definida para o sistema, em língua natural, por uma pessoa autorizada, com nível adequado. Do mesmo modo, a regra “todo ano, até o início de outubro, deve ser informado o período do recesso dezembro-janeiro”.
Eu não quero IFs (instruções de decisão) falando sobre o fluxo. Eu as quero apenas fazendo o sistema andar.
Perceba que, no sistema processual ideal, não informaremos somente as varas federais, núcleos e turmas. Informaremos a estrutura toda daquele tribunal e suas mudanças, para que seja possível avaliar a eficiência com base nas mudanças estruturais históricas. E cada mudança deve automaticamente se refletir no processual.
Deve ser possível perguntar ao sistema: “qual o efeito da mudança física do gabinete de um desembargador, na produtividade processual ?”.
É necessário também que o sistema informe quando uma regra vai criar problemas por ser incompleta ou por ir contra a outra já definida.
- Sistemas processuais devem ser software livre ?
Para começar, não existe sistema processual no poder judiciário que seja software livre. Os sistemas existentes não possuem documentação, não têm instaladores, não apresentam suporte técnico em site de dúvidas, não atendem às licenças de software livre, não podem ser baixados da internet e os dados precisam ser montados em bancos de dados especificamente preparados após longos procedimentos. Além disso, as interfaces com sistemas externos nem sempre são claras. Os sistemas processuais chamados “livres” custam milhões de reais por ano, se contarmos as horas de suporte técnico gastas só na parte estrutural (ajuste de bancos de dados, correção de erros de programas, alterações pedidas pelos diversos tribunais etc). Daria para comprar muitos sistemas pagos no período, com suporte gratuito.
Mas eu posso responder a sua pergunta com outra: -Você gostaria que o código fonte do sistema de seu banco estivesse à disposição das equipes de TI do crime, nos datacenters montados confortavelmente nos presídios e nos países do oriente ?
Observe que nem o código fonte do sistema eleitoral está disponível fora da sala controlada do TSE !
Eu me sinto assim com sistemas processuais:
https://www.facebook.com/reel/944599530782866
Vejam CISA and FBI Release Product Security Bad Practices for Public Comment em:
https://www.cisa.gov/news-events/news/cisa-and-fbi-release-product-security-bad-practices-public-comment