Sometimes Debian and Ubuntu packages have “dfsg” bit in their package name. Out of 40175 packages in Debian unstable, 2015 of them contain string “dfsg”.

The abbreviation stands for The Debian Free Software Guidelines which is a document that defines what kind of software is free (according to Debian Project).

Sometimes it happens that a software packaged is free in general but it contains some non-free elements. An example could be a web application that is shipped with .swf files without their source code. You can see an example of this problem in a package that I maintain – bug #591201. Such files are considered non-free and can not be distributed with Debian. However, the Open Source web application works (mostly) fine without these pesky flash files, so it would be a waste to remove it completely only because of these.

This is when maintainers re-package the application to  remove the non-free elements – and to highlight that fact, they add “dfsg” bit in a package name. The files that don’t comply with DFSG can be put into a separate Debian repository – “contrib” or “non-free” which requires creating one additional package (per repository).

The above is the reason why you sometimes see a single application split into several packages, for example:

abuse (1:0.7.1-1) SDL port of the Abuse action game
abuse-sfx (2.00-9) [non-free] sound effects for Abuse