From owner-freebsd-hackers@FreeBSD.ORG Tue May 13 03:05:38 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EBAAA37B401 for ; Tue, 13 May 2003 03:05:38 -0700 (PDT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1BD8443F85 for ; Tue, 13 May 2003 03:05:38 -0700 (PDT) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.9/8.12.9) with ESMTP id h4DA5TYP019284; Tue, 13 May 2003 12:05:30 +0200 (CEST) (envelope-from phk@phk.freebsd.dk) To: Jordan Hubbard From: "Poul-Henning Kamp" In-Reply-To: Your message of "Tue, 13 May 2003 01:57:13 PDT." Date: Tue, 13 May 2003 12:05:29 +0200 Message-ID: <19283.1052820329@critter.freebsd.dk> cc: hackers@freebsd.org Subject: Re: A modest proposal for better errno values... X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2003 10:05:39 -0000 In message , Jordan Hubbard wri tes: >#define EDOOFUS 88 /* Programming error */ My first reaction was to check the Received headers, to see if this email had accidentally gotten held up for about six weeks, but no such luck. I also know that you personally have stared with disbelief at the person who brough this up to you, and probably checked your calendar as well. And having worked at a big US company, I know from personal experience how much tiny details can become big issues, so I am sure that you are not making this up: Somebody at Apple probably are worried that they will get sued for insulting programmers, or get unfavourable press because some silly journalist needs to fill 4" in column 3 and cant find a picture of potato which looks like Lincoln. So we have to deal with it... This error is currently used exactly one place in our kernel, where it indicates that somebody with a FreeBSD commit bit or similar level of clue has goofed up some code in such a way as to seriously put users disk content at risk. Traditionally, we have used panic(8) in such circumstances, but there is no need to panic in this case, the system is perfectly fine, there is no inconsistency, there is no risk, because the kernel spotted the mistake and stopped before things got dangerous. (We need to get away from using panic in situation where the system can survive without risk, this is my little contribution to that goal). You will by now have noticed that the user will never see the EDOOFUS text, it will always be presented as "Programming error", so the only people to be offended are people reading source code, so I think the risk of Samuel B. User being offended by accident is nil. In my mind, "EUSERERR" as you propose, _would_ actually be insulting for the user, because there is nothing the user can do to avoid this error return, until the programmer fixes his mistake. So far, I have gotten no feedback which indicates that anybody was offended, or knew anybody who might get offended or even could think of anybody who might get offended by this. I have however received a fair bit of feedback which show that those people appreciated a little joke here and there. And while I do think there is a limit to what our source-code should contain this is not over that limit. So I seriously think that somebody at Apple needs to get a life. Next thing you know, they'll want me to add a softdrink option to the beer-ware license in order to not encourage DUI and alcoholism. _If_ there had been substantial traffic of kernel source from Apple to FreeBSD, I _might_ have been a lot easier to persuade, since the diff might one day be on my screen, trying to integrate something from Apple. But as it is now I am not at all interested in selling our freedom to have a bit of fun to Apples sensibilities when I see little or no tangible returns for me or the project for such concessions. So it will take a direct edict from core@ or a well-documented concensus amongst our developers to convince me that there is a problem and that we need to fix it in FreeBSD. And should that happen it will add another grain of sand on the side of the balance which says "FreeBSD is not fun anymore". (And it goes without saying that I would not at all accept that some hot-head just changes it before such a quorum is documented). And you are perfectly spot on in your assumption that this is likely to lead to a 500+ mail bikeshed, which will get into the deeper subjects about programmer psychology, 1st ammendment rights, political correctness, needlessly being offensive, needlessly being an anal-retentive idiot, needlessly lacking basic genes for humour recognition, how this was no problem at Novell when Terry invented UNIX there, only to finally fizzle out when nobody but the arm-chair generals are left and even they get tired of it, and the get revived a couple of months later when somebody reads the mail-archives and reignites the entire thing again. So I might be tempted to suggest we just skip all that noise and discussion, and go straight to a referendum on developer@, based on your email stating the "pro" and this reply stating the "contra". Either way, this is my only email on the subject. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.