Tuesday, 4 June 2013

Source access

Access to source is the key for developer's happiness.

Imagine that you must use some closed third party library and one thing just don't work. You do everything as documentation says (if there is documentation) or as internet says. And you don't have access to source code. What to do in that case? If you are lucky, and this is Java or .NET, you can use decompiler and hope that code was not obfuscated. If you are unlucky and library is pure binary - good luck with that!

With Open Source this is just easy - you can look at source code, get a version with symbols (or build your own) and use debugger to find what is wrong. Here is example from last days: Kadu was crashing when OTR conversation was initiated from it. Debugger only showed that there was bug somewhere inside otrl_message_sending function. I grabbed source code, got a quick look and found a bug that only occurred when specific parameter value was passed to it. Fix was ready in no more than 10 minutes - no need for stress!

PS. This bug was already fixed at the begining of this year in libotr 4.0.1 that will be released soon.

No comments:

Post a Comment