The role of technical forums in the progress of open source |

The role of technical forums in the progress of open source

Image by :

I am a huge advocate of the concept of open source software. As a society, we are at a point where information sharing is more critical than ever. Technical forums support the mission of open source in multiple ways. First, they allow programmers to work outside of their expertise. Second, forums allow people to share their experiences with software. Last, they allow scientific researchers who are not always (not usually) well-trained programmers to carry out their research with an entire community to help them make design decisions and help them through technical difficulties.

Working outside of your expertise
Very frequently situations arise in which people work in a sub-optimal language or framework because they simply are not aware that there is a better choice! Being a member of a technical community by way of a forum allows them to inquire to the tune of "I am trying to do XYZ. I was planning to do this in C++, but it seems quite awkard. How would you proceed?" Answers to this type of question allow the person to eventually work in the "correct" language or framework. They can also feel comfortable doing so even if they don't know the language very well (or at all!) because they know that if (when!) they run into a problem, there are literally hundreds of thousands of people that they can call out to for help.
Sharing experiences with open source software

A typical conversation may go something like the following:

Question: I've been trying to use OpenGL to render a sphere, and I am running into XYZ problem

Answer: OpenGL is a very low-level language that you should probably not be using for this application. Instead, you should check out the VTK project, which is a layer on top of OpenGL that allows you do things like you are trying to do very simply.

You may be thinking, "Couldn't the person have found this project using a search engine?" Well, probably in this case. But there are many cases in which the open source tool has not yet gained a lot of notability but can still be exactly what someone needs. This pointer from a fellow programmer can help lead people in the right direction and may provide exactly the spur they need to start working on an open source project!

Allow scientific researchers to focus on their research rather than technical issues

My formal training is in electrical engineering. There was not much need for any serious programming skills outside of a little bit of MATLAB. When I decided to pursue a PhD in computer vision, I quickly realized that the language of choice in this field is C++. I found that the better I was with C++, the faster I could turn ideas/concepts into experiments. After many web searches turning up less-than-adequate answers to my questions, I decided to try out the concept of posting/asking questions on forums. I signed up for a handful of them, though from the start looked the most professional and seemed to have the most activity.

I wear two hats at DaniWeb. First, my learner hat. The quality of answers I have received in my time at DaniWeb is outstanding. There are several members who are true experts of the art and science of programming, and they have helped me immeasurably. The fact that access to these experts is provided for free via their will to share and spread information is absolutely a treat to be a part of.

Second, my teacher hat. I have been a part of DaniWeb for only a couple of years, but looking back, my progression was a natural one and one that I hope many others have and will follow. At first my relationship was almost purely one-way. I was asking question after question, receiving answer after answer. This was great for me, but surely a drain on the community as a whole. After I learned enough to become very comfortable with the language, some OOP, and other programming concepts, I felt a tremendous debt to the community. The most sensible way to pay back this debt was to take some of the daily burden of answering the easy questions off of the shoulders of the expert members. This quickly evolved into a real passion of helping people. In particular, I have learned from a mentor in an open source project that I am involved with that you should treat every user, no matter how silly or against the rules their first post is, as if they could be the next senior developer. To experienced forum users, sometimes a post by a new user seems like an outrage! As we all know, many times the user is in fact simply being lazy and looking for an easy way out of a problem. However, if even 1/100 of these is simply a problem of a language barrier or a misconception about what is supposed to go on, then it should be worth our time to greet them with an inviting "Welcome!" and explaining (nicely) some of the things that they have done wrong in hopes that they become a contributing member of the community. The ability to foster the growth of the next generation of programmers is a real treat and one of the main reasons I stay active at DaniWeb.

As I work primarily in C++, I'd say about 95% of my DaniWeb activity is in the C++ forum. However, it is very convenient that DaniWeb hosts forums for almost all languages because occasionally I will need to do something in a language that I am not comfortable with. Instead of having to go looking for a new forum, signing up, figuring out how to use their system, wondering if the people will be nice/helpful/etc, I can simply hop over to one of the other DaniWeb forums, and the environment is the same great environment I am used to in the C++ forum. This last 5% is often the most helpful because it is typically a question well outside of my expertise.

I'd say the best part about DaniWeb is the sheer volume of the user base that it has amassed. It's definitely a chicken-or-the-egg problem--if you build a nice website, people will come to it. If you have a lot of people, it is motivating (psychologically and financially) to build a good website. Their large user base (over 900,000 registered users) allows for a wide variety of knowledge to be brought to the table. It also allows for questions and discussions to evolve very quickly, as there are always (24/7) people browsing the forums, asking and answering questions. That, again, certainly encourages people to join and participate on DaniWeb.

From helping students and researchers, to fostering a sense of community among programmers, to allowing people to work as efficiently as possible, forums are an amazing asset. I encourage everyone to take some time to give back communities such as these to ensure that the cycle continues.

About the author

David Doria - I am currently working on a Ph.D. in Electrical Engineering at Rensselaer Polytechnic Institute. I work in the field of computer vision and image processing. My research deals with 3D data analysis, particularly from LiDAR scanners. I have benefited tremendously from the practices of open source and strive to continue to do my part to continue the give-and-take cycle!