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