[theme-reviewers] Minified CSS

Austin Matzko austin at pressedcode.com
Fri Feb 18 19:22:39 UTC 2011

On Fri Feb 18 16:43:43 UTC 2011 Chip Bennett, <chip at chipbennett.net> wrote:
> Removing whitespace from a CSS file has absolutely nothing to do with
> obfuscating PHP. I find the mere suggestion to be a disingenuous straw man.
> Code obfuscation *actually changes the content* of the code. Removing
> whitespace does no such thing.

Removing whitespace (and comments) changes the content of the code.
What you're really saying is that it changes things that don't seem
important to you.  However, for the GPL definition of "source" what
matters is whether the source code is in a form used to modify the

> Removing whitespace does not require decompiling, unencoding,
> reverse-engineering, or any other content-altering method in order to undo.

Call it whatever you want, it's still not the "preferred form of the
work for making modifications to it."  Even if reversing it is as
relatively simple as running an algorithm that attempts to guess where
line-breaks and tabs would reasonably go.

> Otherwise, If I don't like the way that you indent, camelcase, or
> inline-document, etc. your code, by your interpretation of "preferred form
> of the work for making modifications", I could, under the auspices of the
> license, compel you to provide me code that meets my "preferences".

Common sense suggests there's a difference between indentation or
naming preference and code that has to be converted by algorithm into
a form that is editable. One significant difference is that no one is
claiming to edit their CSS files all on one line, whereas reasonable
programmers disagree on say tabs vs. spaces and are capable of
switching between them without significant harm.  Another is that
minified CSS is not how the original programmer wrote it.
On Fri Feb 18 17:03:49 UTC 2011, Otto <otto at ottodestruct.com> wrote:
> Reversing JS compression and decompiling don't give you the original
> code back. Beautifying CSS does, because CSS cannot have its actual
> content altered or it loses its meaning.

The meaning stays the same for much obscured JS and PHP; often even
the syntax is preserved.  Again, the GPL doesn't refer to "meaning"
when describing source.

And you don't have the true original CSS source: you have a relatively
good approximation of what it might look like, according to an
algorithm that's mostly pretty good.  The fact that you don't have the
original explanatory comments should be proof enough that it's not the
same as the original.

> Quite simply, your argument is silly. There is a substantial
> difference between deliberately obfuscating something to make it
> difficult to edit and removing whitespace from files to make them
> smaller. One is done with malicious intent. The other is not.

I've tried to be precise, not silly, and I apologize if I've failed. I
believe that I'm using a common-sense reading of the text of the GPL
and that talk of the "intent" or "meaning" of obfuscation adds
something to the GPL that's not there. However, I also believe that
reasonable people can disagree in good faith.

More information about the theme-reviewers mailing list