 Hi, I'm Yannick, and as Jim just said, I had the Advanced Software Platform lab in San Jose, California as part of Samsung Research America. And basically what we do there is we kind of create or try to create the software platforms tomorrow and whatever differentiated technology there is on top of it or what we can do on this. And I'm here to talk to you about a bit what we're doing in the area of open source in this lab. But before I go diving my subject, I want to talk to you a bit about Samsung and open source. I mean, just so that you have an idea about where we're coming from and where we're going. So Samsung has been a consumer of open source for the past, you know, five years or even longer than that. I mean, essentially through the Android platform, I mean, you all know the Android smartphone coming from Samsung, the tablets, selling by tens or even hundreds of millions. And we even have Android on cameras. But we also have open source software on smart TVs, setup boxes, and a lot of the devices that you see on the slide, actually. And actually lately we had even like a watch that's also based on Android and some sort of modification of Android. What people know a bit less is that actually in the past two years, Samsung has transformed itself from becoming a consumer of open source to being a contributor of open source. There were actually a few signs of this already. This you see a report from the Linux Foundation highlighting the top 10 Linux contributors, the next kind of contributors. And you see Samsung here being at number seven there. Two years ago, that was not the case. It's also the same if you look at important open source projects such as WebKit, something you will see the same kind of trend. And we're also working tighter with the Linux Foundation. And another sign of this has been Tizen, which was made source available in 2011. It's now in version 2.2. And now for 3.0, it's evolving its governance model to something that is more open and actually there was a presentation about this by somebody from our lab, Gary Martin, yesterday together with Tiago from Intel. I hope you had the chance to check this one out. Now, in terms of levels of ambitions, of course we have made this transition in a very strategy that just simply dismiss open source and has to be at somehow the center of internal software strategy. But we also realize that those contributions, they need to put us in a space where we actually can need and bring innovation to the open source community. Now, that's actually a very hard place to do and it's gonna take us time and work to do so. But that's basically our goals. I mean, I was at LinuxCon in North America about a month ago and I was hearing about a keynote by Brian Hacker from HP talking about the time where he got this phone call from HP to do HP Public Cloud and how he was happy about this. So those are the kind of like basically phone call that we wanna make two years down the road on behalf of Samsung, basically. Now, in order to do this, basically there's two aspects that you have to deal with. One is the here and now and how do you actually make sure that open source works inside your company. And the other is how do you actually fuel research and innovation using open source and actually go the other way around. Also use research and innovation in order to kind of bring something new to the communities. Now, for the here and now, we've built a group called the SRA Open Source Group. So you can follow them on Twitter. The group is headed by Ibrahim Haddad, who was part of the Linux Foundation working together with Jim Zamblin. It's a small group that just started about ten months ago. I mean, it has grown obviously and we're constantly recruiting around this. And that's basically a group that's working with the software strategy team in HQ in order to create the condition of making sure that open source is a success within Samsung. And developing also a core know-how on how to use open source and to kind of serve it across the business and department in Samsung. Now, how are we doing this in the most simplest way possible? I'll slowly go through a single slide there. I'm not teaching anybody in this room by going for this slide set. But it's important for me to highlight that Samsung is doing this the right way, basically. So that want to work on open source, that love open source in order to produce open source code. And then we're building an internal environment. So that actually does developers, they feel good about it. So we're trying to recreate whatever environment they have on the outside and the inside. So it can be anything from hardware equipment, access, Linux VPNs, Wikis, RSE, whatever they're really bug reporting tools, whatever they're using the outside and with the proper access to the outside as well. And then we implement some work policies that are kind of a change of culture, especially in the corporate environment like Samsung, such a big company, such as the ability to work remotely from home, flexible office hours, et cetera. I mean, the traditional stuff, we make sure that those guys work upstream. Of course, if you're working on a product, you're not going to do product work upstream. But as of today, all the team is working upstream. We engage with the community. We promote going to conference, attend, present, create your own event, communicate. We work with open source organizations such as the Linux Foundation. And then we create process and we enforce process to make sure that an environment is safe for the open source developers. And that means that we create compliancy process, legal process, patent checking process, licensing in order to make sure that there's no problem of contagion for both worlds, actually, to protect the open source developer, but also to protect the propriety side of Samsung that might be freaked out by what is this open source all about. And then, of course, we do a work of evangelization and promotion within Samsung. So basically, we go towards very far away department units of something that don't know how to deal with open source. And we actually evangelize, tell them how to do it, coach them, train them in order to kind of basically promote open source. And then, obviously, we support the planning and strategy that's happening in HQ. This is just a list of, don't read too much in this list. It's just kind of an idea to give you an idea of the spectrum of our desire. It's a wish list. We have some people working on this project because they are, for some of them, essential for our products. In some cases, we're working on those projects because it's just an interest of research. And we're always welcome to new venture, but just to give you an idea that, and this is not an exhaustive list, by the way. Now, this is what we do here and now. Now, the problem is what do you do for the future? So how do you kind of make sure that you use open source to bring something new to the table on the research side? Because we're a research organization, essentially. And that's where it kind of gets a bit tricky. The traditional way of doing research is that you're doing within the own confinement of your corporate company or on the academia side, or sometimes on the intersection of it by striking a deal with a specific university or department. Now, in the advanced software platform lab, since we're in California, and we're dealing also with open source, we have kind of a privileged environment. And this is the environment. So in one sense, we have Samsung, which is one of the greatest consumer electronics company in the world. On the other side, we have academia. And in this kind of context, academia is 10th Street, MIT, Berkeley, Duke, Purdue, so kind of place where if you throw a brick, and when the brick comes down, it just kills two Nobel Prize winners, right? So and then we have the open source group, fully open source group, where we can have this enormous engagement from the community. And then, of course, we're bathing into the whole startup community that has brought Facebook, LinkedIn, Twitter, some of which are using actually open source technologies. And so my job, if I want to do it to the fullest extent possible and the best way possible, it's actually to stand in this kind of blue triangle there, to tap in in all those four streams of innovation, to bring added value to Samsung, obviously, and to make sure that all those partners are satisfied in one way or another. Now, actually, for me, it's the greatest gig in the world, but it's actually pretty hard. Now, the Samsung open source aspect, I've done this in Nokia before, and I'm sure a lot of you have done this in your respective company. That's actually the easy part, and that's been happening in the last 10 years. Now, when you're bringing academia actually gets a bit more complex, and it was something that I was not expecting, I knew about academia in general, and there's a couple of reasons for this. And one of those reasons are, for instance, those financial numbers. Basically, in practice, the university is actually a company. If you look at financial numbers, it's not the kind of company that are going to dump chemicals in a river or kill some children playgrounds somewhere. It's a philanthropic enterprise. But if you look at those numbers, which come from the Stanford website, this is the consolidated revenue for Stanford to 2014. That's $4.4 billion. And this is the consolidated expenses, $4 billion. The amount of endowment money that Stanford received in 2012 was $17 billion. That's actually the highest. The highest is Harvard with $30 billion. Now, only 20% of this money goes to the consolidated revenue model. The rest is actually put in trust fund to secure the university on the long term. But that gives you an idea of the kind of money we're discussing about. If you want to check another slide about numbers, here's this one. So this is the top 300 orgs that were granted pattern in 2012. And you can see the respective number on the list. Number 90, you have California, University of California, 138 MIT, 157 Stanford, 197 University of Texas. California, all the campus have 357 patterns. Just to give you an idea on this list, companies like Yahoo and ExxonMobile have about 300 patterns. So I mean, we're talking about numbers that are equivalent to mid-cap large-carb size companies, basically. So that means that this blue triangle there, you're actually working with actually two kind of companies, and plus the open source. Now, another thing that's kind of a bit particular about this area is that, actually, when you're talking about open source within the context of academia, it's kind of a different kind of open source than the open source coming from the community. And again, I'm sure there's some people that are completely in line with the community, but I'm just talking about some cases that are a bit problematic. Now, open source within an institution like academia, of course, it has some common points. So the philosophy is more or less the same. It's about sharing knowledge, philanthropy. There's some concept that are the same, like peer reviewing. Some licenses are common as well. We use in the open source BSD or MIT licenses. There's a concept of community of researchers. They're the same concept. There's a community in the open source. There's a conference circus where you share the knowledge you publish, and there's this concept of open innovation. Now, but there are certain things that actually make it a bit different. One different is that because it is, in the sense of company, it has company-like process. And actually the process to go for patent publishing, check legal checks, they're kind of equivalent to the kind of process we would have in the Samsung side, actually. And then there's a difference in how the finality of the software that is produced, where it ends up and what's the purpose of it. In the academia world, basically you produce software most of the student do, and the researchers that are furthering their IDs. You produce code to actually support a research item or a paper, basically. Or to build the knowledge of a student, or to further the knowledge of a professor. In the open source world, you actually produce code because somebody needs it, something is missing, a functionality is missing, you're aiming at a distribution, a target environment uses. And so that in the end that has an implication because in the case of academia you can have a lot of orphan code, good code that goes up to a certain point and then that can disappear because basically the guy that was behind was a student or a professor and they moved on. Another aspect of difference is what you understand by the term community. In the community of open source, there are a lot of people that are not the coders that participate to this community. There are people that do QA integration, there are maintainers that would like to code but they don't have the time to code. There are people that are doing user designs, there are users of the software, there are people doing marketing, there are a lot of people that participate to the lack of community that are very important but are not the actual coders. In the community of researchers, everybody that's part of this community are researchers and specialists. And that has a lot of implication. One of the implications is actually in the community we take care that there's API, there are API competibilities that are the documentation, there are frameworks and the plugins which will not necessarily be the case in the academia. Another aspect is that because all the people that work on the code are working to democratize the open source project and to make it better understand to other people. But when you're among researchers and specialists and you're the only one on this topic, then basically you don't need to do that. Then also peer reviews and releasing are different. In open source you release frequently, you're peer reviewed from day one where you write a line of code. In academia generally, you're very careful before you release code if you say something in a paper that says, I have cancer and somebody finds a bug in the code, you have a problem, right? So it's about your reputation. So you tend to kind of peer review but internally and you make sure that it's good before you release so it has a slower release process typically. And then conference circuits are different. Publication processes are different. There's actually a lot of money behind the publications so it's hard to get in. Now, it's challenging but it doesn't mean that there are not solutions. And I just want to give an example of one project that we set up in the special ways to try to bridge this gap. I'll quickly go through the project and tell you what's special about it. So the project is called Jalingi. It stands for JavaScript Language Intelligence. It's also an Indian reverse somewhere because the gentleman behind this is from India. It actually, we had an idea of boosting the web app developer community and provided better tools to JavaScript developers. And so we did this dynamic analysis framework for GVS. It has plug-in and among those plug-in, it has basic stuff like key profiles and tent analysis and neural and undefined value tracking. And one of the main things it implements is concocted testing. Concocted testing is the mixture of concrete execution and symbolic execution. It's basically a way of doing symbolic execution without having an interpreter for it. So you just do symbolic execution, piggyback on the concrete execution. And you basically are able to generate automated test unit for your code with a pretty high coverage. And it's available in GitHub, so I encourage you to go and check it out. Just briefly, it's just a record and play mechanism. You instrument a Java code, so that's pretty classic. You run it, and then you replay. You can replay it anywhere, not necessarily on the target engine. You have the possibility of running those different plugins that you provide. But basically, the point behind this project is actually the way it was set up, not necessarily this project, the project content. Even though it's very exciting stuff and it's the first time that, I think, to our knowledge, concocted testing has been implemented for JavaScript, the point is actually how we set up this project. The term concocted testing was coined by a professor in Berkeley called Kochik Sen, which is somebody we've been knowing now for a year, a year and a half. And basically, he developed a paper where you expand concocted testing, and he did an implementation of it on the native side. And he wanted to do it also on the JavaScript side, but he didn't have the time. And we were looking at bringing something new to the open source community and doing things to boost the JavaScript developer ecosystem. So we went to Kochik, and we said, hey, you know what? You want to do this. We want to do something like this. So you know what? You're going to have your sabbatical coming up. So why don't you come and do it in our lab, and we'll make sure we work together and we do things properly. And then when we work together, what we did is that we started planting the seed of something that could become a community in the future. So we worked on making sure that it was a framework that the APIs were defined. We worked about what would be the interest for the developers on this topic. And then we designed it together. And the part where we were more specialist than him, we did, and then he did the rest. And then we put this code outside. It's actually been there since June, July, I think if I remember. And then we've worked on this code. And what happened is that Kochik went back to Berkeley now, his sabbatical is finished. He's starting a theme with his students. He's working on the code from the academy. We're working on the code from the corporate side. We're defining plugins, fixing bugs, because it was not perfect, of course. And then basically that's where the open source group comes in, right? And Ibrahim's team now are going to work on the seed, create a community that's kind of like actually it's going to go somewhere, democratize the content, and make sure there's a documentation, make sure that we go in a conference circuit that we evangelize this project. And we talk about it. And hopefully it's not yet finished. We'll be standing in this small triangle there. So I talked about the plugins already. So basically that's the kind of thing that we're trying to do. Kind of basically provide something new to the open source, try to work within this triangle. If you want to help, if you want to join in, please anything is welcome. And that's all I had to say, so thank you. I'm at Twitter if you want to contact me for anything or on this particular project. Thank you for listening. And I hope you have a nice conference. Thank you.