Forums : Feedback Forum

Dear Open Hub Users,

We’re excited to announce that we will be moving the Open Hub Forum to https://community.blackduck.com/s/black-duck-open-hub. Beginning immediately, users can head over, register, get technical help and discuss issue pertinent to the Open Hub. Registered users can also subscribe to Open Hub announcements here.


On May 1, 2020, we will be freezing https://www.openhub.net/forums and users will not be able to create new discussions. If you have any questions and concerns, please email us at info@openhub.net

Incorrect licence detection caused by Bison

The pgAdmin III project has been listed as having one file under the GPL. I suspect the file in question is http://svn.pgadmin.org/cgi-bin/viewcvs.cgi/trunk/pgadmin3/pgadmin/include/parser/parse.h?view=markup. I suspect this also affects the PostgreSQL projetc which has the same file.

Please consider adding an exception to the GPL detection code to ignore files containing:

/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */

It would also be very helpful if it were possible to see which files were categorised under each licence.

Thanks, Dave

Dave Page about 18 years ago
 

Hi Dave,

Yes, you have identified the file correctly. Our detector found GPL in these two filenames:

src/include/parser/parse.h
pgadmin/include/parser/parse.h

I'd be happy to add the exception, but I want to make sure I understand exactly when the exception applies.

  • Does the exception apply absolutely anytime the Bison exception comment text appears? (If so, why do they bother listing GPL above?)
  • Or do we actually have to do some clever work to find out whether the file is part of a Bison output? (If so, is there a reliable/easy marker in the file to detect that it is Bison output?)

I'm far from a Bison expert, so I could use some help.

Finally, yes, I absolutely agree that the ability to see the lists of files and licenses we claim to have found is sorely needed. This feature has been staring at me in bold type near the top of our TODO list for a while now.

Thanks for your help,
Robin

Robin Luckey about 18 years ago
 

Hi Robin,

Sorry for the delay in replying.

Does the exception apply absolutely anytime the Bison exception comment text appears? (If so, why do they bother listing GPL above?)

I'm not overly familiar with Bison myself (we just hijack parse.h from PostgreSQL), however I suspect that the licence is included because the file appears in a template format as part of GNU BIson (I can't see why they'd include it otherwise). When Bison is run however, the resulting output file is obviously not GPL'd (much as a binary built with GCC isn't). In the vast majority of cases I believe the exception will apply, except in Bison itself, and any derivative projects.

Or do we actually have to do some clever work to find out whether the file is part of a Bison output? (If so, is there a reliable/easy marker in the file to detect that it is Bison output?)

Not that I can see :-(

Thanks, Dave.

Dave Page about 18 years ago
 

For what it's worth, I looked back through several years of Bison revision history as my project has the same issue with the GPL detections. I couldn't get all the way back to the original as their savannah repo only goes back two years, but I did find other sources through searches that go back several more years on top that indicate that GPL statement has been in there for quite a while.

Whether it's absolute probably remains to be seen but it does seem to be a pretty safe assumption. Why they bother to list the GPL at all is probably because that template file itself that Bison uses is covered by the GPL, they just provide their exception so that Bison's derivative is separate. There could conceivably be other ways to derive from or otherwise use that template that would remain under the terms of the GPL. They all seem to start off saying As a special exception and end up saying This special exception was added though the statement and paragraph that follows each has been tweaked at least a couple times.

Cheers!
Sean

sean about 18 years ago
 

I believe we have this same problem in the Tcl/Tk project, ohloh detects one file in the project under GPL, but all our files are BSD licensed.

We have one source file (tcl/generic/tclDate.c) generated by bison 1.875, I suspect this is what oloh detects as GPLd.
However, that file does contain the special exception (as quoted by the OP above) in the header, so the generated file is in fact not under GPL, as clearly stated by the bison manual:

This exception applies when Bison is generating code for a parser. You can tell whether the exception applies to a Bison output file by inspecting the file for text beginning with “As a special exception...”. The text spells out the exact terms of the exception.

IMO the oloh license parser should be amended to detect any file (other than a source file of the bison project itself) containing that special exception as license-free.

Thanks, Daniel.

Daniel A. Steffen almost 18 years ago
 

ping?

Daniel A. Steffen almost 18 years ago
 

Has there been any progress on this issue?

It is important to the Tcl/Tk project that it be free of GPL code, so oloh incorrectly listing one source file as being under GPL is a significant problem (because if that were true, the GPL would exend to the whole project).

Please consider adressing this problem as a priority.

Thanks!
Daniel

Daniel A. Steffen almost 18 years ago
 

ping?
any progress on this?

Daniel A. Steffen over 17 years ago