Changeset - 0ed82d00cb81
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 9 years ago 2015-03-12 15:45:18
bkuhn@ebb.org
Add missing <dd> tag.
1 file changed with 4 insertions and 1 deletions:
0 comments (0 inline, 0 general)
www/conservancy/static/linux-compliance/vmware-lawsuit-faq.html
Show inline comments
...
 
@@ -117,112 +117,113 @@
 

	
 
  <dd>
 
  <p id="diagram">
 
    Conservancy prepared this diagram to show the technical situation as we
 
    understand it.  The diagram compares the technical architecture of a full,
 
    running Linux kernel with a full, running VMware kernel:
 
    <p>
 
      <a href="/linux-compliance/linux-vs-vmkernel_en.png">
 
    <img class="inside-faq" alt="[Diagram of Linux and VMware running kernels]" src="/linux-compliance/linux-vs-vmkernel_en_scaled.png" /></a>
 
    </p>
 

	
 
    <p>If you want to download the diagram, it's available
 
    in <a href="/linux-compliance/linux-vs-vmkernel_en.svg">SVG
 
    (English)</a>, <a href="/linux-compliance/linux-vs-vmkernel_en.png">PNG
 
    (English)</a>, <a href="/linux-compliance/linux-vs-vmkernel_de.svg">SVG
 
    (German)</a>, and <a href="/linux-compliance/linux-vs-vmkernel_de.png">PNG
 
    (German)</a>.</p>
 
  </dd>
 

	
 
  <dt>Can you explain further in words (rather than a picture) about the central
 
  component in ESXi that the lawsuit alleges violates the GPL?</dt>
 
<dd>
 
    <p>The GPL violation at issue involves VMware's ESXi product.
 
    Conservancy independently reviewed ESXi 5.5 and its incomplete
 
      <acronym title="complete, corresponding source">CCS</acronym>
 
    release as part of our GPL enforcement efforts described above.</p>
 

	
 
    <p>Conservancy's preliminary investigation indicated that the operating
 
    system kernel of VMware ESXi product consists of three key components:
 
        <ul>
 
          <li> the proprietary component &ldquo;vmkernel&rdquo;, which is
 
            released in binary form only,</li>
 
            <li>the kernel module &ldquo;vmklinux&rdquo;, which contains modified Linux
 
Code, and for which (at least some) source code for which is provided.
 
            <li>other kernel modules with device drivers, most of which are
 
            modified Linux drivers, and for which (at least some) source code
 
              is provided.</li>
 
        </ul>
 

	
 
    <p>Conservancy examined the incomplete CCS alongside the
 
           binary &ldquo;vmkernel&rdquo; component.  Such examination indicates that function
 
           in &ldquo;vmkernel&rdquo; do make function calls to Linux's kernel code
 
      in the usual way for a single program written in C.</p></dd>
 

	
 
    <dt>Doesn't VMware's &ldquo;shim layer&rdquo; insulate them from GPL
 
    obligations and allow them to keep certain code in their kernel
 
    proprietary?</dt>
 

	
 
    <dd>
 
    <p>Many in the media have talked about the possibility that VMware might
 
    use some so-called &ldquo;shim layer&rdquo; between Linux code and
 
    VMware's proprietary code.  While, for decades, there has been much talk of
 
    various mechanisms of GPL obligation avoidance, Conservancy believes that
 
    merely modifying technical details of a combination's construction
 
    does not typically influence the legal analysis in a combined or
 
    derivative work scenario.</p>
 

	
 
    <p>Furthermore, the technical details of VMware's alleged GPL violation
 
    do not even mirror the typical scenarios that have usually been called
 
    &ldquo;shim layers&rdquo;.  Conservancy's analysis of VMware's ESXi
 
    product, in fact, indicates that VMware rather flagrantly combined Linux
 
    code in their own kernel, and evidence seems to indicate the work as a
 
    whole was developed by modifying Linux code in tandem with
 
    modifications to &ldquo;vmkernel&rdquo; in a tightly coupled manner.</p>
 

	
 
    </dd>
 
    <dt>Can you give a <em>specific</em> example, with code, showing how
 
    VMware combined Linux source code with their binary-only components?</dt>
 

	
 
     <dd><p>There are numerous examples available that show this.  The
 
       details of alleged infringement specifically relating to Hellwig's
 
       contributions to Linux are of course the main matter of the
 
       allegations in the litigation, and Conservancy
 
       released <a href="#diagram">the diagram above</a> to exemplify that
 
       issue.  Conservancy continues to <a href="#court-documents">hope VMware will
 
       agree to make public all court documents</a> as a matter of public
 
       good, since the court documents discuss the specifics of alleged
 
         infringement on Hellwig's copyrights.</p>
 

	
 
       <p>However, Conservancy examined VMware's ESXi 5.5 product in detail
 
       even before Hellwig's enforcement action began.  Below is one example
 
       among many where VMware's CCS was incomplete per GPLv2&sect;2(c) and
 
       GPLv2&sect;3(a).  (One can verify these results by
 
       <a href="#verify">downloading and installing the binary and source
 
       packages for VMware's ESXi 5.5 Update 2</a>.)  Note that this
 
       example below is not necessarily regarding
 
       Hellwig's copyrights; VMware incorporated Linux code copyrighted by
 
       many others as well into their kernel.</p>
 

	
 
       <h4>Example of &ldquo;vmkernel&rdquo;'s combination with Linux code</h4>
 
       <p>As one example, examine the file
 
           called <code>vmkdrivers/src_92/vmklinux_92/vmware/linux_pci.c</code>,
 
           which can be found in the &ldquo;Open Source&rdquo; release for
 
           ESXi 5.5.0 Update 2 (5.5U2).  A small excerpt from that file, found in the
 
           function <code>LinuxPCIDeviceRemoved()</code>, reads as follows:
 
<pre>
 
if (unlikely(
 
  /* NOTE: vmk_PCIGetDeviceName is defined in vmvisor64-vmkernel */
 
  vmk_PCIGetDeviceName(vmkDev, vmkDevName, sizeof(vmkDevName)-1) != VMK_OK))
 
{
 
    vmkDevName[0] = 0;
 
}
 
[...]
 
/* VMKAPI_MODULE_CALL_VOID is a macro calling driver's remove() here */
 
VMKAPI_MODULE_CALL_VOID(pciDevExt->moduleID,
 
                        linuxDev->driver->remove,
 
                        linuxDev);
 
</pre>        
 
</p>
 
<p>The function, <code>vmk_PCIGetDeviceName()</code> must be defined, with an
 
      implementation, for this code above to work, or even compile.
 
      Inside <code>BLD/build/HEADERS/vmkapi-current-all-public/vmkernel64/release/device/vmkapi_pci_incompat.h</code>,
 
      found in the <code>vmkdrivers</code> package of ESXi 5.5U2, shows a
 
      function header definition for <code>vmk_PCIGetDeviceName()</code>.
...
 
@@ -365,96 +366,98 @@ previously-mentioned <code>linux_pci.c</code>,
 

	
 
<li>Click the &ldquo;Manually Download&rdquo; link that's beside &ldquo;ESXi
 
  5.5 Update 2 ISO image (Includes VMware Tools)&rdquo;.</li>
 

	
 
<li>Confirm that the SHA-1 hash matches the published one (9475938b51cafc86c8b17d09f2493cb6b4fae927).</li>
 

	
 
<li>Mount (or open via some other means) the
 
downloaded <code>VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso</code>.</li>
 

	
 
<li>Find the <code>k.b00</code> file in the root directory.  Extract it
 
using <code>zcat k.b00 &gt; vmvisor64-vmkernel</code> (or a similar command).
 
Repeat the steps described above using <code>objdump -x
 
vmvisor64-vmkernel</code>.</li>
 

	
 
<li id="vmklinux">To retrieve <code>vmklinux_9</code> you will need to install
 
ESXi on your system by booting the ISO and following the instructions.  Once
 
booted, you can then enable SSH access using &ldquo;Customize System/View Logs -&gt;
 
Troubleshooting Options -&gt; Enable SSH&rdquo;.  Login to the system with SSH
 
and then run <code>find /vmfs -name misc_dri.v00 -print</code>.  On the
 
resulting file, run <code>zcat misc_dri.v00 &gt; misc_dri.vmtar</code> then
 
<code>vmtar -x misc_dri.vmtar -o misc_dri.tar</code>.  You can then extract
 
<code>misc_dri.tar</code> using the usual <code>tar</code> to extract
 
<code>usr/lib/vmware/vmkmod/vmklinux_9</code>.  The <code>misc_dri.v00</code>
 
file is also available next to <code>k.b00</code> in the root directory of
 
the ISO (mentioned above), but the <code>vmtar</code> command itself is only
 
available when logged into an ESXi system. <code>vmtar</code> can be found
 
at <code>bin/vmtar</code> inside
 
<code>sb.v00</code> on the ISO, but one needs <code>vmtar</code> to open
 
<code>sb.v00</code>, similar to <code>misc_dri.v00</code> above.</li>
 

	
 
</ol>
 
</p>
 

	
 
  <p>Note that VMware may present you with <acronym title="End User Licensing Agreement">EULA</acronym>s and <acronym title="Terms of Service">ToS</acronym> when you download
 
  software from VMware's website.  Conservancy strongly suggests that you review these
 
  terms in great detail with the assistance of your own legal counsel before
 
  downloading the software and/or engaging in the process that Conservancy
 
  discusses above.</p>
 

	
 
  <dt>Have others issued statements of support about this action?</dt>
 
  <dd>Various individuals and groups have publicly stated their support for
 
    Conservancy's and Hellwig's actions in this matter.  They include:
 
    <ul>
 
        <li><a href="http://www.april.org/en/statement-support-software-freedom-conservancy-and-christoph-hellwig-gpl-enforcement-lawsuit">APRIL</a></li>
 
        <li><a href="https://fsf.org/news/conservancy-and-christoph-hellwig-gpl-enforcement-lawsuit">Free
 
            Software Foundation</a></li>
 
        <li><a href="https://samba.org/samba/news/announcements/2015-03-06_vmware_lawsuit.html">The
 
            Samba Team</a></li>
 
        <li><a href="http://sourceforge.net/p/swig/news/2015/03/defending-the-gpl/">The
 
        SWIG Project</a></li>
 
        <li><a href="https://plus.google.com/104877287288155269055/posts/cHgyreA76yY">Dave Airlie, Linux Developer</a></li>
 
        <li><a href="https://twitter.com/mjg59/status/573530001758294016">Matthew Garrett, Linux Developer</a></li>
 
        <li><a href="/news/2015/mar/05/vmware-lawsuit/#glikely">Grant Likely, Linux Kernel Engineer</a></li>
 
        <li><a href="http://mina86.com/2015/03/11/the-time-has-come-to-stand-up-for-the-gpl/">Michal Nazarewicz, Linux Developer</a></li>
 
        <li><a href="http://lwn.net/Articles/635624/">Luis R. Rodriguez (aka mcgrof), Linux Developer</a></li>
 
        <li><a href="http://lwn.net/Articles/635855/">Wolfram Sang, Linux Developer</a></li>
 
        <li><a href="https://twitter.com/josh_triplett/status/573543072929198083">Josh
 
        Triplett, Linux Developer</a></li>
 
        <li><a href="https://lwn.net/Articles/635617/">Rik van Riel, Linux Developer</a></li>
 
    </ul>
 
  </dd>
 

	
 
<dt>I
 
see <a href="https://fsf.org/news/conservancy-and-christoph-hellwig-gpl-enforcement-lawsuit">FSF's
 
statement of support</a>, but why
 
isn't <a href="https://www.fsf.org/licensing/compliance">FSF enforcing</a> in
 
this case?</dt>
 

	
 
<dd>While FSF are the authors and license steward of the GNU GPL, it's up to
 
the copyright holder to enforce GPL.  VMware created an operating system by
 
combining parts of the kernel named Linux with their own proprietary code,
 
and then added BusyBox to provide the userspace operating system components.
 
As such, ESXi is not
 
a <a href="https://www.gnu.org/gnu/linux-and-gnu.html">traditional GNU/Linux
 
system</a>.  FSF has many copyrights of its own, but these are almost
 
exclusively on various parts of the GNU system, not on the kernel, Linux.  As
 
such, FSF probably does not have copyright interests available to directly
 
enforce the GPL regarding the primary issue in this case.</dd>
 

	
 
  <dt><em>I</em> care about copyleft and the GPL.  How can I help?</dt>
 

	
 
  <dd>Conservancy needs <a href="#donate-box" class="donate-now">your immediate financial
 
  support to proceed with this litigation</a>.  Litigation costs are
 
  unpredictable, and this lawsuit may take years to resolve.  Conservancy is
 
  prepared to fund this case through its conclusion, but we can only do so
 
  with <a href="/supporter/"><em>your</em> support</a>.  If you are an
 
  individual who supports copyleft and wants to see it defended, please
 
  donate now.  And, if you make a public statement of support, please email the
 
  URL
 
  to <a href="mailto:info@sfconservancy.org">&lt;info@sfconservancy.org&gt;</a>,
 
  as we'd like to include representative selection of supportive statements above.</dd>
 

	
 
  <dt>Why is the case in Germany?</dt>
 

	
 
  <dd>Copyright infringement claims can be brought anywhere that distribution
 
  of the copyrighted works occur.  VMware distributes ESXi throughout the
 
  world, but Germany is close to Christoph's home and his lawyer was
 
  available to do the litigation work there.  Finally, historically,
0 comments (0 inline, 0 general)