The Truths of Information Technology
Internet-Draft draft-davis-dispatch-the-truths-of-it-00
Kyzer R. Davis
kydavis@cisco.com
2022
ART
dispatch
it
The internet and information technology landscape has changed in many ways since The Twelve Networking Truths was original published via [RFC1925] over twenty six years ago. As a result this document attempts to extend the truths of information technology into the twenty-first century. This memo does not specify a standard, except in the sense that all standards MUST implicitly follow the fundamental truths.

Introduction
This Request for Comments (RFC) provides information about the fundamental truths underlying all information technology sectors. These truths apply to all information technology sectors in general, and are not limited to networking, TCP/IP, the Internet, or any other subset of the networking community.

Terminology

Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

The Fundamental Truths
0.
With networking, much like programming, numbering SHOULD always start with zero.
1.
It Has To Work.
2.
No matter how hard you push and no matter what the priority,you can't increase the speed of light. You can, however, slow it down.
2a.
No matter how hard you try, you can't make a baby in much less than 9 months. Trying to speed this up *might* make it slower, but it won't make it happen any quicker.
3.
With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead.
4.
Some things in life can never be fully appreciated nor understood unless experienced firsthand. Just as some things in networking can never be fully understood by someone who neither builds commercial networking equipment nor runs an operational network.
5.
It is always possible to agglutinate multiple separate problems into a single complex interdependent solution. In most cases this is a bad idea.
6.
It is easier to move a problem around (for example, by moving the problem to a different part of the overall network architecture) than it is to solve it.
6a.
It is always possible to add another level of indirection.
7.
It is always something.
7a.
Good, Fast, Cheap: Pick any two (you can't have all three).
8.
It is more complicated than you think.
9.
For all resources, whatever it is, you need more.
9a.
Every information technology problem always takes longer to solve than it seems like it should.
10.
One size never fits all.
11.
Every old idea will be proposed again with a different name and a different presentation, regardless of whether it works. See 6a.
12.
In protocol design, perfection has been reached not when there is nothing left to add, but when there is nothing left to take away.
13.
The network is at fault until proven innocent. (Helpdesk, end users, customers, developers perspective)
14.
The Firewall is at fault until proven innocent. (Network Engineers perspective)
15.
Everything else is at fault. (Firewall Engineers perspective)
16.
Automation is encouraged and oftentimes recommended. (even at times when it shouldn't be.)
17.
Never make a change unless you know the impact or ramifications of said change.
18.
Never test in production.
19.
Layer 8 of the Open Systems Interconnection (OSI) model is People. (End Users, customers, developers and network engineers)
20.
Layer 9 of the Open Systems Interconnection (OSI) model is company/external regulations, rules, and restrictions
21.
Layer 10 of the Open Systems Interconnection (OSI) model is money, budget, and funds
22.
Reserved for Catch-22s.
23.
If it can break, it will break, unexpectedly, on a weekend/holiday.
24.
Fail-over and high availability are not suggestions. Remember to test regularly!
25.
Change or version control are not a suggestion.
26.
You will get no praise when everything is working. Expect to only be needed when things break
27.
Cloud simply means somebody else's data center/network.
28.
When things don't work, escalate harder.
29.
Never assume any software is free of bugs/defects.
30.
IPv6 should replace IPv4 any day now.
31.
Friday after 5pm local time until Sunday midnight local time are perfect change window times.
32.
There can always be more people on the conference call.
33.
TIAAA (There Is Always Another Acronym)
34.
There is no such thing as a random issue. There MAY be variables that make an issue intermittent but it is never truly random.
35.
Trust not the actions or analysis of anybody. "Trust but verify" should be the approach to any situation.
36.
The packets don't lie.
37.
Wireless might as well be magic.
38.
Nothing is ever truly 100% secure.
39.
Everybody's title is made up.
40.
One of the hardest parts of any IT professional's day is the process of copying a file from a client to a server. See 14.
41.
Documentation, while REQUIRED, is never complete or up-to-date.
42.
A minimum of two data points should be collected in order to properly point the finger.
43.
It is very likely somebody has always thought of it before you.
44.
Fear of the unknown oftentimes supersedes common sense.
45.
Your microphone behaves much like Schrodinger's cat. That is, it is always in a state of being muted or unmuted until observed; at which point it is usually in the wrong state.
46.
Sometimes a device needs a reload and there SHOULD be no further justification beyond that fact required.
47.
The best engineers know how to properly discern the false debug errors from the real debug errors.
48.
Bourbon or Scotch are the drinks of choice among IT professionals. Others SHALL be allowed.
49.
The link you saved will change, break, or go away.
50.
Somewhere, right now, a group of individuals are arguing about a SHOULD vs a MUST.
51.
You never know when you will need that cable. Better hold onto it.
52.
In IT the number of monitors directly correlates to efficiency.
53.
Your solution is likely way more complicated that required.
54.
Experimental
55.
Reserved for Future Use (but will likely never be used.)

IANA Considerations
IANA SHOULD consider these truths valid.

Security Considerations
This RFC raises no security issues. However, security protocols are subject to the fundamental networking truths.
The informative references have been deleted in order to protect the guilty and avoid enriching the lawyers.
The authors of this document are [RFC2323] compliant.

Acknowledgements
The truths described in this memo result from extensive study over an extended period of time by many people, some of whom did not intend to contribute to this work. The editor merely has collected these truths, and would like to thank the information technology community for originally illuminating these truths.

Normative References
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
[RFC1925]

The Twelve Networking Truths
R. Callon
May 1996
RFC 1925
DOI 110.17487/RFC1925
[RFC2323]

IETF Identification and Security Guidelines
B. Leiba
May 2017
RFC 2323
DOI 10.17487/RFC2323