Subject: Re: (Was Car Repair) OSD has better clause against deliberate obfuscation than GPL?
From: "R. Brock Lynn" <brock@cyberdude.com>
Date: Thu, 17 Jun 1999 07:36:54 -0500

"Stephen J. Turnbull" wrote:
(cross posting reply to gnu-misc-discuss for wider audience and comment)

> Second, as Brian Bartholomew keeps harping, FSBs that actually produce
> free software _can_ intentionally make it bad so that they can sell
> service.  They will be limited by the fact that other people can read
> the code ... maybe; have you read _Obfuscated C_ recently?  There's
> nothing[1] in the GPL that says you're not allowed to do something like
> 
>           cat local.sh | sed -e 's/#.*$//' | distributed.sh

Sure there is:

"The source code for a work means the preferred form of the work for making
modifications to it."

"For an executable work, complete source code means all the source code for all
modules it contains, plus any associated interface definition files, plus the
scripts used to control compilation and installation of the executable."

I'd much rather prefer a non-obsfuscated source tree than an obfuscated one. But
then one could argue that obfuscation is in the eye of the beholder... (or beer
holder depending on who you ask)

I could have sworn that somewhere in GPLv2 circa 1991 there was a clause that
expressly forbade purposeful direct obfuscation for the purpose of hiding the
original source code...

Ah yes, it wasn't in GPLv2 but in OSDv1:

In the "Open Source Definition" that was originally called the Debian Free
Software Guidelines, we have:

"2. Source Code

The program must include source code, and must allow distribution in source code
as well as compiled form. Where some form of a product is not distributed with
source code, there must be a well publicized means of obtaining the source code
for no more than a reasonable reproduction cost -- preferably, downloading via
the Internet without charge. The source code must be the preferred form in which
a programmer would modify the program. Deliberately obfuscated source 
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
code is not allowed. Intermediate forms such as the output of a preprocessor or 
^^^^^^^^^^^^^^^^^^^
translator are not allowed."

Perhaps the GPLv2 needs a clarification to state this more fully?

> This would give them a great leg up on the competition.
> 
> I see no evidence that anyone I know of is doing such a thing
> intentionally (contra the cynical Mr. B.), but clearly people do
> release packages before their time without appropriate documentation,
> etc., all with the best of intentions.  I don't see how you can
> distinguish that case from the evil of "planned obsolescence."
> 
> Footnotes:
> [1]  Well, aside from that fact that compared to distributed.sh,
> local.sh is clearly the "Preferred Form" for making Modifications to
> the Work.

Yes, I caught the "preferred form" clause, but it may not be strong enough to
get the true meaning which is "no deliberate obfuscated source code allowed."
loud and clear, so that even bozo lawyers can understand, without trying to
think, and then they can just ask the expert witness, etc. if such n such work
is the "preferred form" (which can be subjective) or is such n such, while not
the preferred form, has it been subjected to deliberate obfuscation in your
professional opinion...

What situation has a stronger chance of holding up in court?

Subjective or objective?

I'm no IP lawyer, but I'd like to see the GPL as strong as it can be...

--Brock

---------------------  PGP key ID: FED76A3D <brock@cyberdude.com> 4 / 5 / 1999

   __ _    Debian GNU           R. Brock Lynn <brock@nettronix.net>
  / /(_)_ __  _   ___  __   http://www.debian.org/ irc.openprojects.net
 / / | | '_ \| | | \ \/ /                  'Free Software'
/ /__| | | | | |_| |>  <   Remember that's "Free" as in Freedom, not "Free" as
\____/_|_| |_|\__,_/_/\_\   in price!   Debian's the Greatest!