Is this BSD-3-Clause Variant DFSG-compliant?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Is this BSD-3-Clause Variant DFSG-compliant?

Joao Eriberto Mota Filho-2
Hi folks,

Today I found the file test/ftp.y, in btyacc package, using the
following license:

test/ftp.y: * Copyright (c) 1985, 1988 Regents of the University of California.
test/ftp.y- * All rights reserved.
test/ftp.y- *
test/ftp.y- * Redistribution and use in source and binary forms are permitted
test/ftp.y: * provided that the above copyright notice and this paragraph are
test/ftp.y- * duplicated in all such forms and that any documentation,
test/ftp.y- * advertising materials, and other materials related to such
test/ftp.y- * distribution and use acknowledge that the software was developed
test/ftp.y- * by the University of California, Berkeley.  The name of the
test/ftp.y- * University may not be used to endorse or promote products derived
test/ftp.y- * from this software without specific prior written permission.
test/ftp.y- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
test/ftp.y- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
test/ftp.y- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.

For me it is not DFSG-compatible because I can't see a clause about
allowing modifications in source code. However, I found several
packages[1] in main section using this license.

[1] https://codesearch.debian.net/search?q=duplicated+in+all+such+forms+and+that+any+documentation%2C+advertising&literal=1

Regards,

Eriberto

Reply | Threaded
Open this post in threaded view
|

Re: Is this BSD-3-Clause Variant DFSG-compliant?

Mihai Moldovan
* On 5/24/20 6:33 PM, Eriberto Mota wrote:

> Today I found the file test/ftp.y, in btyacc package, using the
> following license:
>
> test/ftp.y: * Copyright (c) 1985, 1988 Regents of the University of California.
> test/ftp.y- * All rights reserved.
> test/ftp.y- *
> test/ftp.y- * Redistribution and use in source and binary forms are permitted
> test/ftp.y: * provided that the above copyright notice and this paragraph are
> test/ftp.y- * duplicated in all such forms and that any documentation,
> test/ftp.y- * advertising materials, and other materials related to such
> test/ftp.y- * distribution and use acknowledge that the software was developed
> test/ftp.y- * by the University of California, Berkeley.  The name of the
> test/ftp.y- * University may not be used to endorse or promote products derived
> test/ftp.y- * from this software without specific prior written permission.
> test/ftp.y- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
> test/ftp.y- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
> test/ftp.y- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE.
This, unfortunately, is not the package's license. This file was copied from the
Berkeley ftp package and the copyright header is incomplete. That's fine, as
usually the software also includes a COPYING or LICENSE file with the complete
terms.

Case in point: later versions of Berkeley ftp modified the header to include the
full (4-Clause-BSD) license, see, e.g.,
https://opensource.apple.com/source/network_cmds/network_cmds-85/ftpd.tproj/ftpcmd.y.auto.html

I won't quote that here because it seems unnecessary.


> For me it is not DFSG-compatible because I can't see a clause about
> allowing modifications in source code.

I tend to disagree with that evaluation.

The btyacc package does not really contain a proper (standard) license to begin
with. You can't blindly assume that one test file's (partial!) license header is
representative for all the other code that has no license notice whatsoever.

The only notion of some terms I could find in this package are these in README
(c.f., https://www.siber.com/btyacc/README.txt ) (emphasis mine):

> [...]
> BTYACC was created by Chris Dodd using ideas from many
> places and lots of code from the Berkeley Yacc
> distribution, which is a public domain yacc clone put
> together by the good folks at Berkeley.  This code is
> distributed with NO WARRANTEE and *is public domain*.
> [...]
> BTYACC *is a modified version of yacc* that supports
> automatic backtracking and semantic disambiguation to
> parse ambiguous grammars, as well as syntactic sugar for
> inherited attributes (which tend to introduce conflicts).
> [...]
>                 Legal Stuff
>                -----------
>         by Chris Dodd and Vadim Maslov
>
> In English: *BtYacc is freeware*. BtYacc is distributed with
> no warranty whatsoever. The author and any other contributors
> take no responsibility for any and all consequences of its use.
>
> In Legalese: LIMITATION OF LIABILITY. NEITHER SIBER SYSTEMS
> NOR ANY OF ITS LICENSORS NOR ANY BTYACC CONTRIBUTOR SHALL BE
> LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL
> DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR
> DATA USE, CAUSED BY BTYACC AND INCURRED BY CUSTOMER OR ANY
> THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN
> IF SIBER SYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
> DAMAGES.

There are a few red flags:

 - "Public domain" sounds great, but that's mostly a concept in the US(A).
   There are countries without such a concept and in those, it would hence be
   proprietary, as far as I know. Not exactly what the authors seem to have
   intended.
 - It was created "using ideas and a lot of code from Berkeley Yacc".
   This would make it a derivative of Berkeley Yacc, which is BSD-licensed and
   requires original and modified code to also be (4-Clause-)BSD-licensed.
   Strictly speaking, IFF btyacc was really heavily based on Berkeley Yacc,
   then they'd be violating its license by not releasing btyacc under a
   4-Clause-BSD license. I believe that Berkeley Yacc has been relicensed to a
   3-Clause-BSD license, so that would probably equally be fine.
 - "Freeware" is a throw-away term. If taken by the letter (i.e., that it is
   forbidden to charge a fee for redistribution or the like), it would also
   make it incompatible with and violating the the 4/3-Clause-BSD license
   employed in Berkeley Yacc, which has no such restriction.
   That interpretation is pretty draconic, though. I guess that the authors
   really meant to put emphasis on the fact that they won't charge for it, not
   to restrict other redistributors.


That said, it looks like the software is still being developed, or at least
maintained.

Would you mind contacting the authors, explaining the issues with their current
(non-)licensing scheme and politely ask them to consider to relicense the code
under the 3-Clause-BSD license, which would immediately fix all these problems
and should (I think) adequately reflect their own intentions?


> However, I found several
> packages[1] in main section using this license.

Which is fine, since, again, most packages sporting this header contain the
proper 4-clause-BSD license in the rest of the source code.

It would be non-free if this was the only licensing terms, yes, because it
doesn't explicitly allow modifications, but fortunately this is almost never the
case.



Mihai


signature.asc (916 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Is this BSD-3-Clause Variant DFSG-compliant?

Paul Wise via nm
In reply to this post by Joao Eriberto Mota Filho-2
On Sun, May 24, 2020 at 4:34 PM Eriberto Mota wrote:

> For me it is not DFSG-compatible because I can't see a clause about
> allowing modifications in source code.

I brought this up on debian-legal a while ago:

https://lists.debian.org/msgid-search/a8259f8fb4348c790076ffcaf8721ecba7c714a3.camel@...

Since then I talked to one of RedHat's lawyers and they mentioned that
they have dealt with this problem too and concluded that these
licenses were intended to cover modification. The current wording of
the initial part of the BSD license reflects an attempt to correct an
earlier mistake (i.e. someone pointed out the error and Berkeley added
"with or without modification"). Also note that the anti-endorsement
clause implies a right to modify.

--
bye,
pabs

https://wiki.debian.org/PaulWise