public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Is the BitKeeper network protocol documented?
@ 2003-01-21 19:22 Larry McVoy
  0 siblings, 0 replies; 61+ messages in thread
From: Larry McVoy @ 2003-01-21 19:22 UTC (permalink / raw)
  To: David Schwartz; +Cc: dana.lacoste, linux-kernel

On Tue, Jan 21, 2003 at 10:34:12AM -0800, David Schwartz wrote:
> 	I think I've said all I have to say on this subject, especially 
> since it doesn't affect the Linux kernel at this time. However, I 
> caution against ever allowing a situation where the preferred form 
> for making changes of any GPL'd project, preferred by the people 
> making the changes, is in any way a proprietary system.

But people don't make changes with BitKeeper, they record them.  So if
you want to push this point, you need to address 2 sections of the GPL:

    In addition, mere aggregation of another work not based on the Program
    with the Program (or with a work based on the Program) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.

It's extremely easy to argue that putting a work in BK, CVS, a file
system, a tarball, whatever, is "mere aggregation".  Just because you
put a GPLed program on a Windows PC does not make the Windows NTFS
metadata GPLed.  The same is true for any storage container.

    The source code for a work means the preferred form of the work for
    making modifications to it.

People modify source code with editors.  No source management system
modifies the data, just as tar doesn't modify the data and a file system
doesn't modify the data.  So this statement doesn't make your case and
it seems to be the cornerstone of your case.

You'd have a much stronger argument if BitKeeper was an editor or an
IDE in which people made changes.  You could perhaps make the case that
Visual Slickedit (or some other commercial editor) had to come with the
source if everyone were using that editor to make changes.

I don't think you have a case.  There is a fair amount of case law which
makes it clear that no matter what a license says, it can't overstep
the law.  A good one was on slashdot in the last few days, some company
had a fairly standard "you can't benchmark this and report results"
and someone challenged it and won.  The license was telling you that
you couldn't do something that you had the legal right to do, so that
part of the license was overturned.

I think your "preferred form" argument falls into a similar camp.  It may
be that you and the rest of the world decide that your preferred form
is the BK repositories; unless enforcing that is actually legal, your
decision is meaningless, it has no legal weight.  I strongly believe that
what you are suggesting is not legal and I'm pretty sure IBM's lawyers
have looked deeply into this and they share my belief.  There is a fair
amount of case law concerning the boundaries and limits of a license.
I think if you go dig into it, you'll find that you can reach out across
clear boundaries.  Trying to apply the GPL to the metadata of a container,
be it an SCM system or a file system or an archival system, is crossing
clear boundaries and the law could care less what you prefer, a boundary
is a boundary is a boundary.

I'm not a lawyer.  I have spent a fair bit of money in legal fees looking
into this topic, however, so I'm not exactly ignorant on the topic either.
-- 
---
Larry McVoy            	 lm at bitmover.com           http://www.bitmover.com/lm 

^ permalink raw reply	[flat|nested] 61+ messages in thread
* Re: Is the BitKeeper network protocol documented?
@ 2003-01-21  0:28 Cort Dougan
  0 siblings, 0 replies; 61+ messages in thread
From: Cort Dougan @ 2003-01-21  0:28 UTC (permalink / raw)
  To: David Schwartz; +Cc: Valdis.Kletnieks, Linux Kernel Mailing List

I want a lock of David Millers hair with every TCP/IP stack patch.  Without
the hair, I cannot make my vodoo doll and without that I have nothing.

^ permalink raw reply	[flat|nested] 61+ messages in thread
* Re: Is the BitKeeper network protocol documented?
@ 2003-01-20 15:55 Theodore Ts'o
  2003-01-20 18:53 ` David Schwartz
  0 siblings, 1 reply; 61+ messages in thread
From: Theodore Ts'o @ 2003-01-20 15:55 UTC (permalink / raw)
  To: David Schwartz; +Cc: adilger, Roman Zippel, Larry McVoy, linux-kernel

On Sun, Jan 19, 2003 at 03:57:40PM -0800, David Schwartz wrote:
> 	I think you're ignoring the way the GPL defines the "source code". 
> The GPL defines the "source code" as the preferred form for modifying 
> the program. If the preferred form of a work for purposes of 
> modifying it is live access to a BK repository, then that's the 
> "source code" for GPL purposes.

You're being insane.  The preferred form is still the C source code.
You can store that C source code in many different forms.  For
example, I could put that C code in a CVS source repository, and only
allow access to it to core team members.  Many other open source
projects do things that way.  And many other open source projects
don't give raw access to the CVS source repository.  Sometimes this is
necessary, if they need to fix a security bug before it is announced
to the entire world.  

The GPL does not guarantee that you have access to the master source
repository, whether it is stored in a CVS repository, or a BK
repository.  And whether the master source repository is CVS or BK,
the preferred form for modifications doesn't change; it's still the C
code.

> 	You are using the conventional meaning of "source code", which is 
> roughly, "whatever you compile to get the executable". However, this 
> is not the "source" for GPL purposes. For GPL purposes, the source is 
> the preferred form of a work for purposes of modifying it.

You don't run emacs on the CVS ,v files, or BK's s. files.  That's
just the container.  It's no different from the raw underlying
filesystem format.  

You need to distinguish between how information is stored, and the
information itself.  If I store the master repository for an Open
Source project on an NTFS filesystem, does that make the NTFS
filesystem part of the preferred form?  Of course not!  You might have
to use the NTFS filesystem to get at the sources, but that doesn't
make it part of the preferred form.

						- Ted

^ permalink raw reply	[flat|nested] 61+ messages in thread
[parent not found: <20030120010504.AAA18836%shell.webmaster.com@whenever>]
[parent not found: <20030119235742.AAA13049%shell.webmaster.com@whenever>]
* Re: Is the BitKeeper network protocol documented?
@ 2003-01-18  6:22 Jamie Lokier
  0 siblings, 0 replies; 61+ messages in thread
From: Jamie Lokier @ 2003-01-18  6:22 UTC (permalink / raw)
  To: Larry McVoy, linux-kernel

(Whoops, sorry Larry, it's appropriate to include l-k in To:).

Larry McVoy wrote:
> As far as I can tell your complaint is that you can't have access to
> the up to minute source view without using something which violates
> your politics.

No; my complaint is that I'm not _allowed_ to use BitKeeper.

I'll use it if you say it's ok.  Do you grant me permission?

Your license seems to request that I don't use it, because of other
programs I work on which have nothing to do with the kernel or
politics.  I'm not going to enumerate them; suffice to say I think
they fall under clause 3(d) of the bkl.  I could be mistaken.

(It seems ironic, given that you and I share an interest - in tools to
improve the software engineering process).

Thanks,
-- Jamie

ps. Yes I know it's possible to pay - if I had any money.

pps. I was also letting you know you might like to update your web
page, which is out of date.

^ permalink raw reply	[flat|nested] 61+ messages in thread
* Is the BitKeeper network protocol documented?
@ 2003-01-18  4:33 Jamie Lokier
  2003-01-18  4:57 ` David Schwartz
                   ` (2 more replies)
  0 siblings, 3 replies; 61+ messages in thread
From: Jamie Lokier @ 2003-01-18  4:33 UTC (permalink / raw)
  To: Larry McVoy, linux-kernel

Dear Larry,

Please don't take this as a contentious question.  I have an honest
request, and would like a technical answer without politics if that's
possible.


Can't use BitKeeper
-------------------

I'll explain where I'm coming from.

Recently, I was debating with Linus about the new vsyscall code.  To
keep track of Linus' changes, so that I might make better comments and
produce a patch or so, I had a need to track the head of the kernel's
bitkeeper repository at bkbits.net.  (The experimental code was not
yet available as a normal patch from Linus).

Although I am unfortable using closed source software, it seemed
pragmatic to fetch and install BitKeeper.  I went to bitmover.com, and
read the free license before downloading:

	http://www.bitkeeper.com/Sales.Licensing.Free.html

That looked ok.  I am allowed to use it.  Great!

So I downloaded version 3.0, and typed "bk help bkl".  I found that
the license with the software is _different_ to the licence on the web
page.

	[Note to Larry, you may wish to update the above URL to the
	current version].

Unfortunately, the license that comes with the download adds a new
clause 3(d): that's the clause which tells me that actually I'm not
allowed to use BitKeeper, because of other software I occasionally
work on.  (No, I do not work on Subversion, but I do occasionally
dabble with sophisticated version management scripts).

So, being conscientious and obedient, I removed BitKeeper from my system.

As a result I had great difficulty having a meaningful debate with
Linus - as I had no easy way to look at the code Linus was checking
in, that we were talking about!  (And submitting a patch to illustrate
my thoughts was out of the question).


Real-time kernel tree only available over BitKeeper protocol?
-------------------------------------------------------------

To synchronise with the kernel repository, in order to communicate
effectively with Linus about changes as they are checked in, I think
that it's necessary to use the BitKeeper network protocol (or the
over-HTTP equivalent).

I know that Rik van Riel keeps a mirror of the repository in various
formats over at nl.linux.org:

	http://ftp.nl.linux.org/linux/bk2patch/

Thus far, the best solution I have for tracking checkins is to rsync
the SCCS files from Rik's mirror, and use a Perl script to extract the
head version from each SCCS file.  (I could use GNU CSSC, but for this
purpose a simple Perl script is enough; the SCCS file format is quite
simple).

However, as is the nature of mirrors, I'd rather not have to wait for
the time delay getting updates to Rik's mirror.  Not to mention the
lack of tree-wide atomicity, if I rsync at the wrong moment (I am not
sure if this is a problem in practice).

Anyway, the point is I would like to be able to access the "official"
kernel development tree, in real time like everyone else, which I
understand is only available at bkbits.net.

As far as I know, the only way to follow updates to the offical tree
is using the BitKeeper network protocol.

And I have not been able to find any documentation of that protocol.
(I hope it is not necessary to reverse engineer it!)


My question
-----------

Larry, or anyone else, can you direct me to the information I need to
track the kernel development tree in real time?  A document describing
the BitKeeper network protocol would be ideal.

I don't require to use the bk protocol - but if it that is as
efficient as you say on the bitmover.com web site, that would be nice.

Please note that I am _not_ writing a bk clone, or any other
significant VC project.  However I do wish to use my own software to
analyse changes to the Linux kernel as they are checked in, and I
think that is a reasonable request.


Thanks in advance,
-- Jamie Lokier

^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2003-01-22 15:29 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20030120194430.AAA20700%shell.webmaster.com@whenever>
2003-01-20 20:32 ` Is the BitKeeper network protocol documented? Valdis.Kletnieks
2003-01-20 21:27   ` David Schwartz
2003-01-21  8:51     ` Horst von Brand
2003-01-21 19:22 Larry McVoy
  -- strict thread matches above, loose matches on Subject: below --
2003-01-21  0:28 Cort Dougan
2003-01-20 15:55 Theodore Ts'o
2003-01-20 18:53 ` David Schwartz
     [not found] <20030120010504.AAA18836%shell.webmaster.com@whenever>
2003-01-20  1:37 ` Valdis.Kletnieks
     [not found] <20030119235742.AAA13049%shell.webmaster.com@whenever>
2003-01-20  0:36 ` Valdis.Kletnieks
2003-01-20  1:05   ` David Schwartz
2003-01-20 14:28     ` Dana Lacoste
2003-01-20 19:00       ` David Schwartz
2003-01-20 19:31         ` David Lang
2003-01-20 20:19           ` David Schwartz
2003-01-20 20:40             ` John Bradford
2003-01-20 20:48             ` Andreas Dilger
2003-01-20 21:14               ` David Schwartz
2003-01-20 21:58                 ` John Bradford
2003-01-20 21:37               ` Sam Ravnborg
2003-01-20 21:41             ` Rik van Riel
2003-01-21 16:04         ` Dana Lacoste
2003-01-21 18:34           ` David Schwartz
2003-01-21 18:49             ` John Bradford
2003-01-21 18:58             ` Sam Ravnborg
2003-01-21 19:27             ` Dana Lacoste
2003-01-21 21:04               ` David Schwartz
2003-01-21 19:51             ` Hua Zhong
2003-01-22  7:10               ` Jamie Lokier
2003-01-22  7:21                 ` John Alvord
2003-01-22 15:18                 ` Larry McVoy
2003-01-22 15:27                   ` Dana Lacoste
2003-01-22 15:38                     ` Larry McVoy
2003-01-20  1:46   ` David Lang
2003-01-20  1:52   ` Andre Hedrick
2003-01-18  6:22 Jamie Lokier
2003-01-18  4:33 Jamie Lokier
2003-01-18  4:57 ` David Schwartz
2003-01-18  5:10   ` Jamie Lokier
2003-01-18  7:23     ` David Schwartz
2003-01-18  5:02 ` Andrew Morton
2003-01-18  5:15   ` Jamie Lokier
2003-01-18  5:29 ` Larry McVoy
2003-01-18  6:11   ` Tupshin Harper
2003-01-18  6:20   ` Kevin Puetz
2003-01-18  6:39     ` Larry McVoy
2003-01-18  8:09   ` Jamie Lokier
2003-01-18  8:25     ` Andrew Morton
2003-01-18 14:22   ` Roman Zippel
2003-01-19 18:39     ` Andreas Dilger
2003-01-19 18:55       ` Jamie Lokier
2003-01-19 21:50       ` Roman Zippel
2003-01-19 23:26         ` Andreas Dilger
2003-01-19 23:57           ` David Schwartz
2003-01-20  0:20             ` Andreas Dilger
2003-01-20  0:38               ` David Schwartz
2003-01-20 15:52             ` Horst von Brand
2003-01-20 19:43               ` David Schwartz
2003-01-20 19:46               ` David Schwartz
2003-01-21  7:56                 ` Horst von Brand
2003-01-20 14:18           ` Roman Zippel
2003-01-22 12:24   ` Matthias Andree

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox