3.06.2006

Free Open Source Support: The Bad and the Good

I have recently had the pleasure to experience both the bad side and good side of getting support in the world of open source. Numerous time I have heard and read of OSS advocates defending against complaints about lack of support from users of proprietary software. There are several arguments that get spun out over and over again. “XYZ software has support in the form of mailing lists and a bbs/forum.” “Hey, if you need that kind of support, you should pay someone to provide it.” I understand these arguments. The people providing the support on the mailing lists and forums are generally volunteers and they freely give their help. So, enter the second argument of paying for support. This is probably the best argument and I agree with it completely to a point. If you need “on-demand” support, you should not expect to get it for free. The point at which I stop supporting this argument is when the user is a hobbyist who is just starting out or have just hit a wall: the stereotypical “newbie” or “noob” or whatever else you want to call them.

Like most users of OSS, I am mostly self taught and I can figure out how to fix most of my own problems. Sometimes however I run up against something that I cannot figure out. Thus, comes my bad experience. I run a certain piece of software on my servers that logs its messages to a MySQL database. As such, I am a member of the “users” mailing list for this software. The piece of software is fairly complex with many different configurations. This leads to many different types of conversations on the mailing list most of which are too advanced for a casual user such as myself. So, generally, I just lurk on the list and soak up as much as I can. I think I have posted only two questions in about six months both of which were fairly “newbie-ish.” Now, I am experienced enough to do my research before posting. So, I spent as much time as I could spare on the questions. Maybe it was about an hour on the first and at least two on the second before posting. I found some information that helped flesh out the questions, you know, the “I have tried this, that, and the other and none of them worked” type of stuff. The first question was completely ignored. I guess it was not “interesting” enough to deign to answer. To this day, I have managed to piece together the answer from different sources. In this manner, I discovered that the question was indeed an easy one that a little experience would have bourn out. I am newbie with this software though and I did not know exactly what I was looking for.

Anyway, this is not the bad part. The bad part came from the second question. A new installation of this software on a different linux distribution than what I would normally use. For some reason, this software was not sending its messages to the database. I followed my installation directions exactly but it still did not work. Note that these directions came from a supposed long time user of this software. Naturally, the first place I looked for the issue was in the logs of the various pieces of this software. I checked the logs of the software itself, the syslog, the MySQL log, and the log of the final piece of the software. I found nothing amiss except a vague warning that was certainly nothing to make it not work. As I said earlier, I am not a complete newbie and went in to do the research in the mailing list archives and Google for a couple of hours. I found maybe one question that came close and no one had replied to it.

So, I went to the next logical place and posted again to the mailing list. Having learned my lesson before, I tried to make the question as “interesting” as possible. I first put in my distribution name and versions of all the different parts of the software. I then posted my question which can be paraphrased, “Hey guys, the main part of this software will not log its messages into the database. I have checked all the logs of each piece and cannot find the problem. Any ideas?” After a couple of days, I get two emails from the same person both off-list. The first email was a statement saying that I should ignore the warning. Nothing else in it just that. The second email, which was sent seconds after the first, told me to check the archives because this issue comes up three to four times a week. As I mentioned before, I have been a lurker on the list for a few months and had not seen it come up once. So, I waited a day and replied to the person and cc:'d the mailing list in order to have the topic come up again and maybe get a new response from someone else seeing it. Again, the guy sent two emails seconds apart. The first blasted me for copying the list on my reply to his off-list post. The second told me he did not believe me that I had done any research on the topic and he included a link to a post that had nothing to do with what I needed help with.

Why is this bad? All the support that a “newbie” received on this topic was silence from the list at large and ridicule from a prominent member. This is the biggest reason that new users run away and would-be converts scoff at the idea of forums and mailing lists as a measure of support for OSS. So, every time I hear someone say “there is no quality support” for a piece of software and an OSS advocate claims “sure there is, we have great forums and mailing lists!” I remember what happened to me.

So, did this turn me off to OSS? Not at all. There are many reasons for this but one of the reasons is that not all support systems for OSS have jerks who are so willing to jump and say “RTFM!” or ignore you all together. For the bad part of this blog entry, I was unwilling to point out which mailing list with which I had my bad experience. I did this so as to not characterize the whole list as being bad when that may not be the case. After all, I have only lurked there a few months. Anyway, for the good, I will definitely share the name of the supporting forum. It is the support forum for Arch Linux (http://bbs.archlinux.org). My particular experience was from the “Newbie Corner” section of the forum. I will not go into the post itself but will provide the link to my experience.

http://bbs.archlinux.org/viewtopic.php?t=19112

Basically, a very helpful member helped me walk through the process of setting up my Netgear wireless card for my laptop using madwifi, which I am using to post this blog by the way. It is a classic example of what OSS support is supposed to be. The person, desertViking, was respectful, patient, and encouraging of a “newbie” who was new to Arch, though not so to linux. With this person's help, I was able finally getting it working after only a few days. Now would pay support have me running quicker, sure. I don't need that kind of support, though. If you need that kind of support, don't listen to the OSS advocates who say that forums are enough because generally they are not. Even as I have explained here, you can see that forums and mailing lists are not always good for basic support unless you have an “interesting” problem. Though, sometimes you can get someone very helpful.

Hopefully, I have achieved my objective which to bring some OSS advocates into reality about how some support for software can be down right hostile and even when they are not they can be just as bad and ignore newbie questions. Also, I hope that users who listened to these advocates and think they can get support similar to paid for support from the forums and mailing will see it for what it is: a hit or miss proposition.

2.10.2006

Re-Posting

Sorry gang, I had to repost all of the entries up to this point. There must have been a bug or something because some information was being displayed incorrectly. Anyway, all should be fixed now.

Jacman: Package Management in Arch Linux

Arch Linux is not what one would call a "newbie friendly" distribution. As such, the default package management software, Pacman, has no default GUI front end to it. Pacman is all CLI. In many regards, it is very similar to apt from Debian and portage from Gentoo. The basics of Pacman's operation are, like most other package utilities, installing, removing, and updating packages.

For my personal use, I don't mind the command line. I can usually find the package I need and then just

#pacman -Sy

to install it. To be honest though, I much prefer a GUI for when I want to see all the available packages for my system. Command line querying for packages is too cumbersome for casual package browsing. Being a Debian user, I love the Synaptic utility for this.

While perusing the Arch forums for help with a problem that I was having, I noticed a link in someone's signature. I generally like to read people's signatures because they can be quite entertaining sometimes. Anyway, the poster's handle is arooaroo (his real name is Andy). Listed in his signature was a link with text "Jacman (Pacman GUI)." Upon seeing this, I immediately clicked the link and went searching for sreenshots.

Being a Java coder myself, I was intrigued with this utility. I downloaded the 0.3 version and fired it up after issuing an "su" to root. Below is what I encountered.

# jacman
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using ':0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$000(Unknown Source)
at sun.awt.X11GraphicsEnvironment$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at sun.awt.X11.XToolkit.(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.Toolkit$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at java.awt.Toolkit.getEventQueue(Unknown Source)
at java.awt.EventQueue.invokeLater(Unknown Source)
at javax.swing.SwingUtilities.invokeLater(Unknown Source)
at andyr.jacman.Jacman.main(Jacman.java:739)


Now, this is probably some problem on my part. Some command that I am not familiar with or something.
Anyway, at this point, I try to use jacman under my personal account. I know that I won't be able to install/remove/update anything but I just want to see if it comes up. Well, jacman comes up just fine. Since I am also familiar with the "Ubuntu way" of doing things, I "su" to root and install sudo.

#pacman -Sy sudo

After I get sudo set up, I revert to my personal account and issue

$sudo jacman
Password:

Voila! jacman comes up and I am off and running.

On startup, jacman presents you with five buttons: "Install Packages", "Update Packages", "Remove Packages", "Rollback Packages", and "Optimize Pacman". All of these work flawlessly on my machine.

In conclusion, I can say that jacman is a great utility for managing packages on my Arch Linux system. I am able to browse packages to my heart's content and install/remove just from a couple of clicks of a mouse. I am very pleased with what Andy has done so far.

Visit Andy's website for Jacman and other interesting software.

Setting up SSL on Apache 2 on Debian Sarge

This befuddled me for the longest time. There is basically no documentation out there on how to do this and it drove me nuts. The best I managed to find came close to getting me up and running but did not quite fit. This can be found here. Now this person's instructions may work just fine and dandy for your installation but mine required some modification.

My biggest problem that had me scratching my head was this line
Last but not least, add "Listen 443" to /etc/apache2/ports.conf.


If you put this line in the ports.conf, your apache server will not start. You see, this line is already in the ssl.conf file. Adding to ports.conf will result in "cannot bind" type of message. The rest of the article is really quite good.

Open Document Format Adoption

I have been watching the controversy about the Open Document Format (ODF) that has been going on in Massachusetts. Long story short with a glazing over of details, the state CIO had some research done and decided to go with ODF as the official document format. This format was chosen because it is open and can be implemented by anyone. This is in direct contrast to closed formats which cannot be implemented by anyone unless the owning company allows it. Several other legitimate office suites can or will support ODF. Microsoft Office, which is what Mass. is currently using, does not and has no plans to support ODF. As such, they are vehemently opposed to Mass. "excluding" them this way. In an amazing coincidence, other officials suddenly speak up and oppose the switch.

I have looked at some of the reasons why the CIO decided on the switch. To me, the most important reason they have to switch to an open format such as ODF is that anyone can implement it. Which means that if one company goes out of business, a slew of other companies can provide readers/editors for the format. It also means that companies would have to compete for the state contract based on the quality of their software. Further, it means that since no one company owns the format, if documents are put in this format, then no company can "hold the documents hostage" and demand higher prices.

Here is my question regarding this. If Mass. was using an office suite from a small company that does fairly well but also may not be around in 10 years instead of the behemoth monopolist it uses right now, would this even be an issue?

Long and the Short

The Fractured Singleton is where I will post things that I would like to share with the world or at least the few poor souls who might be interested. You will mostly find technical opinions and howtos here. Anytime I learn something new or want to hash out the meaning of a certain technical development, I will post something about it here for sharing.