On 02/05/2015 02:28 PM, Isaac Dunham wrote:
> On Thu, Feb 05, 2015 at 01:25:41AM -0600, Rob Landley wrote:
>> On 02/03/2015 06:09 PM, Isaac Dunham wrote:
>>> Hello,
>>> I noticed a comment in landley.net/notes.html about missing stuff in
>>> bash 2.05b (set -o pipefail, jobs).
>>> My local build of bash 2.05b, configured with 
>>> ./configure --disable-gnu-malloc
>>> has jobs; I guess this is --enable-job-control.
>>> In doc/FAQ, it mentions set -o pipefail as a new feature in ksh-93
>>> that isn't in bash.
>>
>> So it was a new feature that wasn't in bash in 1993? (Linux was started
>> in 1991, bash 2.05 was the version in Red Hat 9 circa 2003. That's ten
>> years after that, but more than ten years _ago_ now...)
> 
> No, it's a feature that ksh 93g introduced in ~1998, and that bash 2.05
> documented as not being supported yet without mentioning which ksh93
> it came from.
> 
> ksh-93 does not just refer to the Korn shell as it stood in 1993.
> It means the development series that was first released in 1993,
> which is still getting new features after ~3 relicenses and 22 years.
> (It went from proprietary to an in-house license to CPL to EPL.)
> Releases are numbered as 93<a> where <a> is a lowercase letter.
> Of course, only ksh users bother distinguishing between versions of
> ksh93.
> 
> Currently it's at 93v, which features several small bugfixes and some
> experimental support for printing compound variables in JSON format.

1993 was 22 years ago now. Despite being a computer historian, I'm not
usually fascinated by quite that level of trivia unless it means
something, and I don't see how this entire line of conversation matters
to anybody.

Old bash was not good enough, I must right new toysh, it's on the todo
list. I now have something specific that the lack of it breaks in my
test environment. I'm not going to replace it with something _older_,
nor am I going to replace it with a nonstandard fork that's less likely
to build linux from scratch and/or AOSP under it, let alone toybox's own
build scripts.

> This reminds me:
> Reading the ast-developers list, I found out that the "OpenSolaris
> Busybox" (mentioned in roadmap.html) actually made some progress.
> However, it's not exactly what or where you'd expect.
> It became known as "ast busybox", and it means more-or-less
> "ksh93 with as many commands from ast-open as possible builtin."

OpenSolaris still exists?

...

Really?

...

Why?

> I saw a comment on the ast-developers list years ago indicating that
> they saw the license as a possible "in":
> http://lists.research.att.com/pipermail/ast-developers/2012q3/001519.html

What _is_ the license?

People have seen "not being GPL" as an advantage for years, with varying
results. OpenSolaris did CDDL to try to have a "copyleft that was
incompatible with Linux", but everybody just pointed and laughed. And
then the FSF did the same thing and OpenSolaris gleefully adopted GPLv3
because it was exactly that. (Hence
http://www.osnews.com/story/24572/Apple_Ditches_SAMBA_in_Favour_of_Homegrown_Replacement
and so on with "the GPL" generally falling out of favor because multiple
incompatible versions prevent there from _being_ such a thing as "the
GPL" anymore).

(My current position is far more pro public-domain more than anti-gpl. I
was a huge fan of the GPL, I'm sad the FSF broke it, but it no longer
solves the problem it set out to solve and the internet itself turns out
to be better at it than the legal system...)

> That said, I would strongly advise against going digging through
> ksh93 and ast-open: not for licensing reasons, but because it is
> *incredibly* convoluted-you would need to

Writing new code really isn't that hard. The past couple weeks $DAYJOB
has sucked me off of toybox work to do kernel stuff for them, and now
that I'm done with that they want me to grab some vendor package and
glue it to their application's API, but it's not like spending evenings
and weekends on toybox is a new thing for me. :)

(Except evenings and weekends have been on
http://landley.net/hg/aboriginal/rev/1728 recently because that was a
big switchover that needed finishing. And now it needs debugging and
some cleanup work, but at least the basics are in...)

>  -figure out how mamake works/fails to work; they managed to write 
>   a build system that's more intransigent than autohell by using
>   a dozen shell scripts for added indirection

I've never particularly wanted to get any part of opensolaris on me. It
was a political move in the Sun civil war, not a technical one.

I wrote up a "History of the Sun Civil War" once upon a time, but didn't
post it and dunno where the file would be. You can see the beginning in
"The Long Strange Trip to Java" where they talk about Java evolving out
of the NeWS GUI team:

http://www.blinkenlights.com/classiccmp/javaorigin.html

Basically what happened is that SUN started out by selling workstations,
and in the 90's they got driven out of that business because Intel
steamrollered all the RISC vendors with better manufacturing and higher
unit volumes giving PC hardware such a better price/performance ratio
that even Windows NT (or their own somewhat craptacular chip designs)
couldn't keep it out of datacenters indefinitely.

When SUN lost the workstation market and retreated to servers, their
corporate identity got broken. They were a stage 2 company (according to
Cringely's 3 waves stuff I wrote up http://landley.net/writing/#3waves
years ago), which meant they had a core business defining the company,
and it was workstations.  Retrenching to the server market didn't sit
well with them, both because it was a crowded space (DEC Alpha running
OSF/1, HP's PA-RISC running HP-UX, IBM had AIX, and so on) and because
the the web was whiteboxes as far as the eye could see.

Keep in mind 90's web (with 1993's "september that never ended") was
dominated by Linux, because it was initially low value and low status.
So in 1993 you didn't spend $10k on sun kit, instead you stuck an old
386 in a closet with Linux and Apache and called it good. So for sun to
become "the dot in dot-com" several years later, they had to convince
companies to replace an existing deployment that already worked with
something a thousand times more complicated and expensive.

This "move upscale" pitch worked for the fortune 500 but not very well
outside it. In the mid 90's it was sort of viable but there wasn't much
money in it yet... and then in 1998 Netscape shunted all the Java guys
over to Linux leading to the 212% growth spike, which hurt Solaris, and
then IBM said a billion dollar a year investment in linux starting in
2000, then Red Hat took the Fortune 500 market away with Red Hat
Enterprise as previously explained... NT drove Sun out of the
workstation market and Linux was fighting them in the server, in both
cases because PC hardware had better price/performance advancing
relentlessly in accordance with Moore's Law.

So backing up a bit: when Java came along and offered Sun a potential
way back onto the desktop/workstation market circa 1995, they jumped at
it. The "Solaris+Sparc" core of the company is where all the money came
from and thus all the political power, but Java spoke to their self-image.

And _under_ Java you got varying agendas nurtured. I'd have to look up
the timelines again, but off the top of my head some of the factions were:

1) The open source/GPL faction. Java's main outlet was Netscape (the
channel distribution partner that actually got Java in the hands of 95%
of its developers and users), and when they responded to The Cathedral
and the Bazaar by opening the source and elevating Linux to a Tier 1
platform, lots of Java guys within sun went "it's _nuts_ that Java isn't
open source, this is holding us back". But they had a lot of coporate
political infighting to do before they mattered, the company was having
nunuvit (a town in western canada).

2) The applications faction. The "we can sell desktop applications" guys
responded to the failure of Corel Office's Java rewrite by buying
StarOffice and renaming it OpenOffice, and they _did_ get their stuff
out under the GPL (after mucho internal screaming matches).

3) The desktop faction. The "we can do a desktop" people did Looking
Glass using Linux, and then got murdered politically and looking glass
rebased on solaris (which killed it stone dead but how _dare_ they ship
something people woud actually want to _use_ if it undermined an
existing product!).

4) The Windows faction. Meanwhile the largest set of Java users,
numerically speaking, were on Windows. So a contingent of windows
supporters grew up within Sun.

5) The x86 faction. When sun workstations stopped being produced in
volume they became _crazy_ expensive and hard for developers to come by,
so the developers used Solaris-X86 to develop on (originally a crappy
acquisition sun made, "Interix" or something like that, which had most
of the solaris API retrofitted to it poorly). Sun's management kept
trying to kill Solaris-X86 because it sucked and made no _sense_ to a
company whose core business was selling Sparc hardware, and their
developer base kept taking out full page ads in newspapers telling them
they were idiots. They did that like 3 times before there weren't enough
Solaris developers left to complain, and _then_ Sun management realized
"oops, we have no mor developers!" and started offering their
salesbeings a bigger commission on each solaris-x86 system they sold
than the sale price of the system. But it was too late...

One of the things that happened was after Bill Joy went nuts and wrote
an article in wired about how Grey Goo will kill us all and the
unibomber was right so we must all retire to a cabin in rural montana
and give up all technology before it's too late... (see
http://archive.wired.com/wired/archive/8.04/joy.html) Sun quietly sent
him out to pasture and re-hired a _different_ one of its original
founders as a replacement: Andy... Bectolshiem? Their old hardware guy
from 1982. Except that what he was doing _now_ was working at a startup
doing x86-64 stuff, and they got him by buying his startup, and when he
came back he pushed x86-64 Solaris systems.

And that's when Sun basically fell apart at the seams. Everything before
was just sniping, but when the Solaris+Sparc block cracked down the
middle there was no longer a unifying power block and it was open
season, and _everybody_ hated the previous king that had always screwed
up their plans to GPL Java or to do Linux-based looking glass or make
_anything_ work properly on Windows...

The full-on fighting got kind of complicated. The Windows guys took
advantage of the SCO lawsuit to get a $2 billion payoff from Microsoft
for Supporting SCO against Linux (it was a little more indirect than
that, ala
http://www.osnews.com/comments/6579/?view=flat&perpage=20&order=o&sort=&threshold=2
but that's basically what happened), and they used that burst of
political power within sun to team up with the Looking Glass guys and
the OpenOffice guys and the Java guys and basically stab the Solaris
guys in the face... by forcing them to open source the operating system
itself. Breaking their power once and for all.

Oh the screaming. There was so much screaming. Much of it public. The
solaris guys did _not_ wanna go, but when they fell off their perch the
sharks descended politically...

The point of all this is Sun went out of business for a _reason_. You
want a serious takedown of Sun? James Gosling, author of Java, quit the
company after Oracle acquired it and gave a very candid interview about
_why_. I linked to that when it happened:

http://landley.net/notes-2010.html#24-10-2010

All the above was like a _third_ of the full "sun civil war". Once upon
a time I traced as many factions as I could and how they interacted with
each other over something like a 15 year period of the company's
history. But then Oracle bought them and I stopped following them
because everybody had left.

Oracle bought them for the patents, so they could sue people. Oracle's
running to stay ahead of in-memory databases rendering their core
business pointless:

http://landley.net/writing/database.html

And as I've been saying ever since SCO happened: Dying business models
explode into a cloud of intellectual property litigation. Oratroll
turning into a patent troll is an expected part of its life cycle.

So looking at _any_ existing technology that has anything to do with
Sun? I really don't want to get it on me.

>  -figure out sfio; after coming up with C, the guys at Bell Labs
>   decided to rewrite stdio to be more robust, but made it nearly as
>   tightly tied into the internals of libc (if I understand correctly).

I'm vaguely aware of unix version 10 (the bell labs releases after
version 7 didn't really make it out of the company because the
commercial side was doing "system III, system IV, system V"...) Eric
Raymond has historical info on that stuff though. He was quite fond of
the "sam" editor, I think it was?

>  -skip over miles of optimization for speed at the expense of size,
>   such as the shell script compiler

Had enough of that in busybox, thanks. :)

(Ok, size at the expense of everything else there, but same difference...)

> Also, they have many features that not even the GNU developers have
> caught up with yet.

I'm interested in "what list of commands did they implement, and what
command line options do those have". But not _how_ the implemented it,
and given that it's solaris: not _very_ interested because the surviving
userbase is tiny.

(I say that as someone who stayed with OS/2 at least 3 years longer than
made any sense.)

> Thanks,
> Isaac Dunham

Rob
_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to