Changeset - 09a4b021c1f5
[Not reviewed]
0 21 1
Bradley M. Kuhn - 3 years ago 2021-10-21 15:39:47
bkuhn@sfconservancy.org
Repair menu highlighting, both for main menu and submenus

During the recent improvements made on the website, the menus and
submenu highlighting for selected menus fell into disarray.
Correction requires changes to the CSS and templates both, because
Django doesn't really have a convenient way to set variables in
templates to use to solve this.

There are still a few submenu items highlighting not working even
after this commit. More work needs to be done.
22 files changed with 116 insertions and 52 deletions:
0 comments (0 inline, 0 general)
www/conservancy/static/activities/index.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% load cache %}
 
{% load humanize %}
 
{% block category %}WhatWeDo{% endblock %}
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 

	
 
{% endblock %}
 

	
 
{% block outercontent %}
 
<div class="content-with-donate-sidebar">
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>What We Do</h2>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
            <h2>Our Copyleft {% block category %}Compliance{% endblock %} Projects</h2>
 
            <h2>Vizio Lawsuit</h2>
 
            <ul>
 
            <li class="AboutCompliance"><a href="/copyleft-compliance/about.html">About</a></li>
 
            <li class="EnforcementStrategy"><a href="/copyleft-compliance/enforcement-strategy.html">Strategic GPL Enforcement Initiative</a></li>
 
            <li class="CopyleftPrinciples"><a href="/copyleft-compliance/principles.html">Principles of Community-Oriented GPL Enforcement</a></li>
 
            <li class="LiberateFirmware"><a href="/copyleft-compliance/firmware-liberation.html">Liberate IoT Firmware via GPL Enforcement</a></li>
 
            <li class="PastLawsuits"><a href="/copyleft-compliance/past-lawsuits.html">Previous Copyleft Litigation</a></li>
 
            <li class="CopyleftOrg"><a href="https://copyleft.org/">copyleft.org</a></li>
 
            <li class="VizioMain"><a href="/copyleft-compliance/vizio.html">About the Lawsuit</a></li>
 
            <li class="VizioPressRelease"><a href="/copyleft-compliance/vizio.html">Press Release</a></li>
 
            <li class="VizioComplaint"><a href="/docs/software-freedom-conservancy-v-vizio-complaint-2021-10-19.pdf">Complaint</a></li>
 
            <li class="VizioQandA"><a href="/press/qanda.html">Q&amp;A</a></li>
 
            </ul>
 
            <h2>Resources for Journalists on Vizio</h2>
 
            <ul>
 
            <li class="VizioPressKit"><a href="/docs/software-freedom-conservancy-v-vizio-announce-press-kit.pdf">Press Kit</a></li>
 
            <li class="VizioPhotoAssets"><a href="/docs/software-freedom-conservancy-v-vizio-photo-assets.zip">Photo Assets</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
            </ul>
 
         </div>
 
         <div id="mainContent">
 
           {% block content %}
 
           <h1>What We Do</h1>
 
           <p>Software Freedom Conservancy is a nonprofit organization
 
           centered around ethical technology. Our mission is to ensure the
 
           right to repair, improve and reinstall software. We promote and
 
           defend these rights through fostering free and open source
 
           software (FOSS) projects, driving initiatives that actively make
 
           technology more inclusive, and advancing policy strategies that
 
             defend FOSS (such as copyleft).</p>
 

	
 
           <p>Our work on <a href="/copyleft-compliance/">copyleft
 
           compliance</a>, including enforcement of the General Public
 
           License (GPL), is world-renowned.  We believe fundamentally that
 
           copyleft licenses are the best tool available today to empower
 
           users and consumers to take control of their electronic devices,
 
           liberate themselves from planned obsolesce, and join a free market
 
           where they choose who provides their software.</p>
 

	
 
           <p>We also believe that FOSS functions best when built by a
 
           egalitarian community in which hobbyists, volunteers, and
 
           individuals stand on equal footing with companies and large
 
           organizations.  Vendor neutrality is simply not enough &mdash; as
 
           that merely makes companies equal to each other and leaves
 
           hobbyists and volunteers out in the cold.  To foster FOSS creation
 
           in this manner, we are the <a href="/projects/">non-profit home to
 
           dozens of member projects and initiatives</a> whom we assist to
 
           remain transparent and prioritize the public good in their
 
           development of FOSS.</p>
 

	
 
           <p>Furthermore, diversity and inclusion is a critical component to
 
           egalitarian FOSS communities.  We acknowledge that FOSS
 
           communities historically have struggled on these fronts and the
 
           myth of &ldquo;pure meritocracy&rdquo; so popular in FOSS circles
 
           willfully ignores the systemic biases in our societies and
 
           cultures.  We are thus the proud home of
 
           the <a href="https://outreachy.org/">Outreachy initiative</a> that
 
           offers paid internships in FOSS for contributors who have faced
 
           systemic bias in their efforts to join the FOSS community.<p>
 

	
 

	
 
           {% endblock %}
 
               </div>
 
    </div>
 
           {% endblock %}
www/conservancy/static/copyleft-compliance/about.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}AboutCompliance{% endblock %}
 
{% block submenuselection %}CopyleftCompliance{% endblock %}
 
{% block content %}
 
<h1 id="ourwork">Conservancy's Copyleft Compliance Projects</h1>
 

	
 
<p>As existing donors and sustainers know, the Software Freedom Conservancy
 
  is a 501(c)(3) non-profit charity registered in New York, and Conservancy
 
  helps people take control of their computing by growing the software
 
  freedom movement, supporting community-driven alternatives to proprietary
 
  software, and defending free software with practical initiatives.
 
  Conservancy accomplishes these goals with various initiatives, including
 
  defending and upholding the rights of software users and consumers under
 
  copyleft licenses, such as the GPL.</p>
 

	
 
<p>Free and open source software (FOSS) is everywhere and in everything; yet
 
our software freedom is constantly eroded.  With the help of its
 
volunteers, <a href="/members/current/">member projects</a>,
 
and <a href="/about/staff/">staff</a>, Conservancy stands up for users'
 
software freedom via its copyleft compliance work.</p>
 

	
 
<p>Conservancy's primary work in copyleft compliance currently focuses on
 
our <a href="/copyleft-compliance/enforcement-strategy.html">Strategic GPL
 
Enforcement Initiative</a>.  This initiative, <a href="/news/2020/oct/01/new-copyleft-strategy-launched-with-ARDC-grant/">launched in October 2020</a>,
 
represents the culmination of nearly 15 years of compliance work of
 
Conservancy spanning ten different fiscally sponsored projects, past lawsuits
 
against more than a dozen defendants, and hundreds of non-litigation
 
compliance actions.</p>
 

	
 
<p>For these many years, Conservancy has always given the benefit of the
 
  doubt to companies who exploited our good nature and ultimately simply
 
  ignore the rights of users and consumers.  In that time, the compliance
 
  industrial complex has risen to a multi-million-dollar industry &mdash;
 
  selling (mostly proprietary) products, services, and consulting to
 
  companies.  Yet, these compliance efforts ignore consistently the most
 
  essential promise of copyleft &mdash; the complete, Corresponding Source
 
  and &ldquo;the scripts used to control compilation and installation of the
 
  executable&rdquo;.</p>
 

	
 
<p>We encourage our sustainers and software freedom enthusiasts everywhere to
 
  <a href="/copyleft-compliance/enforcement-strategy.html">read our detailed
 
  strategic plan for GPL enforcement</a> and its companion
 
  project, <a href="/copyleft-compliance/firmware-liberation.html">our
 
    Firmware Liberation Project</a>.</p>
 

	
 
<h2 id="projects">Compliance Relationship to Fiscally Sponsored Projects</h2>
 

	
 
<p>Historically, Conservancy was well-known for its ongoing license
 
compliance efforts on behalf of its BusyBox member project.  Today,
 
Conservancy does semi-regular compliance work for its BusyBox, Git, Inkscape,
 
Mercurial, Samba, QEMU and Wine member projects.  If you are a copyright
www/conservancy/static/copyleft-compliance/vizio.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% extends "base_vizio.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}Vizio{% endblock %}
 
{% block submenuselection %}VizioMain{% endblock %}
 
{% block content %}
 

	
 
<h1>Software Freedom Conservancy files right-to-repair lawsuit against California TV manufacturer Vizio Inc. for alleged GPL violations</h1>
 
<h2>Litigation is historic in nature due to its focus on consumer rights, filing as third-party beneficiary</h2>
 

	
 
<p><strong>FOR IMMEDIATE RELEASE</strong></p>
 

	
 
<p>IRVINE, Calif. (Oct. 19, 2021) Software Freedom Conservancy announced today
 
it has filed a lawsuit against Vizio Inc. for what it calls repeated failures
 
to fulfill even the basic requirements of the General Public License (GPL).</p>
 

	
 

	
 
<p>The lawsuit alleges that Vizio’s TV products, built on its SmartCast system,
 
contain software that Vizio unfairly appropriated from a community of
 
developers who intended consumers to have very specific rights to modify,
 
improve, share, and reinstall modified versions of the software.</p>
 

	
 

	
 
<p>The GPL is a copyleft license that ensures end users the freedom to run,
 
study, share, and modify the software. Copyleft is a kind of software
 
licensing that leverages the restrictions of copyright, but with the intent
 
to promote sharing (using copyright licensing to freely use and repair
 
software).</p>
 

	
 
<p>Software Freedom Conservancy, a nonprofit organization focused on ethical
 
technology, is filing the lawsuit as the purchaser of a product which has
 
copylefted code. This approach makes it the first legal case that focuses on
 
the rights of individual consumers as third-party beneficiaries of the GPL.
 

	
 
<p>&ldquo;That’s what makes this litigation unique and historic in terms of
 
defending consumer rights,&rdquo; says Karen M. Sandler, the organization’s
 
executive director.</p>
 

	
 

	
 
<p>According to the lawsuit, a consumer of a product such as this has the
 
right to access the source code so that it can be modified, studied, and
 
redistributed (under the appropriate license conditions).</p>
 

	
 

	
 

	
 
<p>&ldquo;We are asking the court to require Vizio to make good on its
 
  obligations under copyleft compliance requirements,&rdquo; says
 
  Sandler. She explains that in past litigation, the plaintiffs have always
 
  been copyright holders of the specific GPL code. In this case, Software
 
  Freedom Conservancy hopes to demonstrate that it's not just the copyright
 
  holders, but also the receivers of the licensed code who are entitled to
 
  rights.</p>
 

	
www/conservancy/static/copyleft-compliance/vmware-code-similarity.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}VMwareCodeSimilarity{% endblock %}
 
{% block submenuselection %}PastLawsuits{% endblock %}
 
{% block content %}
 

	
 
<h1 id="contribution-and-similarity-analysis-of-christoph-hellwigs-linux-code-as-found-in-vmware-esxi-5.5">Contribution and Similarity Analysis of Christoph Hellwig's Linux Code as found in VMware ESXi 5.5</h1>
 
<p>This analysis verifies by reproducible analysis a set of specific contributions that are clearly made by Christoph Hellwig to Linux, and shows how those contributions appear in the VMware ESXi 5.5 product.</p>
 
<p>This analysis was prepared and written by <a href="/about/staff/#bkuhn">Bradley M. Kuhn</a>.</p>
 
<h1 id="understanding-code-similarity-and-cloning">Understanding Code Similarity and &quot;Cloning&quot;</h1>
 
<p>Software is often modified in various ways; indeed, Linux developers form a community that encourages and enables modification by many parties. Given this development model, communities often find it valuable to determine when software source code moves from one place to another with only minor modifications. Various scientifically-vetted techniques can be used to identify &quot;clones&quot; -- a portion of code that is substantially similar to pre-existing source code. The specific area of academic research is called &quot;code cloning detection&quot; or &quot;code duplication detection&quot;. The area has been under active research since the mid-1990s <a href="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a>. In 2002, Japanese researchers published a tool called CCFinder <a href="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a>, which, in its updated incarnation (called CCFinderX), is widely used and referenced by academic researchers in the field <a href="#fn3" class="footnoteRef" id="fnref3"><sup>3</sup></a> and has specifically been used to explore reuses of code in GPL'd software such as Linux <a href="#fn4" class="footnoteRef" id="fnref4"><sup>4</sup></a>.</p>
 
<p>CCFinderX uses a token-based clone detection method and a suffix-tree matching algorithm; both techniques have been highly vetted and considered in the academic literature. The techniques are considered viable and useful in detecting clones. Many academic papers on the subject have been peer-reviewed and published, and nearly every newly published paper compares its new techniques of clone detection to the seminal results found by CCFinderX. For purposes of our analysis, we have therefore chosen to use CCFinderX. These results can be easily reproduced since CCFinderX is, itself, also Open Source software.</p>
 
<h1 id="establishing-a-baseline-of-the-ccfinderx-tool">Establishing A Baseline of the CCFinderX Tool</h1>
 
<p>CCFinderX offers many statistics for clone detection. After expert analysis, we concluded that most relevant to this situation is the &quot;ratio of similarity&quot; between the existing code and the new code. To establish a baseline, we considered two different comparisons of Free and Open Source Software (FOSS). First, we compared the Linux kernel, Version 4.5.2, to the FreeBSD kernel, Version 10.3.0. This comparison was inspired by the similar 2002 study <a href="#fn5" class="footnoteRef" id="fnref5"><sup>5</sup></a> of these two large C programs. The hypothesis remained that CCFinderX would encounter a low but significant percentage of code similarity, since the FreeBSD and Linux projects collaborate on some subprojects and willingly share code under the 3-Clause BSD license for those parts. (These collaborations are public and well-documented.)</p>
 
<p>The experiment confirmed the hypothesis. We found that a 3.68% &quot;ratio of similarity&quot; when comparing code from Linux to the FreeBSD kernel.</p>
 
<p>Next, we compared the source code of the Linux Kernel 4.5.2 to the LLVM+Clang system, version 3.8.0. These two projects are each a large program that are not known to actively share code. There may be some very minimal similarity simply due to chance, but something much lower than the 3.68% found between Linux and FreeBSD's kernel.</p>
 
<p>Indeed, when the same test is run to compare Linux to the LLVM+Clang system, the &quot;ratio of similarity&quot; was 0.075%.</p>
 
<h1 id="general-comparison-of-linux-kernel-to-vmware-sources">General Comparison of Linux Kernel to VMware sources</h1>
 
<p>With the baseline established, we now begin relevant comparisons. First, we compare the Linux kernel version 2.6.34 to the sources <a href="https://k.sfconservancy.org/vmkdrivers">released by VMware in their (partial) source release</a>. The &quot;ratio of similarity&quot; between Linux 2.6.34 and VMware's partial source release is 20.72%. There is little question that much of VMware's kernel has come from Linux.</p>
 
<h1 id="methodology-of-showing-hellwigs-contributions-in-vmware-esxi-5.5-sources">Methodology Of Showing Hellwig's Contributions in VMware ESXi 5.5 Sources</h1>
 
<p>The following describes a methodology to show Hellwig's contributions to Linux, and how they compare to code found in VMware ESXi 5.5.</p>
 
<h2 id="extracting-hellwigs-contributions-from-linux-historical-repository">Extracting Hellwig's Contributions From Linux Historical Repository</h2>
 
<p>Excellent records exist of contributions made to Linux from 2002-02-04 through present date. From 2002-02-04 through 2005-04-03, Bitkeeper was used to store revision control history of Linux. Each improvement contributed to Linux has information regarding who placed the contribution in Linux, and a comment field in which the contributor can credit others, such as by noting that the contribution actually came from someone else.</p>
 
<p>I extracted from the historical Linux tree the identifying number of all commits that are either made with Hellwig in the official Author field, or where the person in the Author field left notes clearly indicating that the contribution was done by Hellwig. For the latter, the following regular expression search against the log file was used:</p>
 
<pre><code>(Submitted\s+by|original\s+patch|patch\s+(from|by)|originally\s+(from|by)).*Hellwig</code></pre>
 
<p>Specifically, I used <a href="https://github.com/conservancy/gpl-compliance-tools/blob/master/commit-id-list-matching-regex.plx">a script</a> to extract a list of commit ids from the <a href="git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git">historical Linux repository</a>. This method found 1,012 separate occasions of contribution by Hellwig from 2002-02-04 through 2005-04-03.</p>
 
<p>After finding these separate occasions of contribution, I then extracted the source code lines that Hellwig added or changed in each contribution in this repository. I did so by carefully cross-referencing the commits that Hellwig performed with the output of <code>git blame</code>. I specifically <a href="https://github.com/conservancy/gpl-compliance-tools/blob/master/extract-code-added-in-commits.plx">wrote a script</a> to carefully extracted only lines that Hellwig changed or added in that repository, and placed only those contributions identifiable as Hellwig's into new files whose named matched the original filenames. This created a corpus of code that can be verifiable as added or changed by Hellwig and no one else.</p>
 
<p>Here are the specific commands I ran:</p>
 
<pre><code>$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git linux-historical
 
$ ./commit-id-list-matching-regex.plx `pwd`/linux-historical/.git Hellwig &#39;(Submitted\s+by|originals+patch|patch\s+from|originally\s+by).*&#39; &gt; hellwig-historical.ids
 
$ ./extract-code-added-in-commits.plx --repository=`pwd`/linux-historical --output-dir=`pwd`/hellwig-historical --central-commit e7e173af42dbf37b1d946f9ee00219cb3b2bea6a --progress --blame-opts=-M --blame-opts=-C &lt; ./hellwig-historical.ids
 
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-current
 
$ ./commit-id-list-matching-regex.plx `pwd`/linux-current/.git Hellwig &#39;(Submitted\s+by|original\s+patch|patch\s+(from|by)|originally\s+(from|by)).*&#39; &gt; ./hellwig-current.ids
 
$ ./extract-code-added-in-commits.plx --progress --repository=`pwd`/linux-current --output-dir=`pwd`/hellwig-through-2.6.34 --fork-limit=14 --blame-opts=-M  --blame-opts=-M --blame-opts=-C --blame-opts=-C --central-commit e40152ee1e1c7a63f4777791863215e3faa37a86   &lt; hellwig-current.ids </code></pre>
 
<p>Note: e40152ee1e1c7a63f4777791863215e3faa37a86 is the 2.6.34 version created by Linus Torvalds <script type="text/javascript">
 
<!--
 
h='&#108;&#x69;&#110;&#x75;&#120;&#x2d;&#102;&#x6f;&#x75;&#110;&#100;&#x61;&#116;&#x69;&#x6f;&#110;&#46;&#x6f;&#114;&#x67;';a='&#64;';n='&#116;&#x6f;&#114;&#118;&#x61;&#108;&#100;&#x73;';e=n+a+h;
 
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+e+'<\/'+'a'+'>');
 
// -->
 
</script><noscript>&#116;&#x6f;&#114;&#118;&#x61;&#108;&#100;&#x73;&#32;&#x61;&#116;&#32;&#108;&#x69;&#110;&#x75;&#120;&#x2d;&#102;&#x6f;&#x75;&#110;&#100;&#x61;&#116;&#x69;&#x6f;&#110;&#32;&#100;&#x6f;&#116;&#32;&#x6f;&#114;&#x67;</noscript> on 2010-05-16 14:17:36 -0700, with Git commit comment: &quot;Linus 2.6.34&quot;.</p>
 
<h2 id="comparing-hellwigs-contributions-from-linux-historical-repository-to-vmware-sources">Comparing Hellwig's Contributions From Linux Historical Repository to VMware Sources</h2>
 
<p>I then used this corpus as input to CCFinderX (similar to the other CCFinderX comparisons explained earlier). Specifically, this CCFinderX comparison compared all known Hellwig-contributed material from the historical Linux repository to the partial VMware source release. CCFinderX found a ratio of similarity of 0.0900% between Hellwig's code and the source code in VMware's (partial) source release. CCFinderX specifically identified 12 distinct locations where substantial sections of code contributed by Hellwig appeared in VMware's code.</p>
 
<p>Most notably, substantial portions of the the following core SCSI functions were found by this search technique: <code>__scsi_device_lookup</code> and <code>__scsi_get_command</code>, <code>mpt_get_product_name</code>, <code>scsi_proc_host_rm</code>, <code>mega_enum_raid_scsi</code>, <code>mega_m_to_n</code>, <code>mega_prepare_passthru</code>, <code>proc_scsi_show</code>, and <code>__down_read_trylock</code>.</p>
 
<h2 id="extracting-hellwigs-contributions-from-modern-linux-repository">Extracting Hellwig's Contributions From Modern Linux Repository</h2>
 
<p>Beginning on 2005-04-16, Linux began using the new Git system to store revision history. This history can be analyzed in a similar fashion as was done for the historical repository.</p>
 
<p>In this case, I picked a specific revision to center the analysis, the Linux 2.6.34 release from 2010-05-16. For the period from 2005-04-16 through 2010-05-16, I extracted from the modern Linux tree the identifying number of all commits that are either made with Hellwig in the official Author field, or where the person in the Author field left notes clearly indicating that the contribution was done by Hellwig. For the latter, the following regular expression search against the log file was used (as before):</p>
 
<pre><code>(Submitted\s+by|original\s+patch|patch\s+(from|by)|originally\s+(from|by)).*Hellwig</code></pre>
 
<p>Specifically, I used the <a href="https://github.com/conservancy/gpl-compliance-tools/blob/master/commit-id-list-matching-regex.plx">same script as before</a> to now extract a list of commit ids from the <a href="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git">modern Linux repository</a>. This method found 2,595 separate occasions of contribution by Hellwig from 2005-04-16 through 2010-05-16.</p>
 
<p>As before, after finding these separate occasions of contribution, I then extracted the source code lines that Hellwig added or changed in each contribution in this repository. I did so by carefully cross-referencing the commits that Hellwig performed with the output of <code>git blame</code>. I specifically <a href="https://github.com/conservancy/gpl-compliance-tools/blob/master/extract-code-added-in-commits.plx">used the same script as before</a> to carefully extracted only lines that Hellwig changed or added in that repository, and placed only those contributions identifiable as Hellwig's into new files whose named matched the original filenames. This created a corpus of code that can be verifiable as added or changed by Hellwig and no one else.</p>
 
<h2 id="comparing-hellwigs-contributions-from-modern-linux-repository-to-vmware-sources">Comparing Hellwig's Contributions From Modern Linux Repository to VMware Sources</h2>
 
<p>I then used this corpus as input to CCFinderX again. Specifically, this CCFinderX comparison compared all known Hellwig-contributed material from the modern Linux repository to the partial VMware source release. CCFinderX found a ratio of similarity of 0.1615% between Hellwig's code and the source code in VMware's (partial) source release was contributed by Hellwig. CCFinderX specifically identified 23 distinct locations where substantial sections of code contributed by Hellwig appeared. These 23 locations are found in the following 19 functions: <code>mptsas_init</code>, <code>mptsas_get_linkerrors</code>, <code>megasas_build_and_issue_cmd</code>, <code>cciss_getgeo</code>, <code>mptsas_get_bay_identifier</code>, <code>phy_to_ioc</code>, <code>mptsas_sas_enclosure_pg0</code>, <code>SendIocInit</code>, <code>mptsas_parse_device_info</code>, <code>csmisas_sas_device_pg0</code>, <code>mptsas_sas_io_unit_pg0</code>, <code>mptsas_sas_io_unit_pg1</code>, <code>mptsas_sas_expander_pg1</code>, <code>mptsas_sas_enclosure_pg0</code>, <code>aac_handle_aif</code>, <code>mptsas_get_bay_identifier</code>, <code>mpt_host_page_alloc</code>, <code>mptsas_probe_one_phy</code>.</p>
 
<h2 id="changed-and-added-lines-create-an-incomplete-picture">Changed And Added Lines Create an Incomplete Picture</h2>
www/conservancy/static/copyleft-compliance/vmware-lawsuit-appeal.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}VMwareLawsuitAppeal{% endblock %}
 
{% block submenuselection %}PastLawsuits{% endblock %}
 
{% block content %}
 
<h2>The time has come to stand up for the GPL.</h2>
 

	
 
<p><strong>Update 2019-04-02:</strong> Please
 
  see <a href="https://sfconservancy.org/news/2019/apr/02/vmware-no-appeal/">this
 
  announcement regarding conclusion of the VMware suit in Germany</a>.  Since the suit has
 
  concluded, any funds you donate here will support our ongoing compliance efforts.  The
 
  remaining material below is left as it was before that announcement:</p>
 

	
 
<p><em>In March 2015, Conservancy <a href="/news/2015/mar/05/vmware-lawsuit/">announced Christoph Hellwig's
 
    lawsuit against VMware in Germany</a>.  In July 2016,
 
    we <a href="/news/2016/aug/09/vmware-appeal/">announced that Christoph
 
    would appeal the lower court's ruling</a>.</p>
 
    Support Conservancy's and Christoph's efforts in this area
 
    by <a href="/sustainer/">becoming a Conservancy
 
    sustainer</a> or <a href="#donate-box" class="donate-now">donating via
 
    the link on the right</a>.</em></p>
 

	
 

	
 
<p>We were told to ask nicely and repeatedly, so we did.</p>
 

	
 
<p>We asked allies to help us make contact in friendly and professional
 
  ways.</p>
 

	
 
<p>Everyone asked us to give companies as many chances as possible and as
 
  much help as possible to comply with copyleft, so we did.</p>
 

	
 
<p>We've worked for years to help VMware comply with the GPL, but they
 
refuse. Negotiations broke down for the last time when they insisted on an 
 
NDA just to discuss settlement terms!</p>
 

	
 
<p>Christoph is among the most active developers of Linux.  As of Feburary 
 
19, 2015, Christoph has contributed 279,653 lines of code to the Linux kernel, 
 
and ranks 20th among the 1,340 developers involved in the latest 3.19 kernel 
 
release.  Christoph also
 
ranks 4th among those who have reviewed third-party source code, tirelessly
 
corrected and commented on other developers' contributions.  Christoph
 
licenses his code to the public under the terms of the GPL for practical and
 
ideological reasons.  VMware, a company with net revenue of over $1 billion
 
and over 14,000 employees, ignored Christoph's choice.  They took Christoph's
 
code from Linux and modified it to work with their own kernel without releasing
 
source code of the resulting complete work.  This is precisely the kind of
 
activity Christoph and other kernel developers seek to prevent by choosing
 
the GPL.  The GPL was written to prevent this specific scenario!</p>
 

	
 
<h3>This is a matter of principle.</h3>
 

	
 
<p>Free and open source software is everywhere and in everything; yet our
www/conservancy/static/copyleft-compliance/vmware-lawsuit-faq.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}VMwareLawsuitFAQ{% endblock %}
 
{% block submenuselection %}PastLawsuits{% endblock %}
 
{% block content %}
 
<h1>Frequently Asked Questions about Christoph Hellwig's VMware Lawsuit</h1>
 

	
 
<p><strong>Update 2019-04-02:</strong> Please
 
  see <a href="https://sfconservancy.org/news/2019/apr/02/vmware-no-appeal/">this
 
  announcement regarding conclusion of the VMware suit in Germany</a>.  Since the suit has
 
  concluded, any funds you donate here will support our ongoing compliance efforts.  The
 
  remaining material below is left as it was before that announcement:</p>
 

	
 

	
 
<p>Conservancy maintains this
 
  <abbr title="Frequently Asked Questions">FAQ</abbr> list regarding
 
  <a href="/news/2015/mar/05/vmware-lawsuit/">Christoph Hellwig's lawsuit against VMware
 
  in Germany over alleged GPL violations on Linux</a> as a service to the
 
  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>
 

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

	
 
  <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.</p>
 
</details>
 

	
 
</details>
 

	
 
<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
www/conservancy/static/css/conservancy.css
Show inline comments
...
 
@@ -319,120 +319,124 @@ body > header {
 
    background: #d0d0d0;
 
}
 

	
 
#siteprogressbar .final-goal {
 
    background: #eeeeee;
 
}
 

	
 
#fundraiser-percentage {
 
    text-align: center;
 
}
 

	
 
#container #mainContent {
 
    max-width: 50em;
 
    margin: 0;
 
    padding: 0;
 
    background: #ffffff;
 
    flex: 1 1 auto;
 
}
 
#container #sidebar {
 
  background-color: #e6eae1;
 
  padding: 1px 0.5rem 0.25rem;
 
  margin-bottom: 1rem;
 
}
 

	
 
@media screen and (min-width: 30em) {
 
  #container {
 
    display: flex;
 
  }
 
  #container #sidebar {
 
  flex: 1 0 15em;
 
    margin-right: 1rem;
 
  }
 
}
 

	
 
#container #sidebar li {
 
    text-align: center;
 
    list-style: none;
 
    padding: 3px 10px 3px 10px;
 
    margin: 5px;
 
    border: 1px solid #CCC;
 
    background: #eaf1f1;
 
    background: -moz-linear-gradient(top, #fff, #eaf1f1);
 
    background: -webkit-linear-gradient(top, #fff, #eaf1f1);
 
    background: linear-gradient(to bottom, #fff, #eaf1f1);
 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eaf1f1', GradientType=0);
 
}
 
#container #sidebar li a:hover { background: #577632; color: #fff; }
 

	
 
#container #sidebar.Sponsors ul li.Sponsors,
 
#container #sidebar.Directors ul li.Directors,
 
#container #sidebar.Eval ul li.Eval,
 
#container #sidebar.Overview ul li.Overview,
 
#container #sidebar.Contact ul li.Contact,
 
#container #sidebar.Staff ul li.Staff,
 
#container #sidebar.Outside ul li.Outside,
 
#container #sidebar.Transparency ul li.Transparency,
 
#container #sidebar.License ul li.License,
 
#container #sidebar.Current ul li.Current,
 
#container #sidebar.Services ul li.Services,
 
#container #sidebar.Applying ul li.Applying,
 
#container #sidebar.PastLawsuits ul li.PastLawsuits,
 
#container #sidebar.VizioAbout ul li.VizioAbout,
 
#container #sidebar.VizioTopBar ul li.VizioTopBar,
 
#container #sidebar.VizioMain ul li.VizioMain,
 
#container #sidebar.VizioPressRelease ul li.VizioPressRelase,
 
#container #sidebar.VizioComplaint ul li.VizioPressComplaint,
 
#container #sidebar.VizioComplaint ul li.VizioComplaint,
 
#container #sidebar.VizioQandA ul li.VizioQandA,
 
#container #sidebar.VizioPressKit ul li.VizioPressKit,
 
#container #sidebar.VizioPhotoAssets ul li.VizioPhotoAssets,
 
#container #sidebar.VizioQandA ul li.VizioQandA,
 
#container #sidebar.Glossary ul li.Glossary,
 
#container #sidebar.CopyleftPrinciples ul li.CopyleftPrinciples,
 
#container #sidebar.AboutCompliance ul li.AboutCompliance,
 
#container #sidebar.CopyleftCompliance ul li.CopyleftCompliance,
 
#container #sidebar.HelpComply ul li.HelpComply,
 
#container #sidebar.CopyleftPrinciples ul li.CopyleftPrinciples,
 
#container #sidebar.EnforcementStrategy ul li.EnforcementStrategy,
 
#container #sidebar.LiberateFirmware ul li.LiberateFirmware
 
#container #sidebar.CopyleftCompliance ul li.CopyleftCompliance,
 
#container #sidebar.LiberateFirmware ul li.LiberateFirmware,
 
#container #sidebar.PastLawsuits ul li.PastLawsuits,
 
#container #sidebar.CopyleftOrg ul li.CopyleftOrg /* Never put a comma here */
 
{
 
    color: #000033;
 
    font-weight: bold;
 
    background: #e3e6e0;
 
}
 
#container #sidebar h2 {
 
    text-align: center;
 
    font-size: 1.25em;
 
    margin: 1.5em 0 0.8em 0;
 
}
 
#container #sidebar hr {
 
    width: 75%;
 
    float: center;
 
    clear: all;
 
}
 

	
 
.shaded { background: #F0FFB8; padding: .1em .5em; margin-bottom: .5em; }
 

	
 
.columns {
 
}
 

	
 
.column h2 { font-size: 1.25em; }
 
.column h3 { font-size: 1.1em; }
 
.column hr { width: 50%; margin-left: auto; margin-right: auto; }
 

	
 
.column h2 a { text-decoration: none; color: #000000; }
 
.column h2 a:hover { text-decoration: underline; }
 

	
 
#conservancyfooter {
 
  border-top: 1px solid #ccc;
 
  text-align: center;
 
  overflow: auto;
 
}
 

	
 
.continued {
 
  display: block;
 
  font-size: .9em;
 
  font-weight: bold;
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
.date, .blog-tags, .blog-comments {
 
  font-style: italic;
 
  font-size: .9em;
 
  margin-bottom: .3em;
 
  margin-top: .3em;
 
}
...
 
@@ -484,97 +488,101 @@ blockquote, div.quote /* div.quote is used by conservancy whitepaper */ {
 
   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;
 
    margin: .25em;
 
    min-width: 4%;
 
    max-width: 15%;
 
    width: auto;
 
}
 
.picture-tiny img {
 
   width: 100%;
 
}
 

	
 

	
 
.secondary_info { font-size: 83%; }
 
.next_page_button { float: right; }
 
.pagination_list { text-align: center; }
 
.document_format { border: 1px solid #888; padding: .2em; background: #fff99d;}
 
.copyright_info { font-size: 90%; }
 
hr.footnote-separator { width: 80%; margin-left: auto; margin-right: auto; }
 
.doc-footer { font-style: italic; }
 
.doc-footer > *:first-child::before { content: "["; }
 
.doc-footer > *:last-child::after   { content: "]"; }
 

	
 
/* Resources pages */
 
div.download-formats { margin-top: 2em; margin-bottom: 2em; }
 
.download-formats p { display: inline; }
 
#mainContent .download-formats ul { display: inline; list-style: none;
 
                                    padding-left: 0; }
 
.download-formats ul li { display: inline; padding-left: 2em; }
 

	
 
/* Resources - book styles */
 
hr.chapter-separator { display: none; }
 
h2.likechapterHead { text-align: center; }
 
h2.chapterHead { text-align: center; }
 
#mainContent ul.author { list-style-type: none; padding-left: 0; }
 
#mainContent div.footnotes { font-style: normal; } /* remove italics */
 
span.sectionToc { padding-left: 2em; } /* indent TOC properly */
 
span.subsectionToc { padding-left: 4em; }
 
span.subsubsectionToc { padding-left: 6em;}
 
.js, .js p, .js p.bibitem, .js p.bibitem-p { background-color: #cde7e9; }
 

	
 
body.conservancy-Home #navbar ul li.Home > a,
 
body.conservancy-Projects #navbar ul li.Projects > a,
 
body.conservancy-WhoWeAre #navbar ul li.WhoWeAre > a,
 
body.conservancy-WhatWeDo #navbar ul li.WhatWeDo > a,
 
body.conservancy-Learn #navbar ul li.Learn > a,
 
body.conservancy-news #navbar ul li.news > a,
 
body.conservancy-blog #navbar ul li.blog > a,
 
body.conservancy-About #navbar ul li.About > a,
 
body.conservancy-Compliance #navbar ul li.compliance > a,
 
body.conservancy-donate #navbar ul li.donate > a,
 
body.conservancy-npoacct #navbar ul li.npoacct > a,
 
body.conservancy-sponsors #navbar ul li.sponsors > a /* NO COMMA HERE! */
 
{
 
    border-bottom: 4px solid var(--khaki-green);
 
}
 

	
 
#supporters ul {
 
  list-style: none;
 
  margin: 0;
 
  padding: 0;
 
}
 

	
 
#supporters li:before {
 
    content: '';
 
    display: inline-block;
 
    height: 2em;
 
    width: 2em;
 
    background-image: url(/img/conservancy-supporter-heart.svg);
 
    background-size: contain;
 
    background-repeat: no-repeat;
 
    padding: 0.25em 1.2em 0.25em 0.25em;
 
    vertical-align: middle;
 
}
 

	
 
#supporters li {
 
    padding: 0.5em 2em 1em 2em;
 
    margin-left: .25em;
 
    list-style: none;
 
}
 

	
 
#sponsor ul {
 
  clear: all;
 
  margin-bottom: 10px;
 
}
 

	
 
#sponsor li {
 
  width: 100%;
 
  float: left;
 
  margin-top: 10px;
 
  text-align: center;
 
  list-style: none;
 
  margin-right: 5px;
 
}
www/conservancy/static/press/kit.html
Show inline comments
 
{% extends "base_learn.html" %}
 
{% block subtitle %}Press Kit - {% endblock %}
 
{% block submenuselection %}Press Kit{% endblock %}
 
{% block submenuselection %}PressKit{% endblock %}
 
{% block content %}
 
<h1 id="PressInformation">Press Kit</h1>
 

	
 
<p>Here's a collection of documents (collated and individual) for distribution
 
   and reference.</p>
 

	
 
<p><a href="#fixme">Full Press Kit</a></p>
 
<p><a href="#fixme">Press Release</a></p>
 
<p><a href="#fixme">Glossary</a></p>
 
<p><a href="#fixme">Q&A</a></p>
 
<p><a href="#fixme">Quotes</a></p>
 

	
 
{% endblock %}
www/conservancy/static/press/qanda.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% extends "base_vizio.html" %}
 
{% block subtitle %}Press - {% endblock %}
 
{% block submenuselection %}Press{% endblock %}
 
{% block submenuselection %}VizioQandA{% endblock %}
 
{% block content %}
 
<h1 id="QandA">Vizio Lawsuit Q &amp; A</h1>
 

	
 
<a href="https://shoestring.agency/wp-content/uploads/2021/10/SFC_QA_GeneralPublic.pdf">[
 
         A PDF version of this Q&amp;A is available. ]</a>
 

	
 
<h3 id="">Q: Who is the defendant in this lawsuit?</h3>
 

	
 
<p>The defendant is Vizio, Inc., a U.S.-based TV maker and media company that has been publicly traded on the New York Stock Exchange since March 2021.</p>
 

	
 
<h3 id="">Q: What did Vizio do wrong?</h3>
 

	
 
<p>The lawsuit alleges that Vizio’s TV products, built on its SmartCast system, contain software that Vizio unfairly appropriated from a community of developers who intended consumers to have very specific rights to modify, improve, share, and reinstall modified versions of the software.</p>
 

	
 
<h3 id="">Q: So, Vizio didn’t create SmartCast?</h3>
 

	
 
<p>It appears from extensive research that the core components of SmartCast were not created by Vizio, but rather, are based on various components licensed to the public under free and open-source software (FOSS) licenses. Most notably, many of the programs that are part of the SmartCast system are licensed under the GPL.</p>
 

	
 
<h3 id="">Q: What is copyleft?</h3>
 

	
 
<p>Copyleft is a term used to describe a license that uses the rights granted under copyright—not to restrict usage, but instead to ensure that the software is always shared freely.</p>
 

	
 
<h3 id="">Q: What is FOSS? </h3>
 

	
 
<p>“FOSS” stands for free and open-source software that allows for software freedom. “Software freedom” means the freedom of a user to run, study, (re)distribute, and (re)install (modified) versions of a piece of software. More generally, it is the idea that we are entitled to rights when using software and there should be equal protections for privacy and redistribution. The rights should treat everyone equally: big businesses and individual consumers and users alike.</p>
 

	
 
<h3 id="">Q: I thought FOSS allowed companies to simply take software from the commons and put it into their products whenever they wanted? Isn’t that the whole point of FOSS—for companies to get components for their products and lower their cost of production?</h3>
 
   
 
<p>While that is the main advantage that big corporations get from FOSS, it was never the primary impetus behind FOSS. Particularly through special licensing terms like the GPL, this licensing approach creates an egalitarian community of users, developers, and consumers. When functioning correctly, each individual and organization that participates in FOSS stands on equal footing with everyone else. Licenses like the GPL have rules to assure everyone's rights in that ecosystem are treated with equal respect and reverence. This is why compliance with these rules is important and we must stand up against companies who refuse to comply. </p>
 
 
 
<h3 id="">Q: But, I'm not a software developer. Why should I care at all that Vizio won’t let me modify and reinstall GPL’d components in its SmartCast system?</h3>
 
 
 
<p>Right-to-repair software is essential for everyone, even if you don't know how to make the repairs yourself. Once upon a time, we had lots of local vendors that could repair and fix TVs when they broke.  That’s because TVs were once analog hardware devices that could be taken apart and understood merely by inspection from someone with the sufficient knowledge. TVs today are simply a little computer attached to a large display. As such, the most important part that needs repairs is usually when the software malfunctions, has bugs, or otherwise needs upgrades and changes. The GPL was specifically designed to assure such fixes could be done, and that consumers (or agents those consumers hire on the open market) can make such repairs and changes. </p>
 
     
 
<h3 id="">Q: Alright, that makes sense, but I’m happy with Vizio’s SmartCast right now. What difference does it make to me if Vizio won’t give me the rights under the GPL?</h3>
 

	
 
<p>Time and time again, companies stop supporting the software build for the device long before the computer inside the device fails. In other words, these devices are built for planned premature obsolescence. </p>
 

	
 
<p>By refusing to comply with the pro-consumer terms of the GPL, Vizio has the power to disable your TV at any time it wants, over your internet connection, without your knowledge or consent. If Vizio complied with the GPL, all would not be lost in this scenario: volunteers and third-party entities could take GPL’d software as a basis for a replacement for SmartCast. Without these rights, consumers are essentially forced to purchase new devices when they could be repaired.</p>
 

	
 
<h3 id="">Q: Creation of a replacement for SmartCast seems far-fetched to me. After all, most of the software in SmartCast is not actually GPL’d, only a portion of the components and programs are GPL’d.  How will Vizio's compliance with the GPL actually lead to an alternative firmware?</h3>
 
    
 
<p>Years ago, people said the very same thing about wireless routers, which had only partially GPL'd firmwares. However, thanks to actions to enforce the GPL in the wireless router market, the OpenWrt project was born! That project is now the premiere replacement software for wireless routers from almost every major manufacturer on the market. There is now healthy competition and even occasional cooperation between a hobbyist and community-led firmware project and the wireless router manufacturers. We believe the same can happen for TVs, but the first step is assuring the entire TV market complies with the GPL.</p>
 
    
 
<h3 id="">Q: What indications do you have that compliance with the GPL will be a catalyst for alternative firmwares?</h3>
 

	
 
<p>Beyond the OpenWrt example, Software Freedom Conservancy sued 14 defendants for GPL violations in 2009, including Samsung for its 2009-era TV models. Thanks to the source release that was achieved through the settlement of that lawsuit, a community-led SamyGo project was created for that era of TVs. (source)</p>
 
    
www/conservancy/templates/base_about.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block category %}WhoWeAre{% endblock %}
 
{% block outercontent %}
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
            <h2>{% block category %}Who We Are{% endblock %}</h2>
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>Who We Are</h2>
 
            {% include 'submenus/who_we_are_partial.html' %}
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
   </div>
 
{% endblock %}
www/conservancy/templates/base_blog.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 

	
 
{% block category %}blog{% endblock %}
 

	
 
{% block head %}
 
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feeds/blog/" />
 
{% endblock %}
 

	
 
{% block outercontent %}
 
 <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
<h2>Authors</h2>
 
<ul>
 
{% for author in all_authors %}
 
<li><a href="/blog/?author={{ author.username }}">{{ author.formal_name }}</a>
 
(<a href="/feeds/blog/?author={{ author.username }}">rss</a>)</li>
 
{% endfor %}
 
</ul>
 

	
 
<h2>Tags</h2>
 
<ul>
 
{% for tag in all_tags %}
 
<li><a href="{{ tag.get_absolute_url }}">{{ tag.label }}</a>
 
(<a href="/feeds/blog/?tag={{ tag.slug }}">rss</a>)</li>
 
{% endfor %}
 
</ul>
 
{% if all_year_list %}
 
<h2>Blog Index by Year</h2>
 
<ul>
 
{% for year in all_year_list reversed %}<li><a href="/blog/{{ year|date:"Y" }}/">{{ year|date:"Y" }}</a></li>{% endfor %}
 
</ul>
 
{% endif %}
 

	
 
<h2><a href="/blog/">See all posts&hellip;</a></h2>
 
<!-- <p><a href="/blog/query/">Query...</a></p> -->
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
   </div>
 
{% endblock %}
www/conservancy/templates/base_compliance.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block category %}WhatWeDo{% endblock %}
 
{% load cache %}
 
{% load humanize %}
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 

	
 
{% endblock %}
 

	
 
{% block outercontent %}
 
<div class="content-with-donate-sidebar">
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>What We Do</h2>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
            <h2>Vizio Lawsuit</h2>
 
            <ul>
 
            <li class="VizioAbout"><a href="/copyleft-compliance/vizio.html">About the Lawsuit</a></li>
 
            <li class="VizioMain"><a href="/copyleft-compliance/vizio.html">About the Lawsuit</a></li>
 
            <li class="VizioPressRelease"><a href="/copyleft-compliance/vizio.html">Press Release</a></li>
 
            <li class="VizioComplaint"><a href="/docs/software-freedom-conservancy-v-vizio-complaint-2021-10-19.pdf">Complaint</a></li>
 
            <li class="VizioQandA"><a href="/press/qanda.html">Q&amp;A</a></li>
 
            </ul>
 
            <h2>Resources for Journalists</h2>
 
            <ul>
 
            <li class="VizioPressKit"><a href="/docs/software-freedom-conservancy-v-vizio-announce-press-kit.pdf">Press Kit</a></li>
 
            <li class="VizioPhotoAssets"><a href="/docs/software-freedom-conservancy-v-vizio-photo-assets.zip">Photo Assets</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
            </ul>
 
            <h2>More About Copyleft Compliance&hellip;</h2>
 
            <h2>More About Copyleft Compliance</h2>
 
            <ul>
 
            <li class="AboutCompliance"><a href="/copyleft-compliance/about.html">About</a></li>
 
            <li class="HelpComply"><a href="/copyleft-compliance/help.html">How To Help</a></li>
 
            <li class="EnforcementStrategy"><a href="/copyleft-compliance/enforcement-strategy.html">Strategic GPL Enforcement Initiative</a></li>
 
            <li class="CopyleftPrinciples"><a href="/copyleft-compliance/principles.html">Principles of Community-Oriented GPL Enforcement</a></li>
 
            <li class="LiberateFirmware"><a href="/copyleft-compliance/firmware-liberation.html">Liberate IoT Firmware via GPL Enforcement</a></li>
 
            <li class="PastLawsuits"><a href="/copyleft-compliance/past-lawsuits.html">Previous Copyleft Litigation</a></li>
 
            <li class="CopyleftOrg"><a href="https://copyleft.org/">copyleft.org</a></li>
 
            </ul>
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
    </div>
 
    <div class="donate-sidebar">
 
  <details>
 
    <summary>Support Now!</summary>
 

	
 
    <h3>Support Copyleft Enforcement Now!</h3>
 

	
 
    <p>
 
      To support our copyleft compliance &amp; enforcement work,
 
      please <a href="/sustainer/#annual"><span class="donate-box-highlight">become a Conservancy
 
      Sustainer <strong>right now</strong></span></a>.  We can't sustain
 
      this work without ongoing support from donors like you!</p>
 
  </details>
 
</div>
 
</div>
 
{% endblock %}
www/conservancy/templates/base_conservancy.html
Show inline comments
 
{% load humanize %}
 
{% load subtract %}
 
{% load min %}
 
{% load static %}
 

	
 
<!DOCTYPE html>
 

	
 
<html lang="en" prefix="og: http://ogp.me/ns#">
 

	
 
  <head>
 
    <title>{% block title %}{% block subtitle %}{% endblock %}Software Freedom Conservancy{% endblock %}</title>
 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
 
    <meta name="description" content="The Software Freedom Conservancy provides a non-profit home and services to Free, Libre and Open Source Software (FLOSS) projects." />
 
    <meta name="keywords" content="software, freedom, conservancy, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FLOSS, FOSS, protect, protection, help, policy, linux, non-profit" />
 
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
 
    <link rel="stylesheet" type="text/css" href="{% static 'css/tachyons.css' %}"/>
 
    <link rel="stylesheet" type="text/css" media="screen" href="/css/conservancy.css" />
 
    <link rel="stylesheet" type="text/css" media="(min-width: 67em)" href="/css/conservancy-bigscreen.css" />
 
    <link rel="stylesheet" href="/css/jquery-ui-1.8.22.custom.css" />
 
    <link rel="stylesheet" href="/css/jquery.ui.multiprogressbar.css" />
 
    <script type="text/javascript" src="/js/jquery-1.7.2.js"></script>
 
    <script type="text/javascript" src="/js/jquery-ui-1.8.22.custom.min.js"></script>
 
    <script type="text/javascript" src="/js/jquery.outerhtml.js"></script>
 
    <script type="text/javascript" src="/js/jquery.ui.multiprogressbar.js"></script>
 
    <script type="text/javascript" src="/js/conservancy.js"></script>
 
    {% block head %}{% endblock %}
 
  </head>
 

	
 
  <body class="conservancy-{% block category %}other{% endblock %}">
 
  <body class="conservancy-{% block category %}{% endblock %}">
 
    <header>
 
      <div class="flex-ns center mw8">
 
        <div class="w-60-ns">
 
          <h1 id="conservancyheader" class="mt2 mt3-ns mb2 mb3-ns">
 
            <a href="/">
 
              <img src="{% static 'img/conservancy-header.svg' %}" alt="Software Freedom Conservancy" class="db center mh3-ns" />
 
            </a>
 
          </h1>
 
        </div>
 

	
 
        <div class="w-40-ns mt2 mt4-ns mb2 mb2-ns mh2 pt1 flex flex-wrap justify-center items-center">
 
          <span id="menu-icon" class="dn-ns ph2 pointer">
 
            <svg style="color: var(--orange); width: 30px; height: 30px;"><use href="{% static 'img/font_awesome.svg' %}#bars"></use></svg>
 
          </span>
 
          <a href="/donate/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Donate</a>
 
          <a href="/sustainer/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Join</a>
 
          <a href="/vizio/" class="f5 mh1 mv1 ph2 pv1 ttu b btn-orange">Vizio</a>
 
          <span id="search-icon" class="dib ph2 pointer">
 
            <svg style="color: var(--orange); width: 30px; height: 30px;"><use href="{% static 'img/font_awesome.svg' %}#search"></use></svg>
 
          </span>
 
        </div>
 
      </div>
 
    </header>
 

	
 
    <div id="navbar-outer" class="mt2 mt0-ns mb2">
 
      <div id="navbar" class="center mw8 nested-list-resetb dn db-ns">
 
        <ul class="f5 ttu flex flex-wrap justify-center">
 
          <!-- Remaining previous menu items
 
          <li class="Projects"><a href="/projects/">Projects</a></li>
 
          <li class="npoacct"><a href="/npoacct/">NPOAcct</a></li>
 
          -->
 

	
 
          <li class="search dn-ns">
 
            <form method="get" action="https://duckduckgo.com" class="ml2 flex mw6">
 
              <input id="search-query" type="text" name="q" placeholder="Search with DuckDuckGo" class="pa2 ba b--gray br0" style="x-border-right: none; flex: 1 1 auto; width: 1%;" />
 
              <input type="hidden" name="sites" value="sfconservancy.org" />
 
              <button type="submit" class="bg-orange bn white pa2 pointer btn-orange" style="margin-left: -1px;">
 
                <svg style="color: white; width: 20px; height: 20px;"><use href="{% static 'img/font_awesome.svg' %}#search"></use></svg></a>
 
              </button>
 
    </form>
 
          </li>
 
          <li class="home dn db-ns"><a href="/">Home</a></li>
 
          <li class="what"><a href="/activities">What we do</a>
 
          <li class="Home dn db-ns"><a href="/">Home</a></li>
 
          <li class="WhatWeDo"><a href="/activities">What we do</a>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
          </li>
 
          <li class="who"><a href="/about/">Who we are</a>
 
          <li class="WhoWeAre"><a href="/about/">Who we are</a>
 
            {% include 'submenus/who_we_are_partial.html' %}
 
          </li>
 
          <li class="learn"><a href="/learn">Learn</a>
 
          <li class="Learn"><a href="/learn">Learn</a>
 
            {% include 'submenus/learn_partial.html' %}
 
          </li>
 
          <li class="news"><a href="/news/">News</a>
 
          <li class="News"><a href="/news/">News</a>
 
            {% include 'submenus/news_partial.html' %}
 
          </li>
 
        </ul>
 
      </div>
 
      <div id="navbar-clear"></div>
 

	
 
    </div>
 

	
 
{% comment %}
 
# FUNDRAISER VARIABLES AND CONSTANTS GUIDE
 

	
 
## From Local Context
 

	
 
* datetime_now: Current DateTime in UTC
 
* sitefundgoal: The current FundraisingGoal. Attributes:
 
  * fundraiser_goal_amount: The amount being matched
 
  * fundraiser_so_far_amount: The amount contributed so far
 
  * fundraiser_donation_count: The number of people who have contributed so far
 
  * fundraiser_donation_count_disclose_threshold: The number of new Sustainers that can be double-matched this fundraiser.
 
      (No, this name makes no sense. We're repurposing an existing model field for this new reason.)
 
* sitefundgoal_endtime: DateTime when sitefundgoal ends.
 

	
 
## Local convenience variables
 

	
 
* sitefundgoal_timeleft: TimeDelta for how much time remains in the current fundraiser
 
* this_match_goal: The amount being matched
 
* this_match_so_far: The amount contributed so far
 
* this_match_remaining: this_match_goal - this_match_so_far
 

	
 
{% endcomment %}
 

	
 
{% if sitefundgoal and sitefundgoal.fundraiser_so_far_amount and datetime_now < sitefundgoal_endtime %}
 
{% with this_match_goal=sitefundgoal.fundraiser_goal_amount this_match_so_far=sitefundgoal.fundraiser_so_far_amount %}
 
{% with this_match_remaining=this_match_goal|subtract:this_match_so_far sitefundgoal_timeleft=sitefundgoal_endtime|subtract:datetime_now %}
 
    <div class="fundraiser-top-text">
 
      <p>
 
        {% if this_match_remaining <= 0 %}
 
          Thanks to {{ sitegoal.fundraiser_donation_count|intcomma }} Sustainers we earned our full match!
 
          Help us go further to stand up for software freedom &mdash; <a href="/sustainer">sign up now</a>!
 
        {% else %}
 
          {% if sitefundgoal_timeleft.total_seconds <= 0 %}
 
            The
 
          {% elif sitefundgoal_timeleft.days == 0 %}
 
            Through today only, the
 
          {% elif sitefundgoal_timeleft.days == 1 %}
 
            Through tomorrow only, the
 
          {% elif sitefundgoal_timeleft.days < 14 %}
 
            For only {{ sitefundgoal_timeleft.days }} more days, the
www/conservancy/templates/base_learn.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block category %}Learn{% endblock %}
 
{% block outercontent %}
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>Learn</h2>
 
            {% include 'submenus/learn_partial.html' %}
 
            <h2>Resources for Journalists</h2>
 
            <ul>
 
            <li class="News"><a href="/news/">News</a></li>
 
            <li class="PressKit"><a href="/press/">Press Kit</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
            </ul>
 
   </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
</div>
 
{% endblock %}
www/conservancy/templates/base_news.html
Show inline comments
 
{% extends "base_standard.html" %}
 

	
 
{% block category %}news{% endblock %}
 
{% block category %}News{% endblock %}
 

	
 
{% block head %}
 
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feeds/news/" />
 
{% endblock %}
www/conservancy/templates/base_press.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% load cache %}
 
{% load humanize %}
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 

	
 
{% endblock %}
 

	
 
{% block outercontent %}
 
<div class="content-with-donate-sidebar">
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>What We Do</h2>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
            <h2>Resources for Journalists</h2>
 
            <ul>
 
            <li class="News"><a href="/news/">News</a></li>
 
            <li class="PressKit"><a href="/press/">Press Kit</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
            </ul>
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 

	
 
    </div>
 
<div class="donate-sidebar">
 
  <details>
 
    <summary>Support Now!</summary>
 

	
 
    <h3>Support Copyleft Enforcement Now!</h3>
 

	
 
    <p>
 
      To support our copyleft compliance &amp; enforcement work,
 
      please <a href="/sustainer/#annual"><span class="donate-box-highlight">become a Conservancy
 
      Sustainer <strong>right now</strong></span></a>.  We can't sustain
 
      this work without ongoing support from donors like you!</p>
 
  </details>
 
    </div>
 
</div>
 
{% endblock %}
www/conservancy/templates/base_projects.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block outercontent %}
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% endblock %}">
 
            <h2>What We Do</h2>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
            <h2>{% block category %}Projects{% endblock %} &amp; Services</h2>
 
            <ul>
 
            <li class="Current"><a href="/projects/current/">Current Member Projects</a></li>
 
            <li class="Applying"><a href="/projects/apply/">Applying</a></li>
 
            <li class="Services"><a href="/projects/services/">Member Project Services</a></li>
 
            <li class="Policies"><a href="/projects/policies/">Member Project Policies</a></li>
 
            </ul>
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
   </div>
 
{% endblock %}
www/conservancy/templates/base_vizio.html
Show inline comments
 
new file 100644
 
{% extends "base_conservancy.html" %}
 
{% load cache %}
 
{% load humanize %}
 
{% block category %}WhatWeDo{% endblock %}
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 

	
 
{% endblock %}
 

	
 
{% block outercontent %}
 
<div class="content-with-donate-sidebar">
 
    <div id="container">
 
         <div id="sidebar" class="VizioTopBar {% block submenuselection %}{% endblock %}">
 
            <h2>What We Do</h2>
 
            {% include 'submenus/what_we_do_partial.html' %}
 
            <h2>Vizio Lawsuit</h2>
 
            <ul>
 
            <li class="VizioMain"><a href="/copyleft-compliance/vizio.html">About the Lawsuit</a></li>
 
            <li class="VizioMain"><a href="/copyleft-compliance/vizio.html">Press Release</a></li>
 
            <li class="VizioComplaint"><a href="/docs/software-freedom-conservancy-v-vizio-complaint-2021-10-19.pdf">Complaint</a></li>
 
            <li class="VizioQandA"><a href="/press/qanda.html">Q&amp;A</a></li>
 
            </ul>
 
            <h2>Resources for Journalists</h2>
 
            <ul>
 
            <li class="VizioPressKit"><a href="/docs/software-freedom-conservancy-v-vizio-announce-press-kit.pdf">Press Kit</a></li>
 
            <li class="VizioPhotoAssets"><a href="/docs/software-freedom-conservancy-v-vizio-photo-assets.zip">Photo Assets</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
            </ul>
 
            <h2><ul><li class="ComplianceMain"><a href="/copyleft-compliance/index.html">More About Copyleft Compliance</a></li></ul></h2>
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
    </div>
 
    <div class="donate-sidebar">
 
  <details>
 
    <summary>Support Now!</summary>
 

	
 
    <h3>Support Copyleft Enforcement Now!</h3>
 

	
 
    <p>
 
      To support our copyleft compliance &amp; enforcement work,
 
      please <a href="/sustainer/#annual"><span class="donate-box-highlight">become a Conservancy
 
      Sustainer <strong>right now</strong></span></a>.  We can't sustain
 
      this work without ongoing support from donors like you!</p>
 
  </details>
 
</div>
 
</div>
 
{% endblock %}
www/conservancy/templates/frontpage.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% load date_within %}
 
{% load static %}
 

	
 
{% block category %}Home{% endblock %}
 
{% block head %}
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy Complete Feed" href="/feeds/omnibus/" />
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy News" href="/feeds/news/" />
 
<link rel="alternate" type="application/rss+xml" title="Software Freedom Conservancy Blogs" href="/feeds/blog/" />
 
<style>
 
 #mainContent hr {
 
   /* Hide the <hr> elements in the list of news and blog items. */
 
   display: none;
 
 }
 

	
 
 .date {
 
   font-size: 1em;
 
   font-style: normal;
 
   margin-top: 0;
 
 }
 

	
 
 .press-release h3, .blog-entry h3 {
 
   margin-bottom: 0;
 
 }
 
</style>
 
{% endblock %}
 

	
 
{% block content %}
 

	
 
<div class="mt3 mh2-ns pt2 flex-ns">
 
  <section class="w-70-ns mh2 mb3 mb0-ns pa2 ba bw1 b--light-blue overflow-auto">
 
<!--    <img src="{% static 'img/FIXME-NEED-AN-IMAGE.jpg' %}" alt="" class="fl pr2" style="width: 175px;" /> -->
 
    <p class="mb0" style="font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;Software Freedom Conservancy is a nonprofit organization
 
centered around ethical technology. Our mission is to ensure the right to
 
repair, improve and reinstall software. We promote and defend these rights
 
through fostering free and open source software (FOSS) projects, driving
 
initiatives that actively make technology more inclusive, and advancing policy
 
strategies that defend FOSS (such as copyleft). <a href="/about" class="orange">Learn more.</a></p>
 
  </section>
 
  <section class="w-30-ns mh2 pa3 bg-light-blue ba b--gray">
 
    <h2 class="f4 ttu">Vizio Lawsuit</h2>
 
    <p>Software Freedom Conservancy files right-to-repair lawsuit against California TV manufacturer Vizio Inc. for alleged GPL violations</p>
 
    <a href="/copyleft-compliance/vizio.html" class="f5 dib pa2 ttu b btn-orange">More information</a>
 
  </section>
 
</div>
 

	
 
<div class="mt3 mh2-ns flex-ns">
 
  <div class="w-70-ns mh2">
 
  <!-- <section class="mh0 pa3 bg-light-blue ba b--gray"> -->
 
  <!--   <h2 class="f4 ma0 ttu">Additional links / call-outs here, if needed</h2> -->
 
  <!-- </section> -->
 

	
 
    <section class="mv3 ph2">
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 %}">
 
         <div id="sidebar" class="{% block submenuselection %}{% 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>
 
         <h2>Resources for Journalists</h2>
 
         <ul>
 
            <li class="News"><a href="/news/">News</a></li>
 
            <li class="PressKit"><a href="/press/">Press Kit</a></li>
 
            <li class="Glossary"><a href="/copyleft-compliance/glossary.html">Glossary</a></li>
 
         </ul>
 

	
 
         </div>
 
         <div id="mainContent">
 
           <div class="breadcrumbs">
 
             <p><a href="/">Home</a> / <a href="/news/">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 %}
 

	
 
<p>
 
{% if news.has_next %}<a class="next_page_button" href="?page={{ news.next_page_number }}">Next page (older) &raquo;</a>{% endif %}
 
{% if news.has_previous %}<a href="?page={{ news.previous_page_number }}">&laquo; Previous page (newer)</a>{% endif %}
 
</p>
 
{% if news.paginator.num_pages > 1 %}<p class="pagination_list"> {% for pagenum in news.paginator.page_range %}{% ifequal pagenum news.number %}[{{ pagenum }}]{% else %}<a href="?page={{ pagenum }}">{{ pagenum }}</a>{% endifequal %} {% endfor %}</p>{% endif %}
 
         </div>
 
 </div>
 
<div class="clear"></div>
 

	
 
{% endblock %}
www/conservancy/templates/submenus/what_we_do_partial.html
Show inline comments
 
<ul>
 
  <li class="AboutCompliance"><a href="/copyleft-compliance/">Copyleft Compliance</a></li>
 
  <li class="VizioAbout"><a href="/vizio/">Vizio Lawsuit</a></li>
 
  <li class="CopyleftCompliance"><a href="/copyleft-compliance/">Copyleft Compliance</a></li>
 
  <li class="VizioTopBar"><a href="/copyleft-compliance/vizio.html">Vizio Lawsuit</a></li>
 
  <li class="FIXME"><a href="/projects/">Member Projects</a></li>
 
  <li class="Outreachy"><a href="https://outreachy.org">Outreachy</a></li>
 
</ul>
www/conservancy/templates/submenus/who_we_are_partial.html
Show inline comments
 
<ul>
 
  <li><a href="/sponsors/">Sponsors</a></li>
 
  <li><a href="/sustainer/">Sustainers</a></li>
 
  <li><a href="/about/board/">Board of Directors</a></li>
 
  <li><a href="/about/staff/">Staff</a></li>
 
  <li><a href="/about/eval-committee/">Evaluation Committee</a></li>
 
  <li><a href="/about/outside/">Outside Counsel, et alia</a></li>
 
  <li class="Sponsors"><a href="/sponsors/">Sponsors</a></li>
 
  <li class="Sustainers"><a href="/sustainer/">Sustainers</a></li>
 
  <li class="Directors"><a href="/about/board/">Board of Directors</a></li>
 
  <li class="Staff"><a href="/about/staff/">Staff</a></li>
 
  <li clas="Eval"><a href="/about/eval-committee/">Evaluation Committee</a></li>
 
  <li clas="Outside"><a href="/about/outside/">Outside Counsel, et alia</a></li>
 
  <li class="Transparency"><a href="/about/transparency">Transparency</a></li>
 
  <li><a href="/about/contact/">Contact</a></li>
 
  <li class="Contact"><a href="/about/contact/">Contact</a></li>
 
</ul>
0 comments (0 inline, 0 general)