A quality operating system

Polytropon freebsd at edvax.de
Sat Aug 20 19:08:43 UTC 2011


Allos me to share some individual thoughts. Note that those
are _my own_ and maybe do _not_ apply to anyone else. Still
they may be helpful for inspiration, and just if it's only
a different point of view.


On Fri, 19 Aug 2011 23:47:04 -0500, Evan Busch wrote:
> He asked me a question that stopped me dead:
> 
> "What is a quality operating system?"
> 
> 
> In his view, and now mine, a quality operating system is reliable,
> streamlined and clearly organized.

There's more: To me as a sysadmin and developer, documentation
is also a quality indicator. FreeBSD has excellent manpages,
and many of the 3rd party software available follows this
approach (e. g. "man mplayer", even "man opera"); however,
GUI-centric applications and those seeming to come from
"rapid application development" environments lack a good
documentation (e. g. "man firefox" and all the KDE programs).

Documentation doesn't just cover binaries in FreeBSD. You'll
find that also kernel interfaces, library calls, configuration
files and maintenance procedures are documented, and you can
access all this information in a limited system state, such
as offline-only operations.

Furthermore, there is the FreeBSD Hanbook and the FAQ.

Finally, there's the friendly community traditionally being
helpful and polite on the mailing lists. There are also web
forums.

This is what I would collect as "documentation".

Additionally, the source code of the system is very tidy
and easy to deal with.



> (1) Lack of direction.
> 
> FreeBSD is still not sure whether it is a desktop OS, or a server OS.

It is a multi-purpose OS. You can even run it on microcontrollers.
What would that be? Sub-desktop? It's even non-PC, if you stick
to the established terminology.

As _because_ FreeBSD is a multi-purpose OS, it performs well both
on servers and on desktops. I have many servers running it (and
other UNIXes too, like OpenBSD and Solaris), and I'm also using
it exclusively (!) on my home desktop since version 4.0, _not_
lacking any functionality that's essential to me.

Of course, other users have quite different opinions and personal
experiences.



> It is easy for the developers to say "well, it's whatever you want,"
> but this makes the configuration process more involved.

A logical conclusion of "multi-functional".



> This works
> against people who have to use these operating systems to get anything
> done.

Depends on the people. If I compare FreeBSD to other OS and OS-like
software, there's _more_ time I have to invest getting _them_ to do
what I need than I do with FreeBSD. Again, this highly depends on
individual knowledge, experience, skills, and of course the task
that should get done.



> (2) Geek culture.
> 
> Geek culture is the oldest clique on the internet. Their goal is to
> make friends with no one who is not like them.

Oh, that's a highly debatable consideration. From my point of
view, friends being "in the BSD camp" are absolutely not _like_
me. In fact, it's a very heterogenous collection of _very_
different people.



> As a result, they
> specialize in the arcane, disorganized and ambiguous. This forces
> people to go through the same hoops they went through.

Nobody does learn without doing mistakes. Of course, you cannot
make all imaginable mistakes on your own, so it's worth learning
from others, but still, "going through hoops" makes you develop
skills that can be universally applied.

An example is that if you can master FreeBSD, you can master
any other BSD, and even any other UNIX, as well as most Linusi.
Those _basic_ skills are the fact why UNIX people are not afraid
of learning new things, and because they _do_ so, they are so
expensive when hired. "You do not pay me for the 5 minutes I
need to fix your problem that costs you 100,000$ each hour it
persists - you pay me because I _can_ do so." :-)



> This makes them
> happy, and drives away people who need to use operating systems to
> achieve real-world results.

People do not use operating systems. They don't even use programs.
In their (mostly limited) understanding, they use some kind of
"magical appliance" that solves a problem. Still some of them
understand the computer as a tool to achieve a goal, and from
their real-world knowledge, they are able to conclude that you
need to know how to use a tool in order to get a job done.
However, many people fail to conclude that.



> They reduce a community to hobbyists only.

Well, I won't say that. There are whole businesses that run by
the power of FreeBSD and through the power of the "geek culture".
Keep in mind that ordinary people _never_ moved something, in
_no_ regards. It has always been the exceptions who got things
invented.



> (3) Horrible documentation.
> 
> This is my specialty and has been since the early 1980s. The FreeBSD
> documentation is wordy, disorganized, inconsistent and highly
> selective in what it mentions.

Interesting, compared to my introduction statement about the
documentation. What you write here would - in my experience -
apply to Linux and "Windows", where documentation is limited,
scattered around arbitrary web locations, limited, sometimes
outdated, sometimes non-existent.



> It is not the product of professionals
> but it also not the product of volunteers with a focus on
> communication.

I agree that this may apply to some of the translations. :-)



> It seems pro-forma, as in, "it's in the documentation,
> so don't bother me." The web site compounds this error by pointing us
> in multiple directions instead of to a singular resource. It is bad
> enough that man pages are separate from your main documentation tree,
> but now you have doubled or trebled the workload required of you
> without any benefit to the end user.

Well, in _this_ area, I would also agree that work should be
done to concentrate documentation, e. g. make an "essence" from
knowledge and examples in mailing lists, web forums and so on.
But there are too many of them, and you simply cannot put all
the possible things into "the one documentation" project.

However, those who are willing to solve problems and to deal
with documentation are traditionally smart enough to use the
available resources, use google (or the search engine of their
choice), the mailing list archives, and in "worst" case consult
the mailing list actively.

In some cases, this makes people also actively participate in
the mailing lists, helping others by providing their own
experiences and knowledge. This basically is what such a list
lives from.



> (4) Elitism.
> 
> To a developer, looking at some inconsistent or buggy interface and
> thinking, "If they can't do this, they don't belong using FreeBSD
> anyway" is too easy of a thought. Yet it looks to me like this happens
> quite a bit, and "this is for the elite" has become the default
> orientation.

Interesting. Could you name an example?



> This is problematic in that there are people out there
> who are every bit as smart as you, or smarter, but are not specialized
> in computers. They want to use computers to achieve results; you may
> want to play around with your computer as an activity, but that is not
> so for everyone.

Fully true. In order to understand this, you have to agree that
computers aren't easy. They are like cars: You know how to actually
drive, and you need to know the rules. Then you may do training
and develop experiences in driving. This makes you a good driver.
Just buying a big car doesn't.




> (5) Hostile community.

Wow... I would have never expected THIS.



> For the last several weeks, I have been observing the FreeBSD
> community. Two things stand out: many legitimate questions go ignored,
> and for others, response is hostile resulting in either incorrect
> answers, haughty snubs, and in many cases, a refusal to admit when the
> problem is FreeBSD and not the user.

You should maybe check several months, maybe years. For example,
I'm on that list since... 2008 I think? And this list is _very_
polite, and its participants also deal very well with those who
do not behave like educated persons (insults, inability to read,
not willing to form a question one could answer, and so on).



> In particular, the community is
> oblivious to interfaces and chunks of code that have illogical or
> inconsistent interfaces, are buggy, or whose function does not
> correspond to what is documented (even in the manpages).

This _can_ happen during changes in the API, when documentation
doesn't catch up fast enough. Just compare this to the ongoing
observation in Linux where APIs change very quickly in many
fields. Many of them aren't even documented at OS level. Maybe
I can explain this by saying that Linux doesn't differentiate
between "the OS" and "3rd party software" per se, and there
is no "the standard OS install" (which also takes into mind
that Linux is not _one_ OS, but many distributions).

Replies like "RTFM & GTFO" are _not_ common to the FreeBSD
community.



> (6) Selective fixes.
> 
> I am guilty of this too, sometimes, but when you hope to build an
> operating system, it is a poor idea. Programmers work on what they
> want to work on.

This is their right as they do not get paid by a company that
can determine _what_ they will have to do.



> This leaves much of the unexciting stuff in a literal
> non-working state, and the entire community oblivious to it or
> uncaring.

I would be careful with allquantified statements. According
to simple logic, one counter-example is sufficient to prove
the falseness of the statement. :-)



> As Ron detailed, huge parts of FreeBSD are like buried land
> mines just waiting to detonate.

I'd be interested in knowing _what_ actually those are.



> (7) Disorganized website.
> 
> The part of the FreeBSD project that should set the tone for the
> community, the FreeBSD website, reflects every one of these
> criticisms. It is inconsistent and often disorganized; there is no
> clear path; resources are duplicated and squirreled away instead of
> organized and made into a process for others to follow. It is arcane,
> nuanced and cryptic for the purpose of keeping the community elitist,
> hobbyist and hostile to outsiders.

Definitely not _my_ interpretation of the website.



> You alienate users and place the burden upon them to sort through your
> mess, then sneer at them.

Er... what?



> You alienate business, professional and artistic users with your
> insistence on hobbyism.

Tell it to those who run a business with FreeBSD. :-)



> Even when you get big parts of the operating system correct, it's the
> thousand little details that have been forgotten, ignored or snootily
> written off that add up to many hours of frustration for the end user.

After all, it's about time, and this often is reflected
in the world of money. An OS project like FreeBSD that is
not primarily about making money or gaining market share
does have other fields where work is invested. Aggressive
marketing, for example, is not one of them.



> Sadly, Ron is right. FreeBSD is not right for us, or any others who
> care about using an operating system as a means to an end.

Again, allquantified statements aren't that good in such
a consideration.



> FreeBSD is
> a hobby and you have to use it because you like using it for the
> purpose of using it, and anything else will be incidental.

I for one am using FreeBSD to get my work done, and unlike many
other operating systems, it successfully works as such a tool.



> That is the condition of FreeBSD now. If these criticisms were taken
> seriously, I believe the situation could change, and I hope it does.

It would be nice if you could be more specific, pointing out
actual problems (instead of just naming a wide direction where
they may - or may not - be found.





-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



More information about the freebsd-questions mailing list