Re: Is the BitKeeper network protocol documented?

Jamie Lokier
2003-01-18T05:01:16Z

David Schwartz wrote:
> I'm starting to think that one cannot legally use BitKeeper as the
> preferred means of developing a GPLed program. The problem is, the
> GPL defines the source as the preferred base to modify the software
> from and requires you to be able to distribute the source without any
> additional licensing requirements.

It doesn't require that you distribute the tools for editing the
source, though. For example I believe it is fine to distribute a
program for Microsoft Visual Studio, in the form of the files you
would actually use with Visual Studio, even though the format of some
of those files is not documented.

> Providing the source in BK form without BK is as useless as
> providing it encrypted. Providing it in any other form does not
> satisfy the GPL (assuming that BK form is in fact the preferred way
> of modifying it).

I disagree, because the BK file format is actually quite well
documented - it is SCCS with some annotations that do not seem
essential if you are using a different tool.

The data is easily extracted using an SCCS-compatible tool. It is
certainly not encrypted, and I had no difficulty writing a Perl script
to extract any version of the source, although I have yet to look if
changesets are so easy as individual files.

Credit to Larry, for choosing an easily read file format.

(Although not perfectly - see the CSSC documentation for some things
that they are not sure how to decode in an SCCS file - and yes, those
do appear in BK-generated SCCS files from time to time).

> If BitKeeper is the version management tool, then BitKeeper is part
> of the source by this definition.

Linus and other people have said repeatedly that BitKeeper is _not_
essential to working with them on the kernel.

That said, it does seem that if you can't read bkbits.net, then you
are at a disadvantage sometimes.

-- Jamie