Closed Why, as a programmer and desktop user, I seem I cannot give up Linux for FreeBSD

Status
Not open for further replies.
Hello.
I am a C/C++ Python and Java developer at the Elettra Synchrotron Radiation Facility in Trieste, Italy.
For the control system we use and produce open source software, and we develop under linux.
I have been a fan of FreeBSD since my laurea degree thesis back in 2004.
To cope with work necessities, I normally develop under gentoo linux, but at intervals I go back to FreeBSD for some time just to revise it and see how its development goes on and what is the user experience also on the desktop side. Actually, for me it's quite equivalent to develop either on linux or freebsd.
So, I've recently switched back to FreeBSD 11 and these are my impressions, and the difficulties I've met as both a developer and a desktop user.
Gentoo Linux is a source based linux distribution, so there is perfect analogy when dealing with gentoo portage and FreeBSD software managed with ports.

Since Linux has introduced cgroups and systemd, the world has changed: i can do multiple make -j9 inside several shells (building packages and work stuff) without noticing any slow down in desktop interaction. This is an achievement that once you get used to, you can't live without.
Additionally, if an application goes crazy and tries to eat up all CPU resources, you simply don't notice any lag elsewhere. I asked around in FreeBSD forums, the only suggestions were to use limits or nice. Apart that limits kills the process, it is clear that those solutions are not up to the task.
This adds up to other issues caused by not easy trackable processes being executed in the environment and eating up too many resources. Last weekend, I left the computer running, as usual, and when I got back the system was extremely slow. Chromium tabs were all gone blank, and switching from one to another took up to 5-6 seconds to display the contents of the web pages that had originally been loaded. Only after killing a bunch of other applications (skype, firefox), situation got back to normality. Another example, a simple gdb port configure script blocks on checking whether compiler driver understands Ada and in a few seconds makes the system completely unusable.

As far as desktop is concerned, Flash support is also a big problem, but we all know that Flash is going to disappear (and many of us wish this would happen as soon as possible) and it's disappointing that fundamental web services as Deezer or Spotify still rely on it.

A major issue the FreeBSD (kernel) developers should face is evident when I read the forums.
What comes out is a very conservative attitude towards what is new, a general and often unjustified skepticism towards solutions that Linux has implemented since ages. They have made it look ahead to the future and gain the market in embedded solutions and, most of all, in the mobile world.

I deem there's a huge work by the FreeBSD software developers in order to keep the packages and ports up to date and aligned with the most trending applications (I mostly refer to desktop, which is the topic of my discussion). This monumental work is not backed up by enough insight into future by low level software developers that, being so strict, hinder the potentialities and advancements of modern software.

Even if I acknowledge that probably desktop environment is no more the biggest interest in computer science, it is still a good showcase for users and programmers that want to move from a system to a faster and more reliable one. Most importantly, this is when the system offers a source based software distribution.

As should stand out, what I'm saying is not meant to be a critic, it's rather a sad consideration of that it's probably too late for FreeBSD to keep up with Linux, which has been making giant steps in the last years.
 
Even if I acknowledge that probably desktop environment is no more the biggest interest in computer science, it is still a good showcase for users and programmers that want to move from a system to a faster and more reliable one.
I am using FreeBSD 10.3 on an entry level hardware as my main desktop computer. All is working flawlessly after some tweaking. I am building my packages with ports-mgmt/poudriere while running desktop applications. My HDD is a ZFS pool over Geli and I had to limit memory for ARC with vfs.zfs.arc_max="4G" to get a more responsive desktop while building packages.
My desktop is more responsive by using ZFS than with UFS. UFS is a I/O high throughput filesystem and the lack of responsiveness was due to disk I/O latency when the HDD is busy (large archive file extraction for example).
I made a test with two drives: the first one for the system and home directory (ZFS pool) and the second one UFS formatted for the data. Making a lot of disk activity on the second drive (like big files copy, etc..) doesn't affect the responsiveness of the system because system and program files are located on the first drive which doesn't handle the high load activity.

If you want to use FreeBSD as a desktop, you can follow this very good guide :
https://cooltrainer.org/a-freebsd-desktop-howto/
It is a bit outdated but you can update some tweaks to comply with your FreeBSD release.

My desktop harware:
CPU: Intel(R) Pentium(R) CPU G2010 @ 2.80GHz
real memory = 8589934592 (8192 MB)
avail memory = 8182472704 (7803 MB)
ada0: <ST2000DM001-1CH164 CC27> ACS-2 ATA SATA 3.x device
 
I can't help feel that your main problem is the mindset. "When in Rome do as the Romans do..." comes to my mind here (no offense intended). I also think you didn't really do your homework either, I can't help wonder if you ever spend a little time checking out the FreeBSD handbook?

CGroups, or control groups, are basically doing nothing more than resource limiting. nice(1) obviously doesn't cut it because all that does is schedule priorities. I'm not familiar with limits(1) myself (learn something new every day ;)) but from what I can tell (first glimpse at the manualpage) it sets (or displays) kernel resource limits. I could be mistaken: but that's a whole kernel, and all your processes will share that one.

But there's more, the FreeBSD handbook has a whole chapter on resource limits. 13.13 'resource limits'. Either you use login classes or you can opt to use RCTL. It doesn't even require a custom kernel anymore, as of 10.x this is a standard feature. See rctl(8) for more information. Fun fact: this existed long before CGroups were a thing :cool: (sorry, had to mention ;)).

I agree that FreeBSD doesn't always follow trendy developments. Like Phishfry said above: that is exactly why I use it.
 
As far as desktop is concerned, Flash support is also a big problem, but we all know that Flash is going to disappear (and many of us wish this would happen as soon as possible) and it's disappointing that fundamental web services as Deezer or Spotify still rely on it.
Qobuz is using HTML5 for streaming http://www.qobuz.com/ as well as Youtube or Dailymotion.
 
You should accept that every system is different and has disadvantages and advantages. Since you focus on Linux features that don't exist on FreeBSD, you need Linux. I personally don't care about the features you have mentioned (at the moment) and I am happy with what I have.

From my point of view, I started on a Linux system, then went to FreeBSD. I've tried Linux several times (I am really serious, I always migrate my entire environment, for several months, with various distributions) and it ended in a disaster every time. Since many years now, I am literally scared of even trying out Linux, because I wouldn't even know what filesystem I have to pick (there is nothing that can replace ZFS, if you love your data; I know there is ZFS on Linux, but I don't trust it). Even simple questions like what distribution to choose... I have no idea about it. I also have a system that I can customize without the fear that everything will be destroyed after an update (this is what I need and FreeBSD delivers this on every level, from base systems up to ports and its configurations). Linux distributions fall in two categories (for me, I haven't used Linux recently, btw...). First category is "easy to use" and will restrict you like a dumb user and ruin everything after some time. The second category is flexible, but utterly complicated and ended in an unrecoverable package management deadlock.

FreeBSD, to be honest, falls rather in the second category. But the package management deadlocks have always been recoverable and, since I am a long time user, I know exactly how to find my way out of all of the problems. It is far easier to use for me, because I know it.

At the end, it is just the matter of experience and the scope. You know how to solve your problems with Linux. I know how to solve my problems with FreeBSD. What do we have in common? Nothing! You find that FreeBSD has to "keep up with Linux"? Fine. I find, Linux is ruined enough that it will never be able to keep up with FreeBSD.

I accept that people feel comfortable on Linux. I am just not one of them.
 
nakal said:
I find, Linux is ruined enough that it will never be able to keep up with FreeBSD.

You use the FreeBSD system for server or desktop? No way Linux is in ruins, on the contrary, the fee market for desktop increased in a great extent, and that is good.
 

I've absolutely agree with you. It is my opinion, but for me, FreeBSD no longer actual OS and not relevant OS for market and production and you are absolutely correctly wrote the reasons:

  • No developers.
  • Developer doing something only in spare time and for free.
Linux developed by huge army of professionals with paid full-time. Some time ago, my company used FreeBSD and i every year did donation to FreeBSD foundation.
But at some point in time I realized that it was a waste of my money - I do not see any positive changes. I am sure that the need to send money directly to developers, not FreeBSD Foundation. I do not like that today FreeBSD Core/Foundation represent a certain private circle by interest:

- First of all, most people in Core is not developers and/or not use FreeBSD. All of them works/use MACOS or Linux on notebook and use Linux in their company.
- No one brings to the discussion of what projects will be sponsored this year, this is discussed behind closed doors.
- They have closed from public maillist.

Anyway, I was forced to migrate all my servers/companies from FreeBSD to Linux, I stopped doing donation and patch for ports and drop maintainership for some of my ports: I've register tons of PR on bugs.freebsd.org and they hang open a few years because there is no one to respond. I have no confidence tomorrow in FreeBSD.

Founder of WhatsApp donates large sums to FreeBSD and FreeBSD Foundation receive much more donation than, for example, OpenBSD. But unlike OpenBSD, FreeBSD from getting worse and worse for every year. So for me, it is better to have one developers-dictator as Theo de Raadt (OpenBSD) or Matthew Dillon (DragonFlyBSD) who is interested in the development of the system, instead of Core of lots people with money but which is nothing for the project and not develop with their private channel and who not use FreeBSD in any forms and without any interest to FreeBSD.

PS: By the way, because you are a C/C++, Python and Java developer - how about spending some spare/free time and improve FreeBSD ( porting and/or maintaining software, create patch for RCTL/RACCTL and ULE to make system more stable ? Are you ready to make such sacrifices? Since the FreeBSD mostly is developing such people.
 
The sole purpose of the original poster is to sign up for an account to intentionally knock FreeBSD. For one who claims to use it since 2004, he is a first time poster and is just now appearing on these boards?

His comments also show a lack of proper usage, a lack of fundamentals and an insistence that if something doesn't work like Linux then it must be wrong.

So what is the purpose of him starting this thread? All he is doing is bashing FreeBSD and praising Linux. Isn't that what Reddit is for?

I wish I wasnt out of town with o
nly my phone to type on. He'd get an earful. This thread needs to be closed and the poster banned.
 
a general and often unjustified skepticism towards solutions that Linux has implemented since ages.
Seriously? In reality, Linux is always catching up to old technology.

FreeBSD has had jails since 1999 and Solaris zones since 2005, while AIX had LPARs since early 2000s and WPARs since around 2006-7.

Solaris has had DTrace since 2005 and Linux has multiple tracers in different states. Ftrace, sysdig, perf_events, eBPF, systemtap, ktap, dtrace4linux, LTTng, OL DTrace (shrieking and pulling my hair out), and systemtap has created panics before (not a good thing on production servers).

If your company chooses RedHat/CentOS then you're stuck on an old kernel that doesn't have eBPF, for example.

Name me even 5 technologies that Linux created that has innovated operating systems. Everything they have has been done before, usually decades ago. Linux, catching up to old technology.
 
drhowarddrfine said:
This thread needs to be closed and the poster banned.

What there is to read, close and so to think that all is well? There are many active users using FreeBSD in graphical desktop, and participate in these forums, and contribute in any way to the foundation, and we also report of the BUGS that presents the system, hopefully arrive FreeBSD standard in desktop graphics.
 
What there is to read, close and so to think that all is well?
There is indeed nothing to read in the OP. He is so much in love with cgroups and systemd and can't live without Adobe flash. Seriously. So FreeBSD developers better start writing systemd for FreeBSD. If you consider that a serious post I would like you to give me the address of the guy who is selling you dope you smoke. I want to get some of that stuff too.

Fully functional desktop based on FreeBSD userland already exist. It is called OS X. It even uses launchd instead of rc.d scripts :)

There are lots of things which are wrong with FreeBSD and unfortunately they are not just desktop related. However novice or even casual users are just not well position to see what is wrong with FreeBSD. Some of the "problems" can't be even settled without invoking philosophical differences. That is why we have four BSDs which are far further apart than any of 1000 or so currently active Linux distros (most of them just derivatives of Ubuntu with different wall paper).
 
That is why we have four BSDs
The only reason your forever love OpenBSD was forked from NetBSD is because Theo is a socially maladjusted bully who cannot control himself and be decent toward others and was kicked out of NetBSD.
 
The sole purpose of the original poster is to sign up for an account to intentionally knock FreeBSD. For one who claims to use it since 2004, he is a first time poster and is just now appearing on these boards?
I don't known if jacum is here only to do FreeBSD bashing, but I have to admit that FreeBSD could be discouraging, especially for desktop usage.
I am a long time FreeBSD user (since 1999 FreeBSD 3.1 release) but I am new to this forum as a poster (but not as a reader), so being a newcomer to this forum is not an argument. In addition, English is not my native language, so it is more difficult for me to express clearly my opinion and I am not the only one in that case.
So be indulgent.
 
I appreciate FreeBSD, and find the FreeBSD foundation the most open foundation regarding income and outlays. You can read details like how much the spent on electrical bills in 2016.

Still FreeBSD gave me bad impression, when simple functions like selecting keymap during install and have it consistently applied, failed. Se many tread about this for years, with non English user.
On OpenBSD it just works.

This tread bellow painted a picture that gave meaning to me. FreeBSD takes great pride in delivering a industry leading, long term supported enterprise software. But in reality as the post make case for, it becomes a mess with old proven insecure code, and allot of work for FreeBSD developers hacking together on their own, unable to use upstream fix, and wanting to leave none one behind regarding long time support.
https://forums.freebsd.org/threads/55542/ "FreeBSD - a lesson in poor defaults"

OpenBSD merciless cuts the rotten parts out, even if that will give some admins some pain with the next release.

It will be room for both FreeBSD and OpenBSD, but how big I dont konw. Still a little diversity I think would be a good thing in a research environment. Both in the creative mindset way, and in practical security, same os for desktop, firewall, and servers could lead to lightning complete takeover if some weakens applies to all system due to OS (still allot of different OS get hard to keep track of) so maby only a little diversity is good, but it is good?
 
...when simple functions like selecting keymap during install and have it consistently applied, failed. Se many tread about this for years, with non English user.
This is a generalization, and certainly not true for all non-English users. I'm one of the non-English users and have used a non default keymap during install for many, many years. There might have been problems way back in time, but that is a long time ago now. I'm a FreeBSD user since FreeBSD 3.x days.
 
The sole purpose of the original poster is to sign up for an account to intentionally knock FreeBSD.

No, not knocking, nor bashing. You didn't carefully read my post, or I can't express myself very well because English is not my language. My account has been active for a while. Even though I haven't written so much up to now, I've been reading a lot here, and I have posted on lists.freebsd.org and submitted bug requests in the past. Anyway, saying I am a fan and praising ports developers' work is not bashing imho.

For one who claims to use it since 2004, he is a first time poster and is just now appearing on these boards?

Again, You didn't read well. I said I've been a fan since 2004, occasionally going quite secretly back to FreeBSD because at the Synchrotron Radiation Facility where I work Linux is the mandatory choice.

His comments also show a lack of proper usage, a lack of fundamentals
Surely I have lack of fundamentals, but I hardly think they come out from what I've written, at least not enough for you to say that. On the other way, I think I have a sufficient knowledge to provide you details about my installation so that you can concretely help me optimizing it.

and an insistence that if something doesn't work like Linux then it must be wrong.

I can't see any insistence nor any statement where I say it's wrong. I've search/asked this and other forums before posting this consideration without any concrete advice.

So what is the purpose of him starting this thread? All he is doing is bashing FreeBSD and praising Linux. Isn't that what Reddit is for?

Again, no. If I take time to develop again on FreeBSD is not for bashing it, or because I praise linux. I started this thread hoping to find some polite and constructive critic / suggestion that really proves what I say is wrong or amendable in some way.

I wish I wasnt out of town with o
nly my phone to type on. He'd get an earful. This thread needs to be closed and the poster banned.

If you weren't out of town maybe you'd have read my post with more attention and helped me. That's what I wish you do when back! ;-)
Even if this is not the kind of attitude I'd expect from a FreeBSD expert, I can say that it can probably help me and some more people out there to understand and make a decision.
 
The only reason your forever love OpenBSD was forked from NetBSD is because Theo is a socially maladjusted bully who cannot control himself and be decent toward others and was kicked out of NetBSD.

There are at least two posts in this thread which may very well be classified as bullying and hostile. Why there is so much negativity towards Linux here, even more so than in OpenBSD forums / mailing lists? Go to Slackware or Gentoo forums and you'll find quite positive attitude towards BSDs....
 
Well, these threads tend to get out of hand. Possibly relevant stuff, like someone asking a bash question, then being foolish enough to mention that they did this in LInux, get closed, but anti Linux rants can go on for pages. ::)) Basically it is usually the same, Oko and the good Dr. making scathing, yet fun to read, remarks, me coming in and acting superior, because I'm a jerk, usually trying to get in a dig at how mods will close threads that would be useful about TrueOS or CURRENT, while letting these anti Linux rants go on--though, 'twere I a mod, I would too, as I like both the Dr. and Oko, and find their complaints fun to read.

Once I was in the midst of a flame war, and a beloved cat died. I realized then how meaningless stuff written by strangers on the Internet should matter, unless it's something that might be professional--for example, say I called Oko bad names, then went to find a job where he works....I'd be all like, "Ooops"

Ok, done philosophizing. When it comes down to it, all systems have something to make you go ARGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHH
 
I asked around in FreeBSD forums, the only suggestions were to use limits or nice. Apart that limits kills the process, it is clear that those solutions are not up to the task.
Why not using nice to put a compiler in its right place on a desktop computer ?

Another example, a simple gdb port configure script blocks on checking whether compiler driver understands Ada and in a few seconds makes the system completely unusable.
When I was using FreeBSD with UFS, I had the habit to start intensive IO application like compiling with the following command :
# idprio 31 make

But this does not work well with ZFS so I am using nice with it :
# nice +20 poudriere bulk -j 103amd64 -p quarterly -z wks -f 103amd64-local-wks-pkglist
 
There are at least two posts in this thread which may very well be classified as bullying and hostile.

Yes, in the same way a swarm of bees "bullies" the jackass who kicks their nest because he doesn't like the taste of the honey they've made. Like they exist just to make his tea taste good, and aren't really just making that honey for themselves.
 
Yes, in the same way a swarm of bees "bullies" the jackass who kicks their nest because he doesn't like the taste of the honey they've made. Like they exist just to make his tea taste good, and aren't really just making that honey for themselves.

Or maybe more like the swarm of bees bullied the "jackass" who, while passing by their nest, asked them why their honey does not taste the same as the honey from the other nest?
 
Status
Not open for further replies.
Back
Top