What is Open Source?

The term open source is a philosophy; it is an attitude that is driving people all around the world. Basically open source with respect to software means that you develop a software and make it freely available to the general public under any of the free licenses. People now can access its source, modify and re-distribute it, but while complying with the free license under which the original software was licensed.

According to OpenSource.org, “Open source software is software that can be used freely, changed, and shared (in modified or unmodified form) by anyone. Open source software is made by many people, and distributed under licenses that comply with the open source definition.”

By open sourcing a software, different people contribute to it and improve the software. Different people come together and collaborate to develop one good software. Open Source Software (OSS) has been around for a while now. We have been using such software from years. GNU/Linux Kernel based operating systems like Ubuntu, Fedora, RHEL, Linux Mint are a good example. Also the operating system on Android phones is Linux based.

OSS from business perspective works similar to all other proprietary software’s, but the difference is that users do not have to pay for them. However, the important difference here is that the user is effectively a co-developer, who can suggest different improvements in the software, or help fix bugs in the software or even get into the source code and modify it according to his/her needs which might make it even more better and then share it with others.

Developing a software and giving it for free isn’t open source. Richard Stallman, the software freedom activist and founder of GNU, quotes “When we call software ’free’, we mean that it respects the users’ essential freedoms like the freedom to run it, change it and to redistribute copies with or without changes.” This is a matter of freedom not price, so think of ’free speech’ not ‘free beer’. These freedoms are vitally important. They are essential, not just for the individual users’ sake, but for society as a whole because they promote social solidarity – that is, sharing and cooperation.

Thus open source software must not be interpreted as “Free Software”, because there is a lot of difference between software which you can get for zero price, and a software which gives you the freedom to use it the way you want. You cannot look into the source code of a free software (zero priced software or a pirated software which is distributed freely), but you have access to the source code of an open source software. Well open sourcing a software has its own advantages. From a user’s perspective, the but obvious advantage is the software being freely available. A developer or programmer will be more than happy to get access of the source code, and do whatever he wants. Whereas on the other hand a software vendor, can cut off its annual software maintenance costs by open sourcing their software. Another great advantage is that, the software continuously evolves as more and more developers contribute to the software, add to it and modify it. This makes the software better, secure, bug free, as compared to proprietary software’s. The best example is Linux kernel. The rate of development of Linux kernel is unmatched, these are the recent stats publicly announced by LinuxFoundation.org – “Nearly 12,000 developers from more than 1,200 companies have contributed to the Linux kernel since tracking began 10 years ago. The recent report said more than 4,000 developers from 200 companies have contributed to the kernel, half of whom contributed for the first time. The average number of changes accepted into the kernel per hour is 7.71, which translates to 185 changes every day and nearly 1,300 per week.”

Today big players like Google, Facebook, Intel, Samsung, Red Hat, Canonical, Cisco, Yahoo etc. are promoting and contributing in open source activities.

Need of open source!

It all started with the frustration of not being able to tweak the software that were used. In early 1980s Richard Stall man, a computer programmer and hacker with a bunch of other guys were not allowed to modify the code of a newly installed laser printed at AI Labs where they used to work. Stall man had modified the source code of the lab’s previously installed printer which used to send electronic notification to the user when the printing job used to get completed. Stallman wanted to add the same functionality to the newly installed printer but was refused to do so.

This and few other similar events triggered the birth of open source software. Today in this rapidly developing digital era, open source software has an important role. Here are few well-known open source software’s, and first of all the obvious and biggest open source project is the Linux Kernel, the well-known internet browser Mozilla, Apache web server that powers most of the world’s websites, OpenSSL the project that keeps the internet secure and which is used by most of the organizations and government organization, GnuPG (GNU Privacy Guard) which is an encryption software used in most of the organizations for securing mails and files. Network Time Protocol (NTP) which synchronizes the time of all machines over the internet. The very well-known and widely used cloud software OpenStack is an open source software. These are just a few examples, the list goes on and on and on! Organizations like Linux Foundation which supports the development of Linux kernel as

well as other open source projects, Apache Software Foundation which backs the development of Apache web server software used by most of the websites, etc. are few examples that prove the success and widespread of open source, its ideology and the software’s that are making life easier and better. The point is people quickly adopt and collaborate to open source software’s. Just because it gives them the freedom to freely use the software the way they want, modify it accordingly to their needs, help fix issues which benefits them as well as the community that is built around it. And most importantly the philosophy of open source is deeply rooted into people as they wish to collaborate and help build a better software. As previously stated, Linux kernel is the best example of an open source software. The success of the project is in the way it is developed and maintained by the community. Approximately every two months we have a new release of the Linux kernel. The reason is Linux kernel is being used in palm sized Raspberry Pi computers to super computers that are used in space stations, from cars to submarines that dive deep into the sea and the reason is just because it supports such a wide range of hardware. And it is because people from around the world collaborate and add patches to the Linux kernel which makes it support such hardware. Now that is the indirect outcome of “open source”. If Linus Torvalds, creator of Linux would have thought of keeping his project to himself then he would have ended up founding another Microsoft, and the world as it is now would have never been the same!

The Future is Open!

How does open source work?

You find an open source software useful and start using it. Then you stumble across a bug, you would like to add a feature, you get in contact with the team. Then you submit the issue to a bug tracker, if you found one. f the team likes your idea then they themselves might ask you to write a patch for it. In most of the cases if it is easy, then you can yourself modify the code, do some tests and submit the patch. If the team accepts the patch and apply it then you are happy and your contribution makes the software even better. That was about contributing to the software that you use. What if you created an amazing software and now you want to go open source, again it is simple? You create a zip of your code and publish it on one of the open source software hosting sites like, github.com sourceforge.net, Once your project is published people will through it, and start collaborating. Well, the development of open source software happens collaboratively.

Who are building products on top of pen source? The answer is, almost everyone! The tech giant, Google has contributed over 20 million lines of code from over 900 open source projects. The best example is Android – which is a software stack for mobile devices that is based on Linux. Chromium – web browser, Ganeti – cluster virtual server management software, Gerrit – web based code review system, Go – programming language, and many more. But Google isn’t the only one, rival Facebook is also in the race. Even Facebook has a wide range of open source projects that span from Android to iOS, from the web to backend servers. Buck – is a build system for Android that helps in building reusable modules, Bolts – are few libraries for android and iOS that help building apps easier, react – is a JavaScript based library Flux – is an application architecture which are used for building web interfaces, Presto – is a distributed SQL query engine, HHVM – is a virtual machine designed to execute PHP programs with 5x increased throughput. Other big players like Red Hat, Intel and Canonical are also not lagging behind. Red Hat’s community driven Linux based operating systems CentOS and Fedora are very popular. Red Hat also has its own community driven version of OpenStack RDO and Jboss Developer which is an open source application server. Intel also has a big share in the open source world.

One of them is Intel’s Yocto Project- an initiative in developing shared development environment and tools for embedded developers. Ubuntu, the world’s most popular and widely used operating system is developed by Canonical. Canonical also has been developing wide range of open source software’s, like Juju – which is a service orchestration tool for management and installation of cloud applications. Metal as a Service (MAAS) is another innovative project that helps to manage physical servers and cloud. Believe me, this article won’t be enough if we decide to list down all the open source projects that are currently being developed out there! India, being the world’s largest out sourcing destination also has companies that are keen in open source development. The best example is ESDS Software Solution (esds.co.in).

Here at ESDS we foster the ideology of open source. We constantly encourage our colleagues to innovate and contribute to the open source community in every way that is possible. Our products eNlight™, eMagic and MtvScan are based on open source technologies. eNlight™ is an Intelligent and Highly scalable cloud orchestration software that has open source in its roots. eNlight™ has the capability to manage virtual machines running on different hypervisors like XenServer, Hyper-V. Unlike other cloud management software’s, the scaling service of eNlight™ intelligently scales the resources of a virtual machine on the go, which reduces the cost to a large extent. One very unique feature eNlight™ is Pay per Consume i.e. you have to pay for CPU, RAM, and Bandwidth only when the VM uses it! This feature cuts down the expenses and is very unique to eNlight™. Different businesses have different needs, and thus every business needs a different and customizable cloud solution that perfectly satisfies it’s needs and here comes eNlight™ into picture with its dynamic resource provisioning and scheduling. eNlight™ can also be deployed as a private cloud solution which supports wide range of hypervisors like, VMware, KVM, Xen Libvirt including XenServer and Hyper-V.

eMagic is another innovative, in house developed data center management software, that simplifies and makes it easy to monitor and manage all the servers and resources in the data center. It is basically a web based system that is widely used for IT asset management, device deployment, and comprehensive server monitoring and network management in datacenters spread across different Geo-locations. The revolutionary thing about eMagic is three click concept i.e. Build, Deploy and Manage. eMagic has auto discovery feature which helps customers to discover all devices and deploy them in rack in just two clicks. With three clicks concept, devices of multiple datacenters across multiple geo-locations can be managed easily. Support to Heterogeneous hypervisors for VM management makes it unique along with wide traditional features like IP SLA monitoring, net flow, alerts, reports and application monitoring. ITIL framework support for data center management like Change Management System, Incident Management System and Problem Management system are enterprise features of eMagic. MtvScan is an aggressive website security scanner that keep websites safe and secure. MTvScan works on websites based on different frameworks like WordPress, Joomla etc. It thoroughly scans for different vulnerabilities that might be present or show up and notifies the developer accordingly.

MTvScan provides automatic CMS scanning and Agent based server side scanning. It proactively scans for malwares, Trojans, security threats, infections and botnets. MtvScan also provides specialized defense against Zero-Day Exploits, Advisory Security Patches, Fully Trusted and Tested Custom Security for Websites. open source software has changed the way we do things. Today it is affecting our day to day life. Moreover, it has got into our ethics and is shaping the digital culture. Everyone is doing something to contribute and share to the community, benefiting themselves and others at the same time. As in freedom of speech we have inherited the freedom to use software. And this is going to go a long way!