[linux-elitists] Virtualization

Greg KH greg@kroah.com
Wed Feb 23 16:23:28 PST 2005

On Wed, Feb 23, 2005 at 03:47:12PM -0800, J. Paul Reed wrote:
> On 23 Feb 2005 at 14:35:25, Greg KH arranged the bits on my disk to say:
> > But it can happen, right?  And it _never_ will happen with the current
> > vmware modules, right?  That's my point.
> No, it could happen with the current VMware modules too.
> > No, my main point was that people are trying to work toward a common
> > virtual device layer, so that there is no need for vmware modules in the
> > future.  You seem to dispute this fact.  Other people at vmware would
> > disagree with you.
> I dispute this fact because you're confusing host modules with guest
> modules; presenting a common virtual device layer has NOTHING to do with
> the host-OS modules you're complaining about.
> So I'm disputing your (mis-)understanding of how (hosted) virtualization
> platforms work.

Ok, fine, we misunderstand each other.  I'm referring to the vmmon and
vmnet modules that have to be built in order for me to run vmware on top
of my linux host os.

Now that we got that definition out of the way...

> Also, if you want to use the "I know people who know more about this than
> you who disagree with you"-ploy, feel free to send me the names offline;
> I'd be genuinely interested to know if there's some development in that
> area I don't know about.

Will do.

> > But real life customers do care about this, as it breaks their service
> > contracts.  I'm not talking "purity" here, I'm talking big money.
> That's actually an untrue claim as well. It's not a given that it *will*
> break their service contract.

It breaks the ones that I have seen.  But hey, there are a lot of
different service contracts out there :)

> Nope. In ESX, the vmkernel does it; it has its own drivers, which translate
> SCSI stuff from the virtualized device layer (which is a BusLogic SCSI
> driver, I think) to whatever actual SCSI driver you're using (from the
> vmkernel).

So vmware has developed a bunch of kernel drivers for their os for the
different scsi controllers and usb devices out there?  Nice, that's a
tough bit of engineering that I know a lot of other oses haven't
successfully done yet (see the paltry list of devices that solaris
supports on x86 for an example of this.)

> > I'm complaining about the fact that the vmware modules will never be in
> > the main kernel tree.  And because of that, they are a leach on the
> > kernel development process.  They take from our development effort and
> > give nothing back.
> That's a subjective call; lots of people would disagree with you and would
> actually find the position absurd. VMware (or other companies; think nVidia
> or some such) don't distract kernel developers from doing their work;

The hell they don't.  You don't see my inbox with the zillion nvidia
driver users complaining that the pci layer is spitting out odd warnings
when they run their driver.  That takes up real time from me doing real

> sure,
> we piggyback on the "platform" that is the OS, but if you're complaining
> that entities "piggyback" on the Linux platform, then you should not wonder
> why there aren't more Linux users.

No, you are sticking your stuff into the Linux kernel.  Much different
than "piggybacking" on top of the syscall layer that is explicitly

> You can't say "Hey, Linux is really great; you should use it," and then
> when companies port software to it that isn't completely open source, say
> "Hey, get the hell out of here, you capitalist assholes."
> That's just asinine.

That is asinine, and is not what I am saying.  I'm saying you have a
closed source kernel module.  That is a leach.  Do whatever you want to
do on top of the syscall layer in Linux, that is explicitly allowed.
But when you start inserting your closed source module into ring 0, you
are playing in GPL land, and breaking that license.

Go ask an IP lawyer if you have questions about this issue.  I have.

> > > What else would you like them to do?
> > 
> > Work together with other groups to get a common virtual device driver in
> > the kernel that everyone can use.  Barring that, move their existing
> > drivers into the mainline kernel tree.  Give something back to the
> > community, as it is, they are not giving anything.
> And this, again, IS JUST COMPLETELY FALSE. You linked to the open source
> tarball yourself.

If dropping a tarball on a web site is "giving back to the community"
then monta vista would be the world's best member of the kernel
community.  No, it involves writing and supporting code that _everyone_
uses.  Becoming a maintainer in an area that handles bug reports from
all users, be they corporate or some high school student.  That's giving
back to the community.

In looking at the kernel source tree, I see 3 whole patches from someone
with a vmware.com email address.  And 2 of them are from the same
person.  That doesn't sound like a whole lot of "giving back to the
community to me."

Now yes, that's just fine if you don't.  But see the overall picture
here.  If a company relies on the Linux kernel to work well for them to
make money, doesn't it make sense for them to spend a little money to
make that kernel work well, and give those changes back to everyone?
After all, that's how Linux got so good enough in the first place so
they could use it to make money off of.

But I'm done arguing, as I can tell we don't agree on this topic.

> > Their kernel modules are not licensed under the GPL.  That is not legal
> > as per the GPL.  Now I'm not going to get into the whole "Linus made an
> > exception for kernel modules" argument, as that:
> > 	- was for old drivers that were written before Linux existed.
> > 	- necessary for connectivity to legacy systems that Linux users
> > 	  wanted to connect to (like AFS).
> > 	- has been withdrawn in the past few years by Linus himself, and
> > 	  explicit stated that it is _not_ what a number of core kernel
> > 	  developers want to have happen to their code.
> > Remember, loading a module into the kernel is "linking."  See the GPL
> > for what that means you have to do with your code if you link.
> If you feel so strongly about it, put your money where your mouth is and
> file a complaint. People who merely whine for the sake of whining are
> annoying.

I put my money where my mouth is and give my time and effort and money
into making the Linux kernel better.  I also am working hard to help
people who do violate my GPL license on kernel apis suffer.  That's
much better than whining.

> > > So... why exactly are you complaining again?
> > 
> > Closed source leaches.  That's why :)
> And you people wonder why there's not more commercial software for Linux.

"you people"?  There better not be more closed source kernel drivers if
I have anything to do with it.  As for closed stuff above the syscall
layer, be my guest, I don't care at all about that.

After all, userspace is just a test load for the kernel :)

greg k-h

More information about the linux-elitists mailing list