login join help ad

June 10, 2020

Memoir 9 - Linux

The origin of my interest in open source is somewhat murky at this point. I only remember that I started looking at it early in my MCST tenure, when I bought my first PC, around 1992. At the time, BSDi was still a thing, as well as FreeBSD, NetBSD, OpenBSD, and a fairly embriotic Linux. I asked Vadim "~avg" Antonov which BSD was the best. His answer was "they all suck". He meant the infighting and splintering, not any technical issues, but it was enough for me to turn my attention to Linux.

Linux was still not even close to BSD at the time, in features or performance. But people flocked to it thanks to its GPL license and the free-for-all development. Moscow's foremost Linux man was Eugene "Crosser" Cherkashin. He created ifgate, a gateway between Usenet/e-mail and FIDO, and ran it out of his apartment. He shared out SLS 1.02 to me. I think it had a kernel 0.99_pl12 or something equally crazy. Booting off a kernel and root floppies, it installed by untar-ing the rest in a hard drive partititon.

Since I worked in a Sun shop, it took me no time to start looking into porting Linux to SPARC. David S. Miller was leading that effort, and I helped along a little. When DaveM moved on to support sparc64, he let me maintain the good old sparc(32), which was pretty fun. I did it until after I joined Red Hat in 2001.

While under DaveM, I committed the same error Mike Y. did with the over-designed emulator. SPARCstation didn't have a text mode display, so Linux console had to be rendered in software. To that end, I wrote a renderer of which I was rather proud. It allowed fonts of every width, such as 9 pixels. I think it was in the tree for a little while, but then DaveM replaced it with the console developed by Geert Uytterhoeven for Amiga. It was fractionally faster perhaps, but most importanly it was much simpler.[1]

In 1995, I traveled to Helsinki in order to meet Linus. It was -15C and he arrived to our apointment wearing ear protectors. We chatted a little and visited his office, where he got into a direct contact with DaveM over talk(1), running at vger.rutgers.edu. It was a good time.

Linus disclosed to me in confidence that he was looking for a job in the U.S.. That really set my mind on the topic.

In these few short years, Linux gained SMP and networking, and became a respectable OS. As it happened, MCST tried to sell domestic SPARC to Russian military, and a question of OS came up. I proposed to use Linux, since among other things it was free as in beer. But our director, A.K. Kim, rejected my proposal on the grounds that he would be laughed out of top generals offices if he proposed an OS written by a Finnish student for Very Serious Defense Business. MCST went with buying a source license for Solaris for something like $200,000. Of course, soon after my departure they ended switching to Linux anyway. I merely was ahead of the time with it.

[1] One of the most dramatic example of over-design that went wrong is Subversion. As Bram puts it:

The simplest architectural problems to solve are the ones which for lack of a better theory most people ascribe to emotional or psychological problems. These are decisions for which there's no rational justification whatsoever. For example, writing a non-speed-critical program (which is most of them) in C or C++. A few years ago you could justify that because the other languages didn't have such extensive libraries, but today it's ludicrous. Another one is building one's protocol as a layer on top of webdav. And another one is building a transactional system for retrieving any subsection of any point in the history of an arbitrarily large file in constant time when that isn't part of project requirements. Yes, I'm making fun of subversion here. It's a great example of a project permanently crippled by dumb architectural decisions.

As an interesting footnote, Greg Stein got a job at Google on the back of that debacle. Google even declared Subversion a standard source control for a short time.

Next: Memoir 10.

Posted by: Pete Zaitcev at 08:29 AM | No Comments | Add Comment
Post contains 718 words, total size 4 kb.

Comments are disabled.
9kb generated in CPU 0.03, elapsed 0.0531 seconds.
23 queries taking 0.0322 seconds, 28 records returned.
Powered by Minx 1.1.6c-pink.