XEROX LISPUSERS' RULES 2 4 1 LISPUSERS' RULES 1 4 This document describes the rules and procedures for Interlisp "LispUsers" packages. This document is mainly for LispUsers package writers, but users should also understand the rules. DEVELOPING LISPUSERS PACKAGES A LispUsers package is a useful program made available to the general Interlisp programming community. Neither the author nor the custodian of the LispUsers directory imputes any warranty of suitability or responsibility for errors. LispUsers packages should try to be easily distinguished from released library packages. In particular, this means that packages may not have the same name as a Library package and should be visibly different. LispUsers packages derived from released software should be announced to the public only after communicating with the organization responsible for that released software. Testing is important. If you make significant changes to a LispUsers package, enlist your friends as alpha testers. Avoid having to rerelease a package within hours of its announcement because of fatal bugs. A LispUsers package is not shoddy software; it is software made available outside the regular release channels. Try not to flood your user community with a constant flow of new versions (or messages) so your messages can be appreciated rather than discarded without reading. If your package is undergoing continual changes, adopt a release strategy of regularly spaced, well tested releases. Your users will thank you. LISPUSERS PACKAGE OWNERSHIP A package stored on the directory remains the "property" of the submitter. Others may not make changes, except for their own private use, without negotiating with the owner (who may already be making similar or incompatible changes). In general, changing a package on the directory implies a willing transfer of ownership. As the owner of a package, you are not required to fix bugs, but if not, you must be willing to transfer ownership (permanently) to someone who volunteers to fix them. Ownership may pass back and forth among several people as long as they agree. A LispUsers package may become so useful that it becomes part of a standard Interlisp-D release and is thereafter supported. Ownership then passes to the product organization. ANNOUNCING LISPUSERS PACKAGES If you are not an internal user, you should submit your new package to Xerox either through e-mail or on a floppy. The e-mail address you should send to is AISupport.pasa@Xerox.com. External users should make sure that they include all relevant information, such as documentation containing an e-mail or US mail address where he/she can be reached. External users are also held responsible for the support of their packages. STORING FILES ON LISPUSERS As with released software, it is important to store not just the resulting product, but all the files needed to build and maintain a lisp users package: 1. the runnable .DCOM 2. documentation describing it, following the set formatting rules (see below) 3. files used to build it 4. data files Packages submitted once are released once. If you want to release a package that is good for more than one release, you have to make multiple copies, and, whenever a new release gets shipped, copied again. Users are responsible for assuring that their packages get moved if they want them rereleased. If no notice is given about old packages, they are assumed to be obsolete. This procedure provides for some positive mechanism for verifying that packages are still "alive". DOCUMENTATION Documentation, essential to any package being used effectively, should be put on the directory, too. No packages will be released without documentation. Documentation can be as simple as a paragraph describing what the package does and how to use it, or it can be as extensive as a dozen-page user manual. All packages should have a file with a .TEDIT extension, formatted according to the rules outlined in the file DocumentationTemplate.TEdit. This is a rather long explanation for those who are not familiar with TEdit formatting. For an easier version, look for the file EasyTemplate.TEdit. Both of these files are relased on the floppies as of the Koto release, and all users, external users included, should follow these rules. If the documentation is large and formatting time consuming, you can also produce a interpress file (with the .ip extension), along with submitting a .TEdit file. (Be sure to update the interpress if you update the documentation!) Documentation should include the full electronic mail address of the submitter. COMPATIBILITY WITH LISPUSERS Any file on the directory should be compilable in a "vanilla" environment. The file itself should load in any auxiliary packages under a suitable (DECLARE: EVAL@COMPILE -- ) when necessary. A directory might look like: Koto>BIGFOOT BIGFOOT.DCOM BIGFOOT.TEDIT BIGFOOT-DATA Thanks for your cooperation. (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(È (ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD(MODERN MODERN MODERN MODERN MODERNLOGO?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN ºêC5]÷±©™RÛDÊFºMzº