Discussion:
[9fans] Plan 9 technical docs and man pages - licensed or "public domain"?
(too old to reply)
Andy Elvey
2012-07-25 00:24:22 UTC
Permalink
Hi everyone - I'm a first-timer here -

I'm thinking of doing a "public domain" implementation (in C) of 9P.
I've seen the large listing (on the cat-v site) of existing 9P
implementations which are under various licenses, and so in thinking
about where those people obtained the required information from, the
following questions came to mind -

a) The information *must* have been obtained from the Plan 9 technical
docs (specification papers) or the Plan 9 man pages. Can the information
in either of these be regarded as being "public domain"? (It would seem
to be, given the number of different licenses of the various
implementations. They could surely not have taken LPL-licensed code and
then converted it to GPL, BSD, MIT......?

It would seem that the proliferation of licenses could only be done if
the original source of the information was "public domain". )

b) If the answer to (a) is "yes" - does that include the source-code
shown in those papers (and the man pages)?

I've seen the "public domain" implementation of 9P in Python (by Tim
Newsham), so I assume he got the required information from the places
I've mentioned.

Thanks for your time - looking forward to your replies.
- Andy
hiro
2012-07-25 02:18:53 UTC
Permalink
nobody here's a lawyer.
andrey mirtchovski
2012-07-25 02:47:37 UTC
Permalink
I'm not a lawyer but I play one in comedy clubs. The first
implementation of 9p came about long before Plan 9 had a free (as in
rms) license. Nobody got sued, nobody died, although a few bystanders
were maimed.

My advice as your lawyer [in comedy] would be to go nuts and do
whatever you want. The documentation[1] is a good place to start if
you don't want to look at any source (no license required to see
that!), and if you want to cover all corner cases, a running Plan 9
kernel is a good client/server to test against.

----
1: http://plan9.bell-labs.com/sys/man/5/INDEX.html
andrey mirtchovski
2012-07-25 02:52:12 UTC
Permalink
Post by andrey mirtchovski
(no license required to see
that!)
there is, however, a copyright link at the bottom of each man page. as
your lawyer [in comedy] i advise you to click it.
Andy Elvey
2012-07-25 03:31:34 UTC
Permalink
Hi Andrey - thanks for your reply!
Post by andrey mirtchovski
I'm not a lawyer but I play one in comedy clubs. The first
implementation of 9p came about long before Plan 9 had a free (as in
rms) license. Nobody got sued, nobody died, although a few bystanders
were maimed.
Interesting. It's good to find out a bit of the history behind 9p.
Post by andrey mirtchovski
My advice as your lawyer [in comedy] would be to go nuts and do
whatever you want. The documentation[1] is a good place to start if
you don't want to look at any source (no license required to see
that!), and if you want to cover all corner cases, a running Plan 9
kernel is a good client/server to test against.
----
1: http://plan9.bell-labs.com/sys/man/5/INDEX.html
Thanks for that! I'll check that page out too.
Btw - I clicked on the "copyright" link at the bottom, but the link is
dead - nothing but a 404 page error.

In looking at Tim Newsham's P9.py, he has a comment in the code - "9P
protocol implementation as documented in plan9 intro(5) and <fcall.h>."
( I would likely be even more cautious and avoid looking at any header
files if possible. )
Thanks again, Andrey - you've been very helpful!
- Andy
erik quanstrom
2012-07-25 03:58:08 UTC
Permalink
Post by Andy Elvey
In looking at Tim Newsham's P9.py, he has a comment in the code - "9P
protocol implementation as documented in plan9 intro(5) and <fcall.h>."
( I would likely be even more cautious and avoid looking at any header
files if possible. )
Thanks again, Andrey - you've been very helpful!
section 5 of the manual should be a complete description of the protocol.
the comment might be slightly misleading.

that not withstanding, ianal, but my understanding is that header files, are
considered similar to facts under copyright law, and therefore not copyrightable.

- erik
John Floren
2012-07-25 04:06:07 UTC
Permalink
Post by Andy Elvey
Hi Andrey - thanks for your reply!
I'm not a lawyer but I play one in comedy clubs. The first
implementation of 9p came about long before Plan 9 had a free (as in
rms) license. Nobody got sued, nobody died, although a few bystanders
were maimed.
Interesting. It's good to find out a bit of the history behind 9p.
My advice as your lawyer [in comedy] would be to go nuts and do
whatever you want. The documentation[1] is a good place to start if
you don't want to look at any source (no license required to see
that!), and if you want to cover all corner cases, a running Plan 9
kernel is a good client/server to test against.
----
1: http://plan9.bell-labs.com/sys/man/5/INDEX.html
Thanks for that! I'll check that page out too.
Btw - I clicked on the "copyright" link at the bottom, but the link is dead
- nothing but a 404 page error.
In looking at Tim Newsham's P9.py, he has a comment in the code - "9P
protocol implementation as documented in plan9 intro(5) and <fcall.h>."
( I would likely be even more cautious and avoid looking at any header files
if possible. )
Thanks again, Andrey - you've been very helpful!
- Andy
Just write the code, nobody cares. The manual pages define an
interface, and you're going to implement it. The manual pages are
copyrighted, sure, because they're written works and are automatically
protected by copyright.

Besides the recent Google vs. Oracle fiasco, I can't think of a time
an open-source project had legal problems by writing new code to
implement an API. And, based on a brief reading of
http://www.groklaw.net/pdf3/OraGoogle-1202.pdf, it looks as though a
US judge has ruled that an API is not subject to copyright; if you
implement the 9P API, you should be fine. Also, since you're doing a
free reimplementation of code which is currently available free to
everyone by the creators (Lucent), I have a hard time figuring out
exactly what basis they'd have for a lawsuit.


john
Andy Elvey
2012-07-25 06:01:17 UTC
Permalink
On 25/07/12 16:06, John Floren wrote:
(snip)
Post by John Floren
Just write the code, nobody cares. The manual pages define an
interface, and you're going to implement it. The manual pages are
copyrighted, sure, because they're written works and are automatically
protected by copyright. Besides the recent Google vs. Oracle fiasco, I
can't think of a time an open-source project had legal problems by
writing new code to implement an API. And, based on a brief reading of
http://www.groklaw.net/pdf3/OraGoogle-1202.pdf, it looks as though a
US judge has ruled that an API is not subject to copyright; if you
implement the 9P API, you should be fine. Also, since you're doing a
free reimplementation of code which is currently available free to
everyone by the creators (Lucent), I have a hard time figuring out
exactly what basis they'd have for a lawsuit. john
Hi John - thanks for that.
Thanks also to everyone who has commented in this thread - you've been
very helpful! This is one of the most helpful lists that I've been on.
This feedback is very useful as a guide to how to proceed.

Although I'm not running Plan 9 at present (I'm on Linux), I'm very
impressed with its elegance. Everything from kbdfs to the plumber to the
Venti filesystem - it's all beautifully thought-out. The way that Venti
uses SHA1 hashes to store data reminds me a lot of Git (which I also
really like - there's another elegantly designed bit of software).
Thanks again, all - bye for now :)
- Andy
David Leimbach
2012-07-25 14:14:59 UTC
Permalink
Post by Andy Elvey
(snip)
Just write the code, nobody cares. The manual pages define an interface,
and you're going to implement it. The manual pages are copyrighted, sure,
because they're written works and are automatically protected by copyright.
Besides the recent Google vs. Oracle fiasco, I can't think of a time an
open-source project had legal problems by writing new code to implement an
API. And, based on a brief reading of
http://www.groklaw.net/pdf3/OraGoogle-1202.pdf, it looks as though a US
judge has ruled that an API is not subject to copyright; if you implement
the 9P API, you should be fine. Also, since you're doing a free
reimplementation of code which is currently available free to everyone by
the creators (Lucent), I have a hard time figuring out exactly what basis
they'd have for a lawsuit. john
Hi John - thanks for that.
Thanks also to everyone who has commented in this thread - you've been
very helpful! This is one of the most helpful lists that I've been on.
This feedback is very useful as a guide to how to proceed.
Although I'm not running Plan 9 at present (I'm on Linux), I'm very
impressed with its elegance. Everything from kbdfs to the plumber to the
Venti filesystem - it's all beautifully thought-out. The way that Venti
uses SHA1 hashes to store data reminds me a lot of Git (which I also really
like - there's another elegantly designed bit of software).
Thanks again, all - bye for now :)
- Andy
Linux of course has v9fs which is a 9P implementation in the kernel.
andrey mirtchovski
2012-07-25 04:08:14 UTC
Permalink
Post by Andy Elvey
Btw - I clicked on the "copyright" link at the bottom, but the link is dead
- nothing but a 404 page error.
that's the joke :) plan9 has been considered a dead operating system
for a long time.

from my (admittedly little) experience with 9p implementations, the
ones done "outside" of plan9 code influence were done based on the man
pages and then tested against the plan9 kernel driver. the
implementations that came after Lucent Public Licence 1.0.2 (the
OSS-approved one) all share a few similarities, mostly in structs. I
think they all "gleaned" from Russ Cox's plan9port C code which may
have been used as a reference. the 9p code in the linux kernel, i
believe, doesn't share similarities in its data structs with plan9
(compare p9_fcall with fcall).

I think Tim's py9p came after the OSS approval of the Lucent licence.
I can tell you that Tim's original implementation used an
unmarshalling routine that was definitely not derived from read9pmsg.
it was (is) very python-y.
erik quanstrom
2012-07-25 04:10:52 UTC
Permalink
Post by andrey mirtchovski
that's the joke :) plan9 has been considered a dead operating system
for a long time.
ssssh. don't tell my employer.

- erik
Skip Tavakkolian
2012-07-25 04:33:12 UTC
Permalink
For a dead OS, Plan 9 sure gets around ;)

Plan 9, a nurse-log of modern computing.

-Skip
Post by erik quanstrom
Post by andrey mirtchovski
that's the joke :) plan9 has been considered a dead operating system
for a long time.
ssssh. don't tell my employer.
- erik
Jens Staal
2012-07-25 05:09:48 UTC
Permalink
Post by Skip Tavakkolian
For a dead OS, Plan 9 sure gets around ;)
Plan 9, a nurse-log of modern computing.
-Skip
Post by erik quanstrom
Post by andrey mirtchovski
that's the joke :) plan9 has been considered a dead operating system
for a long time.
ssssh. don't tell my employer.
- erik
It must be Eros stimulating its pituitary and pineal glands. ;)

(http://en.wikipedia.org/wiki/Plan_9_from_Outer_Space)
Continue reading on narkive:
Search results for '[9fans] Plan 9 technical docs and man pages - licensed or "public domain"?' (Questions and Answers)
11
replies
How did the the Internet get started?
started 2007-02-11 06:06:14 UTC
trivia
Loading...