Coleção Ports (ou árvores ports, ou ainda, apenas ports) são conjuntos de makefiles e patches provenientes de sistemas operacionais baseados no BSD, FreeBSD, NetBSD e OpenBSD, como um método simples de instalar software ou criar pacotes binários. Geralmente eles são a base de um sistema gestor de pacotes, com o ports gerenciando a criação de pacotes e outras ferramentas adicionais gerenciando a remoção, atualização, e outras tarefas relacionadas. Além dos BSDs, poucos sistemas operacionais implementaram uma infra-estrutura, incluindo o sistema Portage do Gentoo e o Sistema de Compilação do Arch (ABS - Arch's Building System (em inglês)).
A coleção port pkgsrc do NetBSD se sobressai por visar a sua portabilidade e usabilidade em inúmeros sistemas operacionais além do próprio NetBSD, incluindo outros BSDs, Linux e outros tipo unix. O pkgsrc foi criado em agosto de 1997 baseado no systema ports existente do FreeBSD. Ele segue uma agenda de lançamentos quatrimestral e até julho de 2006 contém cerca de 6000 pacotes. Com o lançamento da versão 1.4, o DragonFly BSD anunciou que eles iriam adotar o pkgsrc como o seu gestor de pacotes oficial.[1](em inglês)
Ao contrário do ports do FreeBSD, no qual foi baseado originalmente, o sistema ports do OpenBSD deve criar o produto final, pacotes: instalar um port cria, primeiramente, um pacote e depois o instala. Pacotes são constituidos de makefiles, arquivos de texto com descrições e mensagens de instalação, quaisquer patches necessários para ajustar o programa para que este possa funcionar normalmente no OpenBSD e uma lista de empacotamente, conteando o nome dos arquivos a serem incluindos nos pacotes. A árvore do ports utiliza um conjunto de makefiles padrão, alguns dos quais são compartilhados com a árvore fonte, para oferecer a maior parte de sua funcionalidade; esta infra-estrutura compartilhada inclui muitas funcções de utilidade para desenvolvedores do ports, e significa que ports geralmente pode ser feitos de maneira muito simples. Como medida de segurança ou ajuda quando ao desenvolver novos, compilações do ports podem ser feitas utilizando o systrace para que uma política padrão seja usada. Mais tarde em outubro de 2007 o desenvolvedor OpenBSD, Nikolay Sturm, anunciou que a -árvore estável de ports deveria ser considerada sem manutenção devido a falta de recursos. Isto obriga os usuários a seguir a -árvore ports atual/base para obterem atualizações de segurança.