From 84ff1ce93e2abb9d360e57dde847028acecf91d2 Mon Sep 17 00:00:00 2001
From: Kevin Lyda <kevin@lyda.ie>
Date: Sun, 25 May 2025 22:31:35 +0100
Subject: [PATCH] License fix; more docs

---
 LICENSE  | 19 +++++++++++++++++
 NOTES.md | 65 +-------------------------------------------------------
 main.go  | 20 +++++++++++++++--
 3 files changed, 38 insertions(+), 66 deletions(-)
 create mode 100644 LICENSE

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..88c863c
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2025 Kevin Lyda <kevin@lyda.ie> (applies only to Go reimplementation)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/NOTES.md b/NOTES.md
index 7148dbd..08a6769 100644
--- a/NOTES.md
+++ b/NOTES.md
@@ -4,13 +4,7 @@ These are the development notes for the Go version.
 
 The idea is to use the help files to implement BULLETIN.
 
-Look up how godoc does references to other things.
-
-Figure out readline completion.  Case sensitive - issue?  Building from
-repl.commands?
-
-Switch between MAIL and BULLETIN modes? MAIL commands are documented
-[here](https://marc.vos.net/books/vms/help/mail/).
+See [godoc](http://localhost:6060/) for the code layout.
 
  ## sqlite
 
@@ -18,63 +12,6 @@ Switch between MAIL and BULLETIN modes? MAIL commands are documented
   * https://sqlite.org/cli.html
   * https://www.sqlitetutorial.net/
 
-## Things to do
-
-  * Run [godoc](http://localhost:6060/) and then review where the help text is lacking.
-  * Run this.Skew.Safe() before... each command?  each write?
-  * Database
-    * trigger to limit values for 'visibility'?
-    * trigger to limit values for 'alert'?
-  * Add commands:
-    * Commands for a local mail system?
-    * Commands to connect to Mattermost or mastodon?
-  * Make a spreadsheet for signups.
-  * Permissions:
-    * Review permission requirements for each command.
-  * Expire.  This was created due to file storage limits.  Keep it?
-  * Code cleanup:
-    * Review sql queries and clean out the ones not used.
-    * Review sql queries and find duplicates.
-    * Use [dupl](https://github.com/mibk/dupl) to find things to generalise.
-      There's a `make dupl` target.
-  * flag abbreviations with values don't seem to work?
-
-Polishing.  Review each command and put a + next to each as it is
-fully done.
-
-```
-Top level:
-
-  ADD       +BACK       BULLETIN   CHANGE     COPY       CREATE
- +Ctrl-C    +CURRENT    DELETE     DIRECTORY +EXIT      +FIRST
- +Folders    FORWARD   +HELP       INDEX     +Keypad    +LAST
-  MAIL      +MARK       MODIFY     MOVE      +NEXT      +PRINT
- +QUIT      +READ       REMOVE    +REPLY      RESPOND   +SEARCH
-  SEEN       SELECT    +SET       +SHOW      +SSH       +UNMARK
-  UNSEEN    +USER
-
-SET:
-
-  ACCESS          +ALWAYS           BRIEF            DEFAULT_EXPIRE
-  EXPIRE_LIMIT     FOLDER           NOACCESS        +NOALWAYS
-  NOBRIEF          NOPROMPT_EXPIRE  NOREADNEW        NOSHOWNEW
-  NOSYSTEM         PROMPT_EXPIRE    READNEW          SHOWNEW
-  SYSTEM
-
-SHOW:
-
- +FLAGS       FOLDER     -NEW        +PRIVILEGES  USER       +VERSION
-
-SSH:
-
- +ADD       +DELETE    +FETCH     +LIST
-
-USER:
-
- +ADD       +ADMIN     +DELETE    +DISABLE   +ENABLE     LIST
- +MOD       +NAME      +NOADMIN   +NOMOD
-```
-
 ## Module links
 
   * cli - [docs](https://cli.urfave.org/v3/getting-started/)
diff --git a/main.go b/main.go
index ce9562b..eee4c46 100644
--- a/main.go
+++ b/main.go
@@ -1,5 +1,21 @@
-// Package main is the main program for bulletin.
-// It is based off the 1989 version of bulletin.
+// Package main is the base for bulletin.
+//
+// This is a Go implementation of the 1991 version of bulletin.
+// The initial realease notes follow.  Note that at present there is no
+// NEWS or MAIL support.
+//
+// You  are  about  to  receive  version  2.07  of the PFC BULLETIN.
+//
+// BULLETIN is public domain software.  (I will gladly accept
+// recommendations for new features, not for changes that
+// are due to "personal" preference.)
+//
+// As of V2.0, BULLETIN is able to read USENET NEWS
+// via TCP/IP using either CMU, MULTINET, UCX, TWG, or
+// via DECNET.  It can also serve as a NEWS gateway for
+// DECNET nodes without direct access to the NEWS server,
+// i.e. a DECNET node without Internet access will be able
+// to read NEWS.
 package main
 
 import (
-- 
GitLab