Bruce Perens <
br...@perens.com> writes:
> Greg, you are obviously up-to-speed on things I just heard of for the first
> time yesterday. I think email is permissible as an end route to people
> without the system, but we should strongly insist on
> message-delivery-notification equipped mailers, and digest the MDN messages.
>
> What do you suggest as the next step? I could have the AI hack Briar for
> ham radio purposes - removing encryption and adding our flavor of address,
> and then run a big simulation.
I think it is vastly premature to be thinking about code. The big issue
is being clear on what are and are not requirements, and then thinking
about system architecture. Routing is hard and once you move beyond
multi-hub/spoke and assuming the hubs can all intercommunicate reliably,
you're into ad hoc routing which is very hard, with low bitrate links,
unreliable links, or mobility and especially hard with multiple of
those. Decisions about naming and routing are going to have huge
long-term effects on the system.
I would then want to see a protocol spec, or something at least mostly
like that, as the system should admit mulitple independent interoperable
implementations, at least eventually.
It seems obvious that modular design in architecture is a goal, with
narrow waists to allow different parts to be thought about separately.
For requirements, architecture, and protocol design I do not see LLMs as
being helpful.
The current Policy file is a mix of requirements and architecture
decisions. I would suggest a requirements section and separating things
that are our statement of what is to be accomplished from thoughts about
how to go about it. Things that are there or have been mentioned plus
things that come to mind as I type:
system architecture and protocol must be entirely open, with documents
downloadable anonymously. Anyone must be able to implement, deploy,
sell implementations, etc. without needing a patent license.
purpose of the system is to transport ICS messages
- secondarily there should be the ability to transport other kinds of
messages, TBD
system must create and store an audit trail
system must have an interface for creating, reading and acknowledging
ICS messages, suitable for normie ICS types
- perhaps, must support concept of a message to someone who reads
it on paper and acks it with the ack coming back to bits
something about acks/delivery-receipts. Is this part of ICS?
something that's part of this system?
TBD: While unicast messages (perhaps including multiple recipients) is
an obvious requirement, is there a requirement for some kind of
multicast/broadcast message, such as might be used to carry ARRL
bulletins, IPAWS messages, or general orders from IC to all resources
under that IC's command? What does this look like in ICS now? What
should be provided? (Routing gets even harder with multicast, and
"reliable multicast" causes ad hoc routing experts to get worried.
But the question here is what is required,)
system must not assume stable connectivity on any link
system must be able to deliver messages when 1-hop connectivity from
source to destination never happens
system should be able to utilize links which mostly work over time but
with relatively low to near zero channel occupancy during periods of
no traffic.
It is not a requirement to have rapid/near-real-time functionality for
highly mobile nodes. Mobility is defined mostly as changes in
topology; if you can close the same link while you phys-move you are
not really topo-moving.
system must be able to utilize multiple kinds of links
- hf modem
- v/uhf modem
- LoRa like links (e.g. "meshtastic hardware")
- BLE
- local internet (including wifi)
- distant internet
one of the link types is a movable node, where someone carries
computer from one place to another (and perhaps back)
TBD: one of the link types is a portable storage device
(e.g. flashdrive), as opposed to a movable node.
TBD: is there a requirement for Data Origin Authentication?
TBD: is there a requirement to be able to support Confidentiality as a
service, even understanding that this will preclude use of Amateur
Radio for those messages?
TBD: What is the total scale of the system? 10^k, for k 2, 6, 9?
TBD: What are the forms of naming for entities that send and receive
messages? Is this defined already?
TBD: Is there a sense of "address" separate from "name" within ICS?
TBD: Can we require geographically hierarchical names?
TBD: Can we assume that we have geo coords for our station and that
this can be used locally and exchanged, or can we not assume that?
What are the OPSEC and privacy concerns?
- Straw proposal: In most cases, latitude and longitude to 2 decimal
places is acceptable, but each node can be configured for
off/0places/1place/2places. System must function for nodes with
reduced or off, but it is acceptable for costs to increase. 3
decimal places is 100m and is unacceptably precise. Or perhaps
also skip 2 places, leaving 1 place as 10 km (ish) squares (not
really, but not the point).
TBD: Are there any "radio silence" or similar concerns?
Because these requirements are incompatible with "just use WinLink",
full compatibility with WinLink is not a requirement. Same for APRS.
TBD: Gateway to Internet email is or is not a requirement. How are
ICS messages back to people in offices handled? Do they have to have
a local node for the new system?
TBD: Is it or is it not a requirement for people in the field to be
able to send and receive normal emails to random places, separately
from ICS messages to/from ICS names/addresses?