Changeset - eeba7a3154bb
[Not reviewed]
www/conservancy/static/copyleft-compliance/vmware-lawsuit-faq.html
Show inline comments
...
 
@@ -18,69 +18,77 @@
 
  Free Software community, and in particular, the copyleft community.  Conservancy
 
  realizes this lawsuit generates many questions and interest
 
  from the community.  Legal counsel (both Conservancy's own, and
 
  Christoph's lawyer, Till Jaeger) correctly advise us to limit our public
 
  comments regarding specific details of the case while litigation remains
 
  pending in court.  Nevertheless, Conservancy, as a
 
  non-profit charity serving the public good, seeks to be as transparent as
 
  possible.  If you have additional questions you'd like to see answered
 
  here, please <a href="mailto:info@sfconservancy.org">email
 
  &lt;info@sfconservancy.org&gt;</a>, but understand that we may often need
 
  to answer: <q>We cannot comment on this while litigation is pending</q>.</p>
 

	
 
<dl>
 
  <dt>Who is the Plaintiff in the lawsuit?</dt>
 
<details>
 
  <summary>Who is the Plaintiff in the lawsuit?</summary>
 

	
 
  <dd>Christoph is one of most active developers of the Linux kernel. He has
 
  <p>Christoph is one of most active developers of the Linux kernel. He has
 
   contributed 279,653 lines of code to the latest Linux 3.19 kernel, and
 
   thus ranks 20th among the 1,340 developers involved in that release.
 
   Christoph also ranks 4th among those who have reviewed third-party source
 
   code, and he has tirelessly corrected and commented on other developers'
 
   contributions.</dd>
 
   contributions.</p>
 
</details>
 

	
 
  <dt id="court-documents">Are the court documents released?</dt>
 
</details>
 

	
 
  <dd>Not currently.  Court proceedings are not public by default in Germany
 
  (unlike in the USA).  Conservancy will continue to update this FAQ with
 
<details>
 
  <summary id="court-documents">Are the court documents released?</summary>
 

	
 
  <p>Not currently.  Court proceedings are not public by default in Germanyg (unlike in the USA).  Conservancy will continue to update this FAQ with
 
  information that Conservancy knows about the case.  We would all also
 
  welcome an agreement with VMware whereby both sides would agree to publish
 
  all Court documents.  Unfortunately, VMware has explicitly asked for the
 
  filings not to be published.   Accordingly, Conservancy itself has not
 
  even been able to review VMware's statement of defense nor Christoph's
 
  response to that statement of defense.</dd>
 
  response to that statement of defense.</p>
 
</details>
 

	
 
  <dt id="funding">Who's funding this lawsuit?</dt>
 
<details>
 
  <summary id="funding">Who's funding this lawsuit?</summary>
 

	
 
  <dd>Conservancy has engaged in a grant agreement with Christoph Hellwig for
 
  <p>Conservancy has engaged in a grant agreement with Christoph Hellwig for
 
  the purposes of pursuing this specific legal action in Germany.
 
  Conservancy is funding this legal action specifically as part of
 
  Conservancy's program activity in
 
  its <a href="/copyleft-compliance/about.html">GPL Compliance
 
  Project for Linux Developers</a>.</dd>
 
  Project for Linux Developers</a>.</p>
 
</details>
 

	
 
  <dt id="combined-and-derivative-works">Is this the Great Test Case of Combined / Derivative Works?</dt>
 
<details>
 
  <summary id="combined-and-derivative-works">Is this the Great Test Case of Combined / Derivative Works?</summary>
 

	
 
  <dd>This case is specifically regarding a combined work that VMware
 
  <p>This case is specifically regarding a combined work that VMware
 
  allegedly created by combining their own code (&ldquo;vmkernel&rdquo;) with
 
  portions of Linux's code, which was licensed only under GPLv2.  As such,
 
  this, to our knowledge, marks the first time an enforcement case is
 
  exclusively focused on this type of legal question relating to GPL.
 
  However, there are so many different ways to make combined and/or
 
  derivative works that are covered by GPL that no single case could possibly
 
  include all such issues. </dd>
 
  include all such issues. </p>
 
</details>
 

	
 
  <dt id="why-lawsuit">Why must you file a lawsuit?  Isn't there any other way to convince
 
    VMware to comply with GPL?</dt>
 
<details>
 
  <summary id="why-lawsuit">Why must you file a lawsuit?  Isn't there any other way to convince VMware to comply with GPL?</summary>
 

	
 
  <dd><p>Neither Conservancy nor Christoph takes this action lightly nor without
 
  <p>Neither Conservancy nor Christoph takes this action lightly nor without
 
  exhausting every other possible alternative first.  This lawsuit is the
 
    outgrowth of years of effort to convince VMware to comply with GPL.</p>
 

	
 
    <p>In October 2011, Conservancy received a GPL violation report on
 
  BusyBox for VMware's ESXi products.  Conservancy opened the matter in its
 
  usual, friendly, and non-confrontational way.  Nevertheless, VMware
 
  immediately referred Conservancy to VMware's outside legal counsel in the
 
  USA, and Conservancy negotiated with VMware's legal counsel throughout
 
  late 2011, 2012 and 2013.  We exchanged and reviewed
 
  <a title="Complete, Corresponding Source" href="https://copyleft.org/guide/comprehensive-gpl-guidech6.html#x9-470005.2.1">CCS</a> candidates, and
 
  admittedly, VMware made substantial and good efforts toward compliance on
 
  BusyBox.  However, VMware still refused to fix a few minor and one major
...
 
@@ -112,137 +120,151 @@
 
   2014.  VMware's last offer was a proposal for a settlement agreement that VMware would
 
   only provide if Christoph signed an NDA, and Christoph chose (quite
 
   reasonably) not to sign an NDA merely to look at the settlement offer.</p>
 

	
 
 <p>Thus, this lawsuit comes after years of negotiations by Conservancy to
 
 achieve compliance &mdash; negotiations that ended in an outright refusal by
 
 VMware's lawyers to comply.  Those events were then followed by a year of
 
   work by Christoph and Till to achieve compliance in a separate action.</p>
 

	
 
 <p>Simply put, Conservancy and Christoph fully exhausted every possible
 
 non-litigation strategy and tactic to convince VMware to do the right thing
 
 before filing this litigation.</p>
 
  </dd>    
 
  </p>
 
</details>
 

	
 
  <dt>What are VMware's primary defenses for their alleged copyright
 
    infringement?</dt>
 
<details>
 
  <summary>What are VMware's primary defenses for their alleged copyright
 
    infringement?</summary>
 

	
 
  <dd>With the guidance of counsel, Christoph was able to provide Conservancy
 
  <p>With the guidance of counsel, Christoph was able to provide Conservancy
 
  with a high-level summary of VMware's statement of defense, which we share
 
  in this FAQ.  Specifically, VMware's statement of defense primarily focuses
 
  on two issues.  First, VMware questions Christoph's copyright interest in
 
  the Linux kernel and his right to bring this action.  Second, VMware claims
 
  vmklinux is an &ldquo;interoperability module&rdquo; which communicates
 
  through a stable interface called VMK API.</dd>
 
  through a stable interface called VMK API.</p>
 
</details>
 

	
 
  <dt>How did Christoph respond to VMware's statement of defense?</dt>
 
<details>
 
  <summary>How did Christoph respond to VMware's statement of defense?</summary>
 

	
 
  <dd>Christoph's response discusses his extensive contributions to the Linux
 
  <p>Christoph's response discusses his extensive contributions to the Linux
 
  kernel and disputes the technical merits of VMware's assertions. The
 
  response points out that vmklinux is <strong>not</strong> an
 
  interoperability module, but rather an arbitrary separation of the Linux
 
  derived module from vmkernel.   Specifically, vmklinux is nonfunctional
 
  with any non-ESX OS, and vmklinux is tied intimately to a specific version
 
  of ESXi.  Vmklinux does not allow reuse of unmodified Linux drivers in
 
  binary or source form.  Christoph further points out that if the Court
 
  allows proprietarization of an arbitrary split portion of GPL'd computer
 
  programs, it could allow redistributors to trivially bypass the strong
 
  copyleft terms found in the GPL.  Finally, the response explains that
 
  vmkernel and vmklinux don't &ldquo;communicate over an interface&rdquo;,
 
  rather they run in the same process as a single computer program.  Thus,
 
  VMK API, as used by vmklinux, is not an &ldquo;interface&rdquo; as set
 
  forth in
 
  the <a href="http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32009L0024&from=EN">EU
 
      Directive 2009/24/EC</a>.</dd>
 
      Directive 2009/24/EC</a>.</p>
 
</details>
 

	
 
  <dt id="tech">Can you explain further how VMware incorporated code from Linux into
 
  their kernel?</dt>
 
<details>
 
  <summary id="tech">Can you explain further how VMware incorporated code from Linux into
 
  their kernel?</summary>
 

	
 
  <dd>
 
  <p>
 
  <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="/copyleft-compliance/linux-vs-vmkernel_en.png">
 
    <img class="inside-faq" alt="[Diagram of Linux and VMware running kernels]" src="/copyleft-compliance/linux-vs-vmkernel_en_scaled.png" /></a>
 
    </p>
 

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

	
 
  <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>
 
  <details>
 
  <summary>Can you explain further in words (rather than a picture) about the central
 
  component in ESXi that the lawsuit alleges violates the GPL?</summary>
 
<p>
 
    <p>The GPL violation at issue involves VMware's ESXi product.
 
    Conservancy independently reviewed ESXi and its incomplete
 
      <abbr title="complete, corresponding source">CCS</abbr>
 
    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 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 functions
 
           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>
 
      in the usual way for a single program written in C.</p></p>
 
            </li>details>
 

	
 
    <dt>Doesn't VMware's &ldquo;shim layer&rdquo; insulate them from GPL
 
            <details>
 
    <summary>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>
 
    proprietary?</summary>
 

	
 
    <dd>
 
    <p>
 
    <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 id="shim-meaningless">Is Conservancy proposing a &ldquo;shim
 
      layer&rdquo; as a viable solution for GPL compliance?</dt>
 
    </p></details>
 

	
 
    <dd>No, in fact, as we say above, Conservancy doesn't think the phrase
 
            <details>
 
   <summary id="shim-meaningless">Is Conservancy proposing a &ldquo;shim
 
      layer&rdquo; as a viable solution for GPL compliance?</summary>
 

	
 
    <p>No, in fact, as we say above, Conservancy doesn't think the phrase
 
        &ldquo;shim layer&rdquo; has any meaning, despite regular use of that
 
        phrase in the media.  Conservancy generally doubts there is any
 
        technological manipulation that changes the outcome of a
 
        combined/derivative work analysis.</dd>
 
        combined/derivative work analysis.</p>
 
            </details>
 

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

	
 
     <dd><p>There are numerous examples available that show this.  The
 
     <p><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 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
...
 
@@ -273,25 +295,25 @@ LinuxPCIDeviceRemoved(vmk_PCIDevice vmkDev)
 
   LinuxPCIDevExt *pciDevExt;
 
   struct pci_dev *linuxDev;
 
[...]
 
  if (unlikely(
 
    vmk_PCIGetDeviceName(vmkDev, vmkDevName, sizeof(vmkDevName)-1) != VMK_OK))
 
  {
 
      vmkDevName[0] = 0;
 
  }
 
[...]
 
VMKAPI_MODULE_CALL_VOID(pciDevExt-&gt;moduleID,
 
                        linuxDev-&gt;driver-&gt;remove,
 
                        linuxDev);
 
</pre>        
 
</pre>
 

	
 
<h4>Combination of &ldquo;vmkernel&rdquo; code with &ldquo;vmkdrivers&rdquo;</h4>
 

	
 
<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/generic/release/hardware/vmkapi_pci_incompat.h</code>,
 
      found in the <code>vmkdrivers</code> package of ESXi 6.0, shows a
 
      function header definition for <code>vmk_PCIGetDeviceName()</code>.
 
      However, the source of its implementation is not provided there or
 
      anywhere in the source release.</p>
 

	
 
<p>Further evidence that the implementation of this function occurs elsewhere
...
 
@@ -467,28 +489,30 @@ static struct pci_driver tg3_driver = {
 
      <li>The binary work in question contains modules from <code>k.b00</code>,
 
        <code>vmlinux_9</code> and <code>tg3</code>.</li>
 
      <li>VMware did not provide source code for any modules found in
 
        <code>k.b00</code>.</li>
 
      <li>Therefore, VMware failed to comply with the GPLv2, as such
 
      compliance requires source code (or an offer therefor) for the material
 
        in <code>k.b00</code>.</li>
 
    </ul>
 
<p>The above is but one piece of evidence among many, but hopefully it helps
 
  to explain some of the &ldquo;combined work&rdquo; violations found in
 
  VMware's ESXi product.  Conservancy did a similar analysis for ESXi 5.0
 
  as well as ESXi 5.5 Update 2 and found nearly identical results.</p>
 
</p>details>
 

	
 
<dt id="verify">How can I verify Conservancy's technical findings above?</dt>
 
<details>
 
<summary id="verify">How can I verify Conservancy's technical findings above?</summary>
 

	
 
<dd><p>The binary and source packages mentioned above are available
 
<p><p>The binary and source packages mentioned above are available
 
on VMware's website.  These packages contain the
 
previously-mentioned <code>linux_pci.c</code>,
 
<code>vmkapi_pci_incompat.h</code>, and <code>k.b00</code> files, as well as
 
    <code>vmklinux_9</code> and the source code that builds the latter.</p>
 

	
 
  <p>To speed up the process, Conservancy has provided
 
  a <a href="https://git.sfconservancy.org/?p=vmkdrivers;a=summary">Git
 
  repository that we built that includes the source components that VMware
 
  released</a>, and which are discussed above in our examples.  However, one
 
  can also obtain the source components directly from VMware, by following
 
  these steps (no login is required):</p>
 

	
...
 
@@ -568,120 +592,131 @@ 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>Note that VMware may present you with <abbr title="End User Licensing Agreement">EULA</abbr>s and <abbr title="Terms of Service">ToS</abbr> 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>
 
  </p>details>
 

	
 
<dt id="similarity-analysis">How do you know Christoph's code is present in
 
  VMware's work?</dt>
 
  <details>
 
<summary id="similarity-analysis">How do you know Christoph's code is present in
 
  VMware's work?</summary>
 

	
 
<dd>Conservancy
 
<p>Conservancy
 
published <a href="/copyleft-compliance/vmware-code-similarity.html">its
 
comparison analysis between Christoph's code and VMware's code</a>. This
 
particular analysis uses a two step process: (a) use Linux's public Git logs
 
to find Christoph's contributions from Christoph, and (b) use a widely
 
accepted and heavily academically cited tool, CCFinderX, to show that VMware
 
copied Christoph's code into their product.</dd>
 
copied Christoph's code into their product.</p>
 
  </details>
 

	
 
<dt id="appeal">I heard that Christoph's case was dismissed.  Is that
 
  true?</dt>
 
  <details>
 
<summary id="appeal">I heard that Christoph's case was dismissed.  Is that
 
  true?</summary>
 

	
 
  <dd>There was a ruling in July 2016 in the Hamburg District Court, which
 
  <p>There was a ruling in July 2016 in the Hamburg District Court, which
 
    dismissed Christoph's case against VMware.  The ruling concerned German
 
    evidence law and the Court did not rule on the merits of the case. The
 
    ruling centered around German evidentary rules related to documenting
 
    Christoph's contributions that appear in VMware's product.
 
    In <a href="http://bombadil.infradead.org/~hch/vmware/2016-08-09.html">a
 
    statement on his website</a>, Christoph Hellwig announced that he will
 
    appeal the ruling. Christoph also published
 
    (in <a href="http://bombadil.infradead.org/~hch/vmware/Urteil_2016-07-08.pdf">German</a>
 
    and <a href="http://bombadil.infradead.org/~hch/vmware/Judgment_2016-07-08.pdf">English)
 
    the Court's ruling</a> which explains why the materials submitted did not
 
    satisfy German evidence rules &mdash; despite publicly available
 
    information in Linux's Git repositories. In addition, the Court chose not
 
    to seek expert testimony.</dd>
 
  <dt id="statements-of-support">Have others issued statements of support about this action?</dt>
 
  <dd>Various individuals and groups have publicly stated their support for
 
    to see</p>details>
 

	
 
  <details>k expert testimony.</p>
 
  <summary id="statements-of-support">Have others issued statements of support about this action?</summary>
 
  <p>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://fsfe.org/news/2015/news-20150331-01.en.html">Free
 
            Software Foundation Europe</a></li>
 
        <li><a href="https://www.gnome.org/news/2015/03/gnome-supports-gpl-compliance-through-vmware-suit-2/">GNOME Foundation</a></li>
 
        <li><a href="http://opensource.org/node/739">Open Source Initiative</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://web.archive.org/web/20170911061201/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>
 
  </p>
 
  </details>
 

	
 
<dt>I
 
  <details>
 
<summary>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>
 
this case?</summary>
 

	
 
<dd>While FSF are the authors and license steward of the GNU GPL, it's up to
 
<p>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>
 
enforce the GPL regarding the primary issue in this case.</p>
 
  </details>
 

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

	
 
  <dd>Conservancy needs <a href="#donate-box" class="donate-now">your immediate financial
 
  <p>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="/sustainer/"><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>
 
  as we'd like to include representative selection of supportive statements above.</p>
 
  </details>
 

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

	
 
  <dd>Copyright infringement claims can be brought anywhere that distribution
 
  <p>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,
 
  Mr. Jaeger's cases in Germany have usually achieved worldwide compliance on
 
  the products at issue in those cases.</dd>
 
  
 
</dl>
 
  the products at issue in those cases.</p>
 
  </details>
 
{% endblock %}
 

	
 
<!--  LocalWords:  Christoph Hellwig VMware vmkernel Linux's GPLv VMware's
 
 -->
 
<!--  LocalWords:  ESXi CCS Christoph's Jaeger NDA SVG PNG vmklinux vmk un
 
 -->
 
<!--  LocalWords:  Hellwig's PCIGetDeviceName vmvisor vmkDev vmkDevName UND
 
 -->
 
<!--  LocalWords:  sizeof VMKAPI pciDevExt moduleID linuxDev vmtar'ed LSB ec
 
 -->
 
<!--  LocalWords:  xfffffffffffffffc gzip login vSphere SHA fd cef pre ffb
 
 -->
www/conservancy/static/css/conservancy.css
Show inline comments
...
 
@@ -468,24 +468,25 @@ blockquote, div.quote /* div.quote is used by conservancy whitepaper */ {
 
.picture-small {
 
    padding-left: 1em;
 
    border: thin silver solid;
 
    padding: 0.5em;
 
    text-align: center;
 
    font-style: italic;
 
    font-size: 70%;
 
    text-indent: 0;
 
    margin: .25em;
 
    min-width: 8%;
 
    max-width: 30%;
 
    width: auto;
 
    box-shadow: 1px 1px 2px rgba(0,0,0,.3);
 
}
 
.picture-small img {
 
   width: 100%;
 
}
 
.picture-tiny {
 
    padding-left: 1em;
 
    border: thin silver solid;
 
    padding: 0.5em;
 
    text-align: center;
 
    font-style: italic;
 
    font-size: 50%;
 
    text-indent: 0;
...
 
@@ -643,12 +644,41 @@ dd {
 
    font-size: 110%;
 
    font-style: italic;
 
    text-align: center;
 
}
 

	
 
/* Fallback elements created by conservancy.js when no video source is
 
   supported. */
 
div.small-right, div.medium-right {
 
    border: thick solid #577632;
 
    padding: .3em;
 
    text-align: center;
 
}
 

	
 
.breadcrumbs {
 
  font-size: 14px;
 
  padding: 0.5rem 0 0;
 
}
 

	
 
.breadcrumbs, .breadcrumbs a {
 
  color: #777;
 
}
 
.breadcrumbs a {
 
  padding: 0 0.5em;
 
}
 
.breadcrumbs a:first-child {
 
  padding-left: 0;
 
}
 
.breadcrumbs span {
 
  padding-left: 0.5em;
 
}
 

	
 
.press-release .date, .conservancy-blog .date {
 
  margin-bottom: 1rem;
 
}
 

	
 
/* Expanding sections. */
 
details summary {
 
  font-size: 1rem;
 
  font-weight: bold;
 
  padding: 0.5rem 0;
 
}
www/conservancy/templates/blog/entry_detail.html
Show inline comments
 
{% extends "base_blog.html" %}
 

	
 
{% block head %}
 
{% include "opengraph_partial.html" with url=object.get_absolute_url title=object.headline description=object.get_description %}
 
{% include "opengraph_urllist_partial.html" with property='image' urls=object.get_one_image_url fallback='/img/conservancy-logo.png' %}
 
{% include "opengraph_urllist_partial.html" with property='video' urls=object.get_one_video_url %}
 
{% endblock %}
 

	
 
{% block subtitle %}{{ object.headline|striptags|safe }} - Conservancy Blog - {% endblock %}
 

	
 
{% block content %}
 
<div class="breadcrumbs">
 
  <p><a href="/">Home</a> / <a href="#fixme">News</a> / <a href="/blog/">Blog</a></p>
 
</div>
 

	
 
{% include "blog/entry_partial.html" with entry=object htag="h2" only %}
 

	
 
<p class="blog-comments">Please email any comments on this entry to
 
  <a href="mailto:info@sfconservancy.org">info@sfconservancy.org</a>.</p>
 

	
 
<p><span class="continued"><a href="/blog/">Other Conservancy Blog entries&hellip;</a></span></p>
 

	
 
{% endblock %}
www/conservancy/templates/blog/entry_list.html
Show inline comments
 
{% extends "base_blog.html" %}
 
{% block subtitle %}Conservancy Blog - {% endblock %}
 

	
 
{% block content %}
 
<div class="breadcrumbs">
 
  <p><a href="/">Home</a> / <a href="#fixme">News</a></p>
 
</div>
 

	
 
<h2><a href="/feeds/blog/" class="feedlink"><img src="/img/feed-icon-14x14.png" alt="[RSS]"/></a> Conservancy Blog{% if author %} &mdash; {{ author.formal_name }}{% endif %}</h2>
 

	
 
{% if authors or tags %}
 
<p>Displaying posts
 
{% if authors %}by {% for author in authors %}{% if not forloop.last %}{% if not forloop.first %}, {% endif %}{% endif %}<a href="{{ author.biography_url }}">{{ author.formal_name }}</a>{% ifequal forloop.revcounter 2 %} and {% endifequal %}{% endfor %}{% endif %}
 
{% if tags %}tagged {% for tag in tags %}{% if not forloop.last %}{% if not forloop.first %}, {% endif %}{% endif %}<a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>{% ifequal forloop.revcounter 2 %} or {% endifequal %}{% endfor %}{% endif %}
 
</p>
 
{% endif %}
 

	
 
{% for entry in blog_entries %}
 
  {% include "blog/entry_partial.html" with entry=entry only %}
www/conservancy/templates/news/pressrelease_detail.html
Show inline comments
...
 
@@ -2,15 +2,18 @@
 

	
 
{% block head %}
 
{% include "opengraph_partial.html" with url=object.get_absolute_url title=object.headline description=object.get_description %}
 
{% include "opengraph_urllist_partial.html" with property='image' urls=object.get_one_image_url fallback='/img/conservancy-logo.png' %}
 
{% include "opengraph_urllist_partial.html" with property='video' urls=object.get_one_video_url %}
 
{% endblock %}
 

	
 
{% block subtitle %}{{ object.headline|striptags|safe }} - {% endblock %}
 

	
 
{% block content %}
 

	
 
<div id="mainContent">
 
  <div class="breadcrumbs">
 
    <p><a href="/">Home</a> / <a href="#fixme">News</a></p>
 
  </div>
 
{% include "news/pressrelease_partial.html" with pressr=object htag="h2" only %}
 
</div>
 
{% endblock %}
www/conservancy/templates/news/pressrelease_list.html
Show inline comments
 
{% extends "base_news.html" %}
 
{% block subtitle %}News - {% endblock %}
 

	
 
{% block outercontent %}
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <h2>News Index by Year</h2>
 
         <ul>
 
         {% for year in date_list reversed %}<li class="{{ year|date:"Y" }}"><a href="{{ year|date:"Y" }}/">{{ year|date:"Y" }}</a></li>{% endfor %}
 
         </ul>
 
         </div>
 
         <div id="mainContent">
 
           <div class="breadcrumbs">
 
             <p><a href="/">Home</a> / <a href="#fixme">News</a></p>
 
           </div>
 
         <h1><a href="/feeds/news/" class="feedlink"><img src="/img/feed-icon-14x14.png" alt="[RSS]"/></a> Conservancy News</h1>
 

	
 

	
 
{% ifnotequal news.number 1 %}<p>(Page {{ news.number }} of {{ news.paginator.num_pages }})</p>{% endifnotequal %}
 

	
 
{% for pressr in news %}
 
  {% if pressr.is_recent %}
 
    {% include "news/pressrelease_partial.html" with pressr=pressr show="summary" only %}
 
  {% else %}
 
    {% include "news/pressrelease_partial.html" with pressr=pressr show="dateline" only %}
 
  {% endif %}
 
{% endfor %}
www/conservancy/templates/sponsors.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block subtitle %}Sponsors - {% endblock %}
 
{% block category %}sponsors{% endblock %}
 
{% block head %}
 
<meta charset="UTF-8"/>
 
{% endblock %}
 

	
 
{% block content %}
 
<div class="breadcrumbs">
 
  <p><a href="/">Home</a> / <a href="#fixme">Who We Are</a></p>
 
</div>
 

	
 
<h1>Conservancy's Sponsors &amp; Sustainers</h1>
 

	
 
<p>Conservancy relies on donations from the general public to support its
 
work, and asks everyone <a href="/donate">to donate generously</a>.
 

	
 
<h2>Sponsors</h2>
 

	
 
<p>The sponsors whose logos are listed below (in alphabetical order) have donated
 
substantially in the past twelve months to support the ongoing work of
 
Conservancy.  These sponsors support our work through financial
 
contributions  and have asked for public acknowledgment of their
www/conservancy/templates/supporter/index.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block subtitle %}Support Conservancy - {% endblock %}
 
{% block category %}sustainer{% endblock %}
 

	
 
{% block head %}
 
<script type="text/javascript" src="/js/supporter-page.js"></script>
 
<link href="/css/forms.css" rel="stylesheet" type="text/css"/>
 
{% include "opengraph_partial.html" with url="/sustainer/" title="Support Conservancy!" description="Software freedom is critical to many of today&rsquo;s most pressing social issues, but it&rsquo;s only effective when FOSS is for everyone. Support Conservancy today to help make that happen!" %}
 
{% include "opengraph_urllist_partial.html" with property='image' urls='' fallback='/img/conservancy-logo.png' %}
 
{% endblock %}
 

	
 
{% block content %}
 
<div class="breadcrumbs">
 
  <p><a href="/">Home</a> / <a href="#fixme">Who We Are</a></p>
 
</div>
 

	
 
<div class="donate-sidebar">
 
<table style="background-color:#afe478;width:100%;">
 
<tr><td style="text-align:center;padding:10px;padding-bottom:10px;">
 
<div id="donate-box" class="toggle-unit"><h1 class="toggle-content">Support
 
    Now!</h1></div>
 

	
 
<h3 class="donate-box-highlight">Become a Sustainer Now:</h3>
 

	
 
<p>Support us now!</p>
 

	
 
<h4><a href="#annual"><span class="donate-box-highlight">Annual sustainer</span> via PayPal, ACH, or credit card.</a></h4>
 
<h4><a href="#monthly"><span class="donate-box-highlight">Monthly sustainer</span> via PayPal, ACH, or credit card.</a></h4>
0 comments (0 inline, 0 general)