Do patches need to be open source?

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
hgm
Posts: 23376
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Do patches need to be open source?

Post by hgm » Thu Feb 22, 2018 11:30 am

mar wrote:
Fulvio wrote:With both static and dynamic linking the user must retain the freedom to modify a LGPL library, even if it's used in a closed source project, and the only requirement is the ability to relink the application.
Which you obviously can't do without having the source code when you link statically, ergo I was correct. Linking statically implies the release of full source code of your program.
You can supply the object file in stead of the source code.

Fulvio
Posts: 142
Joined: Fri Aug 12, 2016 6:43 pm

Re: Do patches need to be open source?

Post by Fulvio » Thu Feb 22, 2018 11:39 am

mar wrote: Which you obviously can't do without having the source code
Incorrect again, but i will not waste time explaining how linking works: you can google it.

mar
Posts: 1981
Joined: Fri Nov 26, 2010 1:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Do patches need to be open source?

Post by mar » Thu Feb 22, 2018 11:42 am

hgm wrote: You can supply the object file in stead of the source code.
Let's assume this would work (I'm still not convinced the license would allow this, but I'm no lawyer).

The object files are much bigger than the resulting binary, can be 30:1 or more so nobody would do that (for one of my projects it's 70MB on disk vs 1.6MB binary, one platform).
Now multiply this by the number of platforms you want to support, say you want to write for Linux and OSX, that's times 3, so for a 1 MB app that could be, say 50MB compressed that you have to distribute along with your app.

Not to mention that it's likely that you might not be able to link with some future CRT with a new version of the compiler.

So under realistic scenarios, it's better to link dynamically, release the source or stay away from LGPL.

mar
Posts: 1981
Joined: Fri Nov 26, 2010 1:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Do patches need to be open source?

Post by mar » Thu Feb 22, 2018 11:51 am

Fulvio wrote: Incorrect again, but i will not waste time explaining how linking works: you can google it.
A cheap non-argument, feeling cocky?

Are you serious to lecture me about how linking works? :D

Distributing object files with existing binary is impractical (let's avoid being rude calling it nonsense) for reasons I explained in another post.

Fulvio
Posts: 142
Joined: Fri Aug 12, 2016 6:43 pm

Re: Do patches need to be open source?

Post by Fulvio » Thu Feb 22, 2018 12:25 pm

mar wrote: A cheap non-argument, feeling cocky?

Are you serious to lecture me about how linking works?
I do not see any benefit in your provocations.
This is a public forum and you are spreading false information, that's my only concern.

syzygy
Posts: 4441
Joined: Tue Feb 28, 2012 10:56 pm

Re: Do patches need to be open source?

Post by syzygy » Thu Feb 22, 2018 12:27 pm

Ras wrote:
syzygy wrote:But I think it's still fine. I see no reason why some library that maybe does not even exist or that may not be uniquely identifiable would somehow become part of "the entire work".
Because it's dynamically linked AND shares data structures. This is exactly what the GPL defines, and that is part of the point of the GPL.
Maybe I have an advanced proprietary version of the library that I sell for good money and a toy version that I give away for free including the GPL'd source.
You can sell GPL'ed software, too.
Would the fact that the proprietary version exists suddenly change the "entire work" that has to be licensed under the GPL?
It doesn't change it. It has always been that way.
What if that proprietary version is not even written by me but by someone else?
Then he has the same problem. The point of the GPL is to prevent people from taking free SW, tacking proprietary stuff on top of it and making it non-free. Dynamic linking is not exempted under the GPL. Authors use the GPL to explicitely prevent that kind of circumventing. If they had wanted to allow that, they could have chosen e.g. BSD or MIT instead.
Stockfish can no longer be distributed unless that new library is GPL'd?
Stockfish can, of course, but the library designed to run with Stockfish can't. And if there is only the closed lib, then the modified Stockfish version can't be distributed either - except by the authors who can chose dual-licencing, of course.
So you are saying that distributing a library that contains no GPL'd material from Stockfish whatsoever could not be distributed under another license than the GPL? That is of course false.

The only thing that could become illegal to distribute (because someone writes a proprietary replacement library that happens to offer the API that SF uses) is SF itself. But of course that is equally ridiculous!

The "entire work" concept of the GPLv3 simply makes no sense and is therefore likely unenforceable.

syzygy
Posts: 4441
Joined: Tue Feb 28, 2012 10:56 pm

Re: Do patches need to be open source?

Post by syzygy » Thu Feb 22, 2018 12:40 pm

mar wrote:
Fulvio wrote: Incorrect again, but i will not waste time explaining how linking works: you can google it.
A cheap non-argument, feeling cocky?

Are you serious to lecture me about how linking works? :D

Distributing object files with existing binary is impractical (let's avoid being rude calling it nonsense) for reasons I explained in another post.
You said it can't be done without distributing the source, and obviously it can be done without distributing the source, so why not simply admit that you got it wrong... There is no shame in admitting a mistake.

mar
Posts: 1981
Joined: Fri Nov 26, 2010 1:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Do patches need to be open source?

Post by mar » Thu Feb 22, 2018 12:57 pm

syzygy wrote:You said it can't be done without distributing the source, and obviously it can be done without distributing the source, so why not simply admit that you got it wrong... There is no shame in admitting a mistake.
Even if it could be done this way (assuming the license would allow that), it'd be impractical to do so - so not really a practical option.

I'd like to see a single project that links statically and distributes object files this way.

So even if I'd admit that it "can be done", it's so annoying that nobody does that. Yes, you can hit a nail with a plane but nobody does that for obvious reasons.

User avatar
Ovyron
Posts: 2254
Joined: Tue Jul 03, 2007 2:30 am

Re: Do patches need to be open source?

Post by Ovyron » Thu Feb 22, 2018 1:27 pm

MikeB wrote:You do know the whole point of being open source is to share.
Sharing is done to ACTUAL, REAL people, you don't just share to hypothetical people that could benefit from your work.

I had my doubts on this, but it seems clear nobody posting on this thread is from the actual people that would benefit and be grateful if something like this was released as open source, so I'm glad this is remaining private.

The problem with open source is that the thing is shared to everyone equally, it doesn't matter if they deserve it or not.

So I'm currently thinking there are things that should only be shared to people that will appreciate it, because if it was distributed to everyone people like Mr. Dann "We can live without it" Corbit would also get their hands on it.

Disclaimer: Of course, I didn't implement some Learning Algorithm in Stockfish :roll: - this was a hypothetical scenario, but the information gathered was very useful, since in the entire thread I didn't see anyone caring about the actual algorithm, just about if some random licence was violated or not. The licence is the most important thing for people, not what other people that would benefit get or not, I guess this explains the current state of the world. This thread was an eye-opener, I just wish I had posted "Suppose I implement some new Algorithm in Stockfish that makes it 200 elo stronger than it is currently, but I don't want to open the source, because I want to keep my Algorithm secret", certainly the following conversations would have been more interesting...
Make someone happy today.

User avatar
velmarin
Posts: 1598
Joined: Mon Feb 21, 2011 8:48 am

Re: Do patches need to be open source?

Post by velmarin » Thu Feb 22, 2018 1:40 pm

mar wrote:
syzygy wrote:You said it can't be done without distributing the source, and obviously it can be done without distributing the source, so why not simply admit that you got it wrong... There is no shame in admitting a mistake.
Even if it could be done this way (assuming the license would allow that), it'd be impractical to do so - so not really a practical option.

I'd like to see a single project that links statically and distributes object files this way.

So even if I'd admit that it "can be done", it's so annoying that nobody does that. Yes, you can hit a nail with a plane but nobody does that for obvious reasons.
If this is the case, you don't need to distribute these large files either, a download link is sufficient.
For example in Stockfish it is not necessary to download the code to have an executable.

Post Reply