Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

Copyright violation: Based on BSD-licensed code, but no BSD license or original copyright statements #389

Closed
julian-klode opened this issue Sep 23, 2017 · 7 comments

Comments

@julian-klode
Copy link

http_parser.c states:

Based on src/http/ngx_http_parse.c from NGINX copyright Igor Sysoev

nginx has the following license and copyright statement in its license file:


/* 
 * Copyright (C) 2002-2013 Igor Sysoev
 * Copyright (C) 2011-2013 Nginx, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

The license requires itself and the copyright statements to be retained, neither of which is happening. This project is therefore not legally reproducible as-is.

@ploxiln
Copy link
Contributor

ploxiln commented Sep 23, 2017

Just for convenient reference, the commit which contains the rewrite "using a couple tricks borrowed from NGINX", from November 2009: 433202d

@ploxiln
Copy link
Contributor

ploxiln commented Sep 23, 2017

just another convenient reference, commit adding (some) nginx attribution: 8dabce6

@bnoordhuis
Copy link
Member

I don't know if any nginx code remains. If anyone can point out examples, please do so and I'll update the license. Otherwise we should probably just remove the attribution to avoid confusion.

The only code that was taken verbatim from nginx that I'm aware of were some lookup tables and a couple of macros but they were removed in 2010.

@indutny
Copy link
Member

indutny commented Sep 27, 2017

I believe that there might not be any common lines between them anymore. Let's remove this unless there are objections.

@ploxiln
Copy link
Contributor

ploxiln commented Sep 27, 2017

just for convenient reference:

another commit "use nginx-style method compare" 4bce6b4 (though I'm pretty sure all that code is replaced by now)

commit "use lookup tables of my own" which removes an attribution to nginx: 6f12467

@ploxiln
Copy link
Contributor

ploxiln commented Sep 27, 2017

last relevant reference: ngx_http_parse.c from nginx-0.7.64 in November 2009: https://github.com/nginx/nginx/blob/a49413511aa15ecc50755be2ff01d785b722e017/src/http/ngx_http_parse.c

bnoordhuis added a commit to bnoordhuis/http-parser that referenced this issue Sep 28, 2017
The boilerplate included attribution to NGINX that created confusion
because NGINX is distributed under a different license (BSD, not MIT.)

To the best of everyone's knowledge, no actual NGINX code remains.
Remove the attribution to clear up the confusion.

Refs: nodejs#389
@bnoordhuis
Copy link
Member

#390

ploxiln pushed a commit to ploxiln/http-parser that referenced this issue Mar 20, 2018
The boilerplate included attribution to NGINX that created confusion
because NGINX is distributed under a different license (BSD, not MIT.)

To the best of everyone's knowledge, no actual NGINX code remains.
Remove the attribution to clear up the confusion.

Fixes: nodejs#389
PR-URL: nodejs#390
Reviewed-By: Fedor Indutny <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants