Home

Awesome

<div align="center">Awesome-BSD-PPP</div>


BSD Banner


<div align="center">Port, Programs, and Projects! </div>

This repository will function as a list of interesting ports, programs, and Projects for newbies and veterans to BSD.

Feel free to contribute / star / fork / or make a pull request, We appreciate any recommendations and suggestions are welcome. BSD's community is what makes this possible!

A guide for contributing are at the very bottom of the list or at the How to Contribute Document

Acknowledgements: I am merely a passionate newbie to these OS's and freely admit that I know enough to be dangerous, please put in a pull request if you find information that can be improved or otherwise modified to be clearer.

Table of Contents

FAQ

What is BSD?

Awesome

BSD was originally a UNIX based operating system that was developed at the the University of Berkeley in California in the late 70's. At the time it was a closed source, or partially closed source operating system that was gradually re-engineered into a completely Open source Operating System now used all over the world.

How is BSD different than Linux?

BSD takes a more centralized approach in its development having entire program and kernel ecosystems developed together. Whereas Linux itself is just a kernel which then requires groups of people to add packages and other system components together to build the whole operating system, this creates a Linux "Distribution" a distribution of software components (programs, Kernel, drivers and whatnot.)

Because of this difference and because BSD is built around an entire ecosystem from the start, it has an excellent history of documentation for its various functions, both in the Kernel, and with its programs.

For the average UNIX user, it will seem very familiar in many ways, and learning BSD from Linux or other UNIX based Operating Systems will be fairly straightforward, with nearly all of the most common UNIX friendly tools and shells are available for the user.

Here is a more in-depth guide to the differences: How Linux, BSD, UNIX, and macOS Relate to Each Other.

What are the differences between Packages and Ports?

<div align="center">

</div>

A Package (Referred to as a program in this list) is a program already compiled into a binary that can be run on the largest number of systems due to be pre-compiled for you with the most general settings. It requires only the briefest installation, and does not require compilation to run on your machine.

A Port is source code with instructions that allow you to compile the code on your machine to create an executable program. It has the advantage of allowing you to compile the program in a more specific way for your machine to get extra performance from the code or only get parts of the program that you need such as only getting the webhost part of an Apache webserver, but no WebDAV or support for User Directories making the program smaller and leaner.

BSD allows installation of both types of software to allow for either ease or flexibility in your OS and environment, it is up to you to decide which you would prefer to use.

Can I mix and Match Ports and Packages?

If you know what you are doing, there should be little issue, Issues come when you don't know.

A basic scenario would be this: say you would like to install only part of a webserver, and you modify the port make file to ensure you only install that part. It will function normally, but if you install a program that requires that as a dependency, it may see it, but malfunction due to not having the entirely of that program installed. If the software have no relation to each other, there should be no issues. But when in doubt, install either only ports, or only Packages.

What if I have another BSD?

If you use MidnightBSD, NomadBSD or GhostBSD, or any of a variety of alternative BSD's, typically they are based off one of the main 4 BSD's: DragonflyBSD, FreeBSD, NetBSD, or OpenBSD and will have access to their ports. A brief perusal of the BSD's home website will generally inform you of which you can use. Simply click on the BSD that yours is based on here and follow the same instructions.

Debian GNU/kFreeBSD does not have a port system, and instead uses the Debian Packaging that Debian Linux uses.

How can I install these programs?

It depends on the BSD but they all will be somewhat similar, this will assume that you have the OS setup and are sitting at a command line. These will nearly always have to be run as the super user or root. (Using the doas or sudo commands.)

DragonflyBSD: pkg install (packagename)

FreeBSD: pkg install (packagename)

NetBSD: pkgin install (packagename) ^Note that NetBSD may need to have pkgin installed first before this command will function. ^^Additional Note You may need to follow these instructions if the pkg is located in wip.

OpenBSD: pkg_add (packagename)

What are the Big Four BSD's?

Currently there are 4 BSD projects seen as the largest among the BSD's and are the various icons listed here, for those who are not familiar with one, in alphabetical order here are some basic descriptions of them:

<div align="center">

DragonflyBSD

</div>

DragonFly belongs to the same class of operating systems as other BSD-derived systems and Linux. It is based on the same UNIX ideals and APIs and shares ancestor code with other BSD operating systems. DragonFly provides an opportunity for the BSD base to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.

<div align="center">

FreeBSD

</div>

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

<div align="center">

NetBSD

</div>

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.

<div align="center">

OpenBSD

</div>

The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. As an example of the effect OpenBSD has, the popular OpenSSH software comes from OpenBSD.


Key

Available in FreeBSD = is available in the FreeBSD Ports, and provides a link to that port.

Available in NetBSD = is available in the NetBSD Ports, and provides a link to that port.

Available in DragonflyBSD = is available in the DragonflyBSD Ports, and provides a link to that port.

Available in OpenBSD = is available in the OpenBSD Ports, and provides a link to that port.

Terminal Program = Program is Command line only.

Open-Source Software = Program is open source, and is freely available, source code and all. if you click this icon, it will take you to that source code for that program.

Closed-Source Software = Program is closed source, and may cost money.


Ports and Programs

Audio

Command Line Utilities

Chat Clients

3rd party Client

All-in-One Client

Chat Server

Chat Server Utilities

IRC Client

XMPP/Jabber Chat Client

Data Backup and Recovery

Desktop Environments

Development

C++

General Purpose IDE's

Editors

Emulators

File Managers

Games

Network Tools

Media Players

Office

Security

Terminal Emulators

UNIX Shells

Utilities


Other BSDs

Here are the various other smaller BSD's that exist, some are for very specific purposes, but there are many BSD's.


Projects

Links here are some projects that use the BSD OS in some capacity, Firewalls, Webservers, Gameservers, you name it! Just to give you an idea of what you can do with the OS!

FreeBSD:

NetBSD:

OPNsense:

TrueNAS:


How-To's

Basics: -FreeBSD Quickstart from the FreeBSD Foundation

How to Install Ports on the Major 4 BSD's:

Installation:

Networking and File Sharing:

Security:

System Administration:


Community

Forums:

DragonflyBSD Forums:

FreeBSD Forums:

NetBSD Forums:

OpenBSD Forums:

OtherBSD Forums:

General BSD Forums:

IRC Channels:

Podcasts:

Subreddits:


Miscallaneous Web Resources

BSD Handbooks

Due to how BSD is developed, documentation is seen as a very important part of the process, because of this each of the Major BSD's publishes a handbook yearly for their OS's. This covers the basics of installing, operating, installing, and administrating each of their OS's.


Other Awesome Lists

Other Awesome BSD lists that can shed light on other parts of BSD.


Guidelines to contribute

Simply put the name of the application in the list, and make sure you add ports to the software if some exist. If it's available only in Git, that's no worry. Link to its homepage or a guide on how to install it, ideally you will have installed it so you know the process and know that the program functions correctly. Also write a short description for the application + add icon. (If the program also has a blurb on it's homepage of it's functions that also works.) Make sure it is put under the appropriate topic. That can always be clarified in the pull request if neccesary. Ensure everything is alphabetically sorted.

The format is pretty straightforward:

- [![Open-Source Software][OSS Icon]](http://OPENSOURCECODE.git.com) [NAME OF PROGRAM](PROGRAM HOMEPAGE) - This is an explanation of what the program does written by you or a copy of the official explanation of the program from the programs homepage. either works fine here.

[![Available in FreeBSD](img/freebsdico.png)](https://www.freshports.org/shells/zsh/) [![Available in NetBSD](img/netbsdico.png)](https://pkgsrc.se/shells/zsh) [![Available in DragonflyBSD](img/dragonflybsdico.png)](https://pkgsrc.se/shells/zsh) [![Available in OpenBSD](img/openbsdico.png)](https://openports.se/shells/zsh) ![](img/termprog.png)

This second block is one tab over, to make sure that the icons line up, the links in this block all go to either: Freshports.org, pkgsrc.se, or openports.se. Freshports for FreeBSD, pkgsrc for Dragonfly and NetBSD, and Openports for OpenBSD. If the BSD in question doesn't have a port available in any one or all of the sites, remove the whole object. Please insert the if the program is terminal only to clarify where the program can be used, either on a window manager desktop or command line.

other information across the list is also welcome, in case you have a new forum, or source of BSD info to add to the appropriate place.


Unsure how to contribute?


Attribution

The usage of the BSD Family Tree in the What is BSD FAQ is used under the GNU Free Documentation License Version 1.2 or later. All logos of the various BSD's are the property of their respective projects.


Special Thanks: luong-komorebi - Thank you for teaching me how to use Git! and thank you for being an excellent maintainer of the Awesome-Linux-Software repo!