[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Pkg-javascript-devel] Bug#817092: Bug#817092: this browserified



Hi --
  
  Forgive me for jumping in I've been MIA for about a year, life issues 
and all that :/. I think the issue in this instance has less to do with 
compiled files, and sending patches. And this case can be resolved by 
simply applying the rule which states that the output of preprocessors 
does not constitute source within the meaning of DFSG #2, to the current 
situation. 

  Unless I am very much mistaken, the output of a preprocesser has never 
been considered source under DFSG #2. The reason for this is quite 
simple. If preprocessor output was considered source within the meaning 
of the DFSG, a hostile actor in the distribution chain could nullify
the freedom to modify for downstream recipients of the DFSG covered 
work.  
 
  As I recall the OSD makes this explicit but that was only codifying 
existing practice at the time. And the FSD which predates the DFSG also 
makes this explicit. Which only goes to show how widespread agreement on 
the preprocessor question was at that time. As far as I am aware nothing 
has changed in this regard since then.

  A javascript browserifying program seems to fill the classic function 
of a preprocessor. According to the Grunt developers grunt provides 
"Automation, performing repetitive tasks like minification, compilation, 
unit testing and linting.", compare that with the cpp(1) man page 
	
	"The C preprocessor, is a macro processor that is used 
	*automatically*, by the C compiler to *transform* your program 
	before compilation." (emphasis added)

  The fact that javascript is not a compiled language makes no 
difference in the analysis. The point is minifyed/browserifyed 
javascript has been through a process which transforms the code, this 
process is intended to aid execution. Programers skilled in 
javascript by and large do not modify the output of this process directly.   
Therefore browserifyed javascript is the output of a preprocessor.  The 
output of a preprocessor is not source within the meaning of the DFSG. 
Therefore browserifyed javascript is not source within the meaning of 
DFSG #2.  Magnitudo demonstrandum est.
 
  Or at least it seems that way to me. But the final descion will be 
made in due course by the usual procedure. I just hope 
that i have made a useful contribution by attempting to pose the right 
analogy.

Thanks
/Matt



-- 


Reply to: