Monday, April 27, 2009

Top 5 things to get involved with Open Source in Operations Research

Open Source software is getting increased attention with the Operations Research community. Just this past week there was talk about clarity in Open Source from Michael Trick, a Strategic Leadership Board member to the COIN-OR project. In similar news IBM announced that Eclipse Public License will supersede the Common Public License. So what does this all really mean? Well to be honest it really is a bunch of legal positioning. Yet to me it signifies an increased passion in the Open Source community with Operations Research software.

Yet you don't have to be an old school hacker or a lawyer to get involved in Open Source projects. There are plenty of ways to get involved with Operations Research software on the free and open source side. Here are the Top 5 ways to get involved in my perceived order.


1. Use Open Source software

There is no greater way to get involved than to be a user of the product. Evangelism is best for Open Source projects. If you have a need for an optimization modeling engine or program be sure to look at the great lists of free and open source projects in Operations Research. A great resource for open source Operations Research projects can be found at COIN-OR projects. The Free Software Foundation has a great list as well for free mathematical software projects.

2. Get involved in the Open Source software community

The community is the best way to learn about software projects. The internet is filled with mailing lists, web forums, blogs, chat rooms, and any other new media for transmitting messages. There is no shortage of discussion with Operations Research and software. Each project usually has a main forum to discuss project improvements and support (typically in a mailing list format). Be sure to subscribe to the forum and get involved by asking questions of how to use the open source software and to get involved.

3. Bug tracking

I once heard a wise remark about customer service.
For every good service you get you may tell 10 people, but for every bad service you get you'll tell 100 people how lowsy it was.
Bug tracking is very important to any software project whether it is proprietary or open source. This is an invaluable service to the software project. Tracking bugs can be as easy as sending an email to a project developer about an issue you have found. You can also get involved on their specific bug tracking platform and file formal bug tracking reports. If a software project exists it will have bugs. It is nearly an axiom of existence for software projects. If you want to help a project let them know that bugs exist.
4. Documentation

I believe that the Open Source community gets a really bad wrap for having bad documentation. In some cases this may be true but I believe since the source code of the project is available to everyone then it sort of gives a "pass" to have formal documentation. Yet there is a lot of great documentation on Open Source projects available to the community from volunteers. It could be as simple as providing how-to tutorials or hosting a formal project website with online community forums. Documentation is needed on many different levels for an open source project. It usually depends on the need of the community as to the type of documentation. Yet invariably there will be demand for simple instructions to using the software.

5. Software development

If you have a clear talent to program then why not get involved in developing software for open source projects. This is a great way to expand your skills as a programmer and to understand how Operations Research works on a more deeper technical level. Many times you need not be a superior programmer to offer constructive assistance. Sometimes simple bug-work needs to be done and some programming help can get that accomplished. Perhaps there is a specific need in the field of Operations Research that is lacking development on the software side. Software development need not be limited to a closed source model. You can find it can help on your resume as well.

3 comments:

d.alan.ridgeway said...

Hi Larry

What Open Source projects are you involved in? I saw in a earlier post you submitted a model for the GLPK, anything else ?

larrydag said...

Hi Bernoulli,

Right now I'm only "involved" with GLPK. I say that really loosely because I've only contributed an example model for MathProg language. As far as a user I am involved with many different Open Source projects in and outside of Operations Research. Here is a list

in OR:
GLPK
COIN-OR
OpenOpt (discussion forum mainly)
GUSEK
MySQL
phpMyAdmin

outside OR:
OpenSUSE
gPodder
KDE
OpenOffice
Konversation
Knoppix
Morphix
Kopete
Tremulous (favorite open source game)

this is really just off the top of my head. there is a lot more i'm sure.

pressure vessels said...

Great post. Very useful information.