Muitas vezes me perguntam se um determinado pacote de código aberto pode ser portado para alguma versão do VOS ou OpenVOS (abreviado como “VOS”). Minha resposta geral é que a maioria dos pacotes de código aberto que executam apenas operações no modo de usuário podem ser portados para o VOS. Como os clientes da Stratus utilizam muitas versões diferentes do VOS e, a cada nova versão do VOS, adicionamos novos recursos ao ambiente POSIX, é difícil dar uma resposta mais específica sem realmente tentar portar o pacote em questão.
Estimo ter transferido mais de um milhão de linhas de código-fonte para o VOS. Acredito ter encontrado a maioria dos problemas que alguém provavelmente enfrentaria ao transferir software para o VOS. A primeira regra prática é que você deve usar a versão mais recente do VOS que sua organização tenha instalado. Se a sua versão tiver vários anos, o que não é incomum entre nossos clientes, então certamente há uma versão mais recente que você pode instalar. Mesmo que você ainda esteja usando nossos sistemas Continuum mais antigos, continuamos a melhorar as bibliotecas POSIX nas versões de manutenção do VOS 14.7, e ainda vale a pena atualizar para obter essas adições e correções. Se você tiver um módulo V Series mais recente, deve usar o OpenVOS 17.0.1, que tem o suporte POSIX mais completo de todas as versões.
Como discuti na apresentação “Portando código-fonte aberto para o VOS” (veja minha postagem anterior no blog), mesmo quando o VOS não possui algum cabeçalho ou função POSIX, geralmente não é difícil contornar essa ausência modificando o código-fonte original ou portando o código ausente de outro sistema operacional de código aberto.
Acho que você vai descobrir que os pacotes “openvos.save.evf.gz” e “posix.save.evf.gz” no site FTP anônimo do VOS simplificam a tarefa de portar software de código aberto para o VOS. Também espero que você leia a apresentação que acabei de mencionar, pois ela contém muitas sugestões úteis.
Minha experiência é que muitos pacotes de código aberto serão portados para o OpenVOS Release 17.0.1 sem nenhuma alteração. Mesmo quando são necessárias alterações, elas geralmente são bastante pequenas. A única área problemática restante é a ligação dinâmica, que as versões atuais do VOS não suportam. Alguns pacotes exigem ligação dinâmica apenas para executar os casos de teste (por exemplo, o Sleepycat Berkeley DBMS), e outros exigem-na para serem compilados (por exemplo, a versão atual do MIT Kerberos). Você pode usar um mecanismo de busca na Internet para encontrar uma cópia mais antiga do pacote que ainda suporte ligação estática. Você pode então transferir esse suporte para a versão atual. A Stratus está atualmente implementando a ligação dinâmica para uma versão futura do OpenVOS.
Você sempre tem a opção de contratar especialistas da Stratus Professional Services para realizar a portabilidade e os testes relacionados, e entregar os resultados a você. Nós fizemos a portabilidade do gSOAP, Xerces e outros pacotes para nossos clientes e, é claro, fizemos a portabilidade de tudo, desde GCC até MySQL, para nossa biblioteca de produtos de software.
