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?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.
License for FBGFX?
License for FBGFX?
From the FreeBASIC help CHM..[FB-manual-chm-02.jul.2007.chm]
-
- Posts: 2428
- Joined: Jul 19, 2006 19:17
- Location: Sunnyvale, CA
- Contact:
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
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
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.
Please read the LGPL for more information about what that means you must do when redistributing such programs.
-
- Posts: 1706
- Joined: May 27, 2005 6:34
- Location: Cambodia, Thailand, Lao, Ireland etc.
- Contact:
-
- Posts: 2338
- Joined: May 31, 2005 9:59
- Location: Croatia
- Contact:
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.
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.
xxGPL & LGPL+yyy
IIRC, compiler is pure GPL, while RTLIB is LGPL+yyy by now ??lillo has communicated that he intends the gfxlib to be under the same license as the compiler and rtlib
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 ?
Guess that's interpretation, since even Richard Stallman shared his interpretation about derivative and non-derivative work.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.
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?