 For coming to Achim has Miller um I Recently got demoted from CEO of Inno tech to director engineering at Sun Maybe you've seen the news our company in a tech which is the creative virtual box get acquired for Sun Microsystems So this is actually my first presentation as an employee of Sun Microsystems So I'm going to talk a little bit about The history and and what is virtual box. I don't know how many of you have seen the product. Have you used it? Probably maybe 50 50 or so, so I'm going to talk a little bit about what it is I'm going to talk about our architecture how it compares to other solutions Some of you have seen the Zen presentation just before this one, so I'm going to compare it a little bit where it is different I'm going to talk a little bit about virtualization technologies with different kinds of virtualizations are there. Where do we fit in? and Where we see the industry is going and Then mostly I'm going to talk about you know, what is our roadmap for virtual box? What features are we working on and where do we see the the product in the future? And then I'm going to talk a little bit how we work with the community because we are an open-source project and we do a lot of work with the community and How you know the acquisition through Sun is going to impact this So just to warn you I'm absolutely new in the job at Sun and of course We're still working out many details because now at Sun of course we have Very different opportunities where different possibilities that we used to be a 22 men Engineering shop in Stuttgart, Germany and now we're a 40,000 people company So there are of course new opportunities we have so Virtual box if I want to describe it in one slide, I would say it's a very comprehensive x86 virtualization platform So x86 implies that it's not arm. It's not itanium and not spark It's x86 and that's what it will remain in the future as well We're extremely cross-platform So we're not an operating system of its own like then Which basically has to sit beneath what you're running as a workload. This is also called a type one hypervisor We do have a type one version of virtual box. Actually, I'm going to talk about it But we're mainly used as a type to hypervisor, which means you have your operating system Linux Macintosh windows You install virtual box just like an application. It's a bit more than an application But it looks like an application to the user So we support a very large range of platforms and The main ones being Linda Linux and Windows that's we were currently have the product and the most recent version and always the same time Macintosh and Solaris. They're still in beta phase. So We're still trying to feature complete the ports and there's also free BSD port That's more community effort. We do not make official releases of that one yet But I'm really hope that we will get everything going so we can also officially support free BSD And there's no reason why it cannot be ported to other platforms. There's not a community effort It's been ported to the IBM OS to operating system. That's really funny I think they're like five users left and One is here Okay, I used to be an OS to user as well so Virtual box actually been written to target all different use cases of virtualization You might know it as a desktop end-user system today, but it's actually been written for something else. It's being used for other things It's just not being marketed in a community way by us through these other users So the technology has been designed that it spans from end user to embedded systems. This is where most of our business has been Up to the high-end server consolidation, which is where we currently are not but we have technology to be there I'll explain a little bit about you know how it was created so you understand Why we have certain focus points? So there are three major things We put emphasis on and the first thing I think this is the biggest differentiator to all other technologies on the market is That we are extremely modular. So we have building blocks modules that you can compose on the product Our biggest competitor has though I mean I'm talking like a like a company that had to make money because that was our situation until We were acquired. We had to bring in the revenue to keep this thing going the open source product So we had we're faced with competition. This was mainly VMware and they have a huge portfolio of products You know, there's player workstation fusion Server eos x ace It's all around the same hypervisor, but they have a huge portfolio and they have thousands of employees To to maintain that portfolio and we're small Group of developers. So we had to come up with an architecture that could allow us to like address all these different use cases with a single Source code base because we cannot maintain like 10 repositories and and One of our goals, you know, this was how we wanted to win the hearts is to put a strong emphasis on user friendliness on user interfaces So we had like in the beginning 30% of our development resources on user interfaces And I think this was it was a very good move This is how we've gotten a lot of adoption So we have we have around four and a half million users now the ones that we count from our downloads we're also part of Debbie in and and Open Susie and work on cover mount DVD. So it's hard to count the exact number, but user friendliness It's been our our key to to get to the people's computer and Security this was actually our first main market. I'm going to talk a little bit about this. So the security Aspects of design were were like really key in the beginning when we designed the whole architecture So we have a dual license model Maybe similar to my sequel and surprise surprise. We're now in the same company So we do have our source code under the gpl v2 Which is which we provide us a source code tar balls Which is also part of Debbie in Linux and Open Susie and We also have Our binary package which come under a proprietary license, but that license allows for free of charge use in almost all the cases So most people actually That code to our website they take the binary package and there are a couple of features Which do not publish the source code because this has been our business model in the past Remember, we we didn't have any funding no university. No no venture capital nothing So we had to earn the money. That's why We have these dual license model And I think there might be some adjustments in the future But that has not been determined yet So I think like 95% of our code is as gpl as well So just quickly about the history where we come from so we actually started virtual station 2001 Maybe you've heard about Kinectics virtual PC, which is now Microsoft virtual PC and Microsoft virtual server The next version is Microsoft hyper V, which is still similar technology same team. So we actually Contributed to the virtual PC hypervisor back in 2001 and in 2003 we sold this to Microsoft so we You know, we we sat there We had a great business and it was really fun working virtualization that early and then everything was gone So we sat down and thought you know, what can we do with all this knowledge? So we actually started to develop our own hypervisor from scratch I call it third generation because first generation. I think it was VMware. They were the first on the market and Second was was virtual PC on x86. So we learned a lot. So we thought, you know How can kind of next architecture look like that's why we came up with this modular Approach because this was we found was the biggest issue We always had with the Kinectics hypervisor was that it's what is not modular that it was a big product and There were not easy ways to customize it so that third parties can embed it and and develop their own like you want to Develop your own virtual hardware. You do not like our virtual network adapter. You want to have your own? Neither VMware nor Microsoft They provide you with the APIs to do so and And so in the early days, I mean back then no one knew about virtual box because our focus was entirely on the government security market and embedded systems, so we've actually There there's a very comprehensive security architecture maintained by The German federal agency for IT security BSI that's called Sina secure internet work architecture This is the standard architecture based on Linux which is used for government agencies in Germany to process confidential classified information and You know, you might believe it or not, but even the most classified information nowadays has been protest processed on Windows systems So in order to Protect that The use of virtualization was discovered as being a very good way to sandbox a Windows system You know, you might have a you might have a Windows system that has very confidential information But if you sandbox it like it has no way to go to talk to the outside world, it's actually a secure environment So this is what we mainly done in 2005 2006. We were not open source at this point We've always planned from 2004 on to go open source, but you know, there's a nice There's a nice analogy if you If you put a frog in a cold pan and you heat it up The frog will stay and die But if you put a frog in a hot pen the frog will immediately jump out So we thought Instead of you know, starting with zero version zero dot zero one Let's first get something done that really works. Well that that people can actually use for a lot of things That is not alpha level and then release it So that was our our strategy. That's why in 2005 2006 there was nothing from us on That you could publicly download So then 2007 we actually went to new public and We released it created the virtual box at our community. We spent a lot of time preparing that and Understanding how the community works. It's a very different way You know, if you want to if you want to integrate something in the commercial operating system You talk between business people, but if you want to get something integrated into Debbie and Linux You have to really understand how they think and you have to follow their policies So that required quite a lot of preparational work and the Debian was actually quite hard So they found out found lots of issues and we had to address them every issue and until none was left And then we were integrated So then the latest one February 2008 it was actually it was actually Wednesday this week when the transaction closed So we're now officially part of Sun Microsystems So, you know, we have no sister projects like open office and my sequel and open solaris So there's a lot of virtualization out there because it's it's a really a big topic in industry right now The first one application virtualization is quite old I mean this is now being used for what Citrix been doing for many years that you just take an application and you You remove dependencies that that the installer of the application creates so you try to abstract them So you can deploy applications in a very easy easy way Softricities is the technology that Microsoft acquired recently That is also called virtualization nowadays and And Another thing which is also very old can I called it container virtualization on Linux It's like a change route environment or BSD jail or in solaris is actually called containers So this is like you have an operating system on the server and the operating system can multiplex itself Itself to the to the applications. So the applications, you know when they when they query a list of Processes they will not see the processes in the other change route or container environments So you actually only have one you just have one operating system, but from an application point of view you can we can actually separate them So like in the Sun world you can run You can actually run the Linux applications in a container or an older application that needs older libraries in a different container It's still it still doesn't allow you to deploy an operating system the way it is into and container But it gives you a lot of the advantages of consolidating workloads on one physical system Then there is para virtualization were no Zen is them is the best known Example so this is actually multiple copies of operating systems on one system, but there are these operating systems They have been modified So they do not talk to the hardware Or to an emulated hardware that they think is real hardware, but instead they talk to a Paravirtualized interface so they talk to the hypervisor now instead of writing to a register they make a call to the hypervisor Which means those operating systems they have to be modified to actually do that and also you need to define this Paravirtualization interface It should be a rather stable interface because otherwise operating system vendors have to adjust it all the time and So then it's like the best example because Paravirtualization gives you really good performance. You don't have to Use any tricks to emulate things The operating system just goes straight to the hypervisor and makes a call and Then there's the full system virtualization, which I put in bold because this is where we are This is where the anger is I'm going to talk a little bit more about how these things actually converge in the future But full system virtualization is you take an operating system the way it's been maybe you take Microsoft OS 2 1.2. We actually have that running from 1980 something It has never been written to to run in a virtual machine But you just install it the way you've done on a physical machine So you do all the work to emulate a full PC So that the operating system does not have to Know where it's running and this is really really tricky Maybe you've heard this about some old DOS computer games. They their algorithms broke when the CPUs get too fast Because their timing algorithms they made some some assumptions about the CPUs that were broken many years ago So if you want to and that's just one example There are there are hundreds of these cases even for Windows operating systems Windows 2000 if the virtual IDE control is too fast Delivering interrupts Windows will reboot So you have to actually make it buggy in order to To make unmodified Windows work so full system virtualization is a very tricky business and It typically comes at a certain cost because you have to go through very complex algorithms to emulate everything correctly so Those are a couple of building blocks from our architecture. I I said earlier we're put a very strong emphasis on being very modular So most of these blocks are actually their own files now if you install virtual box, you will see there are quite a lot of files in there And those files they usually talk to each other using a documented API that we do not change all the time the idea is that you can create your own blocks and We have a lot of customers that have built such blocks like One thesis an example is probably the virtual devices, you know, like a VMware They always have a PC net adapter. We also have a PC in the debtor They have the VMware graphics adapter and Intel PI X for controller. You might want to change that So we actually have a binary compatible interface. That's also very important for us to be binary compatible Because even though we are open source as well We still believe in and having binary compatible interfaces because it's just much easier for Someone that uses this rather complex piece of software that they write their device and they don't have to understand everything They don't have to follow the development all the time. They can just develop this device It has a versioned interface and it will continue to work And because we've done this as a business we also have those support agreements So it's in our interest that these things continue to work and we don't have to deliver support One example with one customer, which is Siemens They have developed a virtual PCI card that represents one of their industry bus controllers for their factory automation devices So all they do is they develop this shared object and then they in the check configuration of the virtual machine They say PCI bus at device Contained in shared object Profi Profi bus dot so and then it gets loaded automatically pops up on the PCI bus so that is one example of the modular architecture and You know at on the bottom you find our hypervisor, which is typically hosted in nowadays We do have a self-hosted version at type one which is also originally developed as a prototype for the military customers so There will be there will be more on the self-hosted type one side in the future But typically in most use cases we are current we are hosted and We have also a component that is pretty unique in the industry. That's our own RDP server. So from the very beginning we wanted to have good remote control and Like the Microsoft hypervisor the connected was based on VNC which was you know back then kind of slow and In order to make it faster you had to change the protocol. It was no longer compatible with VNC clients So we said we want to take a protocol where everyone has a good client and it turned out that RDP is a protocol That is sufficiently documented thanks to the R desktop team They have taken the ITU specification figured out the undocumented bits So our desktop is on every Linux system the Microsoft RDP client is on every Windows system So everyone can basically access our virtual machines remotely and This is actually one of the components that is not open source as of now Then we have closed stores and on top of everything we have an API layer I'm going to talk a little bit about that so everything you can do with the program with virtual box you can program typically It's C++ it makes use of XP com the Mozilla component library or common Windows And on top of that API we have everything else like our user interface of cross-platform GUI which is written in QT 3.3 That one exclusively talks to our API layer only to this one layer not to anything below and Same goes for the command line interface and now the web services API We found that most people nowadays they want don't want to program C++ They want to do a soap based web services. So we created a web services API It's an incredible overhead, but if you just want to do things like start and stop VMs It really doesn't matter you don't want to you know transport the frame buffer soap encoded in access in XML Now we actually I was not aware how inefficient web services are so we generate I think three megabyte of source code is generated and GCC takes like two minutes to compile that file But it's really simple because you just import that description into your eclipse and then you can you know program it you Just with a mouse with mouse clicks So it has some advantages sure So how does our virtualization actually work? How does it compare to Zen to VMware? So until a couple of years ago that the Intel and mdcp use does not have anything special for virtualization Yet it was possible to do it at good speed. You know VMware brought out the first product in 99. It was already quite good back then So the the reason is that the x86 instruction set has a has a couple of design flaws That make it very difficult to To virtualize You can basically say the main issue is that some instructions That should be privileged like they should not be allowed to access from a user mode They are allowed to be accessed from user mode. Oh, or what's even worse their behavior is different and That really makes it very hard to do virtualization. So the algorithms are extremely complex So the way VMware solve this is For user mode, it's okay because user mode stays user mode But the guest kernel mode you have to actually deprivilege because you don't want to have it They have you don't want it to have the right to access the real hardware. So what they've done is they Rewrite all the code that is in the guest kernel So they analyze it and recompile it and that is really difficult to do because the x86 architecture is so big and so Complex and there's so many side effects and in the architecture And once you start rewriting code, you have to rewrite all the code because then all the memory address has changed so this is really difficult to do and With now with VTX and AMD V you don't have to do that any longer, but still it's not a perfect world because The hardware virtualization turns out to to be Significantly slower than than than an efficient software virtualization It's gotten better. Now the first one was in the Pentium D And now with with the latest systems that have VTD the 45 Once it's gotten much much better, but they're still in most use cases. There's a significant difference in performance and Also, you know if you if you are Zen if you're server oriented this might not be a reason But we're actually very focused on the embedded market there You don't find these extensions yet like on the via CPUs or the entry level AMD CPUs even the entry level into the ultra low voltage My Sony vio does not have VTX And it's a brand new laptop Because it's the ultra low voltage CPU and there they saved a couple of transistors for that But the main reason is actually on performance so VMware does not make use of hardware virtualization In most cases by default you can enable it now for the current version But it only makes use of it by default if you run a 64-bit guest on an Intel CPU Because their current their their classical way of virtualization doesn't work in long mode on Intel CPUs It works in AMD because they made some adjustments for VMware, but not an Intel. So there they use VTX as of now Virtual box does both actually So we do we fully support VTX and AMD V But our focus is on software mode so you can enable it you maybe you've seen it in the user interface and You actually need it if you want to run more exotic guest operating systems like OS 2 which makes use of certain Rarely used CPU architecture features of the Intel CPU like call gates and a lot of 16-bit mixing There we actually require it because we never bothered making our software mode clever enough for these exotic cases So we have both and you know Ian already mentioned it both have advantages and You know if the hardware vendors they do that job well then at one day everyone will use the hardware features But as of today there are still plenty of reasons to not do it so Paravirtualization I mentioned that This means you have to modify the guest operating system. So it doesn't talk to the hardware, but it talks to the hypervisor and If you look at the industry what is mostly deployed? I mean the clear market leader with it's basically a monopolist is VMware If you really go out to the customers, there's pretty much only VMware in the in the classical virtualization and This is full system virtualization, but What what I think the biggest trend right now is to combine the full system virtualization with Paravirtualization on Linux So started with a paravirt ops Maybe you followed the Zen integration into the Linux kernel This was a really long process because the modifications that are required for the Paravirtualization. They are quite complex and large So with full system virtualization you basically have the standard kernel and you make a couple of small Microsoft created that term enlightened man's it's it's a good one So it basically means the operating system the guest operating system has some knowledge about the hypervisor and Does some things in a more efficient way? So virtual box has actually been using those enlightened man's for years, but from the other way So our technology It's very different from actually from VMware or all the others we have Like a dynamic optimizing compiler in virtual box. So when we get those What typically happens if you run again an unmodified guest operating system It tries to do something with the hardware, which you do not do not allow as a hypervisor So you get a trap you look, you know, what does it want to achieve and then you emulate the behavior So first of all, I'm getting such trap is quite costly that can cost you easily cost you thousands of CPU cycles and secondly Emulating that behavior might be also rather costly. So what we do whenever we get such traps We look at at the guest so at the assembly code of the guest operating system We see what is it trying to do and then we try to dynamically patch it. So we try to para virtualize it So the next time it does the same thing it will no longer call to the real hardware It will no longer cause a trap it will execute para virtualized instructions that talk to our hypervisor One example is the virtual interrupt flag, which is one of the biggest challenges of virtualizing unmodified operating systems This is kind of tricky to do this because especially on Linux where you have a monolithic kernel The complexity can be everywhere, right? You have you can have system level code, you know The lowest level code is in it is quite large and also Linux makes heavy use of of self modifying code and and We had real trouble getting this to work in a very reliable way because Linux tries to optimize certain routines based on the CPU it finds so it patches itself during boot up and Self modifying code is is you know We modify the guest code and then the guest code looks at itself and modifies itself. That is really really complex Windows fortunately doesn't do this because Windows has this hardware abstraction layer and also Windows changes very rarely Every couple of years they make a new version and then we had which creates a lot of work to support but In Linux, there are so many distributions so many kernel versions This is taking us a long time to make work in a reliable manner and Also, this is this is doesn't have academic great because this is not 100% bulletproof this approach it's bulletproof as to the guest cannot have an impact on the host operating system It kind of crashed the machine, but it's not bulletproof as to it will Run everything correctly every kernel version So this is more an approach more compromised because it actually gives you great performance If there have been a lot of performance comparisons lately VMware against virtual box against Zen against parallels and so on Microsoft and We've achieved pretty good results and in in those tests. So For a lot of use cases were by far the fastest not in every use case, of course But this is a very efficient way of doing it and one of the reasons why we did it is because we did not have The the time the funds to come up with a recompiler like VMware did Because this is even a lot more complex to write this So the last one I mentioned The classical parachutation interfaces are extremely complex really and Operating system vendors they do not like to make such complex modifications So it's much easier if you say your operating system is basically the way it is and it has a couple of code paths Where it takes a different path when it's on a hypervisor and that's exactly what VMware has proposed with a with interface called VMI That is in Linux. It's basically per virtually pervert ops and some some Connect glue code that talks to the VMI interface, which is which is a bios extension So a VMI aware kernel Just queries the bios for VMI and if it's there it will not call to the APIC and and it will not use STI CLI, but it will instead make those bios calls Which are in fact hypervisor calls. This is a really elegant interface. So it's in the current VMware product and it's supported by By the recent Linux Linux kernels. I think it's in the latest reted 5 Enterprise 5 So I really like this interface very much and the other one of course is Windows Enlightenment Just because it's Microsoft, it's probably going to be a very important on the market, too So I hope that these two will be the ones that have to be supported in the future I mean Zen is working on supporting Windows Enlightenment's and So are we supporting those two the first one will be VMI? So what do people use virtual box for mostly the first use was actually sandboxing security and This is a very special market Which was just allowed us to to because no other company is there you need to go through a lot of certifications a code audits with the government agencies but It's really very useful because In those you know in the typical military if you have those military joint missions like you have your national system You have an EU system you have a NATO system and you get classified data according to the three different systems Which basically means you need three computers And with virtualization you can just have everything on one laptop and on the same laptop You can also browse the web which was never possible on on a military system before so all in one laptop this is really a great use of virtualization and It's being used by the German government. It's currently the mission Afghanistan. It's being used a Dutch government Works together with a German one on this and some Eastern Europeans as well. This has been really great project We learned a lot about security there and Another big use of virtual box is it's just the classical operating system migration, right you? Another one of our government customers the German embassies they make my credit all their 12,000 systems from windows to Debbie and Linux But they need to continue some visa application to use some visa applications So they just use virtual box old version of windows no support contract Every time they close it all the changes get get discarded so they don't care about security updates any longer and Could cancel all the support plans and focus on the Debbie and platform for new applications And Another thing is embedded devices. I mean if you go to like ticket vending machines You will mostly find that those are standard PCs like the ticket vending machines of Deutsche Bahn in Germany Those are all running windows NT for You can imagine how hard and expensive it is to get hardware on stock that is supported by NT for So using virtualization what you can actually do is you take Let's say you take a Linux kernel you take the virtual machine and then you take your existing ticket ticketing application On NT for and you can deploy it in a more flexible manner Right you you can actually change your hardware. You don't have to put the hardware for the next 20 years in stock and And embedded devices That's where we are quite strong right now. You don't see those I mean there's there's one device from the French company bull. It looks like an iPod. It's and it's a it's a hard disk with hardware encryption and You can run an encrypted Windows directly from that desk It uses virtual box. You don't actually see those users because that's what embedded is now You don't you don't see what is actually inside Another large huge case for our sufferers disaster recovery so Which is basically like server consolidation, but only in the case of a disaster so you have your dedicated servers and when one server crashes the same Images started on another server in a virtual machine until the hardware is replaced Then we have large installations And last but not least desktop virtualization VDI is what the term that VMware created so that you actually have your desktop PC mostly Windows And you run that in a data center and you access it remotely using a thin client or You can actually roam it and things like that. This is why we created this RDP server and we've been doing this for many many years Funny lead together with IBM So now that we are part of some that's also interesting Couple of more just interesting things I think so I'm I think our seamless windowing support It's kind of it's a very interesting feature You maybe know that from the Macintosh actually the first company that done that it was Connectix virtual PC had it in them in the late 90s And now parallels picked it up and might be ever picked it up a fusion So currently those vendors they only have it on the Macintosh, but we have it in a cross-platform way So you can have your individual application Windows on your GNOME or KDE desktop Even on the Solaris desktop. It's truly cross-platform And we're now working on making this the other way around so that you can actually have Individual Linux application Windows on other systems. I know it's already possible with X But that's not so straightforward to set up and you know having an X server on your typical Windows or Macintosh system is also More difficult to do than just use our seamless windowing feature and Something I'm very proud of but basically no one actually sees is our internal API layer where We have this really large API. It's It's object-oriented and you maybe know that a C++ is not a good way to expose API is because the C++ Binary interfacing is compiler dependent and even compiler version dependent So if you want to link with a library it better be compiled with the very same compiler as your application So there are ways to to make this work and this is Microsoft com and Mozilla has Has actually followed this route. They've created something called XP com cross-platform com, which is like a clone of com and we use common Windows and XP com all the other platforms and we've created a lot of a lot of software that allows us to write one source code and Have both common XP com being used automatically and We've also had to extend XP com quite a lot because It's it was more limited to a single process model which Mozilla is So we've done a lot in the out-of-process because we have multiple processes that talk to each other So you need to do like IPC serialization DC realization stuff like that I Think this is a really good piece of technology which other projects could use as well and there's no No last summer I went to Boston met with Miguel from from the dome team and we discussed Mono and XP com integration that it would be really good I would really like to to create a mono layer on top of our API and that's actually being done now There is an XP com bridge for mono So all our APIs are accessible from mono Dot net provides this anyway com access So that's something we want to add There's also one thing now when we did the GUI we actually spend a lot of time Which is thinking which is the right technology to base our GUI on We knew that Windows is the most important platform in the market. So we better be a 100% Windows application and So the question is which which platform to use because we don't want to write a GUI for each platform So we actually came up with Qt. We didn't like the license. We didn't like some aspects of it But it was the right choice and still today We would have to make the same choice because can own applications on Windows. There are not 100% they might be 90% now, but there is not 100% Windows application But the thing is we're still in Qt 3.3 because Qt 4 has never been widespread on the Linux system for Windows. We compile Qt We ship a DLL, but for Linux we actually require Qt to be on the platform On the system and so we're now having discussion. When is the right time to? migrate to Qt 4 so I'm open to input for there some people tell me now most distributions have Qt 4 Because you cannot easily migrate Qt 3 to Qt 4 migration is like almost a rewrite. You have to touch like over 90% of your source lines The real motivation to migrate to Qt 4 is because Qt 3 doesn't give you really good Macintosh aqua applications So the Macintosh support is actually only good in Qt 4 But I'm not happy with Qt. I've never been but I don't see any alternative. That's why I'm bringing up this It's really hard to get a good GUI library that is cross-platform and native looking for all the platforms So where do we want to go in the future? What are our next goals? Of course, you want to increase our market share on the desktop We're now at over four and a half million counted users, which is already a significant share of the market We've won some good We've received some rewards recently and But we want to actually follow that deliver more features give people absolutely no reason to buy products like VMware or Parallels We want to reduce the number of closed-source features. Maybe we even managed to eliminate them. I would like to do that but Our old business model was just based on being able to generate revenues on selling licenses So we're working on the details How this can actually be more open at Sun and Of course, we want to extend our development team. So we're We're roughly 20 people right now, which is not a lot compared to VMware So I think the lines of code per developer actively maintain our companies like at least 10 times higher than VMware So we're trying to extend the development team, of course, and we want to start to Promote it for a different uses in the future. It's been in different markets as I showed, but we've never actually been promoting that Widely So now the roadmap This is actually quite long Because we have great plans. So currently we're at 156 was just released a couple of days ago And that's the third maintenance release of the 15 branch So we've been on the one six branch for many months But it has a lot of new features. So we've been continuing to maintain the one five branch So What's new for the next one? It's it's it's already there these features So if you take the SVN build you will get these it might not be 100% stable 100% done But it's everything everything is there already. So we've greatly improved scalability We have one large server deployment on a blade server with eight cores and 32 gigabytes of RAM and 96 VMs of Windows XP running at good speed And running at better speed than competitors, so we've made some great advantages Great movement in scalability the web services will be in one six Increases compile time significantly So the Debian guys will probably disable it There's a feature memory ballooning I really dislike that feature because I don't think it's anything you can replace memory with memory can only replace by more memory memory ballooning means that You you allocate memory in a guest as a helper process And then you give it back to the hypervisor Because every operating system Windows and Linux when it sees one gigabyte of memory It will use the one gigabyte and it will use it for cash or whatever It will never it will never leave memory unused because that would be stupid to not use memory so with ballooning you actually discipline the operating system and Because the operating system doesn't know about the others So it doesn't know that the others actually need all the memory and it will happily increase its cash during that So with ballooning you can actually tell it to not do that by allocating memory and then giving it back to the hypervisor But it has a lot of because people tend to over commit machines And you really over commit machines, and then you get Microsoft patch day then actually your server crashes or But at least you get downtime It's easy to reproduce We we've created an Intel gigabit virtual device emulation It's the most over sophisticated piece of hardware. I've seen the last a couple of years It's almost like an IBM token ring card. It's really complex but The thing is that this status and support the PC net and Also, it has some features that can improve performance the future future. So with the current virtual box Code you can actually select Intel gigabit card instead of the PC net and This is I think one of the greatest new features. No one else has we've written a serial ATA controller With native command queuing and this will significantly improve performance for storage because we can actually handle many IO requests at the same time So we're going to further continue exploiting improvements to VTX AMD V I Already mentioned that we do the seamless windowing for Linux and We want to finally get OS X and Solaris to You're finishing those two This is more for the future. I'm not going to go into detail there everything we have there. We've already partly done It's not just ideas. There's code for every single of these But we're not there that I can say, you know, it's done in in two weeks but The most important one is currently 64-bit guest support. So we're actively working on that one that will be available Hopefully before before April Yeah, one interesting thing We have our own this format. It's called VDI, but we've started to support VMDK from VMware You don't have to convert it. You can just use it and we actually want to replace VDI by VMDK in the future Just make use of that industry standard file format. VMware has recently published the specifications to this file format So currently we don't do snapshots and things with VMDK, but once we do everything we want to make use of it by default Okay, and of course, we're working on Solaris guest additions Been doing that for a while actually but Now we really should get it done Yeah, so community we have, you know, the typical website mailing list forum IRC and we work with the packages If you go to a website, there are like over 20 packages for Linux distributions They're two for Windows and like 20 for Linux all the different distributions And we really like to support all different Linux platforms Even if they're the percentage market share might not be large And for contributions, there's one thing We don't accept GPL contributions because we still want to have the rights to close source certain parts But we also do not require a copyright assignment So you have to sign a contribution agreement which just gives us the rights to use it doesn't take the rights from you like a copyright assignment The alternative is that you just put your contribution under MIT, which is what most people do Okay, I think we're pretty much done And there are a couple more questions three minutes Yeah Well, actually there is USB support, but it's that's one of the close source features and we plan to open source the OSB support as the next one But there's full USB support and there's even now USB 2.0 support as of version 154 So it's just not open source yet But that's my next on a list to open source Well, you know, that's interesting. I tried to raise this issue. I'm not married to Qt I think the license is not good and other things as well, but GNOME is not an alternative in my opinion because of Windows So I think GNOME on Windows should get better Then we could actually use it. I think there's right now. There's no alternative to Qt The only question is Qt3 or Qt4 in the future Now the fact that Qt4 is so incompatible to Qt3 I also think this is terrible for us as an application writer But that's one of the things that keep me awake at night Which GUI library to use? We started using WX widgets But that we didn't like that very much Okay, so one more Okay, well, I tried to show that there's no impact at this time So It is really Sun's intention to keep VirtualBox alive. I mean we are a separate development lab in within the Sun organization I report to the vice president for Solaris core operating systems Design who is responsible for hypervisors and Sun has a couple of hypervisors so We are going to remain quite quite independent as in as a development lab So we're just going to continue VirtualBox. We're going to continue the open source model So as of now, I'm not aware of any changes Of course, we know the first change I realized is that we are now bound to US export law So we need to filter IP addresses if there are from North Korea and things like that That is the only impact we've seen so far But the intention really is to continue doing that I think similar to open office which has remained very Independent over all these years Okay, so thank you very much