Why choose OpenWrt?

From PRPL
Jump to: navigation, search

Why choose OpenWrt? is the key question to answer when selling others on the value of OpenWrt for your company or organization. Here's some features and advantages of OpenWrt:

Technical[edit]

  • Buildroot-based image configuration
  • uci - The UCI system makes a pretty good abstraction layer, although the standard data model is incomplete
  • netifd
  • ubus
  • OpenWrt procd
  • opkg packages and feeds system
  • OpenWrt jails support (going forward)
  • builds a relocatable toolchain, SDK and Image builder
  • supports external toolchain
  • supports mutliple C library implementations: uClibc, glibc, musl
  • natively builds software as installable packages
  • maximizes binary/toolchain/ABI whenever possible (e.g: uClibc-0.9.33.2 + mips32r1 is reused across mutliple builds)
  • supports partial rebuilds of any software package
  • supports parallel builds, providing very good build times (much better than OpenEmbedded for the exact same result)
  • allows same source directory re-use across different platforms: e.g: switching from MIPS to ARM builds does not impact the other(s) build target(s)
  • luci (its counter part), having an off-the-shelf ready to be used Web interface that just needs minor customization is beneficial for a lot of projects, especially for ODM/OEMs with time to market in mind and their business model relying on the PCB cost
  • overlayfs
  • The package and target systems allow us to build various products from one repository

Community[edit]

  • vendor neutral
  • very active community
  • following upstream Linux releases: LTS and LTSI whenever possible
  • By design, due to so much reuse of upstream, the broader community is larger than OpenWrt itself
  • The community accelerates the development of new features by giving constructive feedback
  • Once a feature is adopted, test coverage is greatly increased and maintenance cost is greatly reduced
  • backporting security fixes as quickly as possible
  • virtually 100% open source (except some weird closed source binary drivers like broadcom-wl)
  • very high code quality
  • Many SoC vendors have adopted OpenWrt for their reference kits, making it quicker and easier for us to enable their hardware