[darcs-users] Re: how to redistribute darcs+Eclipse

Max Battcher me at worldmaker.net
Thu Jun 9 16:22:40 UTC 2005


Ketil Malde wrote:
> Max Battcher <me at worldmaker.net> writes:
> 
> 
>>>(I may be totally off base here, but if not, this could be
>>>an argument for the "pull" model rather than "send" -- "pull" would of
>>>course get its changes from a repository that includes the licencing
>>>information, the "send" is just the patch.)
> 
> 
>>Ah, but "darcs send" (in most instances) performs an inventory (and
>>motd?) "pull", and supposedly, somewhere along the line in order to
>>create the patch in the first place, the user must have done a "darcs
>>get" (or "darcs init"/"darcs pull").
> 
> 
> I'm not sure I understand what you mean (either that, or vice versa).
> 
> If I get the darcs source, modify, and 'darcs send' it to droundy@,
> all he gets is the patch (my name and the patch's number, a file name,
> line numbers, and the text I've added to the file), and the context as
> a list of previously applied patches.  There is no mention of
> licensing anywhere, and we're down to quibbling about whether the list
> of patches makes it a derived work, and/or whether "common sense"
> dictates that I implicitly GPL'ed it by sending it to the list.  Not
> to mention whose jurisdiction gets to decide.
> 
 > If instead I want David to pull from my repository, it requires me to
 > publish the repository containing all files, including the full GPL
 > licence text in the COPYING file or similar.  Thus, if I later claim
 > that my patch wasn't intended to be GPL'ed, you can point to the fact
 > that I published it as part of a GPL-licensed program, and that I
 > published it along with the GPL license text.

The key word you used was "context"!  In order to create the context, 
darcs has to know the state of the two repositories.  This includes an 
immediate pull (when you hit the send command) of the inventory of the 
remote repository so that it can compare your repo to the remote one. 
(To avoid this immediate pull you have to manually generate a context file.)

If David wanted to, he could have send pull a fresh GPL and display it 
as a send "message of the day".  He doesn't have to because the context 
of the patch has to derive for the states of both his repo and yours. 
That context can even tell him that your repo does indeed contain the 
patch which adds the GPL license and that you willingly ignored it.

Push, send, or pull doesn't matter because the GPL, which is the license 
of darcs and the stated license of all patches applied to darcs, is in 
the main repository and at some point you started with a copy of the 
main repository or had to (possibly indirectly) talk (even just to get 
the inventory status) to the main repository to make that patch. 
Albeit, it is possible although it would be extremely hard to generate a 
good, useful patch to darcs without the contents of _most_ of the 
repository.  Even then, to claim that you had no knowledge of the 
contents of the main repository prior to submitting that patch would 
most likely be perjury and upon submitting and the generation of the 
context file you and/or your computer has definite knowledge of the 
state of the other repository.

Basically, to sum everything up: Any and all patches are derivative of 
some tree.  There is no patch without context to the tree it is 
deriving.  This is one of the basic requirements for darcs to work, even.

-- 
--Max Battcher--
http://www.worldmaker.net/
The WorldMaker.Network: Support Open/Free Mythoi.  Read the manifesto @ 
mythoi.com




More information about the darcs-users mailing list