Bazaar vs. cathedral paradigm applied to uCPE platforms

The Bazaar vs Cathedral paradigm in software development was presented by Eric Raymond at a Linux Conference in 1996.

“Cathedral” software was built by a group of developers based on a central plan. They code, find bugs, and then, after a year or so, they eventually ship a product.

This is very much like building a cathedral where every detail is planned, drawn, crafted and installed before the church is open for public masses. Examples of such “Cathedrals” are Microsoft Windows or Office – humongous projects with a new release every few years and point releases every couple of quarters.

“Bazaar,” or open-source software, is created more independently. This is done by building upon a basic kernel while independent developers improve functionality or fix bugs as they see a need.

Bazaar vs. Cathedral Paradigm
What we are basically talking about is crowdsourcing for software. Well-known examples include Linux and Apache.

Regarding the uCPE (universal CPE) platforms, for some of the vendors, we are already half way there.

Using software components such as KVM, DPDK and Openstack as the virtualization pillars for the NFVi Operating Systems, we are reusing open-source components and making them carrier grade software.

On top of that, we add our “secret sauce” which makes the uCPE a final product that service providers can use in their networks.

At the base of the uCPE is a computing platform, a white box that runs code on a CPU. And here we ask the question: About the CPU, is it a Cathedral or a Bazaar CPU?

Typically, a CPU or a SOC (system on Chip) is based on the IP of a single company and manufactured by the same company, all as a single project planned and executed from A to Z.

Can a CPU or SOC be built using the Baazar paradigm? What advantages can we see from a Baazar-style-designed CPU/SOC when building a uCPE?

A CPU is based on a core technology, but the actual SOC is designed and manufactured by other companies. This is actually a Baazar-style project, having a variety of accelerators and improvements that each SoC vendor produces, also allowing for post-sale firmware updates at the SOC level.

A uCPE can take advantage of the variety of SOC that share the same base chip technology, targeting a variety of accelerators from the different SOC vendors, optimized for different use cases.

Basically, the same base CPU technology can be improved by developing accelerators for existing and future use cases such as:

  • Offloading datapath on OVS/DPDK
  • Crypto (IPSEC)
  • DPI
  • Packet compression
  • S1 deep analysis

Related posts