home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / pfkerm.zip / PFKERM.MSG < prev    next >
Text File  |  1997-11-12  |  16KB  |  414 lines

  1. file pfkerm.msg
  2.  
  3.      This contains some email correspondence between me
  4. (Frank Sergeant) and Frank da Cruz which augments and
  5. corrects my discussion of Kermit in my article "A Simple
  6. Implementation of the Kermit Protocol in Pygmy Forth".
  7. The email headers have been kept intact (except for
  8. wrapping to no more than 80 columns) to make it easier for
  9. you to follow who is saying what and when.  The complete
  10. package of files related to this article should be
  11. available on my web site
  12.  
  13.          http://www.eskimo.com/~pygmy/pfkerm.doc)
  14.  
  15. and on the Kermit ftp site
  16.  
  17.   ftp://kermit.columbia.edu/kermit/c/pf*               (for text files)
  18.   ftp://kermit.columbia.edu/kermit/archives/pfkerm.zip (for the zip file)
  19.  
  20.   -- Frank Sergeant
  21.   8 November 1997
  22.  
  23.  
  24. From fdc@watsun.cc.columbia.edu Wed Aug 13 09:47:08 1997
  25. Received: from poboxer.pobox.com (poboxer.pobox.com [208.210.124.21])
  26.   by mx2.eskimo.com (8.8.5/8.6.12) with ESMTP id JAA26079
  27.   for <pygmy@eskimo.com>; Wed, 13 Aug 1997 09:47:02 -0700 (PDT)
  28. Received: from watsun.cc.columbia.edu
  29.   (cu41841@watsun.cc.columbia.edu [128.59.39.2])
  30.      by poboxer.pobox.com (8.8.5/8.8.5) with ESMTP id MAA13352
  31.      for <pygmy@pobox.com>; Wed, 13 Aug 1997 12:45:49 -0400
  32. Received: (from fdc@localhost)
  33.      by watsun.cc.columbia.edu (8.8.5/8.8.5) id MAA03983;
  34.      Wed, 13 Aug 1997 12:45:49 -0400 (EDT)
  35. Date: Wed, 13 Aug 97 12:45:48 EDT
  36. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  37. To: pygmy@pobox.com
  38. Subject: Re: Kermit in Forth
  39. In-Reply-To: Your message of Tue, 12 Aug 1997 13:31:35 -0500
  40. Message-ID: <CMM.0.90.4.871490748.fdc@watsun.cc.columbia.edu>
  41. Status: R
  42. X-Status: A
  43.  
  44. > The actual Kermit protocol code is in the files KERMIT.SCR
  45. > (source code) and KERMIT.DOW (shadow or documentation) files
  46. > plus the text of my article in KERMIT.TXT.
  47. >
  48. OK, I've got them now, thanks!
  49.  
  50. > I suppose the article (KERMIT.TXT) would be the best file to start
  51. > reading.
  52. >
  53. OK, thanks.  Btw, here are a few corrections for your article, although
  54. I suppose it's too late now.
  55.  
  56.     Kermit is not only the name of Henson Associates Inc's
  57.     famous frog but also the name of an extensive and complex
  58.     file transfer/remote computer access application written by
  59.     Columbia University and/or volunteers (as I understand it)
  60.     and sold and distributed by Columbia University [1].
  61.  
  62. The implication that Kermit is "sold" and/or "not free" is something of
  63. an oversimplification.  There are hundreds of different Kermit programs,
  64. and each one might have a different copyright status.  The most popular
  65. versions are "free" in the sense that you can get and use them for free,
  66. but we also ask you to purchase the corresponding manual (for the good
  67. reasons that sales of these manuals are what support our continuing
  68. support and development work, and that they show you how to use the
  69. software), but they are "not free" in the sense that you can't resell
  70. them, bundle them with a product, etc, without licensing them.  The
  71. details are all on our website:
  72.  
  73.   http://www.columbia.edu/kermit/
  74.  
  75. and in particular:
  76.  
  77.   http://www.columbia.edu/kermit/licensing.html
  78.  
  79.     ... ZMODEM is usually considered to be the best
  80.     although there seem to be arguments between the kermit and
  81.     ZMODEM camps as to which is the better, faster protocol
  82.     under various circumstances.  I, personally, found the
  83.     ZMODEM arguments more persuasive...
  84.  
  85. Did you look at:
  86.  
  87.   http://www.columbia.edu/kermit/perf.html
  88.  
  89. which is a set of benchmarks of Kermit and XYZMODEM.  Also, did you
  90. know there is an entire book on the subject, "The Working Programmer's
  91. Guide to Serial Protocols", by Tim Kienzle?
  92.  
  93.     Similarly, the
  94.     use of Columbia University's Kermit product would have
  95.     required each customer to purchase a license for it (yes, it
  96.     is NOT free).
  97.  
  98. Again, it depends on which version.
  99.  
  100.     The Kermit Protocol
  101.  
  102.     My main guide for the Kermit protocol was _C
  103.     Programmer's Guide to Serial Communications_ by Joe Campbell
  104.     [2].  Note, there are some errors in Campbell's examples.
  105.  
  106. The definitive protocol reference is:
  107.  
  108. Frank da Cruz, "Kermit, A File Transfer Protocol", Digital Press /
  109. Butterworth Heinemann, Woburn, MA, 1987, 379 pages, ISBN 0-932376-88-6.
  110.  
  111.     Kermit
  112.     would allow for transmitting 7-bit data bytes by escaping,
  113.     with an ampersand, each byte with a high bit set and then
  114.     clearing that high bit, but we do not do this.
  115.  
  116. There is also a much more efficient (but more complicated) locking
  117. shift method.
  118.  
  119.     Unfortunately, not all
  120.     implementations of Kermit respect the request not to use
  121.     repeat counts.
  122.  
  123. Which ones did you find that didn't do this?
  124.  
  125. I'd be curious to know more about what's going on with Forth?  I take it
  126. that Forth is an "enclosed environment" that runs on various platforms,
  127. and the same Kermit program runs on the platforms where the Forth
  128. environment runs?  Can you list them?
  129.  
  130. Finally, would you want to write an announcement for your Kermit version
  131. that can be posed on the Kermit newsgroup?
  132.  
  133. Thanks again!
  134.  
  135. - Frank
  136.  
  137.  
  138.  
  139. From: pygmy@eskimo.com (Frank Sergeant)
  140. To: fdc@watsun.cc.columbia.edu
  141. Subject: Re: Kermit in Forth
  142. Date: Mon, 18 Aug 1997 14:32:43 -0500
  143. Reply-To: pygmy@pobox.com
  144. Message-ID: <bNK+zYv1uc9T084yn@eskimo.com>
  145. In-Reply-To: <CMM.0.90.4.871490748.fdc@watsun.cc.columbia.edu>
  146. Lines: 126
  147. X-Status: U
  148.  
  149. Dear Frank,
  150.  
  151. > OK, thanks.  Btw, here are a few corrections for your article, although
  152. > I suppose it's too late now.
  153.  
  154.      Thanks for the corrections and further
  155. information.  It is too late for the article in
  156. _Forth Dimensions_, as the issue has already come
  157. out.  However, if it is ok with you, what I might
  158. do is add your letter to the pygmy15.zip file and
  159. mention on my web site that the additional
  160. information is available.
  161.  
  162. > The implication that Kermit is "sold" and/or "not free" is something of
  163. > an oversimplification.  There are hundreds of different Kermit programs,
  164. > and each one might have a different copyright status.  The most popular
  165. > versions are "free" in the sense that you can get and use them for free,
  166. > but we also ask you to purchase the corresponding manual (for the good
  167.               ^^^
  168. ...
  169. > software), but they are "not free" in the sense that you can't resell
  170. > them, bundle them with a product, etc, without licensing them.  The
  171.         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  172.  
  173.      Well, that is more or less my point.  I don't
  174. see how we can ask our clients to each ftp a copy
  175. of the program, so we would seem to need to give
  176. them a copy (which I suppose comes under the
  177. category of "bundle").  As I read the licensing
  178. information, the simplest way would be for us to
  179. also buy each of them the _Using MS-DOS Kermit_
  180. book.  To me, that seems equivalent to saying that
  181. (your primary MS-DOS Kermit distribution) it is
  182. "sold" and/or "not free".  Perhaps I'm overlooking
  183. some subtle distinction, but that seems to me to
  184. be the pratical effect.  Still, I am not sure that
  185. that wouldn't have been best after all, but it was
  186. one more complexity I was trying to avoid.
  187. Obviously, the full Kermit is an impressive
  188. system.  I hope to look into it more fully,
  189. eventually.
  190.  
  191. >     ... ZMODEM is usually considered to be the best
  192. ...
  193. > Did you look at:
  194. >
  195. >   http://www.columbia.edu/kermit/perf.html
  196. >
  197. > which is a set of benchmarks of Kermit and XYZMODEM.
  198.  
  199.      I have now forgotten what I did look at.  I
  200. believe I read something from the columbia site
  201. and then read a rebuttal of it from the Oman site.
  202.  
  203. > Also, did you
  204. > know there is an entire book on the subject,
  205. > "The Working Programmer's
  206. > Guide to Serial Protocols", by Tim Kienzle?
  207.  
  208.      I have seen title mentioned, but I haven't
  209. seen the book.  Do you recommend it?
  210.  
  211. > The definitive protocol reference is:
  212. >
  213. > Frank da Cruz, "Kermit, A File Transfer Protocol",
  214. > Digital Press /
  215. > Butterworth Heinemann, Woburn, MA, 1987, 379 pages,
  216. > ISBN 0-932376-88-6.
  217.  
  218.      And I wish I'd had it to hand at the time.
  219.  
  220. >     Unfortunately, not all
  221. >     implementations of Kermit respect the request not to use
  222. >     repeat counts.
  223. >
  224. > Which ones did you find that didn't do this?
  225.  
  226.      It was a version of Kermit from some years
  227. ago running on a '486.  I got it, basically
  228. already set up, from Southwest Texas State
  229. University for use in connecting to their VAX.
  230. I can't get version information from it now as I
  231. have since reformatted the hard disk.
  232.  
  233. > I'd be curious to know more about what's going on
  234. > with Forth?  I take it that Forth is an "enclosed
  235. > environment" that runs on various platforms, and
  236. > the same Kermit program runs on the platforms
  237. > where the Forth environment runs?  Can you list
  238. > them?
  239.  
  240.      At first, Forth was its own operating system
  241. and could run with very minimal hardware
  242. resources.  It is used extensively in embedded
  243. systems (controlling the Saudi Arabian airport,
  244. running the FedX handheld gizmos) as its own
  245. "enclosed environment".  In other areas, it
  246. usually runs under a host OS these days.  It is
  247. available for nearly every environment.  It is in
  248. the low-level boot ROM on Sun workstations, used
  249. for initial device configuration (although this is
  250. running before Unix comes up).  There are several
  251. versions running under Unix and Linux, Windows,
  252. DOS, the Mac, etc.  One of its first major
  253. applications was controlling radio telescopes and
  254. manipulating their data.  Pygmy Forth runs in DOS,
  255. using DOS or BIOS calls for its I/O.  It seems to
  256. run in just about any DOS box (under Windows 3.1,
  257. Windows 95, OS/2, or Linux's dos emulator).  So,
  258. the only environment Pygmy Forth runs in is DOS.
  259. The KERMIT.SCR code almost certainly could not be
  260. loaded unchanged into a different Forth, but I
  261. hope it captures the essence of the algorithm so
  262. that it would not be very hard to port to a
  263. different Forth or to different hardware.  (Did
  264. this answer the question?)
  265.  
  266. > Finally, would you want to write an announcement
  267. > for your Kermit version that can be posed on the
  268. > Kermit newsgroup?
  269.  
  270.      I'll be glad to.  I'll search for 'kermit'
  271. next time I'm reading news and try to find the
  272. appropriate group and then post something.
  273.  
  274.   -- Frank
  275.  
  276.  
  277.  
  278. From fdc@watsun.cc.columbia.edu Mon Aug 18 14:56:44 1997
  279. Received: from poboxer.pobox.com (poboxer.pobox.com [208.210.124.21])
  280.      by mx1.eskimo.com (8.8.5/8.6.12) with ESMTP id OAA21324
  281.      for <pygmy@eskimo.com>; Mon, 18 Aug 1997 14:56:27 -0700
  282. Received: from watsun.cc.columbia.edu
  283.      (cu41841@watsun.cc.columbia.edu [128.59.39.2])
  284.      by poboxer.pobox.com (8.8.5/8.8.5) with ESMTP id RAA20751
  285.      for <pygmy@pobox.com>; Mon, 18 Aug 1997 17:56:25 -0400
  286. Received: (from fdc@localhost)
  287.      by watsun.cc.columbia.edu (8.8.5/8.8.5) id RAA20868;
  288.      Mon, 18 Aug 1997 17:56:24 -0400 (EDT)
  289. Date: Mon, 18 Aug 97 17:56:24 EDT
  290. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  291. To: pygmy@pobox.com
  292. Subject: Re: Kermit in Forth
  293. In-Reply-To: Your message of Mon, 18 Aug 1997 14:32:43 -0500
  294. Message-ID: <CMM.0.90.4.871941384.fdc@watsun.cc.columbia.edu>
  295. Status: R
  296. X-Status: R
  297.  
  298. >      Thanks for the corrections and further
  299. > information.  It is too late for the article in
  300. > _Forth Dimensions_, as the issue has already come
  301. > out.  However, if it is ok with you, what I might
  302. > do is add your letter to the pygmy15.zip file and
  303. > mention on my web site that the additional
  304. > information is available.
  305. >
  306. That's fine.
  307.  
  308. > > The implication that Kermit is "sold" and/or "not free" is something of
  309. > > an oversimplification.  There are hundreds of different Kermit programs,
  310. > > and each one might have a different copyright status.  The most popular
  311. > > versions are "free" in the sense that you can get and use them for free,
  312. > > but we also ask you to purchase the corresponding manual (for the good
  313. >               ^^^
  314. > ...
  315. > > software), but they are "not free" in the sense that you can't resell
  316. > > them, bundle them with a product, etc, without licensing them.  The
  317. >         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  318. >
  319. >      Well, that is more or less my point.  I don't
  320. > see how we can ask our clients to each ftp a copy
  321. > of the program, so we would seem to need to give
  322. > them a copy (which I suppose comes under the
  323. > category of "bundle").  As I read the licensing
  324. > information, the simplest way would be for us to
  325. > also buy each of them the _Using MS-DOS Kermit_
  326. > book.  To me, that seems equivalent to saying that
  327. > (your primary MS-DOS Kermit distribution) it is
  328. > "sold" and/or "not free".
  329. >
  330. The distinction is between end users and "resellers".
  331. For end users, these programs are free.  For resellers
  332. (even if they are not actually selling), they are not
  333. free.  There is a long history behind this that takes
  334. a long time to explain, but briefly: we used to be
  335. funded to do this work, but we aren't any more, so we
  336. have to pay for the Kermit Project out of income.  Our
  337. work includes tech support -- unlike FSF, etc, we
  338. provide end-user support, and in fact this takes up
  339. most of our time each day.  If you (generic "you") can
  340. take our software and give it away to your customers
  341. or clients without documentation, this gives you
  342. commercial advantage at our expense, since many of
  343. your users will ask us for assistance.  On the other
  344. hand, if you provide them with manuals, then (a) they
  345. are less likely to ask us for help, and (b) we get
  346. some income to keep our work going.
  347.  
  348. > > ... ZMODEM is usually considered to be the best
  349. > ...
  350. > > Did you look at:
  351. > >
  352. > >   http://www.columbia.edu/kermit/perf.html
  353. > >
  354. > > which is a set of benchmarks of Kermit and XYZMODEM.
  355. >
  356. > I have now forgotten what I did look at.  I
  357. > believe I read something from the columbia site
  358. > and then read a rebuttal of it from the Oman site.
  359. >
  360. Right -- there is a rebuttal there, but it doesn't hold
  361. a lot of water.  There was a prolonged debate on the
  362. newsgroups after this, that finally settled down after
  363. a couple years.  The bare fact is, there is precious
  364. little difference between Zmodem and Kermit in terms of
  365. performance on a perfect connection (8-bit clean, no
  366. noise, transparent to all control characters), but there
  367. is a big difference on all other types of connections.
  368.  
  369. > > Also, did you
  370. > > know there is an entire book on the subject,
  371. > > "The Working Programmer's
  372. > > Guide to Serial Protocols", by Tim Kienzle?
  373. >
  374. > I have seen title mentioned, but I haven't
  375. > seen the book.  Do you recommend it?
  376. >
  377. It's pretty good technically, and fair and impartial
  378. in the protocol wars.  Yes, I do recommend it.
  379.  
  380. > ...different Forth or to different hardware.  (Did
  381. > this answer the question?)
  382. >
  383. Yes -- I like stories like that.  We have a lot of them
  384. with Kermit too -- odd gadgets where it is embedded, etc
  385. (fast-food cash registers, hand-held bar-code scanners,
  386. even pacemakers...)
  387.  
  388. > > Finally, would you want to write an announcement
  389. > > for your Kermit version that can be posed on the
  390. > > Kermit newsgroup?
  391. >
  392. > I'll be glad to.  I'll search for 'kermit'
  393. > next time I'm reading news and try to find the
  394. > appropriate group and then post something.
  395. >
  396. The newsgroups are comp.protocols.kermit.misc and
  397. comp.protocols.kermit.announce; the latter is moderated.
  398.  
  399. Let's coordinate on this, since you'll need to tell
  400. them where to find it and what it's called, etc, in
  401. the Kermit archive.
  402.  
  403. There's the ZIP file, but then we usually like to put
  404. up the source code and docs as plain text for various
  405. reasons; in this case maybe somebody wants to port it
  406. to another environment where there is no UNZIP, etc.
  407. Can a Forth program be saved as plain ASCII text?
  408.  
  409. Thanks again!
  410.  
  411. - Frank
  412.  
  413. (end of file pfkerm.msg)
  414.