A friend posted this to Facebook. It’s a blog post by Jason Scott on ASCII, and, having been an inadvertent part of the free software and (mostly) open source movement from the mid 1980s through the 1990s, it stirs memories and emotions I don’t often dip into.
In September of 2016, a talented programmer released his own cooked update to a major company’s legacy operating system, purely because it needed to be done. A raft of new features, wrap-in programs, and bugfixes were included in this release, which I stress was done as a hobby project.
For me, this is the expulsion of commercial interests from the arena of computer programming. Programmers come in a variety of temperaments. For some, it’s just a job that brings home the dough, a simple enough concept that’s applied to coal mining, retail sales, and darn near any human activity that has occurred.
For many mathematicians, programming is just another variety of mathematics, albeit a rather dubious and painful exercise in intellectual activity. The advent of functional programming is a step towards a cleaner version of programming for many mathematicians, I suspect, as it’s based, in part, on the theory of mathematical functions.
Some programmers consider programming to be Art, the construction of a program as an expression of their aesthetic sensibilities. Since a program is the expression of someone’s inner conception of a solution to a problem which can be solved through computation, this is not as outré as it might sound.
Some programmers are engineers, working to solve problems in (something resembling) a rigorous manner. I tend to fit a little bit into this category, a bit into the Art category (especially when working on a difficult problem, the creative side of me can come to the fore as I strive to create a solution that not only works for the current problem, but can be applied to similar problems), and just a trifle in the mathematicians’ frame of mind – given my druthers, I’d be working in a functional programming environment.
And, finally, a few programmers work from the community viewpoint. These comprise some of the open source software movement (some just want to do “sexy” programming, as I call it, which these days, besides Linux, will probably include some Big Data programming, those folks doing the cool astronomical probe visual rendering, and a few other areas), and apparently the “legacy software” folks. I knew there was a little activity out there, because a few years back I had reason to work on my old open source work in an MS-DOS environment, and not having the compilers anymore, I went out looking for them and found them on the Embarcadero web site under “antique software.” Judging from Jason’s post, this programmer (John Brooks) may be motivated by community programming – or he may be more of an Art programmer.
But for a good 15 years my free time was spent being a community programmer – I maintained a bulletin board package written by Cynbe ru Taren, used by an unknown number of people over a 20 year period (I didn’t do much work on it the last 5 years, as the Web took over). I had the pleasure of providing free support to many appreciative users, while learning the craft by working in a highly constrained environment. I’ve since moved on to other hobbies, and this blog is a bit of a move back to the old BBS habits – a chance to discuss what’s on my mind and interact with others, although without the feeling of doing something entirely new, as it felt back then.
But seeing this release of ProDos does bring back the memories. Memories of writing code purely to enable people to do something they found useful, whether it was to extend the mail capability, or to connect bulletin boards over the phone lines in a network, without regard to marketing plans, managers who want a schedule without realizing that this or that has never been attempted before, back when there were hobbyist groups, people who sensed computers had a lot of potential to do good in the world – not today, where we curse the instabilities and eccentricities, worry about “malware” and clicking on “bad links”, wonder how we could have ever designed this mess so that there can even be a “bad link” as we mean it today.
Breathe.
And leave it at that.