[PTTLink] Community FAQ - January 2021
PTTLink Admin
admin at rt.pttlink.org
Sun Jan 24 07:19:41 UTC 2021
The PTTLink Team understands there are a number of unanswered questions
from the community. The Team would prefer focusing on open source work,
and our attempts to get community involvement back into the network,
rather than addressing these “finger-pointing” style questions. However,
we also recognize the community deserves answers to those questions.
Please understand that some questions can only be addressed by publicly
holding those responsible accountable for their actions. Our answers are a
Team effort and took considerable time to compile based upon everyone’s
understanding of what led to this. As such, we hope this answers the
outstanding questions, and allows everyone to move forward with their
community efforts.
1. Were there any SLAs or Agreements associated with the hosting of
services for AllStarLink, Inc. or the AllStarLink Network?
Systems on AllStarLink before the board’s changes on 29 December 2020 were
run much as you’d expect from any radio club. Systems were volunteered by
the team and community because they were needed. There was no agreement
between the system owners and AllStarLink regarding how things were run,
what to do with data, etc. As resources were needed a call went out to
the community and the community graciously answered.
It was left to the Admin Committee to identify the best use for resources,
configurations, and maintenance. This charter of the Admin Committee was
codified in the wiki and approved by the Board of Directors from day one
of AllStarLink, Inc. You can find the Admin Committee charter here:
https://wiki.allstarlink.org/wiki/Admin_Committee
The Admin Committee identified what was needed for virtual machine (VM)
specifications, etc. All systems in use were run within a virtual
environment, and at no time did the AllStarLink Board of Directors have
physical access to any of the servers that ran the network. Services were
mirrored in multiple locations to spread the load throughout the
volunteered systems and to reduce the chances of creating a single point
of failure. This resulted in a design that at any point in time would
allow for load-shift to allow for issue isolation and scalability.
2. Regarding the removal of slack access and removal of node numbers.
Public examples of these actions can be found at the following links:
- Slack account removal is documented in Stacy Olivas’ (KG7QIN) reply to
the board’s letter here
http://lists.keekles.org/pipermail/app_rpt-users/2020-December/020954.html
and this post
https://community.allstarlink.org/t/slack-trouble-today/18019
- Missing nodes were removed from multiple Admin Committee member’s
accounts. Some have been returned, however many low number nodes have yet
to be returned. You can find examples of this documented here
http://lists.keekles.org/pipermail/app_rpt-users/2021-January/021009.html
- Finally, the Letter to the Community of Jan 3, 2021, as it appears on
the community site, has been edited. We want to make it clear you should
*ADD* the PTTLink register lines, not replace the AllStarLink registration
lines. The entire goal of adding the lines is to allow registration on
both systems, we do NOT want to replace the AllStarLink network but rather
provide additional well managed and maintained registration servers and
backend resources. You can find the Letter to the Community here (which
includes links to both the post on Reddit and the edited copy on the
AllStarLink Community forum):
http://lists.keekles.org/pipermail/app_rpt-users/2021-January/021015.html
3. Regarding Opt-In, our focus on community building, and moderation.
Please see our Community Update dated Jan 7, 2021 which is located at
https://www.reddit.com/r/pttlink/comments/ksupw6/pttlink_community_update_7_jan_2021/
4. Network design.
The PTTLink network is the original AllStarLink network which consists of
primary and secondary locations spread throughout the world including the
United States, Canada, Europe, and Asia. At each primary location there
consists a registration server, clustered database server, and some
miscellaneous ancillary services. This allowed the Admin Committee to not
only ensure app_rpt clients could register should any one site go down,
but also ensure no data loss in the case of an emergency or catastrophic
failure. Secondary locations only maintained a registration server to help
offset load.
The registration servers were previously modified versions of Asterisk,
which added additional stability. However, these were in the process of
being migrated to new software (more details on this are available in the
next section). Upon successful registration, a database table is updated
with the registration details, which in turn causes a MySQL trigger to
create or update the DNS records served by PowerDNS. This provides the
core DNS lookup services documented at:
https://wiki.pttlink.org/wiki/DNS_Servers and the code for the MySQL
trigger is available at: https://github.com/Apprpt-Central/dns-lookup
Every site was, and continues to be interconnected with secure VPN
connections. Host based firewall rules ensure controlled access to
systems were only permitted via either specific IP addresses or via a
bastion host acting as a proxy. All access was and continues to be logged.
Status of the network was made public by a dedicated dashboard that shows
the status of sites, as well as registration counts for each server.
This design adds complexity to support a very large network, however, our
mandate is to keep creating a network as easy as possible, and as such, we
pledge to design software and help networks of all sizes.
5. Accusations of not being supportive of the board.
It has been commented that the Admin Committee did not support design
suggestions from the board. This is quite the contrary, the Admin
Committee took suggestions from anyone that provided them, and weighed
them equally to best serve the network and community.
One such example lies in the new registration software we believe to be
currently in use by AllStarLink. This software was originally brought
forth to the Admin Committee by Rob Vella (KK9ROB). The concept was
approved and embraced by the Admin Committee who also identified and fixed
multiple bugs while Rob appeared to have become unresponsive. By the time
of the cutover, over half of the registration systems were running this
code. Several improvements have been identified and made to increase the
stability of this code since its initial deployment.
After AllStarLink, Inc had received non-profit status, it was in receipt
of Amazon Web Services (AWS) credits which it had applied for and
subsequently led to community.allstarlink.org being relocated there by an
AllStarLink Board Member. On several occasions, the Admin Committee
requested access to the AWS infrastructure so we could make use of and
take advantage of these resources; we were told multiple times this would
not be possible as there was no funding available. This was not the case
as they have moved all services other than Community to the Google Cloud
Platform which does incur a recurring cost.
Finally, the Admin Committee recognized the lack of communication between
our team and the AllStarLink, Inc Board of Directors. Multiple attempts to
raise board members on internal communication channels would go weeks
without an answer, if any was given at all. Requests for representation at
board meetings to help bridge this gap were ignored. While a 3rd party did
volunteer for this role, the lack of commitment and follow-through by the
board resulted in little more than the continued empty assurances and
broken promises at transparency and communication which had been promised
to the Admin Committee many times.
Why was there so much silence/inactivity?
Even though the board did not hold or post minutes or give any
communication or direction, the admin team continued to maintain the
Allstarlink Systems and work on new code for the registration servers,
development of the app_rpt and other associated software which supported
the Allstarlink System.
The Admin Committee dedicated multiple years, countless hours of sleepless
nights, and made every reasonable effort within their power as volunteers
to keep the AllStarLink network running for the enjoyment of all hams. In
the end, this team is a group of hobbyists that feel that they were let
down by the AllStarLink, Inc. Board of Directors for their lack of
communication, failure to understand and unwillingness to explore the
reasoning and technical constraints behind the design of the AllStarLink
infrastructure. Resulting, more often than not in service outages caused
by the implementation of their ideas without involving the Admin
Committee, and placing it in production without adequate testing. During
the numerous attempts at having meaningful discussion with the board
regarding redesign, the reply often came back “The board is technical too”
in an attempt to justify their actions.
6. Asterisk GitHub Repository.
The “AllStarLink” GitHub repository started as a single account with the
email address of developers at allstarlink.org. GitHub at the time did not
offer much to free accounts, so this was very much just a public place to
stash the code that wasn’t on the old www.allstarlink.org site/server.
Stacy was given the user account credentials (several people had them) and
fixed some things up with regards to inviting others as repo
admins/maintainers, etc. Unfortunately, one of the maintainers pushed an
unreviewed pull request directly into the master branch without telling
anyone. Fortunately, Stacy saw the notice sent to the developers@ email
(which was an alias for several people at this point) and was able to
login and back the commit out, and push it into its own branch where it
remains to this day. To ensure that this wouldn’t happen again, the
developer account was removed and instead made into a personal
organization with the name of AllStarLink. Stacy then went through and
set up branch protections that require two people to review code submitted
to develop and main, among other fixups and integrations in an effort to
prevent this from happening again. The AllStarLink GitHub repository has
always been a separate entity controlled by the developers, of which Stacy
was originally brought on by Bryan Fields (W9CR) as the lead developer for
AllStarLink and later also became an admin. Owners of this new
organization included Tim Sawyer (WD6AWP), an AllStarLink, Inc. board
member, who was responsible for the unreviewed commit which led to this
new personal organization being created.
The size and number of people working on AllStarLink’s infrastructure
needed a central repository to hold configuration files, internally
used/developed software like the stats server and web portal, etc. A
private Gitlab repo was set up to contain this as well as the continuing
work that Stacy had been making on his Asterisk 1.8 port of app_rpt. This
was done due to the climate regarding hamvoip claiming code as their own
and not releasing any changes per the terms of the GPL. Stacy was able to
update the 1.8 port with the 0.324 changes to app_rpt and pushed the
version number of 0.399. Additionally, he also started work on fixing
some of the known issues with various channel drivers. Unfortunately, the
ever-increasing time being the main admin of the AllStarLink
infrastructure as well as severe audio issues from URIs featuring the
CM119B reduced Stacy’s available time to work on core development.
At the time of the board’s decision to remove the Admin Committee from all
services, a small group had again formed to begin moving the app_rpt
project forward with enhancements to the registration and statistics code,
as well as multiple bug fixes including URI EEPROM handling, just to name
a few. The development team was never allowed access to the AllStarLink
slack to discuss the updates and a temporary home was donated to drive
this effort.
The app_rpt and related code is licensed under the GNU GPL and is
dependent upon and a derivative of Digium’s clearly marked and licensed
Asterisk 1.4.23pre code base, itself licensed under the GNU GPL. Due to
the innumerable and often uncredited contributions to this code that
extend, complement or enhance app_rpt, which in turn are also licensed
under the GNU GPL, it is the opinion of PTTLink that the repository
ideally should remain a separate entity from any respective network. The
app_rpt application and related code is an open-source resource that is
for all to use and benefit from. However, responsible stewardship of this
repository is a must to ensure that it remains a viable asset. The
development team agreed that PTTLink should retain stewardship of this
repository moving forward. We do however look forward to all community
members raising issues, and submitting pull requests against the codebase
to further the community use of the system.
Additionally, you can find information regarding the updated Asterisk 1.8
port code recently moved from Gitlab to Github and renamed ASL-AsteriskNG
at https://wiki.pttlink.org/ASL-AsteriskNG. This will be the next
generation of app_rpt client and is slated for the ASL 1.10 release.
7. Allocation of Resources from the American Registry for Internet
Numbers (ARIN).
The claims made by the AllStarLink, Inc. Board of Directors and their
supporters regarding the ownership of ARIN resources by Jim Dixon (WB6NIL)
(SK) on several forums are false. Jim did not own these resources, he was
merely a technical contact. The majority of these resources go back to
the days of Dr. John Postel, and were held under various companies, most
of which may or may not be associated with Jim. There’s roughly 12 /24’s
of IPv4 address space and a couple AS numbers. The ARIN registry
associated with these resources do not contain any admin contacts for the
organizations listed.
Bryan was asked to become a steward of these by the AllStarLink, Inc.
Board of Directors prior to Todd Lesser (KM6RPT) joining. At that time
Bryan was asked to investigate the options they had as there were possible
finances available with the sale of the IPV4 address space. The board
requested Bryan to add Mike Wolthius (KB8ZGL) and Stacy to be the admin
contacts, but as Bryan only had tech access privileges, they could only be
added as tech contacts per ARIN policy and their access constraints
imposed on Bryan. Once completed, Bryan was told AllStarLink, Inc. was
working with Jim’s estate to get these ARIN resources assigned to them.
During this process, the AllStarLink, Inc. Board of Directors were told
that any attempts to update the admin contacts needed to include the proof
that Jim was the owner of the various companies and that ARIN would need
to see any agreement so as to approve it.
After Bryan was informed this agreement was in place, the AllStarLink,
Inc. Board of Directors refused to share this. Bryan asked formally for
the Assignment Agreement to ensure he was assigning what he held as a tech
contact in trust properly. The repeated refusals caused Bryan to doubt the
Agreement contained all requirements necessary to prove to ARIN of its
legitimacy to transfer ownership of the resources. Bryan contacted ARIN
and it was determined the best course of action was to remove all tech
contacts from the resources, which was promptly done.
Finally, after many months of research, Bryan tracked down the Agreement
from Jim’s estate as it had been submitted to the Federal Communications
Commission (FCC) in an application requesting the transfer of the WB6NIL
callsign. This action made it a matter of public record in the Universal
Licensing System (ULS) for the WB6NIL reassignment to AllStarLink, Inc.
(who had previously applied for a callsign as a radio club). While the
Agreement does list several items in its Appendix A related to the ARIN
resources, and defines it as assigned property, the Agreement not only
does not identify Jim to have been the owner of the items and/or
associated businesses, it does not actually assign any of the items in
Appendix A to AllStarLink, Inc.. Additionally, the Agreement does not have
a valid signature from the AllStarLink, Inc. Secretary on it. Both are
major oversights in the Agreement resulting in the ARIN helpdesk making
the determination that the Agreement is inadequate evidence of ownership
and denied any transfer of resources to AllStarLink, Inc. Bryan informed
AllStarLink, Inc that he was unable to update ARIN’s records to transfer
control of the assets as AllStarLink, Inc. did not have a valid Agreement
to recover admin access to the resources. AllStarLInk, Inc. was also
informed of the ARIN procedures required to correct this when Bryan stated
he didn’t feel comfortable to continue. Todd promptly threatened to sue
Bryan for taking these actions on behalf and at the request of the
AllStarLink, Inc. Board of Directors. You can find the document in
question here listed under Attachments as “Agreement from Heir”. Refer to
section 6 for details:
https://wireless2.fcc.gov/UlsApp/ApplicationSearch/applAdmin.jsp?applID=11845728
This was all done in an attempt to not only protect the IP and ASN ranges,
but also the AllStarLink, Inc from the potentially fraudulent actions of a
Board member. Additionally, there is also a real possibility that the IPs
would be reclaimed by ARIN as the organizations that do own the IP address
spaces could be found in default and no longer operational. There can be
no financial remuneration to anyone involved including Bryan, Jim’s
estate, or AllStarLink, Inc. until ARIN has enough evidence to modify the
admin contacts.
8. A few last words.
Again, the PTTLink statements and letters are the product of a team
effort, and not just that of a single person. Every team member has the
opportunity to review and hold the others on the team accountable for what
they write. We strive to be transparent, forthcoming, and always stating
the truth, even if it is uncomfortable.
PTTLink is not against AllStarLink but rather a group created as a
consequence of the AllStarLink, Inc. Board of Directors actions. PTTLink
exists to maintain, and enhance, the registration and associated ancillary
services system for the benefit of all. One of the core values of PTTLink
is to promote, stimulate and provide enhancements and growth to the
amateur radio community at-large. To this very end PTTLink has already
committed to, and begun, working on an agnostic multi-network capable
version of app_rpt and associated programs. This includes, but is not
limited to, open-sourcing key components used to create your own network
for registration and DNS lookup, the establishment of the network prefix
schema and associated repository for multi-network support.
It is the desire of the PTTLink team to have this be the final letter
addressing this matter. The team wishes to move forward and work together
with the amateur community at-large to support, innovate, and grow this
amazing community and hobby.
Signed,
The PTTLink Team
More information about the PTTLink
mailing list