From owner-freebsd-questions@FreeBSD.ORG Tue Jan 10 14:06:00 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B108106566B for ; Tue, 10 Jan 2012 14:06:00 +0000 (UTC) (envelope-from nzp@riseup.net) Received: from mx1.riseup.net (mx1.riseup.net [204.13.164.18]) by mx1.freebsd.org (Postfix) with ESMTP id BC4008FC08 for ; Tue, 10 Jan 2012 14:05:59 +0000 (UTC) Received: from fruiteater.riseup.net (fruiteater-pn.riseup.net [10.0.1.74]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Gandi Standard SSL CA" (verified OK)) by mx1.riseup.net (Postfix) with ESMTPS id 230BE59890 for ; Tue, 10 Jan 2012 06:05:59 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: nzp@fruiteater.riseup.net) with ESMTPSA id 269C77FF Date: Tue, 10 Jan 2012 15:05:53 +0100 From: Nikola =?utf-8?B?UGF2bG92acSH?= To: freebsd-questions@freebsd.org Message-ID: <20120110140553.GA34108@sputnjik.localdomain> Mail-Followup-To: freebsd-questions@freebsd.org References: <201112302138.pBULcZfw076474@mail.r-bonomi.com> <4EFF19A7.2060800@ose.nl> <20120102214243.GA86702@sputnjik.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.97.2 at mx1 X-Virus-Status: Clean Subject: Re: FreeBSD Kernel Internals Documentation X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jan 2012 14:06:00 -0000 On Mon, Jan 09, 2012 at 03:56:39PM -0500, David Jackson wrote: > > 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. > > > > > > I absolutely agree that no one should be required to use a GUI. it should > be there for those that want to use it. But you should be able to directly > use config files if you would like, the GUI in any case would just be a > front end to config files that, you would not need to use the GUI if you do > not want to. A GUI for some users can improve useability. > Well, as I said, there's PC-BSD. I haven't tried it, and don't have a need for it, but as far as I can tell people who like that sort of stuff seem to enjoy it. And if one would like to work on such tools, it's the place to do it because a) it exists and that's its purpose, and b) because of a) FreeBSD should be then left free of such complications and focused on substance. One problem with your approach is that it never stops at "just being a front end to config files". I don't know why this is so, but in practice it seems that every time you try such a thing it becomes a mandatory unmaintainable mess. At lest that's how it ends up on Unix(-like) OSes. Or it ends up sort of working, but you're stuck with GUI developers' assumptions on how stuff works and should be done. I think that FOSS community just needs to accept that different categories of users have different needs and one single OS can't be everything to every person. "World domination" ideas are just silly and pointless, or as Bill Joy said: "What was the goal of the Linux community--to replace Windows? One can imagine higher aspirations." I think recent developments with tablet computers are showing that most people kinda don't need, or even want, a full blown workstation/desktop computer and OS overhead that comes with it. I have my serious reservations on where this trend will lead us, and I'm not really comfortable with it (fortunately, people are becoming aware of these issues, see various discussions on the decline of general purpose computer and similar on the net and meatspace), but on the other hand I can't deny it makes sense. Fortunately this battle is not yet lost and projects like CyanogenMod are extremely important, as is strong activism towards mobile hardware vendors to make their devices open and standardized the way PC architecture (for the most part) is. HTC decided to sell easily unlockable phones because of consumer pressure, so it can be done. On the other hand, I don't think people who can help improve FreeBSD and make it continually viable for it's real purpose (server and professional workstation) are scared of config files and vi. On the contrary. (Same goes for other two major BSDs). > > > > > > > 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 would never troll. Everything I say is my sincere view, I do not say > anything to offend people. > I believe you, but seriously, AFAIK FreeBSD has never been too hostile to binary blobs. Most of the time when a blob is necessary and nonexistant it's the case of a vendor being lazy or incompetent. Or they just sell mass market junk hardware and are only interested in Windows no matter what you do. Some printer vendors are perfect examples of retarded--printers don't even need a kernel space driver, or at least shouldn't need one, all that is required is a filter you can plug into pretty much standardized Unix printing schemes; hell, even Apple insists that printers have no place inside the kernel. If they are such bottom feeders that they are incapable of making a program to convert Postscript input to their stupid proprietary control language, I'm afraid there's not much FreeBSD can do about that. > As for my idea for a driver compatability layer of some sort, I have looked > into doing that myself, Its not something i have asked anyone to do, that > is the reason I have been studying the freebsd kernel. > I've taken a quick look at I/O Kit docs when you mentioned it (it's an interesting idea). IANA kernel developer, but it doesn't seem viable. Apple cites ireconcilable differences[1] :), unfortunately. And there's of course the problem of C++ not being an option for kernel developement so it would have to remain outside the base system even if you could hack something. > > I think that, a description, some sort overview of how the kernel is put > together, where things are, such as the location of the PCI system in the > source tree and so on and how things fit together overall is something that > I was sort of looking for as far as documentation, especially. in my > comparison of source code, it seems like FreeBSD is about the same as far > as source code comment quality, and Minix has much more descriptive source > code comments. It's not a surprise considering that Minix is basically a teaching OS. Its whole purpose is to be well documented and easy to understand. It helps if you're doing an academic exercise and you're not constrained by deadlines, grants and, usually, real life. :) Have you looked at Reading the FreeBSD Kernel[2], by R. Watson? It seems like a nice overview. There's also a list of docs on the forums[3] and others have already mentioned "Design and Implementation of..." books. BSDConferences channel on Youtube[4] also tends to have informative stuff. ---- [1]: http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Features/Features.html [2]: http://www.watson.org/~robert/freebsd/reading/ [3]: http://forums.freebsd.org/showthread.php?t=1566 [4]: http://www.youtube.com/user/bsdconferences -- The worst part of having success is trying to find someone who is happy for you. -- Bette Midler