Recentemente, dei um mergulho no mundo do BSD. Como parte da minha tentativa de entender o mundo BSD um pouco melhor, entrei em contato com Lucas Holt (MidnightBSD fundador e desenvolvedor-chefe) para fazer algumas perguntas sobre seu projeto. Aqui estão suas respostas.
É FOSS: Explique MidnightBSD em poucas palavras. Como é diferente de outros BSDs?
Lucas Holt: MidnightBSD é um sistema operacional focado em desktop. Quando for considerado estável, fornecerá uma experiência de desktop completa. Isso difere de outros esforços, como TrueOS ou GhostBSD, pois não é uma distro do FreeBSD, mas sim um fork. MidnightBSD tem seu próprio gerenciador de pacotes, mport, bem como software de cluster de pacotes exclusivo e vários recursos integrados ao usuário, como mDNSresponder, libdispatch e personalizações em todo o sistema.
É FOSS: A quem se destina o MidnightBSD?
Lucas Holt: O objetivo do MidnightBSD sempre foi fornecer um sistema operacional de desktop que possa ser usado para tarefas diárias e que até pessoas pouco técnicas possam usar. As primeiras versões do Mac OS X foram certamente uma inspiração. Na prática, estamos muito longe dessa meta neste momento, mas tem sido uma excelente oportunidade de aprendizado.
É FOSS: Qual é a sua experiência em computadores?
Lucas Holt: Comecei no suporte técnico em um pequeno ISP e passei para web design e administração de sistemas. Lá, aprendi BSDi, Solaris e Linux. Também comecei a mexer com a programação de aplicativos web em ASP e um pouco de perl CGI. Em seguida, fiz uma mistura de trabalhos de programação e administração de sistema durante a faculdade e me formei como bacharel em C.S. pela Eastern Michigan University. Durante esse tempo, aprendi NetBSD e FreeBSD. Comecei a trabalhar em vários projetos, como portar o código HFS + da Apple para o FreeBSD 6 e trabalhar para fazer o controlador SATA do chipset nforce2 funcionar com o FreeBSD 6, com o último comprometido. Eu comecei a gostar de BSD e depois de ver a falta de interesse da comunidade por BSDs de desktop, comecei o MidnightBSD. Comecei a trabalhar nele no final de 2005.
Atualmente, sou um Engenheiro de Software Sênior com foco em serviços de back-end durante o dia e um estudante de graduação em meio período na Universidade de Michigan Flint.
É FOSS: instalei recentemente o TrueOS. Fiquei desapontado porque alguns dos programas que eu queria não estavam disponíveis. O sistema de portes do FreeBSD parecia um pouco complicado para iniciantes. Estou acostumado a usar o pacman para fazer o trabalho rapidamente. Como o MidnightBSD lida com as portas?
Lucas Holt: MidnightBSD tem seu próprio sistema de port, mports, que compartilha semelhanças com os portes do FreeBSD, bem como algumas idéias do OpenBSD. Decidimos desde o início que um gerenciamento decente de pacotes era essencial para usuários regulares. Usuários avançados ainda usarão portas para certos softwares, mas consome muito tempo para construir tudo. Começamos a trabalhar em nosso próprio gerenciador de pacotes, mport.
Cada pacote é um arquivo tar lzma com um arquivo de manifesto sqlite3, bem como um índice sqlite 3 que é baixado de nosso servidor. Isso permite que os usuários consultem e personalizem o sistema de pacotes com consultas SQL padrão. Também estamos construindo ferramentas gráficas mais fáceis de usar.
A disponibilidade do pacote é outro problema que a maioria dos BSDs tem. O software tende a ser escrito para um ou dois sistemas operacionais e muitos projetos relutam em oferecer suporte a outros sistemas, particularmente projetos menores como MidnightBSD. Certamente existem lacunas. Todos os projetos BSD precisam de mais voluntários para ajudar a portar software e mantê-lo atualizado.
É FOSS: durante sua entrevista de junho de 2015 no BSDNow, você mencionou que, embora suporte i386 e amd64, recomenda que as pessoas escolham amd64. Você tem planos de descartar o suporte i386 no futuro, como muitos fizeram?
Lucas Holt: Sim, planejamos descartar o suporte i386, principalmente por causa do trabalho extra necessário para construir e manter pacotes. Eu não fiz isso até agora porque recebi muitos comentários de usuários da América do Sul de que eles ainda precisavam. Por enquanto, o plano é manter o suporte i386 até a versão 1.0. Isso é provavelmente um ou dois anos fora.
É FOSS: Quais ambientes de desktop o MidnightBSD suporta?
Lucas Holt: O plano original era usar Etoile como ambiente de desktop, mas o projeto mudou de foco. Atualmente, suportamos Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace como escolhas principais. Também temos vários outros gerenciadores de janelas e ambientes de desktop disponíveis, como Enlightenment, rat poison, afterstep, etc.
As primeiras versões ofereciam o KDE 3.x, mas tivemos alguns problemas com o KDE 4. Podemos revisitar isso com as versões mais recentes.
É FOSS: Qual é o sistema de arquivos padrão do MidnightBSD? Você oferece suporte ao sistema de arquivos HAMMER do DragonflyBSD? Quais outros sistemas de arquivos?
Lucas Holt: Os volumes de inicialização são UFS2. Também oferecemos suporte a ZFS para armazenamento adicional. Lemos suporte para ExFat, NTFS, ext2, CD9660. NFS v3 e v4 também são compatíveis com sistemas de arquivos de rede.
Não oferecemos suporte ao HAMMER, embora tenha sido considerado. Eu adoraria ver o HAMMER2 sendo adicionado ao MidnightBSD eventualmente.
É FOSS: O MidnightBSD foi afetado pelos recentes problemas Spectre e Meltdown?
Lucas Holt: Sim. A maioria dos sistemas operacionais foi afetada por esses problemas. Não fomos informados sobre o problema até o público em geral tomar conhecimento. O trabalho está em andamento para chegar a mitigações apropriadas. Infelizmente, ainda não temos um patch.
É FOSS: o Raspberry Pi e seus muitos clones tornaram a plataforma ARM muito popular. Existem planos de disponibilizar o MidnightBSD nessa plataforma?
Lucas Holt: Sem planos imediatos. ARM é uma arquitetura interessante, mas pela própria natureza dos designs de SoC, exige muito trabalho para oferecer suporte a um grande número de dispositivos. Pode ser possível quando paramos de apoiar i386 ou se alguém se oferece para trabalhar na porta ARM.
Eventualmente, eu acho que a maioria dos sistemas de hobby precisará rodar chips ARM. A Intel está planejando bloquear o hardware com UEFI 3 e isso pode dificultar a execução em hardware comum no futuro, não apenas para MidnightBSD, mas também para outros sistemas.
Em um ponto, MidinightBSD rodou em sparc64. Quando as estações de trabalho foram encerradas, deixamos de oferecer suporte. Um sistema operacional de desktop em uma plataforma de servidor faz pouco sentido.
É FOSS: MidnightBSD oferece suporte para aplicativos Linux?
Lucas Holt: Sim, oferecemos emulação Linux. Ele está emulando um kernel 2.6.16 atualmente e que precisa ser atualizado para oferecer suporte a aplicativos mais recentes. É possível executar versões semi-recentes do Firefox, Thunderbird, Java e OpenOffice nele. Também o usei para hospedar servidores de jogos no passado e jogar jogos mais antigos, como Quake 3, território inimigo, etc.
É FOSS: Você poderia comentar sobre o recente desentendimento entre os desenvolvedores do navegador Pale Moon e a equipe por trás do sistema de portas OpenBSD?
[Nota do autor: para aqueles que não ouviram sobre isso, deixe-me resumir. No mês passado, alguém da equipe do OpenBSD adicionou o navegador Pale Moon à sua coleção de ports. Um desenvolvedor de Pale Moon exigiu que eles incluíssem as bibliotecas de Pale Moon em vez de usar bibliotecas de sistema. Conforme a conversa continuou, ela ficou mais hostil, especialmente no lado da Lua Pálida. O resultado líquido é que Pale Moon não estará disponível no OpenBSD, MidnightBSD ou FreeBSD.]
Lucas Holt: Achei essa discussão frustrante. Muitos dos projetos BSD ouvem muitas reclamações sobre a disponibilidade e compatibilidade do navegador. Com o Firefox migrando para o Rust, isso torna tudo ainda mais difícil. Então você entra em questões de branding. Como o Firefox, os desenvolvedores do Pale Moon decidiram proteger sua marca à custa dos usuários. Ao contrário dos desenvolvedores do Firefox, eles fizeram requisitos ainda mais estranhos para a marca. Não é possível usar uma versão da biblioteca do sistema de nada com o Pale Moon e manter seus requisitos de marca. Como tal, não podemos oferecer Pale Moon no MidnightBSD.
A razão pela qual este é um problema para um projeto de código aberto é que muitas bibliotecas de terceiros são usadas em algo tão complexo como um navegador da web. Por exemplo, os navegadores baseados no Gecko usam várias bibliotecas multimídia, sqlite3 (para favoritos), codecs de áudio e vídeo, etc. Tentar manter patches upstream para cada um desses itens é difícil. É por isso que os BSDs têm coleções de ports para começar. Ele nos permite rastrear e gerenciar patches personalizados para fazer todas essas bibliotecas funcionarem. Fazemos um grande esforço para mantê-los atualizados. Às vezes, os patches upstream não são incluídos. Isso significa que nossas versões são as únicas cópias de trabalho. Com a política de pale moon, precisaríamos enviar patches separados para suas versões personalizadas de todas essas bibliotecas também e qualquer nova versão do navegador não estaria disponível conforme as mudanças ocorressem. Pode não ser possível compilar a lua pálida sem um patch localmente.
Com relação ao Rust, ele requer a portabilidade do idioma, bem como uma versão apropriada do LLVM antes mesmo de iniciar o navegador.
É FOSS: Se alguém quiser contribuir para o seu projeto, tanto financeiro quanto técnico, como pode fazer isso?
Lucas Holt: A ajuda financeira para o projeto pode ser enviada online. Temos uma página que descreve como fazer doações com Patreon, Paypal ou via bitcoin. Doações nao tem dedução de impostos. Você pode saber mais em http://www.midnightbsd.org/donate/
Também precisamos de ajuda com traduções, portabilidade de aplicativos e trabalho no sistema operacional real. As partes interessadas podem nos contatar na lista de discussão ou através do IRC em freenode #midnightbsd. Também poderíamos ter ajuda com o espelhamento de ISOs e pacotes.
Gostaria de agradecer a Lucas por dedicar seu tempo para responder às minhas muitas perguntas. Para obter mais informações sobre MidnightBSD ou para fazer o download, visite o site. A versão mais recente do MidnightBSD é 0.8.6.
Você já brincou com MidnightBSD? Qual é a sua versão favorita do BSD?
Se você achou este artigo interessante, reserve um minuto para compartilhá-lo nas redes sociais.
Via itsfoss.com. Você pode conferir o post original em inglês:
Interview with MidnightBSD Founder and Lead Dev Lucas HoltÚltima atualização deste artigo: 20 de march de 2018