Forum > General

may I ship FPC with my app ?

<< < (3/3)

Jonas Maebe:
The GPL means that if you distribute a compiled version of FPC/Lazarus or of a derivative work (~modified version), you need to also make available their source code at a nominal fee (or provide a download link), and offer them under the conditions of the same GPL.

Shipping FPC and/or Lazarus together with another application, or having another application invoke the compiler, does not make this other application a part of FPC/Lazarus or a derivative work of FPC/Lazarus. Similar to how Linux distributions shipping gcc and compiling most of their software with gcc are not derivative works of gcc. Or similar to how Apple initially shipped GCC (back then a GPLv2 project) with its closed source Project Builder/Xcode IDEs. The kind of code your user compiles is also irrelevant, because the (L)GPL only applies when distributing something. Only if your user would distribute the resulting compiled exe, they (and not you) would be bound by the licensing conditions of the FPC RTL/packages and the Lazarus LCL (not of the compiler/ide, since they would not be distributing the compiler/ide, nor a derivative work thereof). And even then the FPC RTL and Lazarus LCL are explicitly under licenses that allow closed source distribution of derivative works (LGPL + static linking exception).

So in short: there is absolutely no problem with shipping FPC and Lazarus with your application, allowing users to invoke it from your application and linking the resulting object files, and keeping your application closed source.

Bogen85:

--- Quote from: Jonas Maebe on November 02, 2022, 10:22:04 pm ---So in short: there is absolutely no problem with shipping FPC and Lazarus with your application, allowing users to invoke it from your application and linking the resulting object files, and keeping your application closed source.

--- End quote ---

Agreed. And from what I see here https://www.gnu.org/licenses/gpl-faq.html#MereAggregation and here https://wiki.freepascal.org/licensing that is the case.

And the above two pages cover the needed actions if the the included GPL packages have been modified.

Like I mentioned earlier, this is the norm for Linux distributions when the install media is DVD/CD-ROM images, and is not a network install.

So in this case, it is an application distribution, not an operating system distribution, but same licensing allowances and restrictions apply.

mercurhyo:
If you want to let users write pascal code I suggest you to look at pascalscript components. They integrate in your app and you expose to the engine what you want user to work on, from inside your application.

pascalscript precompiles the user's pascal code into reusable PCode which is pretty fast and smart.

Integrating pascalscript in your app is easy. Interfacing and exposing classes, procedures, functions, is not so hard

Enjoy

Bogen85:

--- Quote from: dragos on November 02, 2022, 06:12:46 pm ---Therefore, in short, my questions would be:
- may I use the FPC compiler as redistributable only for text-like (console) app by the user ?
- may I use/ship the FPC as redistributable also for LCL-containing objects (e.g., an user-defined dialog box for his/her component) ?
- if I may not, then the only way that the app will ever work would be to ask the user to have the FPC installed on his/her computer, prior to using my app -> as a prerequisite. It would be rather complicated, in this case. What would be the limitation, in this case ?

--- End quote ---

Not sure why so many are trying to over-complicate what dragos is asking. And dragos can correct me if I'm wrong.

The first two points just seem to be about apps written with FPC. Does not appear to be any licensing conflicts there.

But the final point seems to say it all, FPC needs to be installed on the user's computer, which would appear to satisfy the first two requirements.

And if dragos is asking if FPC could be bundled with another application, which if how that is being done falls under mere-aggregation as I already pointed out, is not an issue.

And the subject also seems to make it clear: "May I ship FPC with my app?"

The answer is yes, and Jonas Maebe indicated that as well.

Dragos, can you explain how you intend to bundle FPC with your application?
This might alleviate some of the concerns others are having.

Navigation

[0] Message Index

[*] Previous page

Go to full version