VirtualBox itself is released under the GPL version 2. It is the "Extension Pack" that has the license, not to be confused by the the Guest Additions, which are community.
My perception of Oracle is that they'll do very underhanded, even criminal, acts to extract money from entities who have at one time used their software.
Happily, I have enough alternatives to VirtualBox to let me avoid that risk.
Having ran my home (and work) lab environments with many different virtualization systems, in the end, I always keep coming back to VMware. ESXi in particular. These days, with GPU pass-through, you can make it a workstation and a server at the same time. It's free for personal use and it's rock solid.
Any idea if one can emulate different versions of OpenGL too? I'm trying to figure out a sustainable way to test across versions without needing a lot of hardware.
Fusion has been amazing in my experience. Never had issues with my VMs being sluggish like with VirtualBox. Plus 100% compatibility with Workstation for transferring VMs between Windows/Linux and Mac hosts. Annoying that they have a paid upgrade yearly, but I’ll gladly accept that because the alternative is giving Oracle money. Older versions usually hold up fine for a few years anyway, so long as newer Windows or Linux releases don’t break anything.
Are there any other cross-platform virtualization platforms nowadays? I need something to run Vagrant on that my team can use on mac, windows, and Linux. Ideally all using the same hypervisor, so I don't need to have 3 different sets of documentation for each thing..
I think the real benefit of vagrant is that you don’t need to all use the same hypervisor.
Maybe some little tweaks here and there to target specific ones in the vagrantfile, but otherwise I’ve found it to be largely a non issue to have different hypervisors, so long as you have a base box that supports all the ones you want to use (which is part of why my company builds base boxes - to have something reliable for client projects - either used as is, or where appropriate building on top of our box setup process to make customised boxes)
VMWare. I know, I know, proprietary bad and all that, but for just getting stuff done with minimal fuss and not yak-shaving (like, say, vagrant), vmware is good.
windows and linux have native solutions, for macos there's vmware and parallels, but really, virtualbox is fine too, unless your are this big company with hundreds of deployments and have to think hard about licensing.
I wonder if that would even be defensible in court. The licence surely covers the use of the software in question, not to be a carrier of the telemetry data to report usage of such software.
Even if the use of presumably open and free VirtualBox was defensible in court, that wouldn't stop the strong potential of time consuming and expensive defense against the Oracle audit machine. I would recommend never installing anything from Oracle, period.
A framework I wanted to trial provided VB VMs instead of containers, definitely made me stop for a bit and think if I wanted to use VB (ended up using it anyway).
Second that - Hyper-V is my preferred way to run a Linux dev machine on a Windows machine. Killer feature: dynamic memory (a VMs memory footprint grows and shrinks with its needs).
As a (part time) qemu developer, why do you think VirtualBox is preferable, eg. what are the feature gaps that qemu doesn't provide, or what could qemu do better? (And by "qemu" I include the broader free ecosystem like virt-install, virt-manager, etc)
I think part of it is that it is a complex ecosystem to understand. What is qemu, what is KVM, what is virt-manager, how does it all fit together. It is actually not hard to use but it is confusing to understand at first, what is used for what etc.
Either you are into it, and you know, or the need to create a VM has just arose and you want to quickly do it. In the later case from my Fedora 31 system I search for "Vir"(tual), it tells me about "Boxes", I open it... and it can't be simpler. I end up with a Virtual machine with QEmu/KVM without ever having to know what QEmu/KVM is, as far as random user knows "yesterday I had problems with VirtualBox kernel modules, so I created a VM with Boxes".
Pointy-clicky GUI for people who don't live the #VMLife and just occasionally want to throw some graphical OS in a VM and mess around in it for a few minutes, without having to read any man pages. I know Qemu has GUI interfaces available, but the key there is that it's plural, as in there's more than one. VBox is just the one, entire thing, all one part, no thinking required or choices to make, just start it and go.
(for the record I've done some Linux KVM/Libvirt management of VMs on servers so I'm not entirely without a clue, but VBox runs everywhere I am and is my go-to for low value messing about, especially now that all that stuff has long ago fallen out of my head. If I had to do anything serious or non-interactive I'd not be looking at VirtualBox for it.)
I used VirtualBox and the last time I installed Linux I gave Gnome Boxes a try to run a Windows VM every once in a while and I haven’t felt the need to go back to VirtualBox.
Shared folder support is lacking. I have to use NFS to share any folders in VMs when using QEMU and virt-manager. Which isn’t necessarily bad but it’s an extra config step. The built in method (which uses Plan9 I think?) is a huge headache in terms of setting up permissions. Out of the box it never works right and there isn’t any straightforward documentation on getting it configured properly.
VirtualBox, VMware and Parallels all offer much better shared folder options that are built in.
As someone who moved from vbox to QEMU (and is happy about it)...
Virtualbox is one product, one package. That’s easy to sell, install, understand and google when you need help.
Virt-manager, libvirt, QEMU and kvm... Takes more time to understand, and googling it when you need help requires you to partially understand it. Kinda chicken and the egg.
Also with Vbox I get the VMs desktop scaling to my Vbox-window, as opposed to the other way around, which I get with QEMU. That still annoys me slightly.
With VirtualBox, Windows guests can be configured to use 3d acceleration with just installing guest additions. With qemu (virt-manager), it's a major pain in the ass. I spent a couple of hours trying to figure it out, and it got me nowhere. So thanks for nothing. I prefer solutions that work, and currently it's VirtualBox.
I'd like to see some improvements to virt-manager. And has zfs storage pools actually been implemented yet? Last time I checked it still doesn't work. I can however create zvols and use those, which is fine for me.
Other than these somewhat small things qemu is the fantastic, much appreciation for your work!
Virt-manager is basically the same UI as VirtualBox with the same dead-easy, wizard-based VM setup. Plus the virt-manager running on my desktop can simultaneously drive KVM running locally and on many different servers.
FEAT>> Nested virtualization on intel. This is a big deal, for dev and testing. Congrats to the devs, thank you. You can now run a hypervisor hosting real vms at decent speeds inside VB.
FWIW I was excited about this in 6.0 but never actually got it to work with Hyper-V. It may be a hardware issue on my side (my CPU is ~6 years old and doesn’t support some VM features) but I’ve also seen a lot of other people say that 6.0 changed nothing for them in regards to Hyper-V compatibility.
This is basically how Microsoft is taking over Linux. It has already started and the few of us that saw it coming since day one can't do anything about that.
Another option is to use Linux and try your best to run essential Windows software using Wine or in a VM, that way you can play in the Windows-world without being committed to it. It "Works For Me"...
If you work in software development you ought to know that "just use X" is often not an acceptable solution for many reasons. Quick example: maybe you develop a windows heavy client with a linux backend and want to test it locally. Then you have a choice to have either (relatively) poorly performing Windows VM or linux VM. As backend is usually way lighter and your IDE is probably Windows native too, you should run this on Windows.
Why not just run inside KVM on Linux, and why use a bloated windows framework and toolkit? Qt is a great example of a cross-platform framework that doesn't require a lot of dependencies. However, you could also just build a PWA. If you're going to use bloated proprietary frameworks, why even use Linux at all?
I hope this is sarcastic because it illustrates my point perfectly. Qt is a great cross platform framework but maybe you are not developing a cross platform application? Maybe you actually prefer native look and feel (I do for example). Maybe you are developing an app that must be published on the Windows store or work in Kiosk Mode (all of which require you to build on top of the native UI framework).
> If you're going to use bloated proprietary frameworks, why even use Linux at all?
You could as well rephrase your question as "Why not use the most appropriate tool for each part of the software?" Linux servers have the advantage of being supported by all major providers (including Microsoft), they scale well, have good security, have low footprint...
Also as much as I dislike Windows I must say that their UI frameworks are not bloated and arguably work better than cross platform solutions. You mentioned PWA's which come with an enormous bagage (e.g.: they are throwing native look and feel completely out of the window).
I think this is what the parent means by "just use X". You are saying to someone to change their whole development environment to Qt. (I like and have developed a commercial product in Qt)
I believe the problem is that if you're running WSL2, you're automatically running Hyper-V, which monopolizes hardware virtualization on the machine, so you can't run VirtualBox, VMware, etc.
VMware are doing some work to integrate with the Windows Hypervisor platform (https://docs.microsoft.com/en-us/virtualization/api/hypervis...). IIRC they have a release coming early next year that will allow VMware Workstation and Hyper-V to coexist. I suspect other tools also need to support that if they want to run side-by-side with Hyper-V.
I'm confused how the performance can be better. There's two competing kernels that both think they're running the system, how can that not be slower than mapping some POSIX calls over?
I mean I trust that it's true, and I'd love to understand why :D
Because there's fundamental issues with POSIX use cases and NT's VFS(well, IFS), and cache layers.
Basically the block cache on NT exists between user space and the filesystem, not the filesystem and the block device. For metadata heavy ops (like open(), stat(), etc.) the regular cache isn't in play, and the little caches in the NTFS driver aren't nearly as smart as the regular cache layer. You could stick a cache between NTFS and the IO driver, but that would mean heavily changing the IFS interface, and heavily changing the NTFS driver itself. Unfortunately, the NTFS driver has been referred to as "a purple opium-fueled Victorian horror novel that uses global recursive locks and SEH [Structured Exception Handling] for flow control" by a kernel dev. I can't even imagine how scary adding a cache layer under it might be.
It's because there's some serious mismatches in how a lot of the APIs work that causes it. Raw compute performance is slightly slower this way, but the better match for IO and other systems make the overall performance and experience much much better in the end.
That's odd because NT debuted with a Posix "personality," so it must have been taken into account with the original design. Processor independence was another goal, though abandoned for a long time.
In other words, they should have taken this into account unless the personality thing was just for show.
The POSIX subsystem was replaced in Windows XP and Windows Server 2003 by "Windows Services for UNIX", (SFU) which is based in part on technology Microsoft acquired by buying Interix. SFU was removed from later versions of Windows 8 and Windows Server 2012. SFU is logically, though not formally, replaced by the Windows Subsystem for Linux (WSL) in the Windows 10 Anniversary Update and Windows Server 2016 Version 1709 respectively.
I agree that this was originally mostly for show since the customer base was very specific. That was a different time and place from now. I guess WSL started as an experiment to see how they could serve customers, was validated to some degree, and now they need to perfect it. A lot of related work on the Windows Console is now open source so I take that as a demonstration of how serious they are, but I don't expect it all to be open source. Maybe they'll surprise us.
HyperV is different virtualization technologoy compared to Virtuakbox and most others. It actually virtualizes everything, whereas others typically are a level higher up. It seems both at the same time often doesn't work that well.
I don't think the comment you are responding to means that Oracle should make something like WSL. It is probably saying that WSL2 requires hyper-v to be enabled which prevents Virtualbox from running, and it would be good if Oracle had a workaround for this.
This. Vbox won’t run if Hyper-V is enabled, and Docker / WSL2 won’t work without Hyper-V. True for me on vbox 6.0.14, it just crashes the VM with a cryptic error.
Workaround is not easy, hyper-v had a different feature set for networking and shared folders (not sure the latter is directly possible) as well as using different disk image formats.
I mean, this has little to do with the article, but it's also a bonkers claim. Doing well? Oracle Cloud is a literal punchline and has no argument for its existence, let alone its use, beyond "we're Oracle, now be a dear and lean back so we can get at your delicious throat bits".
What would a bunch of extremely legacy technology--and this is a great example, between OS-supported virtualization in Windows and OS X getting good and virtualization solutions having already been just fine on Linux for a long time, VirtualBox hasn't had a meaningful reason to exist for going on five years now--and the worst reputation in the industry do to leapfrog Google Cloud? (If they're even actually "number 4" in the first place.)
Not trying to defend the claim itself but it is related:
From article:
- Implemented support for importing a virtual machine from Oracle Cloud Infrastructure
- Extended support for exporting a virtual machine to Oracle Cloud Infrastructure, allowing the creation of multiple virtual machines without re-uploading. Also added option to export a VM to the cloud using the more efficient variant "paravirtialized", and to specify free-form tags for cloud images
Punchline? Oracle isn’t the biggest cloud provider but it’s naive to say they are a punchline. Oracle Cloud may not be used much amongst the startups or app/web dev crowd here on HN, but other parts of large enterprises are indeed eating up Oracle Cloud just as they ate up Oracle on-prem apps in past years.
So I spent time in the also-ran cloud space, ejecting from it as soon as I was able. What you characterize as "eating up", the places I've been have understood this to be "receiving desperate discounts to consider". Oracle and IBM are do-nothings. They're competing for a market segment predominantly with Azure (not AWS or Google), doing so really poorly, and have no compelling value prop.
From what I see at my consulting clients, the main areas where Oracle competes aren’t with Azure. The Oracle Cloud isn’t about spinning up VMs or web servers (though yes they do have those features), but about running enterprise apps where Oracle is still, much to the disappointment of many, the market leader. Some examples of this would be Oracle Identity Manager (which is absolutely awful but is still actually the only IdM solution really capable of scaling with massive enterprise companies) and of course ERP. Oracle ERP Cloud alone is a several billion dollar revenue source for them and is growing extremely rapidly.
> Some examples of this would be Oracle Identity Manager (which is absolutely awful but is still actually the only IdM solution really capable of scaling with massive enterprise companies)
The "massive enterprise company" I work for doesn't use Oracle IdM ...
It was used at the previous company I worked for, but it had endless problems and I think it was only bought as part of a very badly-run "buy an expensive 'enterprise content management platform and then not use it properly' initiative".
It's main feature seemed to be to import identities from LDAP servers into an Oracle database fronted by a very poorly performing non-compliant LDAP server (or, you could say, selling Oracle Database licenses).
How large is your company, in terms of number of people? I’m talking about companies with hundreds of thousands of managed identities/employees. OIM is typically the only IdM software capable of scaling that high (though it doesn’t come without its issues).
OIM certainly has much more features, and just by the virtue of being the largest/supported by the largest tech company, tends to have the most features and integrations of any IdM solution, which is another reason it’s favored by large companies that actually need that scale. Other companies with smaller numbers of people or less need for edge-case integrations typically go with something more user-friendly like SailPoint (and others are still stuck on IdM solutions of yesteryear like some of MS’s old offerings).
I can't imagine any greenfield project using Oracle technology today unless they are already an Oracle shop and at that point it's not really greenfield, is it?
So I brought up OIM because I have some personal experience with it and similar software. It’s main selling point is that it is extremely performing and scalabale, and it is so big (and supported by such a large company) that it has ready-made integrations with most other enterprise apps (and can be extremely flexible if you have a custom apps). These are pretty attractive qualities to giant, global companies with hundreds of thousands of employees and hundreds/thousands of apps to manage.
Competitors like SailPoint are typically more user friendly, easier to implement (as long as your implementation only integrates with common apps and doesn’t require deep customization) and comes from a generally friendlier software company, but it isn’t able to keep up performance/stability wise once you start moving above 100k-ish managed users.
The performance landscape is changing slightly now that other IdM providers are taking advantage of clouds as well for better scaling, but it’s taking some time for them to rearchitect applications to fully do so.
Your comment doesn't have any relation to the post, but most of the growth in Oracle Cloud for the last few years, was Oracle's commission structure for sales pushed it hard. So many companies were pushed hard to license cloud and then backport the license to regular licenses.
If you only use the open source parts you're okay, but it's a bit scary.