Subject: Re: replacement for bc(1), dc(1), diff(1), and diff(3)
To: Igor Sobrado <>
From: Igor Sobrado <>
List: tech-userlevel
Date: 04/28/2005 10:53:03
> On Mon, Apr 18, 2005 at 09:15:25AM +0200, Igor Sobrado wrote:
> The OpenBSD dc and bc have not come out as being better in terms of
> technical criteria (performance, correctness) from the things I remember
> seeing in this thread. So choosing them is not choosing the technically-
> superior program. You describe them as, "fine." Not "superior" nor
> "excellent," but "fine."

Ok, my knowledge of English is not very good.  Sometimes I do not
use the words I should.  I agree with messages submitted to this

> For instance, we now use pax, a non-GPL tool, for our tar. That was one
> place where we made the political decision to go with a new tool front end
> over the tool we had used for the entire life of the project. So saying it
> is a political decision doesn't mean it's a bad thing nor that we souldn't
> do it.

I think that replacing GNU tar with a pax-based tar was a great
design decision.  I collaborated in a patch to improve the behaviour
of GNU tar in 1997, perhaps 1998.  The goal was improving support
for POSIX 1003.1 (ustar).

At that time, I had serious problems uncompressing HP-UX patches
on a Linux workstation.  When the path of a file in one of these
tarballs was exactly 100 characters long the file was extracted
to the wrong place and the patch was unusuable.

François Pinard, the maintainer of GNU tar (BTW, as kindly as the
NetBSD Foundation developers) accepted a fix for that problem.
When he is the maintainer of GNU tar all goes right and we have
a GNU tar that manages tar files created with other tar
implementations as it should.  When the maintainer changes,
those changes are dropped until he returns --- at least to my
knowledge, I do not know if that matter has changed recently.

Obviously, a tar maintained by the NetBSD Foundation will have a
more stable behaviour.

I do not feel that replacing GNU tar with a pax-based tar is a
political decision.  It is a right technical decision too.

> I think the quickest way to get a non-GNU bc and dc in NetBSD is not to
> replace the code. Phil, who also is a long-term NetBSD developer, has
> indicated he is open to changing the licensing to a dual-use license.
> However there is some work needed, which he won't be able to do until this
> summer. If you help him do the work, the license will change and NetBSD
> will have a non-GPL (well dual-use) bc and dc.

Hi Bill.

Sorry for the long delay answering to this question.  I am busy
working on my doctoral dissertation (hopefully I will be an
unaffiliated doctor in CS very soon).

If it is on my hands, I will do my best to improve these commands.
I will need some advice about changes that need to be implemented.

Changing the licensing terms to a dual-use license is not required
(but this change will probably be good for the Foundation).  I am more
interested in technical details.  I am interested too in porting man
pages from man to mdoc too.  I think that software provided in the
base system should use mdoc if possible.

What should I do now?  I can work on these changes at least on
weekends -and full time on summer-.