Archive for December 26, 2007

My childhood debt to open source (I)

Posted in copyright, technology with tags , , , , on December 26, 2007 by Jason Wells

Growing up in the 1980s gave me as a child a huge number of opportunities to learn about open source software first-hand. By reading shared source code, I learned to program computers and to share source with my friends. Later, I grew to have a respect for the open source ethos and to have a desire to export that ethos to other areas of my life.

I suspect that I’m not the only person who has had these experiences, so I’m sharing them here for like-minded people to read. Additionally, it serves me as a link farm of web pages that I don’t want to search and hunt down again.

The first part of this series covers my own life up through elementary school.

Atari 400 Days

Around 1983, my dad brought home an Atari 400 for my sister and me. Being himself an electrical engineer, he wanted to share some of his interest in computers with us. Of course, this year is a little late to bring home a 1979 vintage Atari 400, but I suspect it may have been a clearance item at Service Merchandise.

At any rate, he showed me the ropes and bought several books on BASIC programming. I remember having Basic ATARI BASIC that was exhaustive and encyclopedic, but difficult for a six-year-old to read. At any rate, I could type in the programs and draw pictures of rolling dice on the screen.

Another book, Rainy Day Games for Your Atari, was much more formative. The BASIC listings were simple and short and offered a fun game to boot. Importantly, most of the listings had “variations” listed also. So, after you played once, there were suggestions for changing a few lines and making the game a little more challenging.

Always deserving mention is 3-2-1 Contact magazine and its Basic Training articles. At one point I had found someone’s scans of all of these articles, but I can’t find it now. Every month a new BASIC program came to type in.

The best lessons came from typing the source and absorbing the language by practice. Having suggested variations on the programs encouraged a critical reading of the source and promoted tinkering with the programs.

Apple and IBM Years

One of the downsides of using the Atari 400 was that the Atari 410 cassette recorder was my only means of saving a program. Often this meant that the most practical way to save a program was just not to switch the computer off.

Also, even if I did save to cassette, I couldn’t share my programs with friends. I was the only one I knew who had an Atari, my friends had a Timex Sinclair 2038 or a TI-99/4A. Different computers and different (closed, proprietary) formats meant that we couldn’t share programs.

This all changed with REACH, my local school district’s gifted-and-talented program. Suddenly, we had a room full of Apple II’s with floppy disks and a room full of like-minded geeks. So, once a week we could get together and swap BASIC programs and come up with awful programs to destroy paper on the Imagewriter II.

David Ahl’s books Basic Computer Games and More Basic Computer Games were the shining lights of this time. Pages upon pages of source code for games gave us geeks a treasure trove. These books combined with rudimentary programming lessons yielded a whole world of hacking. I particularly remember creating a version of Rock, Paper, Scissors that couldn’t be beaten, because the computer cheated.

In the REACH computer labs, we found a floppy disk with an Applesoft BASIC game on it called, “The Ebony Castle.” It was a simple illustrated adventure game, in the spirit of Sierra On-Line’s early offerings. I’ve scoured the Internet and cannot find it, so I presume it was a one-off program that didn’t make it anywhere else.

Being a good sized program, we routinely printed it out and took it home to learn from. Reading it, we could figure out what GOSUB did, how the animated graphics worked and all kinds of programming trickery.

From 1985 to about 1989, my friends and I all learned about programming be reading and modifying source code. Even though it was long before the days of the “open source” concept, the spirit was there: sharing program source is a way to learn and have fun together.

In the next article, I’ll describe ways in which we, as children, tried to give back to this nascent “open source” community.

Follow

Get every new post delivered to your Inbox.