Sunday, August 30, 2009

Nepalese Developer and Open Source

Out of nowhere today i googled for opensource project by Nepalese and the result was not very convincing. I always knew about Nepalinux which is a skinned version of Linux for Nepali Language but not sure how many people use it and there are one or two others. Now, if we try to argue on this why there aren't any major open source projects by nepalese developers or companies believe me we can give hundreds of reasons, but i am darn sure these would be the foremost -
  1. We don't have a fuck'n electricity for 10hrs a day when do we write open source??
  2. 56kbps internet speed and you are telling me to contribute to open source?? Dude get a grip.
  3. Salary is not enough to survive in this country, why on this earth we care about open source.
  4. Lets face it we are not made for that.
  5. There are more interesting things to do then code all the time.
  6. Government, institutions or some IT companies are not helping much on this.
  7. No major open source nepalese organization to help promote it.
  8. Even if i start something there won't be much help from other people.
  9. There are developers from lot of other countries too without open source. what's the BIG DEAL?

So, are these the real problems to blame?? Partly big YES. But i think there is more than this, i googled for 'Nepali + Open Source' and the first result was 'FOSS Nepal Community - FOSS Nepal Community Wiki' and i clicked on that and i get a page with the error '(Can't contact the database server: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (localhost))'. (Not sure if it's fixed by the time you are reading this article) The point here is, we nepalese need to have organization for every shit we do and talk about it, give presentations have conference, invite guests, acknowledge 10 different peoples who haven't done a shit. I was in a Computer association of Nepal, ANA conference in San Francisco few months back there was a whole day presentation of all these shit but no one even talked anything about code, open source. When people talk about IT every time there is this gigantic words like 'Development of Nepal with IT', 'ICT for Nepal's Development' and some similar things.

I think what we should understand is that IT exists when there are softwares with a good quality code written by some good quality programmer or an average programmer who wants to be a good programmer and who loves to write code and solve problem for the people irrespective of the domain. Think about it if someone from Nepal had created anything like 'twitter' or say 'facebook' if we were to talk about popular web applications. It would have made such a difference in this IT world. It would have brought nepalese engineers to the level and it would have been lot easier to ask for offshore work which is a major talk for every IT conference or seminar that happens in Nepal. Applications like facebook and twitter doesn't need any organization or conference to create it in the beginning. It just needed an idea and few motivated developers to write the code.

Institutions should encourage students about more practical world of IT and softwares too along with the core computer science courses. There's a big problem in nepalese technical institutions too where students cannot really envision the scope of what they are studying so it's obvious for them too for not being able to think of new innovations and ideas and a guts to implement it. For computer science students at least there should be some practical training camp to teach them about trends in software development past, present and the future with some practical world examples. For example there can be a session where they are taught about version control, frameworks, how frameworks evolved over the years, and about the different technologies that's being used and not so used with reasons. Different scope of software development like web application development, game programming,system administrators, data warehousing etc with real world examples. So that student understand little bit how the things work when they land up with a graduation degree.

Also, it's important for students to research on what they are doing they need to find a topic of interests and work hard on those, Everyone may not end up writing operating systems or join NASA. So they need to find what they are intrigued by and start working on those producing little projects for use by juniors. Times are changing now, even in Nepal internet use and accessibility is more than before. People are trying to come up with lot of ideas. Lot of people have access to laptops now and most of the development tools are free all you need is a little bit of thought and guts to write code.

I am writing all these but i am not a keeper too, I haven't really contributed to any open source project (except few tutorials for GraniteDS) neither was i very thoughtful while doing my B.E, but these are the things that i have realized over the few years working in big projects and team and having seen all the things happening.

I am sure everyone has opinions feel free to appreciate or hit me on my head with comments!! As always my whimisical ideas.