This is my first blog for OSD600 (Open Source Development) at Seneca. As one of my first tasks for analyzing an open source project, I’ve chosen the docker project (https://github.com/docker) which currently has 100 contributors with just under 2000 open issues being worked on by the GitHub community.
Docker is an application container engine that is hardware/platform independent, meaning it is capable of packing, shipping and running any application on any type of hardware or platform as a “lightweight” container (standardized unit); no particular language, framework, or packaging system is required.
Containers are considered a better/faster distribution method compared to setting up a virtual machine, since the container does not require a full copy of the operating system, giving it a much faster startup time (minutes to seconds). Here is an interesting thread on Quora (https://www.quora.com/What-is-the-difference-between-containerization-Docker-and-virtualization-VMWare-VirtualBox-Xen) detailing some of the advantages of containers over VMs and also simply going over some of the main differences between the two.
Docker was released as open source in March of 2013. The official website can be found here (https://www.docker.com).
One of the major milestones for this project was on September 19, 2013 when Docker announced their major alliance with RedHat which made it possible for Fedora/RHEL compatibility, as well as Docker becoming a standard container within Red Hat OpenShift. Another major open source project and current leading open source automation server Jenkins (https://jenkins.io/) has already had many plugins developed by the community dedicated to Docker compatibility (https://jenkins.io/solutions/docker/).