XEROX LISP USERS' RULES 2 4 1 LISP USERS' RULES 1 4 This document describes the rules and procedures for Xerox Lisp "Lisp Users'" modules. This document is mainly for Lisp Users' module writers, but users should also understand the rules. The deadline for Lyric Lisp Users' module submissions is October 1, 1987. DEVELOPING A LISP USERS' MODULE A Lisp Users' module is a useful program made available to the general Xerox Lisp programming community. Neither the author nor the custodian of the Lisp Users' directory imputes any warranty of suitability or responsibility for errors. Lisp Users' modules should be easily distinguishable from released library modules. In particular, this means that a Lisp Users' module may not have the same name as a Library module and should be visibly different. Lisp Users' modules 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 Lisp Users' module, enlist developers at your site as alpha testers. Avoid having to rerelease a package within hours of its announcement because of fatal bugs. A Lisp Users' module 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 module is undergoing continual changes, adopt a release strategy of regularly spaced, well tested releases. Your users will thank you. LISP USERS' MODULE OWNERSHIP A module submitted for Lisp Users' 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). As the owner of a module, 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. Like all software developed at Xerox, Lisp Users' modules are officially the property of Xerox. You should run with the COPYRIGHT option set to produce an appropriate Xerox copyright in the source. A Lisp Users' module may become so useful that it becomes part of a standard Xerox Lisp release and is thereafter supported. Ownership then passes to the Xerox product organization. SUBMITTING LISP USERS' MODULES If you are not an internal user, you should submit your new module to Xerox either through e-mail or on a floppy. 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 modules. SUBMITTING FILES TO LISP USERS' As with released software, it is important to submit not just the resulting product, but all the files needed to build and maintain a Lisp Users' module: 1. the runnable compiled file ( .LCOM or .dfasl) 2. documentation describing it, following the set formatting rules (see below) 3. a source file that can be released (optional) 4. data files, if needed Packages submitted once are released once. Do not assume that a package submitted in one release will be automatically released in subsequent releases. DOCUMENTATION Documentation, essential to any module being used effectively, should be put on the submitted floppy. No modules will be released without documentation. Documentation can be as simple as a paragraph describing what the module does and how to use it, or it can be as extensive as a dozen-page user manual. All modules should have a file with a .TEDIT extension. Formatting should be done according to the rules outlined in the appropriate (standalone or networked user) Lisp Users' Template. All users, external users included, should follow the Lisp Users' Template rules. If the documentation is large and formatting time consuming, you can also produce an interpress file (with the .ip extension), as well as submitting a .TEdit file. (Be sure to update the interpress file if you update the documentation!) Documentation should include the full electronic mail address of the submitter. COMPATIBILITY WITH LISP USERS' Any submitted Lisp Users' files should be compilable in a "vanilla" environment. The file itself should load in any auxiliary modules under a suitable (DECLARE: EVAL@COMPILE -- ) when necessary. 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 !î‡P4íöÇ·d š4R4™}ÃKzº