Hi, For one of my packages (python-astropy), I got a Lintian error that it would contain a non-source file jquery.dataTables.js. This is mainly discussed in a bug report
https://bugs.debian.org/798900 however it seems that the problem is more general. The python-astropy package indeed contains a file jquery.dataTables.js, which for me, however, looks like a good source: It is well readable, it contains comments, etc.: https://sources.debian.net/src/python-astropy/1.0.4-1/astropy/extern/js/jquery.dataTables.js/ However, it contains one line /*globals $, jQuery,define,_fnExternApiFunc,[...] which is ~1400 characters long and may be automatically inserted. This line is now taken by lintian as indication that the file is not a source file. Aside from the question whether this heuristics is too simple, I am now curious on how a "source" is defined in the Debian context. Is it f.e. required that every single character was inserted manually? Or that at least some of the content was created manually? Is it acceptable that a line (or several lines) are automatically handled by the editor (Emacs could do that, f.e.)? Is it acceptable that a line (or several lines) are handled by external scripts? What about the signature lines, for example in debian/changelog? They are usually handled by dch, not by a human -- are they to be considered as non-source? What about lines that hare handled by CVS? /* $Id: capi.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $ is obviously not added manually. Can a generated file be a source at all? The only definition I know about what is a source is from GPL: | The “source code” for a work means the preferred form of the work for | making modifications to it. This says nothing about manually created or generated. The "preferred" in the definition is a bit ambitious -- some people may prefer a different form than others. And, autogenerated lines (like the CVS Id, or the signature in debian/changelog) are preferred not not be changed at all by a third party. Would that make these files non-source? If someone copies a files from somewhere else, and then patches is to fits the local needs: Is the patched file a "source"? Someone would probably prefer to have the original file and the patch instead -- or at least the source file additionally to the patched one. I have, however, a few packages which contain a modified file, and where the original one is not available anymore (since it is >15 years old). At least, I would strongly prefer to have this in the form "original file + patch", since then I could see what was changed, and possibly replace these files with the package where they come from, or at least update them to the current version. Are these modified files to be considered as non-source, and therefore the package undistributable? Finally the question is how one can decide whether a file is "source": Even if it is completely autogenerated, if the maintainer finds the file as usable for modifications, why should it then not be marked as "source"? Shall he hunt of whether a piece of code was inserted by a non-human? Shall he require that all original (unchanged) files are included as well? What are the general guidelines here? Somewhere in written form? The DFSG does not contain a hint here. Best regards Ole