Michal Čihař - Blog Archives for English

Useful parameters for Lintian

Every time I review some package for sponsoring, I usually end up suggesting to fix some of more picky things which lintian finds. It looks like everybody is using default set of checks and does not look at others. Indeed the defaults tell about things which are really errors or need override, but --pedantic and --display-info show also useful hints. However you need to take them more as a suggestions than as a errors.

What I usually find interesting is --pedantic, because it tells about several things, which might be good idea to have in your package. Missing Homepage in debian/control is one of them and I believe this should exist for every package which has a homepage.

The --display-info (or just -I) is also useful, for example it does spell checking of texts in binaries and man pages. Registration into doc-base is also useful integration into the system and you should definitely do it if the package provides documentation in HTML.

To run these checks every time, you can create alias in your ~/.bashrc:

alias lintian='lintian -I --pedantic'

Photo of a week 2

The second week is ending and it's time to publish another photo for project 52.

Again one picture from Prague (though the lightboards say welcome to Brno), this time taken in night:

Nuselský most

How good is phpMyAdmin translation to your language?

phpMyAdmin 3.4 is about to be released in something like two months (we want next beta to ship with brand new theme) and there is still plenty of translations to do.

You still have lot of time to translate, but there is also lot of work to do. And I'm pretty sure there are some Slovak, German or Italian speaking readers of this blog. So what are you waiting for? :-)

GPL violation - what next?

After previous series of posts about Gammu usage in proprietary software, finding culprit and getting the sources I got number of questions and suggestions. So what are the suggestions?

Lesson I've learned is that even though the website seems to be dead, the project itself does not have to be. This is what I thought about http://gpl-violations.org/ and I was proven wrong and these guys are now looking at my case.

Another option is Software Freedom Law Center - http://www.softwarefreedom.org/. I've contacted them from the very beginning (about year ago) and got some useful hints, though now my contact seems to be gone (or simply too busy).

FSF also provides information how to proceed in case of license violation.

Maybe these hints will be also useful for somebody else and I hope they will help me as well.

GPL violation - Getting the sources

Having found Gammu usage in proprietary software and finding somebody who is actually having the source code, the only remaining (and the hardest) step was to make them publish it.

I started with explaining what actually GPL means, giving them links to useful documentation what they should do, but I'm probably not good enough in explaining the things.

All I was given is source of some parts of Gammu code they have used (it is available in our git repository since then). Any attempts on explaining them that they should publish full source code of the thing to comply with GPL have simply failed.

The problem with the sources they have given is that it is hardly to reuse in Gammu - it is hard to find on which version they based and more importantly, it really does not include much code which would be useful in Gammu these days.

Photo of a week 1

I just got inspired by David Watson and will try the same challenge. I find it interesting to take and publish one photo every week, but I'm not really sure if I will last.

First week photo is from Sun Eclipse few days ago, though it is not much visible :-).

Sun Eclipse at Vyšehrad

phpMyAdmin theme contest

If you like phpMyAdmin and have web design skills, this is a chance for you. The question for new default theme has been opened for a while and in last weeks we've finally decided to rather make open contest than to stick with choosing from existing themes.

All you need to do is to submit theme (compatible with phpMyAdmin 3.4) till 13th February 2011. You can find more details on our wiki.

GPL violation - finding the culprit

After finding that Sonim's software uses GPL licensed Gammu, the obvious step was to ask them for sources of the software. They quickly transferred their responsibility to company which made software for them - A&W (Anwsoft).

It took some iterations to explain them that I'm pretty sure that their software is based on Gammu and finally they gave up pointing to some external contributor for being guilty of this:

Due to the product was developed years ago, and the source code was bought from a SOHO programmer on the first beginning, so we didn’t notice it included some open source code inside.

The good thing in the same thing was that they were willing to cooperate:

We are willing to cooperate with you to follow GPL License and provide corresponding sources.

As it turned out in upcoming communication, they didn't have (and still don't have) idea what GPL license contains and what they should publish. But that's story for the next post.

Gammu supports Samsung phone through m-obex

The main part of the code was in Gammu for almost two months, but now it was finally debugged and confirmed working. For now you need to use version from git, but upcoming 1.28.95 will include it as well.

The support is implemented through m-obex protocol, which can be switched on from standard AT commands, giving transparent support for all supporting phones without need to change existing configuration. The code was heavily based on documentation and code created by samsyncro project, thought their documentation missed some important bits.

I'd really like to thank to Matthieu Patou for debugging problems of code I blindly wrote, because there were lot of issues (well it's hard to write code if you have no chance to test it).

Finding a GPL violation

As the communication in this case seems to be stuck and the issue is almost one year old, it's time to make bits of it public. The first post will just describe how I've discovered it, later will bring more details.

All started innocently with bug report on Gammu that it fails to work with some Sonim phones. We started to dig some information about what extensions does Sonim use and one of obvious ways was to try their software. I picked up software for Sonim XP3.20 Quest and started to look at it (if you are not going to install them, but want to look, you need unrar and unshield to unpack it). Actually all their software with exception of the one for XP2.10 Spirit is based on same code, so it does not matter that much which one you choose.

At first look the names of DLLs looked familiar to me and running strings on the DLLs just confirmed my suspicion - the phone which is not supported by Gammu bases it's official software on it. I was able to recognize at least seven DLLs derived from (GPL licensed) Gammu (they even use same names as Gammu modules had in that time):

  • At.dll
  • ATgen.dll
  • Common.dll
  • FBus.dll
  • IRDA.dll
  • ObexGen.dll
  • Serial.dll

To make the thing more interesting they use several other components released under free software licenses, where they also should provide sources for them:

  • ID3LIB.DLL - id3lib (LGPL)
  • WbXmlParser.dll- libwbxml (LGPL)
  • lame_enc.dll - lame (LGPL)

There might be more, but I did not want to spend more time on deep analysis, because I already had enough information.