FreeBSD Kernel Internals Documentation

Nikola Pavlović nzp at riseup.net
Mon Jan 2 21:42:50 UTC 2012


On Sat, Dec 31, 2011 at 03:32:17PM -0500, David Jackson wrote:
> An OS should strive to be a better platform for many people, including
> techies and non-techies.
> 
> A good software design philosophy is that good software  works out of the
> box without configuration using reasonable defaults, but, that that the
> software should be flexible, very configurable, the user should be able to
> configure everything how they need it, but they should not be required to.
> This allows the user to configure as much or as little as they want.
> 
> Everything should be able to be accomplished with both GUI and CLI, and API.
> 
> The entire system should be well understood, well documented and
> transparent . Its like a car, its better to have a car that has a spacious
> engine compartment and is very well documented in service manuals so that a
> car mechanic can easily fix it. While not every user may want  to get under
> the hood, a spacious, well documented and easy to fix space under the hood
> makes the mechanics job easier of fixing the car. The car being made more
> reliable and easier to use as well means that the common driver has fewer
> breakdowns. Windows is a terrible OS because its like a car with the entire
> engine area sealed in a compartment that can only be opened with the car
> manufacturer with a key, so mechanics cannot even repair it.
> 
> There is no dount that UNIX is a better design system, due to the fact it
> is open and the underlying systems are well understood, well defined and
> well known, including due to the Unix philosophy of modularisation of
> components.
> 
> 
> I am in full agreement with Unix design philosophies and unix conventions.
> I definitely oppose any effort to re-invent Unix or break with unix
> conventionsand philosophies. It has been said that people who try to
> reinvent Unix will do so poorly. I agree. I am very much in favour of
> respecting Unix traditions, backwards compatability and conventions. For
> instance, supporting the X11 Window System i think is something that we
> should always commit to, it is important for compatability and for the
> flexibility it provides.
> 

Have you ever considered running for office?  You would make an amazing
politician!  "Here's what's wrong with the world and how to fix it, but
don't get me wrong, if you support the thing I'm trying to fix let me
assure you that I don't think anything is wrong with it and that you too can
safely vote for me."

> I think tis okay to build additions to the system, but in addition, to the
> existing components, not to overthrow existing parts of the system.
> 
> Backwards compatability is very important which is why it is important to
> respect conventions such as POSIX.
> 
>  I think that we can create a GUI front end built on top of the Unix system
> that helps manage and configure the underlying Unix system for non-techie
> users. This is layered design that gives us both the techie friendliness
> and controllability of Unix and a GUI front end over that for non-techies.
> No one should be required to use a GUI front end and should be able to
> directly edit configuration files if they want and use the rich CLI that
> FreeBSD has. This is a philosophy i like of allowing  users to exercise as
> much or as little fine control over the system as they want.

OK, nice phylosophy.  Obvious question: why aren't you on Ubuntu forums
asking what button to press to get your USB capture device to work on 11.10?

On a slightly more serious note, you seem to be unaware of PC-BSD.  Also,
KDE.

I understand you think you thought things through and there can't
possibly be anyone sane disagreeing with your vague ideas about
usability, but allow me to yell in horror: "I don't want layers of bullshit piling
inside of the operating system I use!  Please no!  A well documented
config file will do just fine.  Thanks."  And I'm pretty sure an
overwhelming majority of FreeBSD users and developers feel the same way,
that's why I'm using it in the first place.

And that's just the way it is now.  Try replicating the wealth of
information you get in various config files in FreeBSD in a GUI.  Just
how hard it is to open a simple text file in an editor and just fracking
do what it tells you to in comments?!  And it's not just the base
system, any decent third party program has this wonderfull feature.  How
hard can it be?!  Seriously.  Sure, sometimes things can get confusing
but that's the nature of any complex system, you can't make it go away
with a GUI.

What you're trying to solve is not an engineering but a mental health
problem--an irrational fear of comupters specifically and of reading
(and thinking even) in general.  No user interface can solve this
because it's not a user interface problem.  It's like going to a mathemathics
department at a university and demanding a GUI for math because most
folks get a panic attack when they see funny lookin' symbols.

And what the hell does all this have to do with kernel documentation and
your driver problem?  How is a mouse and a button going to solve that?

> 
> I think that we should be pragmatic about binary drivers and that it better
> to accept and welcome binary drivers from hardware companies. Open source
> drivers should of course be developed, then users can use the open source
> drivers as they become available, but, until then, they can use the binary
> driver, or use a binary driver for more rare and unusual hardware.
> 

You are either confusing FreeBSD with OpenBSD or just plain trolling.

> I do think that, hardware driver backwards compatability should be provided
> perhaps through a compatability layer that can be loaded into the kernel as
> a module, and perhaps could be a porting of the IOKit driver system from
> Darwin, perhaps even allowing Darwin drivers to be used on FreeBSD. All of
> this can go into a kernel module so that if all one uses is native FreeBSD
> drivers made for FreeBSDs normal driver API, they won't need to load this
> subsystem.

You see, you could have just proposed this in the first place instead of
provoking a flame fest, ranting about, mostly imagined, lack of
documentation, GUI configuration tools and giving condescending lectures
on programmer productivity.  Oh well...

-- 
To add insult to injury.
		-- Phaedrus



More information about the freebsd-questions mailing list