Friday, April 06, 2007

Open source to the rescue

I remember the times when i had to submit my final year project idea and i gave a knock at the doors of many software houses in the whole city.. reference is for sure the thing in Pakistan and i was for sure bad on it. It was pretty hectic, tiring and sometimes frustrated me too when you get an idea and was done by somebody else already in universities.. It definitely helped me a lot in my future because everything in software development seemed easy after that.. believe me the process of getting the project from software house for university proved to be even more difficult then getting commercial projects for a software house.

The universities on their agenda always discourage web or database projects and getting projects from the market (software houses) are preferred. The software houses on the other hand normally take that as a burden and something that they are not willing to spend their time and money on. Also the idea of sharing their code or core frameworks with university level students always haunts them. Many software houses i know don't give software projects or provide support due to bad experiences of the past in which students left them as soon as the process was finished in the university. Students with references make something up but those without it end up doing substandard projects mostly without any assistance and some even end up finishing a 4-5 month project in years.

The problem therefore is grave in nature. Majority of students end up wasting time on projects. There off course have been good projects done within the same system and some projects make it to the main stream of the I.T companies where they continue professional development on them but thats a really small minority. Most of the projects are kept in archived folders and forgotten and then later on deleted.. and their documentations get dusty in the university libraries.

The solution may be setting up project assistance centers in universities which i think some good universities are doing in Pakistan in the form of software house of university where some research based project is going on and students are given a module or part of it to work on and they learn by working in research based environment but that i would say again is a minority.. and many universities cannot do that for their own political and slow process setups.

One idea, i think can help our students and universities as well and that would be to bring open source into the main stream university projects. That i think would have a number of benefits. The first and foremost is the best of code and documentation resources that is available for all in opensource project done by some best coders and maintained by a community of people who are more helpful then anybody else.

There are thousands of open source projects out there. One can check out sorceforge.net and freshmeat.net for a number of them. Contribution is easy for anyone . just become a part of community.. the community people will help you get started on it.. and once you are successful you can help other people in the community.. Universities on the other hand can take up ideas and make the project open source for the community. This will earn our universities good name.. if they are able to come up with mature open source software and will definitely help their students Between .. what will this benefit anyone? The biggest benefit i see is contacts .. the networking side of it. If the open source software becomes a hit.. there is a fair chance that there will be loads of people who want to customize it for their needs or want some support for it.. and if anybody is active in that softwares community. there is a great chance that he will be contacted for assistance or support. Everybody knows how Linux makes money by providing support. There are many examples in the form of SugarCRM , Dotnetnuke and many others.. Even if the open source software doesn't get success.. you still have the experience of how the open source community work which i think is a great thing in itself.