On Tue, Aug 05, 2003 at 08:07:46PM -0500, Wayne wrote:
I thought it went like this:
In the beginning, there was B20, and it was GOOD. After that, it went
downhill...
That raises the age old question of "If there was a B20, what about B19?
Why are there ChangeLog entries for earlier versions?"
Many religious philsophers have pondered this question. A common answer
is that God created a ChangeLog with earlier entries when he created B20.
The theory is that this is part of His imponderable plan. However, many
find this explanation unsatisfying.
Skeptics insist that the ChangeLog points to clear evidence of earlier
versions and there is, in fact, a scientific discipline called
arcygologists devoted to attempting to recreate ancient versions of
Cygwin from ChangeLog descriptions. Many scientists theorize that
Cygwin started as a very uncomplicated "Hello World" type Windows
program. This type of program probably existed for uncounted years
prior to the first occurence of a Cygwin DLL as we now know it.
Interestingly, ancient ChangeLog records seem to show that even the name
of the DLL was different in these early years. Arcygologists have
pieced together a word resembling bnu-win23 as the name of this early
proto-Cygwin.
The theory is that the DLL evolved as the result of constant pressure
from an early internet mailing list type of culture. In the early years
the mailing list consisted of an inhospitable majordomo environment.
This environment was good enough for the early Cygwin, whose sole purpose
appeared to be nothing more than to brighten the day of the primitive
internet by issuing cheery "Hello World!"s from the direction of Windows
machines.
The constant stream of "Hello World"s had an effect, however. Over time
the majordomo environment changed, as the result of constant churning of
email. The pressure of this early environment with such theorized
elements as "It seems to me that bnu-win23 should be greeting me with
the time of day when it says hello", "If bnu-win23 can't grow to meet
the needs of the Amiga, it will certainly fail", and the frequent "I
can't Hello World my bnu-win23 on 3.11 Windows. I have Helo WOrlded my
3.10 other machine! Can it be a problem with my CGA monitor?" forced a
slow, almost imperceptible change in the program over time.
The pressure of increased need for complexity resulted in such things as
"cross compilers" to begin forming on the vast sea of UNIX machines which
populated the internet. As these "cross compilers" progressed they were
capable of building ever more complicated Windows programs. Then a
fateful day occured when the first *compiler* emerged shakily onto the
shores of a pre-XP windows system. This "compiler" contained the
backbone of what would eventually become a modern, upright Cygwin B20.
While "cross compilers" continue to exist to this day, the Cygwin
"compiler" has grown to occupy the vast, previously uncharted niche of
the Windows machines.
The result of increased complexity also caused a change in the internet
environment in which early Cygwin's had grown. Slow, huge, dim-witted
majordomo was replaced by the smaller quick-witted and nimble
qmail/ezmlm. There were also changes in the cygwin license, owing to
internet feedback. In parallel to this, what started as a primitive
public domain program, evolved into a free-but-our-competitors-can't-use-it
license. This type of license provided inadaptable for the internet
environment and bnu-win23 nearly foundered and died as a result. The
internet environment began to shrink around the early bnu-win23.
What happens next was not clear from the ChangeLog records. Apparently
some stray internet particle caused a fortuitous licensing change to the
now-well-known GPL. While this also caused much internet churning, it
did result in the modern Cygwin that we know today.
The name change from the early bnu-win23 to Cygwin is also clouded by
gaps in ChangeLog records. The current theory is that some massive
internet outage caused the extinction of many early copies of bnu-win23,
allowing their less well-known and practically invisible Cygwin
counterparts to take center stage.
In any event, the theory is that the churning of this majordomo/ezmlm
internet structure continued. Cygwin was subjected to a constant
barrage of random comments, causing it to metamorphosize into its
present structure.
Interestingly, arcygologists are certain that if you were to repackage
and polish a B20, it would be nearly indistinguishable from the 1.x.x
Cygwins of today. The only change would be a certain subtle meanness
associated with the 1.x.x versions, which, while present in the B20 era,
was less conspicuous.
Personally, I think I lean towards the "God created a ChangeLog with
evidence of previous Cygwins in it as part of His inscrutable plan."