Today I realised that I have been programming for 25 years. Quite an anniversary! Of course, it does not really feel like that long, probably because a bit more than the first half of the time was really 'just for fun', as a kid's hobby and later during University.
I also realised that right from the beginning and through all the years I have had the Open Source mindset, even though I did not learn about Free Software until much later.
I believe there are two reasons:
- I love reading source code.
- I hate the wasted effort when code could be reused, but is not.
Right from the start I have been reading code. This was when software was distributed as BASIC listings in magazines that one would manually type into the computer. And I remember reading and modifying the dis-assembly of machine code programs, getting 'infinite lives' in games and learning the techniques they used to produce their state-of-the-art graphics.
I doubt there was ever a great novelist that did not learn from reading lots of literature. And I believe the same is true for coding, great programmers learn from reading lots of code.
And as soon as I could, I moved towards more portable languages and platforms, wanting my code to be used and reused as much as possible. I distributed my first GPL'ed program 17 years ago (XFH), after getting Internet access at the University.
It is the same mindset that made me decide to join MySQL, really.
Previously, I worked with applications on top of Oracle. Now in many ways, Oracle sucks less than most other software. But it is not free software. When we started using MySQL (version 4.1 beta I think), I was really pleased with it.
While Oracle had some advantages in terms of features and usability, MySQL had the advantage of being Open Source, and to me that made them about equal. And improving MySQL features and usability seemed rather more feasible to me than getting Oracle open-sourced. So I wanted to contribute my skills towards the first of these goals. Improving MySQL, enabling the use and reuse of the code by me and others. And getting to know the source code of the M in LAMP.
On to the next 25 years of Open Source, I guess ...