What does open source mean to me?
I had been in touch with open source for a long time, ever since Mozilla 0.9.x came out, ever since Red Hat 7. These were my own personal encounters with open source. Never fully realizing their potential then, I only knew they were free. And as the years went by, the meaning of “free” as in usage, slowly morphed to being “free” in terms of their source code being open. As the Mozilla community started to mainly coalesce around Firefox and Thunderbird (and other apps too!) in 2003, I chose to jump first on the Thunderbird bandwagon. My view was that even though I hardly knew what POP3/IMAP4 were, I learnt from touching such code on a daily basis. Slowly I began to write installers, start The Rumbling Edge, write patches, etc, and the pieces fell gradually into place.
Now, the meaning of open source has morphed into something more visionary. The fact that code is open means that anyone in the world can view it, improve on it, and more importantly, learn from it. Teaching CS3108 in NUS is letting me realize this too. It is some achievement if you can figure out how to patch a bug, but it’s an even greater sense of achievement when students are able to figure their way out with some of your guidance. They have been a great bunch thus far, being able to cram most of Mozilla’s tools and ways in the space of weeks, get used to it, and find their way around. And that’s the importance of open source, which naturally promotes community involvement. Community involvement does expose the students to another world out there, another point of view from whatever they have been fed at school. Being a student myself at NUS also meant that I had to find ways of making my lessons entertaining, interesting and more importantly, interactive. Open source just made that much easier — lots of code inspection, code search demonstrations, videos, all shown live and these are the very tools that everyone uses for Mozilla development.
How is one going to accomplish such things with proprietary code?
This sense of satisfaction is what I’m finding open source to bring me thus far, at this very moment in time.
What do I want to achieve by the end of the course?
Naturally, I hope to see everyone accomplish their course objectives successfully (see my long reflection above). Gradual work and guidance always beats last minute self-work that might not necessarily prove to be the best path forward. It amazes me sometimes to see people helping each other, at different locations, different timezones, different weather scenarios, different cultures, all moving towards a common goal, a common good, to make the internet a better place for all.
Bonus: My take on Concept Series.. Adaptive Path.
I have found Adaptive Path’s concept, while visually stunning and set probably decades in the future, to be complicated and a drastic change from what Internet users are accustomed to now, especially after discussions among viewers. Everyone tends to hate change (note I mention “tend to”), and anything that changes the slightest bit, people will notice and start to bite. (enlarged Back button, anyone?) There is a lot of new concepts in Adaptive Path’s video, but how would one know that the Z-axis represents time? It might come naturally to some, but not to others. Likewise, the holding of right click and subsequent functionalities from the menu that pops up, how does one know they even exist? Being visually stunning doesn’t necessarily warrant acceptance by all, some might prefer a simple CLI mode to be visually appealing. And internet users tend to want something simple, lightweight and fast to accomplish their objectives. I don’t really see how a overly-pretty-looking interface can help that cause.
That said, I have made pretty much subjective comments, some of you may eventually disagree that the interface in Adaptive Path’s concept is overly-pretty-looking, and I accept that. Ultimately, these concepts have to be slowly and gradually shifted into an internet user’s world, and internet users are notorious for not wanting to have anything shoved down their throats. Change is hard, but if essential, change has to occur.
Is Adaptive Path’s concept essential?