question about releasing pulsar under gpl

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
adams161
Posts: 491
Joined: Sun May 13, 2007 7:55 pm
Location: Tacoma, WA USA

question about releasing pulsar under gpl

Post by adams161 » Fri Jun 12, 2009 5:57 pm

I am giving serious thought to releasing pulsar under gpl, probably this month. I had some questions. Lets say i call the pulsar i release under gpl copy-of-code-999.

Here is my understanding of its life under gpl.

Anyone can download the source and modify it as they see fit and would also have the right to make money off their changes or otherwise involve the code in commercial ventures as long as they kept their branch open source. I myself could adopt their changes but once i include others work in my code i am also obligated to keep that branch open source. the code as it developes under gpl by myself and others would remain under gpl with future people of interest able to get a modifed version by others who modified it under gpl and also do wahtever they want as long as they keep it open source and under gpl.

Now there is definitely a chance that no serous branch but my own could ever emerge. I expect a lot of typical downloads of the source to be by people who simply want to compile their own binaries, make minor customizations or change defeault settins, or otherwise tweak the code. They would be obligated to release it under gpl any changes but i'm not interested in playing policeman if i a guy just changed a few settings. Possibly if they just tweaked some settings for a personal use copy they woudlnt be oligated to release it at all i dont know. Also students of chess programs might download it to learn how it works or borrow ideas. Under this scenario no second author comes along and makes any serious contributations.

Now if there is no serious author who comes along to make any significant changes and in the future i develope copy-of-code-1000, and i have not adopted any gpl code that was writtten by someone else, could i then do what i want with copy-of-code-1000 and not be bound by gpl for that branch. Also if out of the minor custimizations that occur, lets say i borrow and idea or two, better settings, minor features that make it easier to use, but i never download their code, i'm simply borrowing an idea much as i could borrow an idea from changes in programs that are not my own, would i be bound by gpl?

I understand that if serious changes are made by another under gpl and i wish to incorporate those changes into my code the i would be bound by gpl for that future branch of the program, unless perhaps they released me from gpl. I.e if me and Tom are the only two working on it under gpl, we could reach an agreement that would allow us to both agree to move it to another liscence.

I also want the binary of copy-of-code-999 that i release under gpl to have a life independent on if i deceide to keep the code up on my web site. hypothetically i could completely take down my web site, remove the code, but the binary could live on ( as well as code if others were smart enough to download it) distributed on others web sites. i would not want them from beign prohibited from distributeing my binary i made of copy-of-code-999 just because they cant find the code its based on anymore. Nor do i want them to be olbigated to even maintain a copy of the code. for example i mail a copy of the binary to xyz-download-an-engine.com. I want them to simply be able to make it available for download with no headaches as to the code.

these are my questions,

Mike

Aleks Peshkov
Posts: 866
Joined: Sun Nov 19, 2006 8:16 pm
Location: Russia

Re: question about releasing pulsar under gpl

Post by Aleks Peshkov » Fri Jun 12, 2009 9:57 pm

adams161 wrote:I myself could adopt their changes but once i include others work in my code i am also obligated to keep that branch open source.
No, you are as author not obligated to keep future releases under GPL.
I expect a lot of typical downloads of the source to be by people who simply want to compile their own binaries, make minor customizations or change defeault settins, or otherwise tweak the code. They would be obligated to release it under gpl any changes but i'm not interested in playing policeman if i a guy just changed a few settings. Possibly if they just tweaked some settings for a personal use copy they woudlnt be oligated to release it at all i dont know.
No, they are not obligated to release any private derivated work. GPL says that only if they do decide to release, they have to release it under GPL, no more.
i would not want them from beign prohibited from distributeing my binary i made of copy-of-code-999 just because they cant find the code its based on anymore. Nor do i want them to be olbigated to even maintain a copy of the code. for example i mail a copy of the binary to xyz-download-an-engine.com. I want them to simply be able to make it available for download with no headaches as to the code.
When you release binaries together with the source code in one package you solve all GPL problems. AFAIK, any other variant of GPL distribution is impractical in Internet reality.

Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 9:01 pm
Location: Irvine, CA, USA

Re: question about releasing pulsar under gpl

Post by Dirt » Fri Jun 12, 2009 10:27 pm

Aleks Peshkov wrote:
adams161 wrote:I myself could adopt their changes but once i include others work in my code i am also obligated to keep that branch open source.
No, you are as author not obligated to keep future releases under GPL.
If the other's work is not trivial they become a co-author. Unless the copyright was assigned back to him, Mike would be bound by the GPL while he retained that contribution.

Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 9:01 pm
Location: Irvine, CA, USA

Re: question about releasing pulsar under gpl

Post by Dirt » Fri Jun 12, 2009 10:50 pm

adams161 wrote:Now if there is no serious author who comes along to make any significant changes and in the future i develope copy-of-code-1000, and i have not adopted any gpl code that was written by someone else, could i then do what i want with copy-of-code-1000 and not be bound by gpl for that branch. Also if out of the minor custimizations that occur, lets say i borrow and idea or two, better settings, minor features that make it easier to use, but i never download their code, i'm simply borrowing an idea much as i could borrow an idea from changes in programs that are not my own, would i be bound by gpl?
You would not be bound by the GPL if you never looked at the new code. Once you have looked at the code you still might not be, but you would lose the presumption of originality for your changes.
adams161 wrote:I understand that if serious changes are made by another under gpl and i wish to incorporate those changes into my code the i would be bound by gpl for that future branch of the program, unless perhaps they released me from gpl. I.e if me and Tom are the only two working on it under gpl, we could reach an agreement that would allow us to both agree to move it to another liscence.
Right. For instance, the FSF only accepts code if the copyright of the changes is assigned to them.
adams161 wrote:I also want the binary of copy-of-code-999 that i release under gpl to have a life independent on if i deceide to keep the code up on my web site. hypothetically i could completely take down my web site, remove the code, but the binary could live on ( as well as code if others were smart enough to download it) distributed on others web sites. i would not want them from beign prohibited from distributeing my binary i made of copy-of-code-999 just because they cant find the code its based on anymore. Nor do i want them to be olbigated to even maintain a copy of the code. for example i mail a copy of the binary to xyz-download-an-engine.com. I want them to simply be able to make it available for download with no headaches as to the code.
The GPL does not allow this. You could release your binary outside the GPL as well, perhaps adding a Creative Commons license, and keep the source under the GPL only. Others who might make a new version under the GPL would not be able to do this.

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 5:45 pm
Location: Finland
Contact:

Re: question about releasing pulsar under gpl

Post by ilari » Sat Jun 13, 2009 12:11 am

Aleks Peshkov wrote:When you release binaries together with the source code in one package you solve all GPL problems. AFAIK, any other variant of GPL distribution is impractical in Internet reality.
I don't think that's practical at all. Usually people want either the binaries or the source code, but not both. It's best to keep the source code in a source code management repository or a platform-independent package, and provide separate binary packages for all supported platforms. You can save a lot of bandwidth that way too.

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 7:17 pm

Re: question about releasing pulsar under gpl

Post by mcostalba » Sat Jun 13, 2009 8:57 am

Aleks Peshkov wrote:
adams161 wrote:I myself could adopt their changes but once i include others work in my code i am also obligated to keep that branch open source.
No, you are as author not obligated to keep future releases under GPL.
No this is wrong. If a developer adds in its project some GPL code then its project become GPL. No more no less.


This is independent from the fact that the added GPL code derives itself from an ancestor GPL code of the former developer.

I will answer the other questions in a separate post.

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 7:17 pm

Re: question about releasing pulsar under gpl

Post by mcostalba » Sat Jun 13, 2009 9:36 am

adams161 wrote: Anyone can download the source and modify it as they see fit and would also have the right to make money off their changes or otherwise involve the code in commercial ventures as long as they kept their branch open source. I myself could adopt their changes but once i include others work in my code i am also obligated to keep that branch open source. the code as it developes under gpl by myself and others would remain under gpl with future people of interest able to get a modifed version by others who modified it under gpl and also do wahtever they want as long as they keep it open source and under gpl.
Yes, it is like this.
adams161 wrote: Now if there is no serious author who comes along to make any significant changes and in the future i develope copy-of-code-1000, and i have not adopted any gpl code that was writtten by someone else, could i then do what i want with copy-of-code-1000 and not be bound by gpl for that branch.
Yes. You can relicense a new verison of your program in any way. But the old version copy-of-code-999 licensed under GPL, should keep the GPL licensing.

See:

http://www.gnu.org/licenses/gpl-faq.htm ... erGPLAndNF
adams161 wrote: Also if out of the minor custimizations that occur, lets say i borrow and idea or two, better settings, minor features that make it easier to use, but i never download their code, i'm simply borrowing an idea much as i could borrow an idea from changes in programs that are not my own, would i be bound by gpl?
No. You need to incorporate code to be bound to GPL, if you just take ideas (but implement differently) you don't need to release under GPL....otherwise I would think most (if not all) of current chess engines would be GPL...starting from the currently strongest one :-)

adams161 wrote: I understand that if serious changes are made by another under gpl and i wish to incorporate those changes into my code the i would be bound by gpl for that future branch of the program, unless perhaps they released me from gpl. I.e if me and Tom are the only two working on it under gpl, we could reach an agreement that would allow us to both agree to move it to another liscence.
Tom could relicense or better dual-license under a, public-domain-software license as example, his work and you can borrow the new code under the other non-restrictive license. So you don't have constraints in this way.

Problem is that anybody can do the same. ;-)

Note that Tom cannot relicense for exclusive use.

See.
http://www.gnu.org/licenses/gpl-faq.htm ... ThirdParty
adams161 wrote: I also want the binary of copy-of-code-999 that i release under gpl to have a life independent on if i deceide to keep the code up on my web site. hypothetically i could completely take down my web site, remove the code, but the binary could live on ( as well as code if others were smart enough to download it) distributed on others web sites. i would not want them from beign prohibited from distributeing my binary i made of copy-of-code-999 just because they cant find the code its based on anymore. Nor do i want them to be olbigated to even maintain a copy of the code. for example i mail a copy of the binary to xyz-download-an-engine.com. I want them to simply be able to make it available for download with no headaches as to the code.
You are not forced to bundle binary and sources in one package

See:
http://www.gnu.org/licenses/gpl-faq.htm ... erentSites

and

http://www.gnu.org/licenses/gpl-faq.htm ... endSources


Anyhow the preferred way to publish your GPL work is to distribute a package with source-only (as is done with Stockfish by me) or sources+binaries.

Sources should be avoided when are impractical, as example Firefox is releases without sources to avoid 1 GB of stuff each new version, but you can always and easily get the sources from their site.

In case of chess engines I would think there is not any problem in create one bundle sources+binaries or at least soures only if you are not able to properly compile your stuff...as I am not able with Stockfish ;-)


Hope this can help a bit.

adams161
Posts: 491
Joined: Sun May 13, 2007 7:55 pm
Location: Tacoma, WA USA

Re: think i will use gpl

Post by adams161 » Sat Jun 13, 2009 9:56 pm

I am thinking i will go gpl.

I'm expecting common uses of the code to be 'hey i want to look it over and get ideas how it works' or i want to make my own binaries, or i want to tweak it or customize it in some way.

None of this would typically make me feel i need their code in my code so i would probably in the future be able to maintain rights to move another copy of the code out of gpl, i.e. i havent used any gpl code.

in the event someone does branch it and make significant changes, i look at it this way. If i give a free liscence they can cut me off and eclipse my program and of course i would not be happy with that.

If its under gpl i have the tempation of using their code and binding me to gpl, but at least i have the choice. This seems better than the risk i stated above.

As regard to distribution, I dont care whats standard, this is how i intend to do it if i'm not breaking the law. i will have a zip of the current code and past code releases on http://www.adam16mr.org/pulsar.html and there will be seperate zips for binaries. i will not release the binaries under gpl as long as i can be allowed to i.e. i havent used gpl code yet.

the web site pulsar.html has consistently been teh central place for pulsar downloads since 2003 when pulsar was first released. It is well ranked in google and other search engines so even without knowledge of this, it can be expected that someone searcching for pulsars code would have good chances of finding it. there would be no accusations i'm being confusing or moveing the code from one site to another every year making it hard to find it.

Mike

Post Reply