# On the fence with BSD, looking for some advice



## lodonnell921 (Apr 16, 2017)

Hello All!
My apologises if this is in the wrong section, this is my first post here.
So I am currently a Linux user, Parabola Linux specifically, and recently I have watched some videos that have peaked my interest towards BSD, more than likely TrueOS, but I have some questions that relate to BSD in general.

So as mentioned I am a Parabola Linux user, which is a completely free system endorsed by the Free Software Foundation.
Reason behind this is simply for a privacy perspective, I like to limit my use of closed programs as much as I can, although I do have some reliance on closed software like games.

So my first question is compared to Parabola how open is BSD? additionally how libre is the system? I don't expect it to be as libre (firmware blobs removed etc)
Secondly is security, I understand BSD has a reputation for being extremely secure, how do BSDs security systems compare to something like GRSec with PAX?

Third is software, my requirements are generally small, a web browser, office suite, access to the arduino IDE and Atom.io, and of course my games.
My games mostly come from GOG, which under linux are distributed as .sh files, how would I fair with specifically Arduino IDE, Atom.io and GOG games, specific Linux variants.

Many Thanks, and please feel free to ask extra questions to help with my question.


----------



## ANOKNUSA (Apr 17, 2017)

If you're looking at TrueOS then the TrueOS forums would be the place to ask. But I'll toss some answers out anyway.



lodonnell921 said:


> So my first question is compared to Parabola how open is BSD?



How _open_ is it? You can look at all the source code right now, if you want. If what you're asking is whether binary blobs are used in the syste then the short answer is, "Maybe?" The FSF defines non-free "binary blobs" in a way that not everyone agrees with. At the end of the day, all the BSDs still place a bit more value on being able to use a computer than on sticking it to The Man, and using a computer virtually necessitates using non-free code for something.

FreeBSD is much simpler than TrueOS, so my guess is that while there might not be much (or any) more non-free stuff in TrueOS than in FreeBSD, the degree of certainty over how much there is will be greater in the simpler FreeBSD system.

If what you mean is how _free_ the BSDs are, that is an extremely touchy question. Virtually everyone here will consider the BSD license to be _more free_ than the GPL, and we consider it more free because the BSD license basically has only one tight restriction: every copy of the code must feature full credit for the person who originally wrote it, and using that code requires you to openly credit its author, ideally pointing people in the author's direction. That's it. This means that code released under the BSD license is wide open to the public, and can be used for any purpose---from running state-of-the-art hospitals to building a sentient AI satellite in space to monitor everyone's private thoughts, so that through it you might one day discern all patterns to human behavior and use those patterns to conquer the world, only to have it turn on you and enslave you and the rest of us that we might all worship it as our new god. And while it might function using the original, still-free code, neither it nor its creators will ever be required to share their own code in return.

Many fans of the GPL say it's foolish to share code without something to restrict entities who would just use it for their own gain at the expense of others. Many BSD users will say that requiring people to abide by your own beliefs in order to use your code is antithetical to liberty.



lodonnell921 said:


> Third is software, my requirements are generally small, a web browser, office suite, access to the arduino IDE and Atom.io, and of course my games.



Those things are all pretty Linux-specific. Whether you can get the Linux variants of your games to run is an open question but highly unlikely, though you could probably get the Windows versions to run under Wine. I'm fairly certain no-one's ever bothered trying to port Atom to FreeBSD.


----------



## kevans91 (Apr 17, 2017)

lodonnell921 said:


> Third is software, my requirements are generally small, a web browser, office suite, access to the arduino IDE and Atom.io, and of course my games.



Hi,

olivierd@ was noted as working on an atom.io port at one point, not sure if this is still the case.

As for Arduino, we have devel/arduino16 and a pending update to the port to upgrade to 1.8.2 is enroute. It generally works pretty well, but it does have the board manager disabled. On the other hand, it comes stock with AVR and SAM core support, with SAMD and ESP8266 in progress pending some further testing.


----------



## lodonnell921 (Apr 17, 2017)

ANOKNUSA said:


> If you're looking at TrueOS then the TrueOS forums would be the place to ask. But I'll toss some answers out anyway.
> 
> 
> 
> ...


As mentioned, this is my first venture into the BSD community, I reckoned this would be a good place to start, generally while TrueOS is my target I was looking for a general idea of the systems, which you have provided so thanks very much 

Also I always though linux programs could run under BSD? Sure I heard this somewhere or do I have the wrong end of the stick?


----------



## ShelLuser (Apr 17, 2017)

lodonnell921 said:


> Secondly is security, I understand BSD has a reputation for being extremely secure, how do BSDs security systems compare to something like GRSec with PAX?


First: security starts with the user or administrator of a system, not the system itself. Also noteworthy: although there are several FreeBSD spin-off projects those do not necessarily have to share the same featureset which  FreeBSD provides. I'm using FreeBSD myself, and don't know much about most spin-offs.

But yeah, FreeBSD provides plenty of security features which can harden your system. When I check the (brief) specs of GRSecurity then FreeBSD should definitely be able to cope with that. Specifically strong features are one time passwords, access control lists, resource limits and process accounting. As well as specific kernel options which can be controlled through sysctl(8). For example, my servers all use security.bsd.see_other_uids, security.bsd.see_other_gids and security.bsd.unprivileged_read_msgbuf which pretty much prevents users to see other users processes.

```
macron:/home/peter $ ps ax | wc -l
      10
macron:/home/peter $ su
Password:
You have mail.
root@macron:/home/peter # ps ax | wc -l
      92
```
Those are definitely good ways to harden your system, and it's all available out of the box.

I am not sure about PaX functionality though.



lodonnell921 said:


> Third is software, my requirements are generally small, a web browser, office suite, access to the arduino IDE and Atom.io, and of course my games.


Well, here you can check out the so called Ports collection which is what FreeBSD uses to provide 3rd party software. And here is a master index.

As to Linux: there is a compatibility layer, see linux(4). I have no idea how good or bad this is because I don't use it myself. A lot of software which is also available on Linux can be easily compiled / installed on FreeBSD as well, for example through use of the ports collection.

So a browser, office suite and such should be no problem. Most X window or desktop managers are also available on FreeBSD.

Hope this can help too.


----------



## drhowarddrfine (Apr 17, 2017)

lodonnell921 said:


> I always though linux programs could run under BSD?


Define "linux programs". If you mean programs written strictly for Linux, and nowhere else, FreeBSD has a compatibility layer as just mentioned and programs written to be portable can also be compiled and run on FreeBSD. 

If you mean "programs that run on Linux" such as Firefox, OpenOffice, and so on, yes, they are in the FreeBSD ports and package collection.


----------



## ANOKNUSA (Apr 17, 2017)

lodonnell921 said:


> Also I always though linux programs could run under BSD?



Many common applications that run on Linux were not designed for Linux. They were designed for Unix-like systems, and (perhaps with some work) can be built and run on Linux, *BSD, MacOS/OS X, Android and maybe even iOS. I used Arch Linux myself for years, and when I switched to FreeBSD I installed the exact same applications on FreeBSD that I had run on Linux.

But some binaries that are compiled by their developers for Linux make use of certain features and system calls that are specific to the Linux kernel, and won't run on anything but Linux. Those games are probably such binaries. ShelLuser made mention of the Linux compatibility layer that FreeBSD has, but that compatibility layer only works up to a particular version of the Linux kernel, and setting it up takes some time and effort, so you won't know which games will work (if any) until you configure the layer and give it a try. I can tell you for certain that the old Infinity Engine RPGs from GOG run well in WINE, but I've never tried running the Linux versions on the FreeBSD "Linuxilator."


----------

