Is Mibble MIB Parser Open Source, and What License Applies?

Updated

Mibble is open source, but it uses a dual-license model: the same code is offered under the GNU GPL and under a commercial license. If you can accept GPL terms — free use, but redistribution of Mibble or derived code must stay under the same license — you don't need to pay. If you want to embed Mibble in a product without those GPL redistribution constraints, you need a commercial license, purchased from the Mibble Store.

What "dual-licensed" means here

Mibble is not open source or commercial — it is both at once. The full source code is provided under each license, and the project is available on GitHub. You choose the license that fits how you intend to use and distribute the library.

GNU GPL Commercial license
Cost Free usage permitted Purchased from the Mibble Store
Source code Full source provided Full source provided
Redistribution of Mibble or derived code Must use the same (GPL) license Permits inclusion in almost any software product
Typical fit Open-source projects and internal use that can meet GPL terms Products that can't accept GPL redistribution terms

Which license applies to you

The deciding factor is not whether you use Mibble, but how you distribute it or code derived from it.

  • Choose the GNU GPL if your project can itself be distributed under the GPL. The license permits free usage, but redistribution of Mibble or derived code is restricted to using the same license.
  • Choose the commercial license if you need to include Mibble in a product whose licensing can't comply with the GPL's same-license requirement. Commercial licenses permit inclusion in almost any software product.

The site points to a GNU GPL license FAQ and a commercial license FAQ for the details of each path, and licenses are purchased from the Mibble Store.

What Mibble actually is (so you license the right thing)

Mibble is an open-source SNMP MIB (or SMI) parser library for Java. It reads MIB files in ASN.1 syntax and exposes an API for accessing the information they contain — OIDs, types, descriptions, comments, and the original MIB source text.

The distribution includes:

  • A Java library for parsing SNMP MIBs
  • All standard IANA and IETF MIBs
  • A graphical MIB browser with a simple SNMP manager
  • Command-line apps for MIB formatting and validation

One important boundary: Mibble is not an SNMP stack or a MIB compiler. It only provides the functionality for reading SNMP MIB files (an SMI parser). If you need both MIB parsing and SNMP manager functionality, the site suggests using Mibble together with either SNMP4J or Westhawk's SNMP stack. You can also use Mibble as the basis for a MIB compiler, since it provides all the readable information from the MIB files.

Practical checklist before you commit

  1. Confirm you actually need a parser, not a full SNMP stack — if you need manager functionality too, plan for SNMP4J or Westhawk's stack alongside Mibble.
  2. Decide how your software will be distributed. If Mibble or derived code ships as part of it, check whether GPL same-license terms are acceptable.
  3. If they aren't, plan to buy a commercial license from the Mibble Store.
  4. Read the relevant FAQ — GNU GPL or commercial — for the terms that apply to your case.