Publish a TC plugin under the GPL license?

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

User avatar
bago
Member
Member
Posts: 102
Joined: 2003-02-05, 12:18 UTC
Location: Italy
Contact:

Publish a TC plugin under the GPL license?

Post by *bago »

I'd like to know if there are restrictions on the "licensing" of plugins.

i.e: can I publish a TC plugin under the GPL license? :?:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50421
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes you can, there are no restrictions! Some plugins are already under GPL because they use GPL sources, e.g. the Linux Ext2/Reiser plugin. My header files and sample plugins aren't under GPL, which means that they may be used in open source and closed source, in free or commercial plugins.
Author of Total Commander
https://www.ghisler.com
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

Is this really compliant with the GPL where https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF says?
gnu.org wrote:If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means that combination of the GPL-covered plug-in with the non-free main program would violate the GPL.
Thus I wonder if plugins like ImageMetaData or xPDFSearch are compliant with the GPL.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2tbeu
Well what could the plugin (a DLL file) do to prevent calling from a non-free program? What could the caller (in most cases an executable) do to prevent loading GPL-plugins?
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

tbeu wrote:Is this really compliant with the GPL where https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF says?
...
Thus I wonder if plugins like ImageMetaData or xPDFSearch are compliant with the GPL.
Interesting that you brought this up, because I recently wanted to use some GPL code for a plugin,
but decided not to do so, simply because of this very issue.
I always tried to avoid GPL (not LGPL) wherever I can, and will continue to do so.
There are a lot alternative licenses that don't have such issues (Apache, BSD, ...).

From what I can see it's no simply matter, with lots of different opinions.
If some commercial interests are behind that very GPL code you're using you probably have to be careful.
For things like xpdf it's probably not that bad, but still: some lawyers can be a nuisance about such things.
Just some quick links: 01, 02, 03
TC plugins: PCREsearch and RegXtract
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

Lefteous wrote:Well what could the plugin (a DLL file) do to prevent calling from a non-free program? What could the caller (in most cases an executable) do to prevent loading GPL-plugins?
Truely, you cannot decide.

Sorry for bringing this old GPL topic up again. We have the very same problem at the company I work for where we definitely need to avoid any legal issues. And I am not a lawyer.

The one way I can imagine to make this legally waterproof is to create a standalone plugin host application released under GPL (or even public domain ?) that communicates with TC using IPC like COM or sockets etc. There already were some closed-source implementations from Merix and Dec to run 32-bit wcx in 64-bit TC.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Well, it is really a problem wuth GLP licensed code... I think it is better to avoid such libraries, people suggest to use LGPL code instead.

http://stackoverflow.com/questions/8807361/license-isolating-gpl-code-in-a-library-dll-keeps-my-applications-code-priva
http://stackoverflow.com/questions/1717494/using-gpl-v2-dll-in-application
Last edited by MVV on 2015-04-10, 07:47 UTC, edited 1 time in total.
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

I checked these links yesterday. They were already given by milo1012.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Sorry, you're right.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50421
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Well, if you want to interpret it that way, you cannot run any GPL programs on Windows. Why? Windows (the GUI) is essentially a program which runs on top of DOS (Windows 9x) and NT which loads pograms as a type of plugins. Essentially EXE and DLL files are the same internally.

Personnally I have always avoided GPL code because the license doesn't play well with Windows. LGPL, Apache and BSD style licenses are OK.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ghisler(Author) wrote:Well, if you want to interpret it that way, you cannot run any GPL programs on Windows. Why? Windows (the GUI) is essentially a program which runs on top of DOS (Windows 9x) and NT which loads pograms as a type of plugins. Essentially EXE and DLL files are the same internally.
If we think so, it must be also forbidden to use any closed-source executables and libraries in any GPL-based operating system...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50421
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

No, because they all use published libraries, and these are all under LGPL. The problem does exist with hardware drivers - some hardcore Linux developers say that closed source drivers (e.g. for display adapters) are against the GPL. That's why some distributions like Debian(?) do not ship with these drivers.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I mean that users who uses closed-source software under GPL-ed OS violate license. Or is using GPL-ed program with closed-source plugin allowed?
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

ghisler(Author) wrote:Windows (the GUI) is essentially a program which runs on top of DOS (Windows 9x) and NT which loads pograms as a type of plugins. Essentially EXE and DLL files are the same internally.
I think it's something very different when talking about OS and the programs / apps,
because it's would be quite dull and useless when you're not allowed to launch any non-GPL code at all.

But it's about a program with external modules that MAY rely on some 3rd party licenses.
So the main question is if the (closed/commercial) program itself relies on the DLL for normal functions,
or if it's completely optional due to the plug-in mechanism.
I'd say the latter is obvious in case of TC.
So if you WOULD ship TC with such plug-ins being preinstalled it would probably violate GPL,
but the current model with plug-ins being all optional and "voluntary" is fine IMO.
MVV wrote:If we think so, it must be also forbidden to use any closed-source executables and libraries in any GPL-based operating system...
Hard to say where to draw the line.
Wouldn't it already violate the license if TC communicates with some remote client which runs on code that is licensed under GPL? ;)
TC plugins: PCREsearch and RegXtract
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

ghisler(Author) wrote:Well, if you want to interpret it that way, you cannot run any GPL programs on Windows.
That is not true since system libraries are excluded by the GPL. See https://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL and https://www.gnu.org/licenses/gpl-faq.html#SystemLibraryException.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
Post Reply