so I figured the best way to start this blog was to introduce myself.
Not in the sense of "hello, I'm Lalo, I live in China and I come from Brazil, and this here is what I do." I mean, if you don't already know who I am, then you're probably not very interested either :-)
What I mean is - and I don't think I ever discussed this thoroughly with anyone - what do I believe in, from the point of view of software, why am I so adamant about Free Software, what is my vision for the future, what I would like to do to help, and hopefully, why.
In the process, I hope this "braindumping" can also make a few interesting points along the way :-)
But before I start, in the more traditional "blog" style: yesterday at the Beijing LUG we had a great presentation about "Linux adoption in China". The situation seems to be more or less the same we had in Brazil about two years ago. I think it's very promising. And next Thursday we have an exceptional BLUG meeting, to welcome RMS and hear about the history and philosophy of GNU, et al. Yeah, I know how obnoxious he can be, but I'm a big fan, so I'm going :-)
Then, hmm, let's get to it.
So I got my first "computer" when I was about eight. On those times, there were basically two categories of computer hobbyists in Brazil; the (very small) Commodore camp, and the Z80 camp, which basically ran Sinclair clones that you would attach to your TV. (The very successful MSX and Apple camps would still take an year or two to form; although there were already a few Apple users by that time, I only heard of them more than 15 years later.)
By that time, my dad decided to switch careers, and become a programmer. He believed computers were the future, and he claimed that in 15 years, personal computers would be everywhere. (What a whacky idea.) So he gave me a Brazilian Sinclair clone, called "TK-85" (and another, identical one to my older cousin). (Or maybe it was an earlier model? Maybe the TK-80?) So while many kids our age were playing with Atari games, me and my cousin were playing with this awesome little box.
And the first user interface I was introduced to, was BASIC. Like all other kids, what I was primarily interested in was playing games; but the TK came with a very good user's manual, and I always liked to read these. And then, the main form in which games were available for this platform, was as source code printed in hobbyist magazines. (Ah, the golden times.) My dad quickly supplied me with a few, but not before I tried to write my own first game (a poor-man's Space Invaders clone with letters shooting dots at other letters).
To compound the "problem", the storage device for the TK was an interface where you could plug a standard tape recorder, and my usual luck with hardware decided to kick in early: I never could get the damn thing to work. Which meant, every time I wanted to play something, I had to type it out first. (I'd typically leave the TK on for three or four days until I got tired of each game, which probably is the origin of my obsession with keeping computers always on.)
So, by the time I met my "second" computer, more than an year later (and an year is a lot of time when you're 9), I had a firmly planted definition of what is a computer: to me, it was - and still is, to this day - a device that you can program to do things. (Yes, during that time I experimented with other uses for my TK, including helping me with the math homework.)
My TK was later stolen, and replaced by a "Ringo", another Brazilian Sinclair clone. By then, I had already seen a PC (at the company for which my dad was programming - it's probably worth mentioned that he lived in another town, about 4 hours away), and another cousin of mine got an MSX. So the "Ringo" was quickly forgotten.
The MSX (even though it wasn't mine) was when I met my first computing community. There were no stores where you could buy MSX software and games; the only "legal" software most people had, was what came with the box itself. But there was a thriving network of people exchanging floppies, and... uh... whatever was the medium we used before someone hacked a floppy drive into the MSX. (Yes, we used floppies before the MSX2 officially introduced them.)
So by the time we all started using PCs (yes, there was a Mac and an Amiga communities by then, but we didn't know about them), I had a firmly planted definition of software: it's something that someone writes (you or someone else), and then you share. I had also an incipient "GNU irk"; the software I started with (on the TK) came as source, and I would often modify it. The MSX software came compiled (and there was no compiler available in our little pirate network), so it was "less cool". On my cousin's MSX, I started writing my own game (which didn't go anywhere due to the lack of a compiler).
The early PC era wasn't much different; we had a copy of DOS, supplied with the computer, and it was already possible to walk into a store and buy legal software, but few people actually did it. We would have boxes or drawers full of "shared" floppies, with all sorts of stuff.
Here I met Turbo Basic and finally learned what a compiler was. After a few weeks of frustration, my dad interfered again, giving me a copy of Turbo Pascal instead; and this was when I figured I could be a programmer.
By this time, I also learned that my father operated in a business model that was somewhat incompatible with my points of view (he built "custom-made" software, which wasn't redistributable and didn't go with sources. But that, in hindsight, wasn't really an important component; he did that because that's what everyone else did, but in practice, what his clients paid for was really the support.) So for the first time, I was prompted to actually think about my points of view, and question them; and my conclusion was that yes, sharing was better. The reason I made this decision... will have to wait for the next post ;-)
So, hmm, ok, I have to go to work now :-) this is my background; tonight I'll get to some more ethereal matters of vision and philosophy.