On Fri, Jul 6, 2018 at 10:51 PM Rugxulo <rugx...@gmail.com> wrote:
> On Wed, Jul 4, 2018 at 3:57 AM, dmccunney <dennis.mccun...@gmail.com> wrote:
> >
> > I went around this elsewhere with a guy who is doing a replacement for
> > the Busybox package with the first target being Android.  (Android
> > developers are using what he is doing internally.)
>
> I assume you mean Rob Landley and Toybox. (But no, I'm not directly
> familiar with him beyond that.)

I do indeed mean Rob.

> > One missing piece
> > was awk, which is required by various other things.  Awk was written
> > at AT&T Bell Labs by Alfred Aho, Thomas Weinberger, and Brian
> > Kernighan as a component of Unix.  AT&T Bell Labs was spun off an
> > became part of Lucent Technologies.  Lucent later merged with French
> > telecom outfit Alcatel.
>
> IIRC, Plan9 was dual-licensed under GPL in one recent release. I
> remember pointing one guy to it on BTTR. Of course, maybe you're
> right, that doesn't directly apply to the AWK included itself.

Plan9 is irrelevant to this.  It was seen as a follow on to Unix, but
was essentially another Bell Labs research project and in no way a
Unix descendant. It included Unix commands, but the underlying model
was *very* different.

> * https://news.ycombinator.com/item?id=7232042
> * https://www.cs.princeton.edu/~bwk/btl.mirror/
>
> Maybe he could use MAWK? (I forget if that's GPL, though, which is
> presumably the whole thing to avoid here. Oops, Debian says it's
> GPLv2, so ignore that.)

Rob won't go anywhere near GPL, and neither will Google, so GPL code
in Android is a non-starter..

Along those lines, Rob also needs to create a version of sh.  Android
is currently using mksh, but it has significant lacks.  AT&T ksh code
is now open source (and I corresponded with ksh author David Korn
about it), but there are apparently incompatibilities in the open
source  license ksh has.

My irony meter pegs off scale when code from one open source product
cannot be used in another because of licensing incompatibilities.  Rob
finally threw up his hands and walked away in disgust when GPLv3 was
incompatible with GPLv2.

> Actually, old Minix2 had an AWK, presumably BSD-licensed like the rest
> of the OS. But maybe it's too buggy?
>
> * http://download.minix3.org/previous-versions/Intel-2.0.4/

I haven't looked at that one, and can't say.

> > Aho, Weinberger, and Kernighan's original source for awk is available.
> > Brian is a Professor of Computer Science at Princeton University these
> > days.  I asked, and *he'd* be delighted if it got used for this, but
> > while the source is available, the *rights* are up in the air.
> > Technically, Alcatel/Lucent currently holds them, but no one there is
> > likely to even be aware of it and heaven knows what would happen if
> > they were asked.
>
> It would seem strange that FreeBSD (et al.) use it in "base" with no
> worries, but Toybox can't.

Rob may be more paranoid than needs be, but he's had issues over
licensing before, and simply refuses to take chances.  Given that
Android is a main target for Toybox, and the vast usage it has, I
don't blame him  When you have a billion instances in use, *someone*
will raise a fuss over stuff like this, and life is too short to spend
time dealing with that.

(And whether a fuss is raised will be a matter of whether there's
money in it.  Suing FreeBSD will get you nothing.  Suing Google is
quite another matter.)

> * https://www.freebsd.org/cgi/man.cgi?query=awk&sektion=1
>
> I gather it's probably par for the course for universities or
> companies to "own" software written by its employees, but it seems
> pointless here. I assume they are all already aware whether they
> explicitly were compelled to sign off rights to AWK itself, especially
> Brian himself. Legal gray areas are annoying, but they do happen. I
> don't think asking Alcatel/Lucent for clarification would hurt,
> especially if you have no other (obvious) answer.

And just who does one ask at Alcatel/Lucent?

Yes, work done on company time belongs to the company.  That's been a
standard part of employment contracts for as long as I've been paying
attention (four decades and counting).  You may recall the fuss and
bother over GIF files.  GIF used LZW compression.  Terry Welch (the W
in LZW) wrote a paper describing a simplified form of the Lev-Zempel
compression algorithm that was easier to implement on a computer.
Terry worked for Sperry at the time, and his contract assigned rights
to that work to his employer.  Sperry became part of Unisys.  Unisys
realized it had IP rights to part of LZW, and began suing Compuserve
and other users of GIF files for royalties.  The open source PNG
format was created to have something that behaved like GIF that was
not encumbered by licensing.  The Unisys patents on LZW has since
expired and the point is now moot, but it was annoying while it
lasted.

I believe the awk source got released by Novell.  Back when, AT&T spun
off Unix development as Unix System Laboratories.  This was partially
in response to concerns on the part of OEMs that had licensed Unix,
because an effort led by Bill Joy at Sun Microsystems was attempting
to unify the System V and BSD flavors in a converged version which
resulted in Solaris.  Outfits like IBM and HP were concerned that AT&T
and Sun would have first access to the new code and a leg up in the
Unix market, so AT&T made the Unix development group a separate
company.

Novell under Ray Noorda bought USL, but the Unix *name* was not part
of the deal.  AT&T assigned the *trademark* to OSI, and we got Spec
1170, a set of tests that defined whether something was Unix
compatible.  Anything that passed all the Spec 1170 tests could call
itself Unix.  I was deeply amused when IBM created a POSIX subsystem
for mainframe Z/OS thqat passed the tests, and Z/OS could call itself
Unix.  (There was also a Linux distro that spent the time and money
and could pass Spec 1170, but doing so did not give it traction in the
market and it no longer exists.)

Noorda began having memory problems, Novell removed him as CEO, and
the acquisitions he made but never really integrated got spun off.
(Noorda was apparently trying to compete with MS across the board, and
acquired single tasking and multitasking OSes, a GUI, and the
components of an office suite, but never combined them into a coherent
whole.  The world might look different had that happened.)

> > The chap doing the Busybox replacement has been around the licensing
> > block on other stuff, and won't use it unless he has clear documented
> > legal rights to do so, so he's going to have to roll his own awk
> > implementation.
>
> I sympathize, and he's a smart guy, so he'll probably figure it out.

He certainly *can*.  The issue that Rob faces is that there's one of
him, he has two hands, and there are 24 hours in a day.  $DAYJOB means
his Toybox development is evening and weekends.  An assortment of
folks are contributing code, with the Google dev whose group maintains
the infrastructure the Android developers use a prominent contributor.
His folks use Toybox internally and have an interest in seeing it
develop.

But Rob does cleanup and refactoring on everything, doing things like
factoring out common code into libraries.  Busybox used cut down
versions of commands to reduce code size.  Rob seems to be
implementing *full* versions of the commands included while still
keeping code size down.  (He did a presentation at a Linux conference
on how he reduced ifconfig code from 1,500 lines to 750 while fixing
bugs and adding functionality.)

Another issue Rob faces is design decisions - just how should a
vaguely specced command actually behave?  If it's defined by POSIX,
that's the first cut, but POSIX doesn't always precisely spec things,
so the next step is "What does Ubuntu do?", but that's muddied by
Ubuntu including GPL code from the FSF, and some of that has "What was
whoever implemented this smoking when they wrote it?" issues.  Some of
what the FSF does is just nuts and you don't want to go there.

> Though I'm not aware of any heavy use of AWK that would be impossible
> to rewrite. I mean, rewriting a few scripts can't be harder than
> rewriting an entire interpreter from scratch, can it? (Note that my
> use of AWK has been very minimal, almost nonexistent. It's still very
> useful, but I gather most people prefer other tools.)

The problem facing Toybox is that those few scripts aren't part of of
Toybox.  Awk scripts and other scripts are all over the map, created
by users of things awk and other script languages are embedded in,
like Linux OS build scripts.  They are historical artifacts dating
from who knows when.  A critical requirement for Toybox is being able
to run them.  If it worked in Busybox, it needs to work in Toybox.
Users should *not* get unpleasant surprises because Toybox doesn't run
their existing code. Can you say "backwards compatibility"?
______
Dennis
https://plus.google.com/u/0/105128793974319004519

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to