pkgsrc, коллекция пакетов NetBSD, как и сам проект NetBSD, нацелена на переносимость:
Как и NetBSD, pkgsrc разработан с учетом переносимости и состоит из легко переносимого кода. Это обеспечивает наибольшую скорость разработки при переносе на новую платформу. Эта переносимость также обеспечивает совместимость pkgsrc на всех платформах.
(ссылка: Документация pkgsrc).
Другими словами, pkgsrc позволяет создавать программное обеспечение не только для NetBSD, но и для ряда операционных систем Unix. Порты и пакеты FreeBSD, а также эквиваленты OpenBSD, если на то пошло, нацелены на предоставление стороннего программного обеспечения только для этой конкретной операционной системы. Так что цель немного другая.
Как обычно, проект FreeBSD заботится о поддержке как можно большего числа пользователей FreeBSD (и, следовательно, имеет самую большую коллекцию стороннего программного обеспечения), в то время как OpenBSD управляется разработчиками для разработчиков («вы говорите, что хотите этого, но я не вижу патча от вас").
Три системы портов BSD имеют много общего из-за того, что они тесно связаны, но в настоящее время, из-за расхождения в развитии, они определенно незаменяют друг друга. Инструменты разные, структура того, что представляет собой порт/пакет, другая, и даже некоторая терминология отличается («порт» NetBSD — это не то же самое, что «порт» FreeBSD).
Исходя из OpenBSD и, следовательно, знакомого с системой портов этой системы (создание вещей в подкаталогах портов с помощью make
и т. д.), я успешно использовал pkgsrc в различных системах Linux, где у меня не было root-доступа, а также на моей личной машине с macOS.
Сила pkgsrc в том, что он предлагает своим пользователям возможность иметь однородную рабочую среду на разнородных платформах Unix.
Тем не менее, я не вижу смысла запускать его на OpenBSD, хотя это определенно возможно, поскольку в коллекции портов OpenBSD есть все необходимое мне программное обеспечение. Пользователь FreeBSD может относиться к запуску pkgsrc во FreeBSD так же.