Do patches need to be open source?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Do patches need to be open source?

Post by Dann Corbit »

syzygy wrote:
Fulvio wrote:It doesn't matter the technical way how you realize the derivative work or if you take only a part of the original. That's why, for example, HBO had to pay George R.R. Martin even if a film is a very different thing from a book, and other authors do not have the rights to write sequels to his books.
In the same way a derivative work of GPL copyrighted material, no matter how created, which restricts in any way the "same freedoms that you received" is an unauthorized use and:
For something to be a derivative work of an original, it has to contain copyrightable material from the original. In case of a movie and a book, that could be the storyline. In case of computer programs, there is basically only code that could be shared. (The functionality is not copyrightable, for example, but here we are not even speaking about copying of functionality.)

The FSF wants you to believe that using another program's API already creates a derivative work. That is just false.

Linus Torvalds also has interesting ideas about what makes a work derivative. His ideas have no basis in copyright law.
I think that your interpretation is correct.

However, we should ponder the spirit of the license agreement (what the intent is). In the case of GPL the idea is that all software using GPL software must also be GPL. Yes, this is very restrictive. But that is the concept that they want.

While I think GPL can be legally circumvented, we should simply choose another licence type if our project needs it.

I love some GPL tools like gcc. But all license types have their dark sides. Personally, instead of trying to legally pass their wishes, I will simply do something with another tool set that does not have the stark requirements.

Now, that having been said, I have used gcc and g++ to write proprietary software. Linus Torvalds would cringe and moan. But I guess we all draw a line *somewhere*
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Do patches need to be open source?

Post by Fulvio »

syzygy wrote:The FSF wants you to believe that using another program's API already creates a derivative work. That is just false.
There is no reason to add further confusion.
The FSF position is widely known:
"claim that copyright law gives them proprietary control over any software that uses a particular functional API would be terrible for free software and programmers everywhere. It is an unethical and greedy interpretation created with the express purpose of subjugating as many computer users as possible"

https://www.fsf.org/blogs/licensing/fsf ... e-v-google
Linus Torvalds also has interesting ideas about what makes a work derivative.
Nobody is forcing anyone to use any GPL software. You can use Windows instead of Linux, you can use clang instead of gcc, etc...
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Do patches need to be open source?

Post by hgm »

Fulvio wrote:
"Only the owner of copyright in a work has the right to prepare, or to authorize someone else to create, an adaptation of that work."
The keyword here is apparently 'to prepare'. If I provide a script to allow users to modify a GPL'ed source, I can be said to 'prepare' an adaptation of that work.

Your quote makes clear that the GPL forbids this. OTOH, it is not clear at all to me that this stays within the limits of copyright. (And if it doesn't, this clause would be void.) IMO a copyright licence can impose conditons on the use of the copyrighted material, but cannot put restrictions on the behavior of somene ho never touches the software.

I wonder why we even focus on dyamic linking. Suppose I provide a proprietry object file eval.o that happens to link without errors with the other object files of a GPL when you use it to replace the eval.o that belongs to that project, and actually gives a working program superior to the original project. This can easily be the case if eval.c of the orignal project contained only the single routine int Eval(GameState *gs), with GameState the usual bitboard representation as a struct of 'occupied', 'white', 'black'... BitBoards. This doesn't seem to use any material that is copyrightable from the GPL project. It could even be part of an independent project that just happens to use the (commonly used and quite obvious) representation of the parameter.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Do patches need to be open source?

Post by syzygy »

Fulvio wrote:
syzygy wrote:The FSF wants you to believe that using another program's API already creates a derivative work. That is just false.
There is no reason to add further confusion.
The FSF position is widely known:
"claim that copyright law gives them proprietary control over any software that uses a particular functional API would be terrible for free software and programmers everywhere. It is an unethical and greedy interpretation created with the express purpose of subjugating as many computer users as possible"

https://www.fsf.org/blogs/licensing/fsf ... e-v-google
The FSF is indeed terribly inconsistent in its positions. Microsoft isn't allowed to claim copyright infringement on the basis of API usage, but at the same time GPL infects through API usage? Not both can be true.
Linus Torvalds also has interesting ideas about what makes a work derivative.
Nobody is forcing anyone to use any GPL software. You can use Windows instead of Linux, you can use clang instead of gcc, etc...
What a strange thing to say.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Do patches need to be open source?

Post by velmarin »

I read many times, it is suggested, it is preferable, ect, a lot of ambiguity.
So if someone wants to statically link a library to a GPL project I think it is possible, as long as the library is made available for compilation, even if its code is not provided, I haven't read anything that forbids it.
Other things are ethical issues, of course we are talking about computer chess and its competitiveness.


:shock:
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Do patches need to be open source?

Post by syzygy »

The GPL does prohibit you from distributing an executable containing GPL'd code if you do not make the corresponding source code available under the GPL.

So if you statically link GPL'd code to proprietary code, you may distribute the executable only if you are able and willing to GPL the proprietary code.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Do patches need to be open source?

Post by velmarin »

That's not true, moreover, put something and immediately the opposite, they have gone to the literary world even.
I have not yet read anything that forbids not to do so, it is suggested, it is advised, ect.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Do patches need to be open source?

Post by velmarin »

As an example of the possibility with the zlib license:

https://en.wikipedia.org/wiki/Zlib_License

Code: Select all

Terms
The license only has the following points to be accounted for:

Software is used on 'as-is' basis. Authors are not liable for any damages arising from its use.
The distribution of a modified version of the software is subject to the following restrictions:
The authorship of the original software must not be misrepresented,
Altered source versions must not be misrepresented as being the original software, and
The license notice must not be removed from source distributions.
The license does not require source code to be made available if distributing binary code.
The license does not require source code to be made available if distributing binary code.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Do patches need to be open source?

Post by syzygy »

velmarin wrote:That's not true, moreover, put something and immediately the opposite, they have gone to the literary world even.
I have not yet read anything that forbids not to do so, it is suggested, it is advised, ect.
If you are still asking about whether you can distribute an executable that contains GPL'd code without making available the full source code of that binary, then just read section 6 of the GPLv3:
6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: (...)
Couldn't be much clearer, and this is certainly enforceable.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Do patches need to be open source?

Post by velmarin »

syzygy wrote:
velmarin wrote:That's not true, moreover, put something and immediately the opposite, they have gone to the literary world even.
I have not yet read anything that forbids not to do so, it is suggested, it is advised, ect.
If you are still asking about whether you can distribute an executable that contains GPL'd code without making available the full source code of that binary, then just read section 6 of the GPLv3:
6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: (...)
Couldn't be much clearer, and this is certainly enforceable.
Sure, sure, it's not like that.
Pretty much all overwhelmed,


The zlib license has been approved by the Free Software Foundation (FSF) as a free software licence,[1] and by the Open Source Initiative (OSI) as an open source license.[2] It is compatible with the GNU General Public License.[1]

The license does not require source code to be made available if distributing binary code.[/code]