Open Source vs Open Networking vs SDN: What's the Difference
Open source, open networking, and SDN (software-defined networking) are all common concepts related to open in networking. These three terms are often intertwined together and confuse a lot of people. This article will provide a comprehensive introduction to open source and make a comparison of open source, open networking, and SDN.
What Is Open Source?
Open source is a term indicating that something is publicly accessible. It most commonly refers to software or a program whose source code can be freely used, modified, and shared by anybody.
This term originated from software development and refers to a specific approach to creating computer programs. With the development of the Internet, the demand for reworking plenty of source code is increasing. When the source code is opened to the public, people can freely view, learn, share, modify or possibly improve the software when they have access to that code. It is convenient for creating diverse communication paths and interactive technical communities. It also can help construct multiple network equipment such as Ethernet switches. Therefore, open source draws more and more attention. Many people who focus on developing specific software, such as developers, engineers, service providers, vendors, etc., joined open source projects.
Usually, open source software (program or application) accords with a license such as Apache or General Public License (GNU). The license defines terms and conditions for using or changing the open source software, for instance, a copyright statement within the code, a requirement to redistribute the licensed software only under the same license, or to preserve the name of the authors. Users must agree to all the agreements when using open source software.
What Is Software-defined Networking?
Software-defined networking (SDN) is an architecture that decouples the control plane from the packet-forwarding (data) plane within the network to create a software-programmable infrastructure. It is an approach to network virtualization and containerization, with which network configuration and management are performed from a central dashboard instead of connecting every specific switch or server through the network. It allows enterprises and service providers to optimize network resources and respond quickly to changing business requirements.
What Is Open Networking?
Open networking is based on open standards (such as the OpenFlow protocol) and bare-metal hardware with flexible choices of networking operating system (OS). It aims at breaking down the propriety nature of software and hardware to deliver an agile, scalable, and programmable network, which can adapt to the varying requirements. Open networks offer high flexibility for enterprises, such as the freedom to choose devices, software, and network operating systems, which enables businesses to reduce their costs, increase capabilities and drive better ROI.
SDN vs Open Source
SDN and open source play important roles in helping achieve open networking, but they are definitely not the same thing.
A typical SDN has three parts - applications, controllers, and networking devices. SDN controller communicates with applications through northbound application programming interfaces (APIs). While it communicates with switches or routers using southbound interfaces such as OpenFlow. Since the OpenFlow protocol is an example of a pervasive open source component of networking, some people hold that SDN is the same as open source software. Actually, most SDN architectures remain using proprietary or open source software on third-party or commodity hardware.
In addition, as stated, SDN allows for open networking. This makes some people consider that SDN is open source as well. Actually, SDN can be done in a more limited environment without open networking, let alone open networking is not necessarily open source.
All in all, SDN itself is not open source. It is valued for its ability of functional separation, network virtualization, and automation through programmability.
Open Networking vs Open Source
Just as their names imply, both open networking and open source hinge on the concept of being open. But there is a clear difference between open networking and open source. Open networking and its network operating systems do not require open source.
Open networking allows users to choose OS freely such as Cumulus Networks' Cumulus Linux, Big Switch Networks' Switch Light, and Pica8's PicOS installed on commodity hardware or vendor hardware. Though these network OSs are commonly based on Linux, they do not need to be open source.
To summarize, open source is any software or program available for public use and modification, while open networking is based on software designed to create more flexibility, interoperability, and automation for networking devices.