If you hold a gun to my head demanding that I write a PHP code to print “Hello World” without searching the web for hints, I’d be dead in a minute. I do not know how to program – in any computer language. If the technology world were J.K. Rowling’s universe, I’d be a squib.
And yet I was able to install and deploy various content management systems for my Cybercafe experiments, personal sites as well as sites of my friends. I was also able to deploy an online classroom for participants of both my and my wife’s lectures as well as classes under Newsletter Solutions. I was also able to deploy a newsroom intranet system (using a discarded PC) with a portal, an online news style guide and a searchable database of new sources.
I was able to do all that because I use open source scripts.
The perception of the open source world being a community of geeks, who spend most of their time facing a computer and make jokes about snoring being a form of encrypted communication, is far from true. Many are like me, regular users who can’t spot code of one programming language from another but just want software that work.
And it makes perfect sense for people like me to choose open source programs and scripts. Not only are the programs free, most come with an active community of users and developers and a large library of collective knowledge on installation, troubleshooting and tweaking.
Today is Software Freedom Day, a worldwide celebration of free and open source software. To mark this day, I am writing my experiences on using open source software in the hope that a few readers out there might find it useful.
I was introduced to open source software by Mike Schmeisser, who once operated an Internet cafe on F. Ramos St. in Cebu City. I got in touch with him in one of those mailing lists and we exchanged a few e-mails on open source. He invited me to his shop. I found him chain smoking outside it (smoked meat, he says, lasts longer). Inside the shop, he let me use one of his workstations that was running on Linux and I played around with Star Office and Gimp.
That started my series of experiments on various open source software for my section in Sun.Star Cybercafe. I started using the Phoenix and K-Meleon browsers and found them faster and better than Internet Explorer. Phoenix later became Firebird and then Firefox.
Immediately after that, I strayed into content management systems. As a journalist, I always thought there was a better way to produce online content than manually coding HTML pages. I was considering putting out my own site. I looked for systems that could automate the publication of online articles and I found PHPNuke and got hooked. I applied for a free PHP/MySQL space and found that if I read the manuals, frequently asked questions (FAQ) and instructions carefully, I could install the application. I also found that whenever I encountered problems, I only had to search the program’s discussion board and 95% of the time, other users had encountered the problem and more importantly — a solution had already been provided by either a user or a developer.
Later, I decided that PHPNuke and its forks were not the best scripts to use for a personal website. They were portal solutions.
Last year, I found Pivot, a PHP blog script that didn’t need a database. Again, I found that I could install the script and even customize it a bit. I tried using it for a project I wanted done during the elections but deadlines crushed me and I was the only one doing the task — the project didn’t take off.
After Pivot, I found Freshmeat and Hotscripts and I was testing open source script after open source script I could find in the sites. I did it not not just because I had any particular need for a script, I still hadn’t decided to finally put up my own site. I did it for the sheer pleasure of being able to put up a CMS or a web-based program of my own.
I tried Nucleus CMS, Blog CMS and Serendipity. Every week, I had a different blog address, opened just as accompanying illustration of my Cybercafe experiments series — a series of articles on how to put up a personal website using open source scripts, free programs and free services.
Of the three blog scripts that I tried, I found Serendipity to be the best. I didn’t try WordPress yet (although looking back, I cannot understand why I didn’t try it earlier.)
My experiences with the scripts were all the same. They were easy to install as long as you take the time to read manuals, and posts in the forums (make sure you check the troubleshooting thread.) Whenever I encountered problems, I searched the forums for the error message printed in the browser and more often than not, I get pointed to the discussion thread containing the solution.
I used Serendipity in my first stable site, my blog with Sun.Star during the network’s first attempt at blogging late last year. Serendipity powered Leon Kilat (my blog), Sunspot (my managing editor’s blog) and Cebu Football (an online community of football enthusiasts in Cebu). This first attempt at blogging faltered due to things beyond my control.
When I decided to put up my own site I had wanted to use Serendipity. My wife, however, wanted more themes and so I tried WordPress after reading that among the blog scripts out there, it had the most number of themes to choose from. I found that not only was WordPress an excellent blogging software, it had a very active community that turns out hundreds of templates and plugins.
I also wanted an online classroom that my wife and I can use for journalism lectures in schools. I had wanted to install Moodle but found that it needed a large webspace, which is impractical considering that our account only has 75MB. I looked for another script and found ATutor. Again, I was able to easily install and use it.
My experience with open source software has been a very good one. Open source has allowed me — a non-geek — to deploy programs that would have been ridiculously expensive to implement had I chosen proprietary solutions. Open source, by the sheer expanse of its users’ and developers’ collective knowledge, has allowed me to run my own scripts and troubleshoot these if I encounter problems.
When dealing with open source projects, these are the rules I live by:
1.) When choosing among open source projects, check their respective communities. Are the users and developers active? Check their message boards. Check their releases. If it’s been years since the last release, try looking for another open source project that does the same job.
2.) When you finally get to choose a project, read the manual, FAQ and forums before installing the script.
3.) When you encounter problems, do step 2 again and if the solution’s not there, look for one using your search engine of choice. A good search phrase would be the error message that you encountered.
4.) If you still can’t find a solution, post a message in the forums. Make your message as informative as possible: what were you doing when you encountered the error? What are your server’s configuration etc.
5.) Don’t be a jerk when asking for help � the developers are volunteers, don’t order them around and shout in the forums by posting messages such as “I ENCOUNTERED THIS ERROR…THIS SOFTWARE’S CRAP.” Be patient. At times the community can immediately spot the solution, at times it would take it days or weeks.
6.) Always test the scripts. I mostly use PHP/MySQL scripts. Before I install anything in my site, I try it out first on one of my test sites — a free PHP/MySQL account that mirrors the software I use in my server.
7.) Give something back. If you’re a non-geek like me, you can still contribute through user feedback. You can also help the documentation team. At the minimum, say thank you and praise developers that should be praised. If you get to use an open source theme for your site, acknowledge the author if not thank him at his or her site. Sometimes, that’s all that drives them into continuing their work. In today’s world when most people have blogs, help spread the word of the open source projects you like by writing about these. If you have the money (which I don’t) contribute funds to the developers.