Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th January 2014, 23:13   #41  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
That's goofy. Why would IanB castrate all of us and then never restore the exemption?

What about your header for Avisynth+? What is the status of the exemption?
Guest is offline   Reply With Quote
Old 19th January 2014, 23:14   #42  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
Sadly, Avisynth+ can't add it back without permission of IanB.
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth
TurboPascal7 is offline   Reply With Quote
Old 19th January 2014, 23:17   #43  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
I will ask IanB to please restore the exemption. It's crazy that he would put a dam in the river like this.

Can't Avisynth+ re-engineer a header from the original exempted one? Why do you have to derive from IanB's stuff? Let him fork a dead end if that is what he wants.

Last edited by Guest; 19th January 2014 at 23:20.
Guest is offline   Reply With Quote
Old 20th January 2014, 00:04   #44  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by neuron2 View Post
I will ask IanB to please restore the exemption. It's crazy that he would put a dam in the river like this.

Can't Avisynth+ re-engineer a header from the original exempted one? Why do you have to derive from IanB's stuff? Let him fork a dead end if that is what he wants.
He also has contributed other code under the GPL, code that is not in the header. I cannot just take his GPL code and add a non-GPL exemption header, otherwise anybody could circumvent GPL this way in any project. So, although I'm not a lawyer, I'm reasonably sure we either need his agreement to add the exemption back, or we must re-write all copyrightable functionality that he has contributed to the project, both header and non-header code.

I'll edit my previous post accordingly.
__________________
AviSynth+
ultim is offline   Reply With Quote
Old 20th January 2014, 00:34   #45  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Why do you have to take his code?
Guest is offline   Reply With Quote
Old 20th January 2014, 00:55   #46  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
Because we already did (ultim wanted to contribute to the 2.6 codebase before creating the fork).
We want to support new colorspaces and keep compatibility with existing 2.6 plugins. Starting from 2.5.8 codebase or rewriting everything IanB wrote during these 6 years would delay new features quite noticeably and that's a lot more important to the end users than some silly licensing question.
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth
TurboPascal7 is offline   Reply With Quote
Old 20th January 2014, 01:01   #47  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,258
For what it's worth, the 2.6-ish extended version of avisynth_c.h from x264 does have the exemption intact (source). Probably because it was done externally and wasn't subject to this particular circumstance - the one in AviSynth's CVS is still the old 2.5 version.
qyot27 is offline   Reply With Quote
Old 20th January 2014, 10:41   #48  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
I'm far from law expert, but still think that interfaces are not subject to licensing restrictions (structures, function prototypes,...). For example, does linux kernel need to explicitly grant the permission for every interface to allow its usage in proprietary kernel modules?

I completely agree with TurboPascal7 that licensing restrictions can only harm Avisynth. Personally if I had to choice between going GPL or removing plugin that I don't want to be GPL result will be removal 100% of the time. And I believe we do have several plugins removed by authors because they were threatened later with GPL stuff.
SEt is offline   Reply With Quote
Old 20th January 2014, 12:16   #49  |  Link
Sapo84
Registered User
 
Join Date: May 2008
Posts: 41
Quote:
Originally Posted by ultim View Post
Unfortunately, he can remove it. More precisely, he decided to license his own code in the header as GPL (without the exemption), which he has every right to do.
But he can't change the license of the original code.
In the header I see three copyrights lines, either they are wrong (and he wrote every line of the header himself) or he should have needed consent from all the contributors to redistribute their code with a different license.

Last edited by Sapo84; 20th January 2014 at 12:24.
Sapo84 is offline   Reply With Quote
Old 20th January 2014, 12:52   #50  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by SEt View Post
I'm far from law expert, but still think that interfaces are not subject to licensing restrictions (structures, function prototypes,...).
Headers are always subject of the license, but the licence may define separate terms for the headers. LGPL is such an example, but GPL is not. LGPL plays with the definition of "header", while GPL plays with the definition of "derived work".

Quote:
Originally Posted by SEt View Post
For example, does linux kernel need to explicitly grant the permission for every interface to allow its usage in proprietary kernel modules?
Code that tightly integrates with the kernel is considered derived work, which already lead to problems at least once where NVIDIA couldn't integrate his won code because they didn't want to open-source it. Code that somehow only links to GPL modules over the headers is some kind of a grey zone, e.g. kernel devs allow you to have closed-source kernel modules (maybe they have an exemption for that? - dunno), while it is generally unacceptable to link desktop GPL libraries to closed-source apps. As I said, the difference is how you interpret "derived work", and different people do that differently.

Quote:
Originally Posted by SEt View Post
I completely agree with TurboPascal7 that licensing restrictions can only harm Avisynth. Personally if I had to choice between going GPL or removing plugin that I don't want to be GPL – result will be removal 100% of the time. And I believe we do have several plugins removed by authors because they were threatened later with GPL stuff.
And I agree too. Me too would like to relicense Avisynth+ under the LGPL. My posts aren't aimed at defending the current licence of Avisynth, but that the current licence should still be adhered to even if I don't like it. Changing the licence still needs to be done in a legally conformant way - considering the old one too. And we are trying to do that actively.
__________________
AviSynth+
ultim is offline   Reply With Quote
Old 20th January 2014, 15:14   #51  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
Quote:
Originally Posted by ultim View Post
Headers are always subject of the license, but the licence may define separate terms for the headers. LGPL is such an example, but GPL is not. LGPL plays with the definition of "header", while GPL plays with the definition of "derived work".
I'm not talking about headers. I'm talking about interfaces: if someone would write header for the same interfaces that are defined in GPL header it won't be derived work as I understand. If I release GPL header with prototype of function Add it absolutely doesn't mean that some other projects that have the same function name with the same parameters that is doing the addition now must be under GPL.

Actually, all that "GPL purity" is one big lie, at least on Windows. While it's considered unacceptable for non-GPL code to use GPL libraries, it's totally Ok for GPL code to even statically link with non-GPL libraries. Our official Avisynth is compiled with VC6 which statically and dynamically link GPL code of Avisynth with absolutely non-GPL code of standard C/C++ library of VC6. And what? No one ever said anything. How Avisynth using external plugins is different to Avisynth using C/C++ library?
SEt is offline   Reply With Quote
Old 20th January 2014, 15:43   #52  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,099
the gpl is a silly license that nobody complies with, partly because it's actually incredibly difficult to actually be fully compliant, and partly because nobody cares

I really have no idea why people keep choosing it, especially for libraries. I guess they haven't really understood what it actually means.

Quote:
Originally Posted by SEt View Post
Actually, all that "GPL purity" is one big lie, at least on Windows. While it's considered unacceptable for non-GPL code to use GPL libraries, it's totally Ok for GPL code to even statically link with non-GPL libraries. Our official Avisynth is compiled with VC6 which statically and dynamically link GPL code of Avisynth with absolutely non-GPL code of standard C/C++ library of VC6. And what? No one ever said anything. How Avisynth using external plugins is different to Avisynth using C/C++ library?
See the GPL FAQ; you are allowed to link to "systems libraries": http://www.gnu.org/licenses/gpl-faq....sRuntimeAndGPL
However, if you distribute mscvr*.dll together with your GPL plugin, you're technically violating the GPL. By the way, did you know that the exemption in the Avisynth header still requires authors of closed source plugins to distribute the full source code of Avisynth with their plugins?

As I said, nobody (except maybe the FSF) really complies with the GPL fully. It's way too difficult to be compliant.

Last edited by TheFluff; 20th January 2014 at 15:46.
TheFluff is offline   Reply With Quote
Old 20th January 2014, 15:58   #53  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,196
Quote:
Originally Posted by SEt View Post
Our official Avisynth is compiled with VC6 which statically and dynamically link GPL code of Avisynth with absolutely non-GPL code of standard C/C++ library of VC6. And what? No one ever said anything. How Avisynth using external plugins is different to Avisynth using C/C++ library?
Well, the GPL prohibits applications, which are not released under a GPL-compatible license, to link against GPL'd code. So the GPL is all about what others are allowed or not allowed to do with your code. But here it's the other way around. We have a GPL'd application that, unavoidably, links against certain system/runtime libraries, which are non-GPL. Since it's your application, you decide under which conditions it gets released. So if you, as the copyright holder, decide that linking your app against the VC-Runtime libraries is fine, then it will be allowed. In addition to that, I think the GPL even includes a special exception for fundamental system libraries. Otherwise no GPL'd code would be allowed to run on Windows or Mac OS X...

(The same way, you, as the copyright holder, may decide that using the "interface" header files of your application in some thrid-party applications is not considered a "derived work")
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 20th January 2014 at 16:07.
LoRd_MuldeR is offline   Reply With Quote
Old 20th January 2014, 17:30   #54  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
Quote:
Originally Posted by TheFluff View Post
See the GPL FAQ; you are allowed to link to "systems libraries": http://www.gnu.org/licenses/gpl-faq....sRuntimeAndGPL
Some part of runtime library is always statically linked within the resulting binary, even if you choice dynamic runtime. That is clearly not exempted in our GPLv2 and likely not in GPLv3 (the wording there is even more confusing).

Quote:
Originally Posted by TheFluff View Post
However, if you distribute mscvr*.dll together with your GPL plugin, you're technically violating the GPL.
Official Avisynth does exactly this and distributes msvcp60.dll

Quote:
Originally Posted by LoRd_MuldeR View Post
So if you, as the copyright holder, decide that linking your app against the VC-Runtime libraries is fine, then it will be allowed.
But it won't be automagically granted if you just stick GPL license with your work and not actually word this approval, right?
SEt is offline   Reply With Quote
Old 20th January 2014, 21:46   #55  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
rean
So basically you want avs+ to come up with a new API? That is planned but only after features like MT and high bitdepth processing are implemented, since they will affect the API considerably.

I kinda hope(d) we can solve this issue by simply talking to avisynth developers because come on, it's clear that GPL does not work in avs. Unfortunately IanB seems to be ignoring the question.
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth

Last edited by TurboPascal7; 20th January 2014 at 21:50.
TurboPascal7 is offline   Reply With Quote
Old 20th January 2014, 23:20   #56  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,196
Quote:
Originally Posted by SEt View Post
Some part of runtime library is always statically linked within the resulting binary, even if you choice dynamic runtime. That is clearly not exempted in our GPLv2 and likely not in GPLv3 (the wording there is even more confusing).
Whether you link statically or dynamically doesn't matter for the GPL. It does matter for the LGPL - or more precisely for how the LGPL is usually interpreted.

Linking LGPL'd code into a ClosedSource application as a DLL or SO file is generally accepted, while linking it statically is not. As far as the GPL is concerned, both cases are not allowed anyway.

Quote:
Originally Posted by SEt View Post
But it won't be automagically granted if you just stick GPL license with your work and not actually word this approval, right?
Well, as has been mentioned before, there is an exception in the GPL for "system libraries", because otherwise no application could be GPL-compliant on proprietary OS, like Windows or Mac OS X.

Even if you avoid linking against the Visual Studio C-Runtimes, which indeed is possible, you still need to use the Win32 API (Kernel32.dll and friends) for fundamental stuff like I/O and memory management.

Consequently, it wouldn't make much sense if any software author would need to explicitly add an exception for something that is required anyway - no matter what.

Last but not least: The intent of the GPL is to prevent GPL'd code from getting "assimilated" into ClosedSource applications - not to put restrictions on what the GPL'd application is allowed to do...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 21st January 2014, 00:37   #57  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
LoRd_MuldeR, as I remember, x264 used to be sources-only software without official binaries due to legal stuff. What looks logical, obvious and required from the view of normal sane person, is not so from the point of law.

The intent of GPL is to consume other open source software and prevent development of everything outside of GPL.
SEt is offline   Reply With Quote
Old 21st January 2014, 01:02   #58  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,196
Quote:
Originally Posted by SEt View Post
LoRd_MuldeR, as I remember, x264 used to be sources-only software without official binaries due to legal stuff. What looks logical, obvious and required from the view of normal sane person, is not so from the point of law.
Don't mix up issues with software licenses and those with patent royalties. Those are two mostly independent things.

The GPL explicitly does allow redistribution of binaries (as long as the sources are provided). It also explicitly does allow commercial use. So there's no problem here at all.

However, if an application uses patented technology, such as H.264, you may still need to pay patent royalties to the patent holders - not the software author.

Quote:
Originally Posted by SEt View Post
The intent of GPL is to consume other open source software and prevent development of everything outside of GPL.
The intent is that, if somebody incorporates the code that you kindly shared as OpenSource, then he/she will have to share his/her code under the same conditions as you did.

In other words: It ensures that OpenSource remains OpenSource. Thus, grabbing somebody's OpenSource code and turning it into a CloseSource software is prevented.

The intent obviously can not be to create a piece of software that is useless on most platforms, because it's no longer allowed to load the required fundamental system/runtime libraries
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 21st January 2014 at 01:13.
LoRd_MuldeR is offline   Reply With Quote
Old 21st January 2014, 02:12   #59  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
Quote:
Originally Posted by LoRd_MuldeR View Post
In other words: It ensures that OpenSource remains OpenSource. Thus, grabbing somebody's OpenSource code and turning it into a CloseSource software is prevented.
That's more like LGPL and other licenses that require you to share changes to the OpenSource codebase. GPL is more like a plague - if you touch anything with it, you're finished. You have to share all your code that might be completely unrelated to the library. Code so bad that you don't want anyone to look at it because it's too embarassing. Or maybe code that helps you make some money. Looks like forced freedom if you ask me.
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth
TurboPascal7 is offline   Reply With Quote
Old 21st January 2014, 02:33   #60  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,099
Quote:
Originally Posted by LoRd_MuldeR View Post
Last but not least: The intent of the GPL is to prevent GPL'd code from getting "assimilated" into ClosedSource applications - not to put restrictions on what the GPL'd application is allowed to do...
That is arguably untrue. Both the letter and the spirit of the license actually do have those restrictions (there's a funny line in the GPL FAQ about how Windows-only GPL applications are bad because they're "trapped" on Windows and thus aren't contributing to the open source world, i.e. Linux). If you compile FFmpeg with both GPL-licensed and non-GPL-compatible-licensed modules, the resulting license is "unredistributable". You might think that doesn't matter, but if you actually intend to enforce your license in court you sorta have to make sure you comply with it yourself, or your case is likely to get thrown out. If you're not intending to enforce it, it doesn't really matter which license you pick anyway, now does it?

tl;dr: license your stuff with 2-clause BSD or make it proprietary, you're most likely never going to be able to actually enforce anything other than that anyway
TheFluff is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.