In recent years, Samsung has moved from being a mere consumer of open source software to actively participating in its development as a top-10 contributor to the Linux kernel. The company is still refining its open source approach and processes, however, as demonstrated by a recent GPL compliance issue with its (formerly) proprietary exFAT driver for Linux.
When the exFAT source code was accidentally leaked on GitHub, Samsung discovered that it violated the GPL and quickly corrected the mistake by formally open-sourcing the code.
"The exFAT driver story is an excellent example of how we are trying to do the right thing for the open source community," says Yannick Pellet, vice president of advanced software platforms at Samsung Research America. " While we regret the oversight of not finding that GPL code initially, we realized that we needed to do the right thing, and therefore, we released the code as GPL v2 via opensource.samsung.com."
Pellet will speak about these open source lessons learned and more in his keynote, "Fueling Samsung R&D Innovation with Collaborative Open Source Development," at LinuxCon and CloudOpen Europe to be held Oct. 21-23, 2013, in Edinburgh, Scotland. In this Q&A he talks about Samsung's shift to open source software; how the transition has changed Samsung's approach to development; the company's recent hiring spree; and the circumstances surrounding the exFAT driver release.
How has Samsung benefitted from open source development?
Software is a key differentiator for companies like Samsung and open source software is an essential piece of any software strategy. Samsung’s product portfolio covers a wide spectrum of vertical and consumer electronics, most of which are enabled with open source software – such as TVs, tablets, phones, cameras, etc. For the past few years, Samsung has been focusing more and more on triggering open source development from within, seizing this collaborative development opportunity and benefiting from the obvious advantages that comes with it. More importantly, we are witnessing the change of status from Samsung being a consumer of open source software to a contributor in a significant number of open source projects. This shift is naturally changing in a positive way how Samsung develops software, which is a more subtle benefit but probably more powerful in the long run than the immediate benefits.
As an organization, we are building open source excellence centers in key geographical locations (Silicon Valley, UK for our EU operations, and Korea). This build up in open source expertise is allowing us to set up the needed internal infrastructure to engage with the open source community around the world and attract different kinds of software developers with a diversity of backgrounds. The open source centers and their developers bring different approaches to software development that is challenging the status quo every day and allowing Samsung to renew itself constantly.
I think we will see a lot of activity from Samsung on this in the coming years which will help boost the prevalence of open source in Asia, and particularly in Korea.
How has open source development changed projects and processes within the company?
In our lab, we are focused on updating the company’s processes, policies, and guidelines to incorporate new elements in its working culture for the support of open source development and its collaborative aspect.
We worked with IT and management to address concerns shared by open source developers - free and collaborative access to information and technologies widely used in open source projects. We set up internal wikis for status reports and team collaboration, Linux VPN access, internal IRC, Github access and internal git repositories for code sharing. In a few words: the basic tools of the trade.
We have established a work from home/remote policy and our open source developers are able to allocate a minimum percentage of their time to focus on upstream projects. We also promote participating and speaking at open source conference and events. Furthermore, our team members have the freedom to organize local community events such as meet-ups and workshops as they see fit.
Last but not least, we do realize that open source development within a big and complex company such as Samsung is as much about discipline as it is about bringing a wind of change. With that in mind, we have established an open source compliance program which we are enforcing and constantly perfecting, which incorporates a clear separation of proprietary R&D and open source development.
Samsung has been hiring tens of thousands of developers over the past few years. How are you using all of that talent and where do they all come from?
It is no secret that Samsung has been growing immensely in the last couple of years, with indeed a particular effort on software development. Samsung’s intent is to carry the torch of software innovation. In order to achieve this, Samsung is just interested in pure talent irrespective of specific background and we have R&D centers all across the globe to harvest this talent. More importantly to the point, we understand the value of diversity in order to be successful.
As an example, I can talk a bit about Samsung Research America and in particular about the Advanced Software Platform Lab in Silicon Valley – which gives a pretty good idea of the diversity of the profile we are looking for. For the open source group, we are searching for motivated and enthusiastic individuals with open source development expertise either as existing contributors, maintainers, or even individuals that could possibly be on the path to becoming a maintainer with the proper support. On this particular topic, we are looking for people dealing with major platform components up and down the software stack (kernel, system, media, web, cloud, etc.)
On the research side, we are also looking for people with a more traditional academic background – we have in our lab people with Ph.Ds from Berkeley, MIT, etc. And while academic research is an important piece of the puzzle, we are also searching for people with an industry/product background – either from start-ups or corporations - as we believe that it is important for us to be relevant to the bottom-line of the company at the end of the day.
What lessons has Samsung learned in the process of ramping up its open source efforts? Are you able to discuss the ExFAT issue and how it was handled?
Samsung has learned the same lessons that any large company does when beginning to move from just consuming open source to effectively collaborating with the communities that build critical projects we rely on. We've had to bring change into many aspects of the company, while being disciplined and understanding of the successful development methods the company was already using. We also understand that this is an ongoing, iterative approach and we'll continue to refine how we help Samsung be a more effective and productive member of the greater open source community.
The exFAT driver story is an excellent example of how we are trying to do the right thing for the open source community. Originally, we contracted with a third party to write that driver based on the exFAT specification, and assumed it would be a proprietary module. Our internal open source compliance process originally detected no open source code, so we proceeded to apply a proprietary license to the driver. Following an inadvertent leak of this code, the community determined that we did in fact have GPL-licensed code within that module. We did our own investigation, and confirmed the findings of the community. While we regret the oversight of not finding that GPL code initially, we realized that we needed to do the right thing, and therefore, we released the code as GPL v2 via opensource.samsung.com. Our goal going forward is to be a trusted member of the communities that we rely on for our products, and in working with many open source organizations and groups to solve this particular issue, we learned important lessons in how to work effectively and positively with those stakeholders.