Many people know about EMC as a company, knowing it’s a top global storage product supplier, but many people don’t know that EMC is also an open source pioneer.
A while ago I attended the EMC World 2016 Conference, where I saw various new technologies and heard many newly disclosed messages firsthand. During this period, what surprised me very much was that EMC’s pace in open source is far ahead of many peers.
EMC {code} at EMC World 2016
Impression of EMC
In my original impression, EMC was a manufacturer mainly focused on hardware and proprietary software, and wouldn’t have much enthusiasm in open source, and proprietary software in storage might not be suitable for open source either.
EMC is an established IT company that has been established for over 30 years, and is also the world’s sixth largest enterprise software manufacturer. Based on past experience, this type of company is usually relatively conservative in adopting new technologies and company strategy, but in recent years, with EMC’s deployment in open source strategy, it not only continues to maintain leadership in the original storage market and enterprise software market, but has also gradually brought its influence to the open source field.
After listening to a presentation by Jonas Rosland and Stephanie Carlson from EMC {code}, I found that EMC has closely integrated into the entire open source ecosystem, not only forming close cooperation with various open source communities including the Linux Foundation, OpenStack Foundation, GitHub, etc., but has also made substantial development in building its own open source community EMC {code}.
EMC’s Work in Open Source

EMC {code} open source community
EMC’s open source community, compared to the various strange names of their open source projects, has a not-so-surprising name {code}. This name represents one of their open source strategies: COMMUNITY ONRAMP for DEVELOPER ENABLEMENT, this vision-like slogan if described in Chinese, can be interpreted as: “The community road that lets developers enter the fast lane.”
Since EMC {code} was established two years ago, it has now released as many as 48 open source projects—oh no, 49 now, another one was added just while writing this article. In 2015 alone, more than 350,000 lines of code were contributed to the community. Some of these open source projects could have brought EMC a lot of commercial revenue, such as CoprHD, RackHD, etc., so after being open sourced, they received high attention and active participation from the community.

COMMUNITY ONRAMP for DEVELOPER ENABLEMENT
Let’s look at what measures EMC has taken in open source:
RackHD

RackHD
At the end of last year, EMC fulfilled its promise to bring important new contributions to the open source community, releasing the RackHD™ (pronounced Rack ‘H’ ‘D’) project under the Apache open source license. This is a platform-independent technology stack designed to solve the industry challenge of managing and organizing server and network resources in hyper-scale environments.
Modern data centers are a mixture of multi-vendor storage, network, and servers, with increasingly diverse commoditized hardware used in various hyper-scale scenarios. For data center engineers, installing low-level operating systems, updating firmware and BIOS on large numbers of devices has become a complex and inefficient manual task. In hyper-scale environments, difficulty and cost increase by orders of magnitude. RackHD was created to encompass the automation of various data center hardware, simplifying these basic tasks.
Developers can use RackHD API as a component of a larger orchestration system, or create a user interface to manage hardware services without considering whether the underlying hardware is ready. Its goal is to help organizations accelerate the deployment of modern applications. These applications rely on large numbers of commoditized servers and heterogeneous infrastructure.
Currently, RackHD supports various Intel® processor-based data center servers, as well as switch discovery and monitoring.
For detailed feature lists, please visit the RackHD project address on GitHub: https://github.com/RackHD.
REX-Ray

REX-Ray
Although EMC already has VMWare, a leader in the virtualization field, after Docker emerged, EMC still actively participated in the development of the container field, and using its strong technical advantages in the storage field, integrated Docker technology into its XtremIO and ScaleIO products, achieving shared storage using simple Docker storage containers.
REX-Ray is a storage orchestration engine that provides persistent storage access for Docker, Mesos, and other container runtime environments. Its design aims to encompass general storage, virtualization, and cloud platforms, providing advanced storage features. REX-Ray provides vendor-agnostic persistent storage for containers, providing a simple centralized architecture for implementing advanced storage features across public storage, virtualization, and cloud platforms.
REX-Ray pioneered volume mounting functionality, allowing hosts to reallocate mounted volumes from unresponsive hosts. This ensures applications maintain access to permanent storage.
At EMC World 2016, EMC released the latest version of REX-Ray 0.4, with new features including an optional C/S model architecture for centralized control, compatibility with Docker 1.11 Volume API, and support for EMC ScaleIO, XtremIO, Isilon, and Vmax storage, as well as support for cloud storage services like Amazon EC2, Google Compute Engine, OpenStack, and Rackspace.
EMC {code} Technical Vice President Josh Bernstein said, “Open source and software-based architecture have become urgent needs for our customers.”
For detailed feature lists, please visit the REX-Ray project address on GitHub: https://github.com/emccode/rexray.
Polly

Polly
At this conference, EMC {code} also newly released Polly, which provides a central storage scheduling service that can connect to container schedulers. It can work with container scheduling services like Cloud Foundry, Docker, Kubernetes, Mesos, so storage can be accessed just like compute, memory, and network. Being able to provide storage resources together with other computing resources is a revolutionary leap, surpassing other container plans, and elevating storage status so it can be used like other resources.
Polly emerged in response to the need for “treating storage as a ‘first-class citizen’ in scheduling environments”, meaning “polymorphic volume scheduling”, an open source framework for Cloud Foundry, Docker, Kubernetes, Mesos, and other scheduling environments.
Previously, for container deployment, container schedulers only focused on compute, memory, and network resources. As applications in containers began to need persistent backend storage, the need to use it as a schedulable resource emerged. Polly serves this role: integrating storage as an open framework into multiple container scheduling solutions.
The open source container ecosystem is diverse, and deployment methods vary. Polymorphic solutions allow code to evolve while keeping the original algorithm intact, so polymorphic solutions are crucial for implementing common functions and methods when integrating storage into supporting ecosystems.
For detailed feature lists, please visit the Polly project address on GitHub: https://github.com/emccode/polly.
CoprHD

CoprHD
CoprHD is open source storage automation software that centralizes storage from multiple vendors and transforms it into a single, scalable platform. Now open sourced under the Apache 2.0 license.
To help enterprises meet various changes, EMC launched the open source version of its core product ViPR controller: CoprHD, opening all storage automation and control function code of ViPR controller to community-led development groups, to facilitate community development of software-defined storage automation systems. CoprHD provides the same flexibility, multiple choices, security, and transparency as ViPR controller, while enhancing the ability to develop new services and applications.
CoprHD is EMC’s first open source project based on its commercial software product, and its source code has the same core attributes and functions as EMC ViPR controller. It should be pointed out that CoprHD’s corresponding commercial version EMC ViPR controller, EMC will also continue to provide and support.
For detailed features and supported platform lists, please visit the CoprHD community page: https://coprhd.github.io/.
Community Response to EMC’s Open Source Strategy
EMC’s measures in open source are firm and continuous. For example, ScaleIO, which it open sourced last year, came from a flagship product of a company it spent $300 million to acquire, and when ScaleIO was initially released, that company was even unwilling to provide a trial version. As for ViPR, as we mentioned earlier, its open source version CoprHD and ViPR have the same code base, and now CoprHD has formed a mature open source community.

At EMC 2016 conference, participants filled the venue
Although there is still some debate in the community about whether ScaleIO counts as an open source product, in any case, ScaleIO can be downloaded and used for free in non-production environments.
Of course, from another perspective, except for some products like CoprHD and a few core products, the community doesn’t pay much attention to some peripheral products EMC has open sourced, hoping to see more products closer to the core align with the open source strategy.
From the dozens of software projects EMC has open sourced so far, we can see that some projects still have few participants. According to EMC’s Product and Marketing President Jeremy Burton, “If an open source project has no participants, that’s not open source, it’s called killing the project.” Therefore, how to find suitable contributors for these projects, rather than just “opening” the source code and calling it done, still requires EMC to do more work. At least, the community should have sufficient channels to hear EMC’s voice in open source, and have a suitable community atmosphere to participate in the construction of the community ecosystem, which will help the sustainable development of EMC’s open source strategy.
What Can Open Source Bring to EMC?

Is open source part of your strategy?
So why is EMC keen on open source? What can open source bring to EMC?
Open source can allow EMC’s software to support more third-party hardware, thereby expanding its application scenarios and bringing more value to customers.
Open source can also allow their software to get more development, absorbing more nutrients from the open source ecosystem. The relationship between CoprHD and ViPR is similar to Fedora and Red Hat’s RHEL, which can provide more development possibilities for enterprise-level product software through the contribution and experience of the open source community.
Although EMC is still the main contributor to its open source software products, its open source products will also attract development forces ranging from large ones like Intel, various research institutions and universities, to small ones like independent developers.
In addition, open source also has a non-negligible role in its competition for market share and influence on industry standards.
Conclusion
Looking at EMC’s measures in open source over the past two years, we can see that some traditional IT vendors have firmly turned to open source strategy, making open source an important way for their product and business development.
After the merger of EMC and DELL, from my communication with relevant senior EMC management, I learned that this open source strategy will obviously continue, and further expand to the newly established DELL Technologies, thereby attracting more open source community forces to participate, and relatively will further promote the development of the open source ecosystem.
As an indispensable part of the open source strategy, how to implant it into the soil of the open source community after “opening” the source code, so that it can truly develop, this should be a major consideration for DELL Technologies and DELL EMC in the future.
Reposted from: Developer Relations »