If you are working in IT chances are good that you have been working with SNMP and MIBs. Almost every type of Network Management System uses MIBs. In my New to Networking series, I discuss MIBs at length in Volume 4, Introduction to SNMP. I think that paper gives good overview of MIBs and how they function, so I won't discuss that here. What we will look at is the process of creating a MIB. The Internet Engineering Task Force (IETF) is the party responsible for overseeing the MIB development process and approving MIBs as standards. The IETF welcomes anyone with technical competence to submit work for development and eventual approval as a MIB. So, where does this process start?
To get the MIB "ball" rolling, the submitter works with IETF members to create an RFC and have an RFC number assigned. The RFC is a working document for the submitter to communicate their need and intention for a new MIB. The IETF is so invested in the RFC process that they have an RFC that defines the IETF. IETF members review the RFC submission and comment back to the submitter and any IETF working committee assigned the RFC. If the IETF decides to move forward with the MIB, they assign the RFC a MIB number on the experimental MIB branch and reserve a MIB number on either the standard or enterprise branch. Standard branch MIBs are vendor independent whereas enterprise branch MIBS are vendor specific.
This diagram shows the structure of MIBs from the root to these branches.
Now don't let this fool you into thinking that this is an easy process to get to this point. This RFC describes the process in full. IETF members tend to be very academic and process oriented people, so this is not for those who are easily frustrated. The good news is that this process works and is the globally accepted method of creating and publishing a new MIB. If you want to take a deeper dive into MIBS I recommend SNMP MIB Handbook by Larry Walsh.