Entrevista com MidnightBSD Founder e Lead Dev Lucas Holt

Recentemente, dei um pequeno mergulho no mundo do BSD. Como parte da minha tentativa de entender o mundo BSD um pouco melhor, eu me conectei com Lucas Holt (fundador da MidnightBSD e desenvolvedor líder) para lhe fazer algumas perguntas sobre seu projeto. Aqui estão suas respostas.

É FOSS : Por favor, explique MidnightBSD em poucas palavras. Como é diferente de outros BSDs?

Lucas Holt : MidnightBSD é um sistema operacional focado no desktop. Quando é considerado estável, fornecerá uma experiência de área de trabalho completa. Isso difere de outros esforços, como TrueOS ou GhostBSD, em que não é uma distro do FreeBSD, mas sim uma bifurcação. O MidnightBSD possui seu próprio gerenciador de pacotes, o mport, bem como um software de cluster de pacotes exclusivo e vários recursos integrados ao ambiente do usuário, como mDNSresponder, libdispatch e personalizações em todo o sistema.

É FOSS : Para quem é o MidnightBSD?

Lucas Holt : O objetivo da MidnightBSD sempre foi fornecer um sistema operacional de desktop que seja utilizável para tarefas cotidianas e que até mesmo pessoas pouco técnicas possam usar. As primeiras versões do Mac OS X foram certamente uma inspiração. Na prática, estamos longe dessa meta neste momento, mas tem sido uma excelente oportunidade de aprendizado.

É FOSS : Qual é o seu histórico em computadores?

Lucas Holt : Eu comecei em suporte técnico em um pequeno ISP e passei para o web design e administração do sistema. Enquanto estive lá, aprendi BSDi, Solaris e Linux. Eu também comecei a mexer com aplicativos web de programação em ASP e um pouco de perl CGI. Em seguida, fiz um mix de trabalhos de programação e administração de sistemas durante a faculdade e me formei em bacharelado em ciências da computação na Eastern Michigan University. Durante esse tempo, aprendi o NetBSD e o FreeBSD. Comecei a trabalhar em vários projetos, como portar o código HFS + da Apple para o FreeBSD 6 e trabalhar na obtenção do controlador SATA do chipset nforce2 para trabalhar com o FreeBSD 6, com o último ficando comprometido. Eu tenho um gosto real pelo BSD e depois de ver a falta de interesse na comunidade por BSDs de desktop, iniciei o MidnightBSD. Comecei a trabalhar no final de 2005.

Atualmente, sou engenheiro de software sênior com foco em serviços de descanso de backend por dia e estudante de pós-graduação em tempo parcial na Universidade de Michigan Flint.

É a FOSS : Eu instalei o TrueOS recentemente. Fiquei desapontado que alguns dos programas que eu queria não estavam disponíveis. O sistema de portas 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 portas, o mports, que compartilhava semelhanças com as portas do FreeBSD, bem como algumas idéias do OpenBSD. Decidimos desde o início que o gerenciamento de pacotes decente era essencial para usuários comuns. Os usuários avançados ainda usarão portas para determinados softwares, mas é muito demorado 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 do 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 de pacotes é outra questão que a maioria dos BSDs possui. O software tende a ser escrito para um ou dois sistemas operacionais e muitos projetos relutam em oferecer suporte a outros sistemas, especialmente projetos menores como o MidnightBSD. Existem certamente lacunas. Todos os projetos do BSD precisam de mais voluntários para ajudar a portar o software e mantê-lo atualizado.

É FOSS : Durante sua entrevista de junho de 2015 no BSDNow, você mencionou que mesmo que você suporte i386 e amd64, você recomenda que as pessoas escolham a amd64. Você tem planos de abandonar o suporte a i386 no futuro, como muitos fizeram?

Lucas Holt : Sim, nós planejamos abandonar o suporte a i386, principalmente por causa do trabalho extra necessário para construir e manter pacotes. Eu me contive com isso até agora porque eu tive um monte de feedback dos usuários na América do Sul que eles ainda precisavam. Por enquanto, o plano é manter o suporte ao i386 através da versão 1.0. Isso é provavelmente um ano ou dois fora.

É FOSS : Quais ambientes de desktop o MidnightBSD suporta?

Lucas Holt : O plano original era usar o Etoile como um ambiente de desktop, mas esse projeto mudou o foco. Atualmente, suportamos Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace como opções principais. Também temos vários outros gerenciadores de janela e ambientes de área de trabalho disponíveis, como iluminação, veneno de rato, afterstep etc.

Versões anteriores ofereciam o KDE 3.x, mas tivemos alguns problemas com o KDE 4. Podemos revisitar isso com versões mais recentes.

É FOSS : O que é o sistema de arquivos padrão do MidnightBSD? Você suporta o sistema de arquivos HAMMER do DragonflyBSD? Quais outros sistemas de arquivos?

Lucas Holt : Volumes de inicialização são UFS2. Também suportamos o ZFS para armazenamento adicional. Nós lemos o suporte para ExFat, NTFS, ext2, CD9660. O NFS v3 e v4 também são suportados para sistemas de arquivos de rede.

Nós não apoiamos o HAMMER, embora tenha sido considerado. Eu adoraria ver o HAMMER2 ser adicionado à MidnightBSD eventualmente.

É FOSS : MidnightBSD foi afetado pelos recentes problemas Specter e Meltdown?

Lucas Holt : Sim. A maioria dos sistemas operacionais foi afetada por esses problemas. Não fomos informados sobre o assunto até que o público em geral tenha conhecimento. O trabalho está em andamento para chegar a mitigações adequadas. Infelizmente, ainda não temos um patch.

É FOSS : O Raspberry Pi e seus muitos clones tornaram a plataforma ARM muito popular. Existe algum plano para disponibilizar o MidnightBSD nessa plataforma?

Lucas Holt : Não há planos imediatos. O ARM é uma arquitetura interessante, mas pela própria natureza dos projetos do SoC, é preciso muito trabalho para suportar um grande número de dispositivos. Pode ser possível quando deixamos de suportar i386 ou se alguém se voluntaria para trabalhar na porta ARM.

Eventualmente, acho que a maioria dos sistemas de hobby precisará executar os chips ARM. O planejamento da Intel em bloquear hardware com o UEFI 3 e isso pode dificultar a execução em hardware de commodity no futuro, não apenas para o MidnightBSD, mas também para outros sistemas.

Em um ponto, o MidinightBSD correu no sparc64. Quando as estações de trabalho foram eliminadas, perdemos o apoio. Um sistema operacional de desktop em uma plataforma de servidor faz pouco sentido.

É FOSS : O MidnightBSD oferece suporte para aplicativos Linux?

Lucas Holt : Sim, oferecemos emulação de Linux. Ele está emulando um kernel 2.6.16 atualmente e que precisa ser atualizado para suportar novos aplicativos. É possível rodar versões semi-recentes do Firefox, Thunderbird, Java e OpenOffice nele. Eu também 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 a recente poeira entre os desenvolvedores de navegadores Pale Moon e a equipe por trás do sistema de portas do OpenBSD?

[Nota do autor: Para aqueles que não ouviram falar 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. Como a conversa continuou, ficou mais hostil, especialmente no lado da Lua Pálida. O resultado final é que Pale Moon não estará disponível no OpenBSD, MidnightBSD ou FreeBSD.]

Lucas Holt : Achei essa discussão frustrante. Muitos dos projetos do BSD ouvem muitas reclamações sobre disponibilidade e compatibilidade do navegador. Com o Firefox mudando para o Rust, isso fica ainda mais difícil. Então você entra em problemas de branding. Como o Firefox, os desenvolvedores da Pale Moon decidiram proteger sua marca ao custo dos usuários. Ao contrário dos desenvolvedores do Firefox, eles tornaram ainda mais estranhos os requisitos de branding. Não é possível usar uma versão da biblioteca do sistema de qualquer coisa com o Pale Moon e manter seus requisitos de marca. Como tal, não podemos oferecer Pale Moon em MidnightBSD.

A razão pela qual isso é um problema para um projeto de código aberto é que muitas bibliotecas de terceiros são usadas em algo tão complexo quanto um navegador da web. Por exemplo, os navegadores baseados em Gecko usam várias bibliotecas multimídia, sqlite3 (para bookmarks), 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 portas para começar. Ele nos permite rastrear e gerenciar patches personalizados para que todas essas bibliotecas funcionem. Passamos por 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 em funcionamento. Com a política de lua pálida, precisaríamos enviar correções separadas para suas versões personalizadas de todas essas bibliotecas e qualquer nova versão do navegador não estaria disponível quando as alterações ocorressem. Pode até não ser possível compilar a lua pálida sem um patch localmente.

Com relação ao Rust, é necessário portar o idioma, bem como uma versão apropriada do LLVM antes mesmo de você iniciar o navegador.

É FOSS : se alguém quiser contribuir para o seu projeto, tanto financeiro quanto técnico, como eles podem fazer isso?

Lucas Holt : A assistência financeira para o projeto pode ser enviada online. Temos uma página descrevendo como fazer doações com Patreon, Paypal ou via bitcoin. Doações nao tem dedução de impostos. Você pode aprender mais em //www.midnightbsd.org/donate/

Também precisamos de ajuda com traduções, portar aplicativos e trabalhar no SO real. As partes interessadas podem entrar em contato conosco na lista de discussão ou através do IRC no freenode #midnightbsd. Também podemos usar assistência com ISOs e pacotes de espelhamento.


Gostaria de agradecer ao Lucas por ter respondido às minhas muitas perguntas. Para mais informações sobre MidnightBSD ou para baixá-lo, por favor, visite o site. A versão mais recente do MidnightBSD é 0.8.6.

Você já brincou com o MidnightBSD? Qual é a sua versão favorita do BSD?

Se você achou este artigo interessante, dedique um minuto para compartilhá-lo nas mídias sociais.

Recomendado

Sayonara é um tocador de música leve e bonito para Linux
2019
Adicione o Windows como a barra de tarefas inferior no Ubuntu Unity 14.04
2019
StationX anuncia novo laptop personalizado para Manjaro Linux
2019