License for FBGFX?

General discussion for topics related to the FreeBASIC project or its community.
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

License for FBGFX?

Post by vdecampo »

From the FreeBASIC help CHM..[FB-manual-chm-02.jul.2007.chm]
How can I link/use Gfxlib?

Gfxlib is "built in" into the language, it is not necessary to include any .bi file or to link any library explicitely. FB detects you want to use Gfxlib when it finds a Screen or ScreenRes instruction. So to use Gfxlib, just start a graphics screen mode and use the graphics commands.
This line from the help file suggest FBGFX is bundled with FreeBASIC and so becomes part of the standard runtime regardless of the fact it is a separately linked library. This would negate FBGFX as having a separately license?
KristopherWindsor
Posts: 2428
Joined: Jul 19, 2006 19:17
Location: Sunnyvale, CA
Contact:

Post by KristopherWindsor »

I'd like to know too, but this is your third thread about the license, so you might want to be careful, or some will start calling you a spammer. :-)
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

It is not my intention to SPAM. I would just like the person who created FBGFX or other authority to simply set the record straight. If you look at each thread this subject come up in, it starts out as something completely different.

1. Asking if FreeBASIC can be used for commercial apps.
2. Posting game into video.
3. Posting code to get at image buffer data
4. Asking about the auto-linking of FB code to FBGFX.

I currently have a game in development written in FB and I need clarification on this issue.

-Vince
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

The gfxlib source is stated explicitly in every source file (src/gfxlib2/*) - it is licensed under the GNU Lesser General Public License, version 2.1 (or later, at your option). The help file is not an authoritative document in any case, and it is definitely not relevant to licensing of the gfxlib. The gfxlib is a separate library from the regular FB runtime library; it is linked implicitly when you use graphics functions, but this is just a convenience. By compiling a program that uses graphics functions and (implicitly) statically links the gfxlib, you are creating a derivative of the gfxlib as per the LGPL.

Please read the LGPL for more information about what that means you must do when redistributing such programs.
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

Thank you for answering my question. It may have been hinted at here and there by other posters, but I needed an authoritative response source.

Cheers!
-Vince
cha0s
Site Admin
Posts: 5319
Joined: May 27, 2005 6:42
Location: USA
Contact:

Post by cha0s »

lillo has communicated that he intends the gfxlib to be under the same license as the compiler and rtlib.
Sisophon2001
Posts: 1706
Joined: May 27, 2005 6:34
Location: Cambodia, Thailand, Lao, Ireland etc.
Contact:

Post by Sisophon2001 »

Much simpler. The LGPL is obviously complicated and the license exception makes it much clearer.

Congrats.

Garvan
Lachie Dazdarian
Posts: 2338
Joined: May 31, 2005 9:59
Location: Croatia
Contact:

Post by Lachie Dazdarian »

This really confuses me:
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
Eponasoft
Posts: 264
Joined: Jul 26, 2007 2:40

Post by Eponasoft »

If you link your program to the library directly, your program is a "work that uses the library". This particular part of the license is redundant and self-defeating though; it specifies that if you link another program with a library or program that is already linked to the protected library, then you're creating a "derivative work", which is clearly untrue and yet another reason to avoid the LGPL; inprecise, inaccurate terms.
srvaldez
Posts: 3648
Joined: Sep 25, 2005 21:54

Post by srvaldez »

agree with you Eponasof, that's why I have an aversion of LGPL, now GPL is OK for stand alone utilities or applications.
DOS386
Posts: 798
Joined: Jul 02, 2005 20:55

xxGPL & LGPL+yyy

Post by DOS386 »

lillo has communicated that he intends the gfxlib to be under the same license as the compiler and rtlib
IIRC, compiler is pure GPL, while RTLIB is LGPL+yyy by now ??

So what will the universal license be ?

GPL ? -> No commercial development nor closed source freeware then

LGPL+yyy ? -> :-)

Even better than LGPL+yyy would be GPL+zzz (exception allowing to use unmodified library in closed source products without releasing any source or objects), IMHO ...

So what licensing model do the devels prefer ? (sorted from best to worst by my opinion)

1. Compiler GPL, libraries BSD : allows non-GPL development, clean & simple, no further license discussions and low risk of piracy, OTOH less protection of libraries

2. Compiler GPL, libraries GPL+zzz : allows non-GPL development, almost clean & simple, good protection of libraries

3. Compiler GPL, libraries LGPL+yyy : allows non-GPL development, less clean & simple, good protection of libraries, confusing LGPL kept

4. All GPL : very clean solution, but no non-GPL development, a bit "too late" to change the license to a more restrictive one, differs from most other GPL compilers, would promote usage of old FB versions (without gfxlib), and devels would have to make very clear that "FB is intended for GPL development only" and prosecute the pirates ...

5. Keep as is : the absolutely worst choice, convenience has a secret effect of invoking LGPL, what to do with intentional/unintentional "pirates" ? Prosecute or silently tolerate ?
srvaldez
Posts: 3648
Joined: Sep 25, 2005 21:54

Post by srvaldez »

the FB runtime library already has an amendment allowing you write commercial applications, the many other libraries are by independent authors.
cha0s
Site Admin
Posts: 5319
Joined: May 27, 2005 6:42
Location: USA
Contact:

Post by cha0s »

Sorry yeah, I didn't realize that would be unclear... well what he told us was in reference to the LGPL extension, and that he has no objections... if you want more details you could contact the man yourself ;)
zerospeed
Posts: 227
Joined: Nov 04, 2005 15:29

Post by zerospeed »

Eponasoft wrote:If you link your program to the library directly, your program is a "work that uses the library". This particular part of the license is redundant and self-defeating though; it specifies that if you link another program with a library or program that is already linked to the protected library, then you're creating a "derivative work", which is clearly untrue and yet another reason to avoid the LGPL; inprecise, inaccurate terms.
Guess that's interpretation, since even Richard Stallman shared his interpretation about derivative and non-derivative work.

A program that links against a LGPL library, as Richard Stallman POV, is not a derivative work.

IF the program modifies that library, it must release the changes back to the community.

That's clear enough.

Turning this discussion to a black and white situation will only turn back any developer, like myself.

I develop commercial software, and use FB as part of my developments. I've even contributed some of our tools, and try to be helpful on the forums.

Making FB a free-only solution don't provide benefits for our company anymore, and will loose me as user and member of the community.

What are you looking for?
srvaldez
Posts: 3648
Joined: Sep 25, 2005 21:54

Post by srvaldez »

my problem with the LGPL license is that it is ambiguous in it's terms, you almost need a degree in law to make sure you understand it, but it's the general consensus that linking in a static LGPL lib makes your app a derivative work, whereas it's OK to use the shared library.
Post Reply