Date: Sun, 24 Feb 2008 16:54:17 +0200 From: Jonathan McKeown <jonathan+freebsd-hackers@hst.org.za> To: freebsd-hackers@freebsd.org Subject: Re: find -lname and -ilname implemented Message-ID: <200802241654.17135.jonathan%2Bfreebsd-hackers@hst.org.za> In-Reply-To: <20080223.164806.-674897155.imp@bsdimp.com> References: <200802232322.45288.jonathan%2Bfreebsd-hackers@hst.org.za> <20080223.164806.-674897155.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 24 February 2008 01:48, M. Warner Losh wrote: > The change absolutely makes sense, and so far none of the arguments > against it are really worth the time to respond to. I'm using > packages not in the ports system. Frankly, the more gratuitous > differences with the gnu tools we have, the harder the sell will be > for companies wanting to replace their Linux systems with FreeBSD > ones. The changes I made were absolutely trivial in the scheme of > things. > > This knee-jerk reaction against gnu find functionality baffles me. > The changes are trivial and make FreeBSD more compatible. It is such > an obvious no-brainer that I frankly didn't expect anybody to bat an > eye. You're adding some functions from GNU find which may or may not be currently available, and some synonyms for existing functionality to emulate GNU behaviour. You're right - that's reasonably unexceptionable, although it's by no means clear whether -lname name refers to the name of the link, as the revised manpage suggests (making it just an abbreviation for -name name -type l), or the name of the link's target, which is useful as there's currently no way to do that (I'm assuming that when DES tells me it does the latter, it's based on reading the source, which I haven't done). If you'd simply said that, I doubt you would have got much reaction at all. It was more the lengthy discussion of how we ``must'' be GNU-compatible, which prompted (certainly in my case) a philosophical discussion. Incidentally, while there are differences between the GNU tools and the BSD versions, I'm not sure (other than sheer weight of numbers) why that is judged to be a problem of ``gratuitous differences'' on the FreeBSD side, or why it is FreeBSD that must be ``more compatible'' with Linux rather than there being a mutual effort towards interoperability. Look at the find(1) manpage. It was already long, complex and intimidating. It's now a little longer to read, a little more complex to understand (do all these multiple options which appear to mean the same thing actually do different things, or not?), and a little more intimidating - and it's one of those manpages that people probably read over and over again (I know I often have to check the details of options for a complicated invocation). The gain is that we can now tell people not to worry about the fundamental differences between Linux and FreeBSD, because we've fixed a couple of trivial differences. Oh, and we've done it by adding marginally useful complexity to FreeBSD, which has always struck me as elegant and simple compared to the GNU/Linux kitchen-sink approach. FreeBSD and Linux are different. If it isn't the arguments to the find command that trip up potential converts, it'll be something else - unless we convert FreeBSD into Linux, at which point we can all go home. I'm sorry, I seem to be jumping up and down on you rather hard and in heavy boots over something quite minor. That's not my intention; but I would like to see a bit more discussion (perhaps in a more appropriate forum) about this more general issue: to what extent does the need for GNU compatibility override the desire for elegant and coherent design? Jonathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802241654.17135.jonathan%2Bfreebsd-hackers>