Header files license ?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
dmontaine
Posts: 23
Joined: Mar 15, 2018 7:13

Header files license ?

Post by dmontaine »

The header files supplied with fbc do not have a specific license included, however they do have this notice

NOTICE: This file is part of the FreeBASIC Compiler package and can't
be included in other distributions without authorization

This would seem to conflict with both the GPL and the LGPL. So, if the header files are not licensed under
the GPL or LGPL, what license does cover them?
Last edited by dmontaine on Sep 02, 2023 4:09, edited 1 time in total.
coderJeff
Site Admin
Posts: 4326
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: Header fiels license ?

Post by coderJeff »

Can you give an example of the conflict? That might help us figure out what needs to be corrected, if anything.

The NOTICE is what the original author had intended for the files that bear that NOTICE: they wanted to share their work, allow others to enjoy it, permit distribution with FreeBASIC Compiler package, and nothing more than that.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Header fiels license ?

Post by caseih »

I'm not sure it's a conflict per se.

There are quite a few of the bundled include bi files for third-party libraries with this message in them, all of which were generated by SWIG from the original C header files it appears. Here are a few samples:

libart_gpl/libart.bi
xcb/render.bi
crt/string.bi
mysql/mysql.bi
spidermonkey/jsotypes.bi
win/GdiPlus.bi
GL/mesa/glu.bi
glade/glade.bi

As for the license of the header file itself, ultimately it doesn't matter, unless you wish to distribute the bi file itself. The third-party library's license is what you must comply with if you use that library and distribute your binary. The bi file could be under a strict NDA agreement and that wouldn't change.

In general, any file distributed with FB that does not have a particular license embedded in it by default falls under the license of FB as a whole.
dmontaine
Posts: 23
Joined: Mar 15, 2018 7:13

Re: Header files license ?

Post by dmontaine »

I guess the argument would be that these files are used by the the generated application, which can be any appropriate license, including commercial. They are not a part of the compiler itself which is GPL and taints everything linked to it. Also, given that the Oracle vs Google decision (as this non-lawyer understood it) which said that header files cannot be protected by copyright (my far too simple conclusion, I am sure), there is probably no issue here.

I was just surprised by the inclusion of the comment and it tweaked my curiosity.
coderJeff
Site Admin
Posts: 4326
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: Header files license ?

Post by coderJeff »

dmontaine wrote: Sep 01, 2023 15:13 I guess the argument would be that these files are used by the the generated application, which can be any appropriate license, including commercial. They are not a part of the compiler itself which is GPL and taints everything linked to it.
fbc compiler itself is GPL
the main libraries are LGPL with linking exceptions
some other tools may have other licenses
Also, given that the Oracle vs Google decision (as this non-lawyer understood it) which said that header files cannot be protected by copyright (my far too simple conclusion, I am sure), there is probably no issue here.
I am also not a lawyer, but this does seem too simple a conclusion.

My read on it is that using / modifying / distributing header files or portions of them was not in violation of copyright in this specific case under the tests of fair use. I think more cases like this will need to tested in court to find the limits.

As for fb headers (aside from simply asking for authorization) it would be better if those headers were improved to be nearly fully machine generated (like other headers translated with fbfrog). I believe would be better for both maintainers and users.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: Header files license ?

Post by marcov »

(I'm no lawyer either, but have followed such cases in the news for decades)

Even without the Oracle to Google lawsuit, headers rarely generate code, and GPL is a linking license (iow about linking generated code to other generated code).

Users using the headers will also link code, but GPL allows that for own use, and only kicks in when you distribute the result.

One could argue that macros generate code, but most macros in headers won't pass any triviality threshold, afaik this is already established during the AT&T vs BSD lawsuits in the early nineties. Most lawsuits after (SCO vs IBM and the world, and I assume also Google vs Oracle, though that last one was Java, not traditional linking), plaintiffs tried to re-argue that by wrapping it in new jargon, but failed miserably.

In some of the lawsuits, other contracts besides copyright law also played a role (e.g. Unix, Java licensing). More limiting clauses in those (e.g. reverse engineering clauses) might be enforcable, even if copyright law or licenses based on it allow it.
Post Reply