Changeset - a2f38653fb02
[Not reviewed]
0 55 0
Ben Sturmfels (bsturmfels) - 2 months ago 2024-07-22 08:39:05
ben@sturm.com.au
Fix trailing whitespace and missing end-of-file newline
55 files changed with 164 insertions and 187 deletions:
0 comments (0 inline, 0 general)
conservancy/blog/admin.py
Show inline comments
 
from django.contrib import admin
 

	
 
from .models import Entry, EntryTag
 

	
 

	
 
@admin.register(EntryTag)
 
class EntryTagAdmin(admin.ModelAdmin):
 
    prepopulated_fields = {'slug': ('label',)}
 

	
 

	
 

	
 
@admin.register(Entry)
 
class EntryAdmin(admin.ModelAdmin):
 
    list_display = ('pub_date', 'headline', 'author')
 
    list_filter = ['pub_date']
 
    date_hierarchy = 'pub_date'
 
    search_fields = ['headline', 'summary', 'body']
 
    prepopulated_fields = {'slug': ("headline",)}
 
    filter_horizontal = ('tags',)
 

	
 

	
conservancy/blog/views.py
Show inline comments
...
 
@@ -102,56 +102,56 @@ def query(request):
 

	
 
        query_string = d.urlencode()
 

	
 
        return relative_redirect(request, '{}{}{}'.format(base_url, '?' if query_string else '', query_string))
 

	
 
    else:
 
        authors = sorted(Person.objects.filter(currently_employed=True,
 
                                               entry__isnull=False).distinct(),
 
                         key=last_name)
 
        tags = EntryTag.objects.all().order_by('label')
 
        return render(request, 'blog/query.html', {'authors': authors, 'tags': tags})
 

	
 
def relative_redirect(request, path):
 
    from django import http
 

	
 
    host = request.get_host()
 

	
 
    url = "{}://{}{}".format(request.is_secure() and 'https' or 'http', host, path)
 
    return http.HttpResponseRedirect(url)
 

	
 
class BlogYearArchiveView(YearArchiveView):
 
    make_object_list = True
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogMonthArchiveView(MonthArchiveView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogDayArchiveView(DayArchiveView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
 

	
 
class BlogDateDetailView(DateDetailView):
 
    allow_future = True
 
    extra_context = {}
 
    
 

 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context.update(self.extra_context)
 
        return context
conservancy/content/about/board/index.html
Show inline comments
...
 
@@ -96,49 +96,49 @@ adopter of Linux-based systems, and began contributing to various Free
 
Software projects, including Perl.  He worked during the 1990s as a system
 
administrator and software developer for various companies, and taught AP
 
Computer Science at Walnut Hills High School in Cincinnati.  Kuhn's
 
non-profit career began in 2000, when he was hired by the FSF.  As FSF's
 
Executive Director from 2001–2005, Kuhn
 
led <a href="https://www.fsf.org/licensing">FSF's GPL enforcement</a>,
 
launched <a href="https://www.fsf.org/associate/">its Associate Member
 
program</a>, and invented
 
the <a href="http://www.gnu.org/licenses/agpl-3.0.html">Affero GPL</a>.  Kuhn
 
was appointed President of Software Freedom Conservancy in April 2006, was
 
Conservancy's primary volunteer from 2006&ndash;2010, and has been a
 
full-time staffer since early 2011.  Kuhn holds a summa cum laude B.S. in
 
Computer Science
 
from <a href="http://www.loyola.edu/academic/computerscience">Loyola
 
University in Maryland</a>, and an M.S. in Computer Science from
 
the <a href="http://www.cs.uc.edu/">University of
 
Cincinnati</a>.  <a href="http://www.ebb.org/bkuhn/articles/thesis/">Kuhn's
 
Master's thesis</a> discussed methods for dynamic interoperability of Free
 
Software programming languages.  Kuhn received
 
the <a href="http://www.oscon.com/oscon2012/public/schedule/detail/25039">O'Reilly
 
Open Source Award in 2012</a>, in recognition for his lifelong policy work on
 
copyleft licensing.  Kuhn has <a href="http://ebb.org/bkuhn/blog/">a
 
blog</a> and co-hosts
 
the audcast, <a href="http://faif.us/"><cite>Free as in Freedom</cite></a>.</p>
 
  
 

 
<h2 id="allison">Dr. Allison Randal - Chair of the Board</h2>
 

	
 
<p> Over the course of multiple decades as a free software developer,
 
 Allison has worked in a wide variety of projects and domains, from
 
 games, linguistic analysis tools, websites, mobile apps, shipping
 
 fulfillment, and talking smart-home appliances, to programming language
 
 design, compilers, hypervisors, containers, deployment automation,
 
 database replication, operating systems and kernels, and hardware
 
 architectures and microarchitectures.</p>
 

	
 
<p>She is a board member at the Open Infrastructure Foundation, vice chair
 
 of the Microarchitecture Side Channels (Security) SIG at RISC-V
 
 International, and co-founder of the FLOSS Foundations group for free
 
 software community leaders. At various points in the past she has served
 
 as chair of the board at the Open Infrastructure Foundation, president
 
 and board member of the Open Source Initiative, president and board
 
 member of the Perl Foundation, board member of the Python Software
 
 Foundation, chair of the board at the Parrot Foundation, chief architect
 
 of the Parrot virtual machine, Open Source Evangelist at O’Reilly Media,
 
 conference chair of OSCON, Technical Architect of Ubuntu, Open Source
 
 Advisor at Canonical, Distinguished Technologist and Open Source
 
 Strategist at HP, and Distinguished Engineer at SUSE. She collaborates
 
 in the Debian and RISC-V projects, and currently works on free software
 
 and open hardware at Rivos.</p>
conservancy/content/about/staff/index.html
Show inline comments
...
 
@@ -14,49 +14,49 @@ activities for all its member projects as well as financial operations
 
for Conservancy itself. Rosanne has been volunteering with the Wine
 
Project since 2008 where she focuses on user support and documentation.
 
She has worked as an English teacher, a freelance writer and as IT
 
support. She is passionate about helping free software projects improve
 
their user experience. Rosanne received her Masters in Communication &amp;
 
Theater at the University of Illinois at Chicago and her Bachelor&rsquo;s
 
degree in English from the University of Chicago.</p>
 

	
 
<h2 id="denver">Denver Gingerich - Director of Compliance</h2>
 

	
 
<p>Denver manages SFC's license compliance work, including its technical parts
 
(such as triaging new reports and verifying complete corresponding source) as
 
well as planning and carrying out our enforcement strategy (with advice and
 
input from SFC's Executive Director and Policy Fellow).  Outside of SFC, Denver
 
also co-runs a FOSS business. Previously, Denver authored financial trading
 
software on Linux.  Denver writes free software in his spare time: his patches
 
have been accepted into Wine, Linux, and wdiff.  Denver received his BMath in
 
Computer Science from the University of Waterloo.  He gives presentations about
 
digital civil rights and how to ensure FOSS remains sustainable as a community
 
and financially, having spoken at conferences such as LinuxCon North America,
 
Texas Linux Fest, LibrePlanet, CopyCamp Toronto, FOSSLC's Summercamp,
 
CopyleftConf, and the Open Video Conference.</p>
 

	
 
<h2 id="tracy">Tracy Homer - Operations Manager</h2>
 
<p>Tracy acts as Operations Manager at Software Freedom Conservancy. 
 
<p>Tracy acts as Operations Manager at Software Freedom Conservancy.
 
Bringing her super-skills of organization and love of bureaucracy,
 
she helps things run at SFC smoothly behind the scenes.
 
Tracy also serves on the board of her local hackerspace, an organization
 
committed to teaching and promoting open technology exclusively.
 
She feels that open techonology allows people to express their creativity
 
regardless of their financial situation or technical background.
 
Tracy is currently persuing a degree in GIS from the University of Tennessee.</p>
 

	
 

	
 
<h2 id="bkuhn">Bradley M. Kuhn - Policy Fellow and Hacker-in-Residence</h2>
 

	
 
<p><a href="http://ebb.org/bkuhn/">Bradley M. Kuhn</a> is
 
the <a href="https://sfconservancy.org/about/staff/#bkuhn">Policy Fellow and
 
Hacker-in-Residence</a> at <a href="https://sfconservancy.org/">Software Freedom
 
Conservancy</a> and editor-in-chief
 
of <a href="https://copyleft.org">copyleft.org</a>. Kuhn began his work in
 
the software freedom movement as a volunteer in 1992, when he became an early
 
adopter of Linux-based systems, and began contributing to various Free
 
Software projects, including Perl.  He worked during the 1990s as a system
 
administrator and software developer for various companies, and taught AP
 
Computer Science at Walnut Hills High School in Cincinnati.  Kuhn's
 
non-profit career began in 2000, when he was hired by the FSF.  As FSF's
 
Executive Director from 2001&ndash;2005, Kuhn
 
led <a href="https://www.fsf.org/licensing">FSF's GPL enforcement</a>,
conservancy/content/copyleft-compliance/about.html
Show inline comments
...
 
@@ -43,49 +43,49 @@ compliance actions.</p>
 
  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
 
holder in any member project of Conservancy, please contact the project's
 
leadership committtee,
 
via <a href="mailto:PROJECTNAME@sfconservancy.org">&lt;PROJECTNAME@sfconservancy.org&gt;</a>
 
for more information on getting involved in compliance efforts in that
 
project.
 
</p>
 

	
 
<h2 id="linux">GPL Compliance Project For Linux Developers</h2>
 

	
 
<p>In May
 
2012, <a href="/news/2012/may/29/compliance/">Conservancy
 
launched</a> the <cite>GPL
 
Compliance Project for Linux Developers</cite>, which handles compliance and
 
enforcement activities on behalf of more than a dozen Linux copyright
 
holders.</p>
 
 
 

 
<p>The GPL Compliance Project for Linux Developers is comprised of copyright
 
holders in the kernel, Linux, who have contributed to Linux under its
 
license, <a href="http://www.gnu.org/licenses/gpl-2.0.html">the
 
GPLv2</a>. These copyright holders have formally asked Conservancy to engage
 
in compliance efforts for their copyrights in the Linux kernel.  In addition,
 
some developers have directly assigned their copyrights on Linux to Conservancy,
 
so Conservancy also enforces the GPL on Linux via its own copyrights in Linux.</p>
 

	
 
<p>Linux copyright holders who wish to assign copyright to or sign an enforcement agreement with
 
Conservancy should
 
  contact <a href="mailto:linux-services@sfconservancy.org">&lt;linux-services@sfconservancy.org&gt;</a>.
 
  In 2016,
 
  Conservancy <a href="/news/2016/nov/03/linux-compliance-agreements/">made
 
    public the template agreements used as part of this project</a>; both the
 
  <a href="/docs/blank_linux-enforcement-agreement.pdf">non-anonymous</a> and
 
  <a href="/docs/blank_anonymous-linux-enforcement-agreement.pdf">anonymous</a>
 
  versions are available.  However, please <strong>do not</strong> sign these
 
  unilaterally without contacting and discussing
 
  with <a href="mailto:linux-services@sfconservancy.org">&lt;linux-services@sfconservancy.org&gt;</a>
 
  first.</p>
 

	
 
<h2 id="debian">The Debian Copyright Aggregation Project</h2>
 

	
 
<p>In August 2015, <a href="/news/2015/aug/17/debian/">Conservancy announced the Debian Copyright Aggregation
conservancy/content/copyleft-compliance/enforcement-strategy.html
Show inline comments
...
 
@@ -57,49 +57,49 @@
 
  create hardware that fully supports OpenWrt’s features and improvements
 
  (such as dealing
 
  with <a href="https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm">the
 
  dreaded “bufferbloat” bugs</a>). This interplay between the hobbyist
 
  community and for-profit ventures promotes innovation in
 
  technology. Without both permission <em>and</em> the ability to build and
 
  modify the software on their devices, the hobbyist community
 
  shrinks. Without intervention to ensure companies respect the hobbyist
 
  community, hobbyists are limited by the oft-arbitrary manufacturer-imposed
 
  restraints in the OEM firmware. OpenWrt saved the wireless router market
 
  from this disaster; we seek to help other embedded electronic subindustries
 
  avoid that fate. The authors of GPL’d software chose that license so its
 
  source is usable and readily available to hobbyists. It is our duty, as
 
  activists for the software freedom of hobbyists, to ensure these legally
 
  mandated rights are never curtailed.</p>
 

	
 
<p>(More on the OpenWrt project’s history and its connection to GPL
 
  enforcement can be found
 
  in <a href="https://www.youtube.com/watch?v=r4lCMx-EI1s">Kuhn’s talk
 
    at <em>OpenWrt Summit 2016</em></a>.)</p>
 

	
 
<p>Conservancy has had substantial success in leveraging more device freedom
 
  in other subindustries through GPL compliance. In 2009, Conservancy, with
 
  co-Plaintiff Erik Andersen, sued fourteen defendants in federal court under
 
  copyright claims on behalf of its BusyBox member project. Conservancy 
 
  copyright claims on behalf of its BusyBox member project. Conservancy
 
  achieved compliance for the BusyBox project in all fourteen
 
  cases. Most notably, the GPL-compliant source release obtained in the
 
  lawsuit for certain Samsung televisions provided the basis for
 
  the <a href="https://www.samygo.tv/">SamyGo project</a> — an alternative
 
  firmware that works on that era of Samsung televisions and allows consumers
 
  to modify and upgrade their firmware using FOSS.</p>
 

	
 
<p>Harald Welte also continued his efforts during the early and mid-2000s,
 
  after the Linksys enforcement, through
 
  his <a href="https://gpl-violations.org/">gpl-violations.org
 
    project</a>. Harald successfully sued many companies (mostly in the
 
  wireless router industry) in Germany to achieve compliance and yield source
 
  releases that helped OpenWrt during that period.</p>
 

	
 
<h2 id="importance-of-linux-enforcement-specifically">Importance of Linux Enforcement Specifically</h2>
 

	
 
<p>In recent years, embedded systems technology has expanded beyond wireless
 
  routers to so-called “Internet of Things” (IoT) devices designed for
 
  connectivity with other devices in the home and to the “Cloud”. Consumer
 
  electronics companies now feature and differentiate products based on
 
  Internet connectivity and related services. Conservancy has seen
 
  Linux-based firmwares on refrigerators, baby monitors, virtual assistants,
 
  soundbars, doorbells, home security cameras, police body cameras, cars, AV
 
  receivers, and televisions.</p>
conservancy/content/copyleft-compliance/firmware-liberation.html
Show inline comments
 
{% extends "base_compliance.html" %}
 
{% block subtitle %}Copyleft Compliance Projects - {% endblock %}
 
{% block submenuselection %}LiberateFirmware{% endblock %}
 
{% block content %}
 

	
 
<h1 id="software-freedom-conservancy-proposal-for-firmware-liberation-project">Firmware Liberation Project</h1>
 

	
 
<p>Conservancy plans to select a class of product in the Linux-based embedded
 
system space.  For this product, Conservancy will launch, or assist, a
 
project that creates a functioning alternative firmware for those devices.
 
The promise of GPL enforcement is only realized through actual, practical use
 
and improvement of the released software for users.</p>
 

	
 
<h2 id="gpl-enforcement-needs-follow-through">GPL Enforcement Needs Follow-Through</h2>
 

	
 
<p>Simply enforcing the GPL is an important first step, and Conservancy
 
  <a href="enforcement-strategy.html">continues our efforts in that
 
  regard</a>. However, we can
 
  replicate <a href="/copyleft-compliance/enforcement-strategy.html#brief-history-of-user-focused-gpl-enforcement">the
 
  success found with OpenWrt</a> <em>only by</em> a substantial
 
  effort <strong>after</strong> enforcement occurs to turn the compliant
 
  source release into a viable alternative firmware for the platform.</p>
 
                                           
 

 
<p>Conservancy has seen non-compliant Linux-based firmwares on refrigerators,
 
  baby monitors, virtual assistants, soundbars, doorbells, home security
 
  cameras, police body cameras, cars, AV receivers, and televisions.  We
 
  believe that building an alternative firmware for one of these classes of
 
  devices &mdash; or joining our work with an existing alternative firmware project
 
  that is struggling due to lack of sources available &mdash; will lead to
 
  more palpable software freedom for users of these device.</p>
 

	
 

	
 
<h2 id="limited-success-of-alternative-hardware">Limited Success of
 
  Alternative Hardware</h2>
 

	
 
<p>Alternative hardware projects remain an essential component of small
 
  device freedom. Conservancy supports and engages with communities that seek
 
  to source and build IoT-style devices from the ground up. We’re excited to
 
  see deployable boards that allow Maker efforts to create new devices.</p>
 

	
 
<p>Nevertheless, we remain ever-cognizant that FOSS succeeded on servers,
 
  laptop, desktop, and wireless router computers <em>precisely</em> because
 
  users could buy commodity hardware at any store and install FOSS
 
  alternatives to the vendor-provided software.  Throughout the history of
 
  FOSS, most new users who seek to experience software freedom want to do so
 
  with their existing devices first.  Many don't even know much about the
 
  issues involved in software liberation <em>until they've already purchased
conservancy/content/copyleft-compliance/help.html
Show inline comments
...
 
@@ -8,38 +8,38 @@
 
  rights that copyleft makes possible.  There are lots of ways to help and we
 
  believe that the entire public can help.</p>
 

	
 
<h2 id="request">Request Source Code</h2>
 

	
 
<p>All versions of the GPL and LGPL allow companies to make an <em>offer</em>
 
    for Complete, Corresponding Source (CCS) <em>rather than</em> giving you
 
    the CCS outright with the product.  Sadly, <strong>many</strong>
 
    companies make an offer with no intention of actually providing that CCS
 
    to you.  As consumers, you have a right to that source code.  Look in
 
    every manual and &ldquo;Legal Notices&rdquo; section of every product you
 
    buy.  If you see an offer, follow the instructions and <strong>request
 
    that CCS</strong>!  If you don't get it, or they give you the run-around,
 
    then <a href="#reporting">report the violation to us</a>!</p>
 

	
 
<h2 id="reporting">Reporting GPL Violations To Us</h2>
 

	
 
<p>If you are aware of a license violation or compliance issue regarding any
 
  copyleft license, such as the AGPL, GPL or LGPL,
 
  please <a href="mailto:compliance@sfconservancy.org">contact us by email at
 
  &lt;compliance@sfconservancy.org&gt;</a>.</p>
 

	
 
<!--- FIXME: bkuhn is rewriting this blog post fresh the weekend of --
 
      2020-07-18 so we need not link to ebb.org anymore when we roll out
 
      these changes ... which never happened, still need to do that --> 
 
      these changes ... which never happened, still need to do that -->
 

	
 
<p>If you think you've found a GPL violation, we encourage you to
 
   read <a href="http://ebb.org/bkuhn/blog/2009/11/08/gpl-enforcement.html">this
 
   personal blog post by our Policy Fellow, Bradley M. Kuhn</a>, about good
 
   practices in discovering and reporting GPL violations.</p>
 
   
 

 
<h2 id="sustain">Donate to Sustain This Work</h2>
 

	
 
<p>Finally, Conservancy welcomes <a href="#donate-box"
 
  class="donate-now">donations</a> in support of our copyleft compliance work,
 
  and we encourage you to become a <a href="/sustainer/">an official
 
  Sustainer of Software Freedom Conservancy</a>. </p>
 
{% endblock %}
conservancy/content/copyleft-compliance/vizio-filing-press-release.html
Show inline comments
...
 
@@ -109,31 +109,31 @@ copylefted software and the rights it gives them as consumers.</p>
 
<h3>ABOUT SOFTWARE FREEDOM CONSERVANCY</h3>
 

	
 

	
 
<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). The organization is incorporated in New
 
York. For more information, go
 
to <a href="https://sfconservancy.org">sfconservancy.org</a>.</p>
 

	
 

	
 

	
 
<h3>SUPPLEMENTAL RESOURCES FOR JOURNALISTS</h3>
 

	
 
<ul>
 
<li><a href="https://sfconservancy.org/docs/software-freedom-conservancy-v-vizio-announce-press-kit.pdf">A
 
full press kit, with substantial additional information and resources for
 
    journalists covering this story, can be viewed and downloaded here.</li>
 

	
 
<li><a href="/docs/software-freedom-conservancy-v-vizio-complaint-2021-10-19.pdf">The
 
    legal complaint is available</a>.</li>
 
</ul>
 
  
 

 

	
 
<h3>MEDIA CONTACT</h3>
 

	
 
<p>Hannah Gregory, Media Rep for Good Causes<br/>
 
<a href="mailto:media@sfconservancy.org">&lt;media@sfconservancy.org&gt;</a></p>
 
{% endblock %}
conservancy/content/copyleft-compliance/vmware-lawsuit-appeal.html
Show inline comments
...
 
@@ -8,54 +8,54 @@
 
  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 
 
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 
 
<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
 
  software freedom is constantly eroded.</p>
 

	
 
<p>We want companies to incorporate our software into new products, but there
 
are a few simple rules.  Copylefted free software is so prevalent because
 
there's no way a company can compete without using a significant amount of
 
free software to bring products to market in reasonable time. They get so
 
much benefit from our work.  Allowing the whole community to review, use,
 
improve and work with the code seems very little to ask in return.  Copyleft
 
also ensures competitors cannot undercut those who contribute.  Without active enforcement, the GPL is
 
effectively no different from a non-copyleft license.</p>
...
 
@@ -76,54 +76,54 @@ community.  Even so, this case will help bring clarity on the question of
 
combined and derivative works, and is essential to the future of all software
 
freedom.  This case deserves support from copyleft and non-copyleft free
 
software communities alike.</p>
 

	
 
<h3>Show you care</h3>
 

	
 
<p>Bad actors have become complacent because they think you don't care.  A
 
  strong show of public support for Conservancy and Christoph's position will
 
  help our legal case and demonstrate the interpretive context for it.
 
  Please <a href="#donate-box" class="donate-now">donate</a> to our campaign to enforce the GPL.  Help Conservancy
 
  increase its number of individual donors, so we have clear evidence to show
 
  bad actors that the GPL matters to the individuals in our community.
 
  After you <a href="#donate-box" class="donate-now">donate</a>, go and tell the world: &ldquo;Play by the rules, @VMware. I defend the #GPL with Christoph &amp; @Conservancy. #DTRTvmware  Help at https://sfconservancy.org/sustainer/ &rdquo; on your blog or microblog.
 
  </p>
 

	
 

	
 
<h3>Isn't the combined works and/or derivative works question a legal grey area?</h3>
 

	
 
<p>We don't think so, but this case will let the court to decide that question.
 
Either way, it's beneficial to our entire community to find out what the
 
judges think.  (Check out our <a href="/copyleft-compliance/vmware-lawsuit-faq.html">FAQ to find out more
 
information</a>.)</p>
 

	
 
<p>Help us pay for this expensive lawsuit and to generally defend software
 
  freedom and the GPL.  Help us show the world that copyleft matters.  We are excited 
 
  to announce that we already reached an anonymous match for this campaign, where every dollar donated 
 
  freedom and the GPL.  Help us show the world that copyleft matters.  We are excited
 
  to announce that we already reached an anonymous match for this campaign, where every dollar donated
 
  was matched up to $50,000. However, that $100,000 is just an initial step
 
  and there is so much GPL enforcement work to do.  So, please
 
  donate now: by becoming <a href="/sustainer/">a Conservancy Sustainer</a> or
 
  via <a href="#donate-box" class="donate-now">donate link on the right</a>.</p>
 

	
 
<h3>Want To Know More?</h3>
 

	
 
<p>Watch the video below of Conservancy Executive Director, Karen Sandler,
 
  <a href="/news/2015/mar/31/libreplanet/">delivering a keynote on this topic
 
  at
 
    LibrePlanet 2015</a>:</p>
 
<p>
 
 <video controls
 
         preload="auto" class="video-js vjs-default-skin"
 
         data-setup='{"height": 276,
 
                      "width": 640 }'>
 
    <source src="https://media.libreplanet.org/mgoblin_media/media_entries/113/karen-sandler-keynote-2015.medium.webm"
 

	
 
              type="video/webm; codecs=&#34;vp8, vorbis&#34;"
 
             />
 
   
 

 
 </video>
 
</p>
 

	
 
<p>Or, read <a href="/copyleft-compliance/vmware-lawsuit-faq.html">our FAQ about
 
    the lawsuit</a>.</p>
 

	
 
{% endblock %}
conservancy/content/npoacct/index.html
Show inline comments
...
 
@@ -91,49 +91,49 @@ Interest; all encourage you to <a href="#donate-box" class="donate-now">donate a
 
  documented and explained</a>.)</p>
 

	
 
<p>Our auditors were only familiar with proprietary accounting software, and
 
  so our system seemed foreign to them, as it relies on Ledger CLI's text files, Emacs and
 
  version control.  During their questions
 
  about our setup, we asked them to hypothetically prescribe a specific
 
  proprietary software setup as a model for  managing Conservancy's
 
  accounts.  Our chief auditor started by mentioning a few well-known
 
  proprietary solutions.   But then he paused and continued:  <q>Given
 
  that Conservancy's a fiscal sponsor with so many temporarily restricted
 
  accounts, existing systems really wouldn't do that good of a job for
 
  you</q>.</p>
 

	
 
<p>Indeed, Conservancy reached out into the broader fiscal sponsorship
 
  community beyond the <abbr title="Free, Libre and Open Source Software">FLOSS</abbr>
 
  <abbr title="Non-profit Organization">NPO</abbr> community and discovered that many larger fiscal sponsors &mdash; even
 
  those willing to use proprietary components &mdash; have cobbled together
 
  their own unique systems, idiosyncratically tailored to their specific
 
  environments.  Thus, good, well-designed, and reusable accounting software
 
  for non-profit fiscal sponsorship is not just missing in the software
 
  freedom community; it's missing altogether.</p>
 

	
 

	
 
<p>The project that Conservancy proposes will take a modest step
 
  forward in creating a better solution for everyone. 
 
  forward in creating a better solution for everyone.
 
  <a href="#quotes">Many NPO leaders and academics agree</a> with Conservancy about the
 
  immediate need for work to begin on this
 
  effort.  <a id="endorsements"
 
  style="text-decoration:none"></a><a href="http://april.org">April</a>, <a href="https://www.fracturedatlas.org">Fractured Atlas</a>, The <a href="http://fsf.org">Free Software
 
  Foundation</a>, The <a href="https://www.mozilla.org/foundation/">Mozilla
 
Foundation</a>, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a>,  <a
 
        href="https://openhatch.org/">OpenHatch</a>, <a href="http://opensource.org/node/658">Open Source Initiative</a>,
 
  <a href="http://QuestionCopyright.org">QuestionCopyright.org</a>, and <a href="http://www.spi-inc.org/">Software in the Public Interest</a> have
 
  all endorsed Conservancy's plan, and they encourage you to <a href="#donate-box" class="donate-now">donate and
 
  support it</a>.</p>
 

	
 
<p>Conservancy is uniquely qualified to undertake this task.  Using only Free
 
  Software, Conservancy already meets the complex accounting challenges of
 
  earmarked, directed donations for over thirty different projects.  We've
 
  learned much about this work in our first seven years of
 
  operation, and we're prepared to apply what we've learned to solve
 
  this problem not just for ourselves, but for anyone who seeks a
 
  solution that both respects software freedom and handles non-profit
 
  accounting for all sorts of NPOs, including fiscal sponsors.  General NPO
 
  accounting is just a &ldquo;base case&rdquo; of fiscal sponsorship (i.e.,
 
  an NPO is just a fiscal sponsor for one and only one specific project),
 
  and Conservancy therefore believes a solution that handles fiscal sponsors
 
  will also handle the simpler case as well.</p>
 

	
conservancy/content/press/qanda.html
Show inline comments
...
 
@@ -7,101 +7,101 @@
 
<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>
 
    
 

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

	
 
<p>Software Freedom Conservancy is the plaintiff in this case. The organization is filing as a third-party beneficiary, as the purchaser of a product which has copylefted code on it. 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>
 

	
 
<h3 id="">Q: What makes this different than other GPL compliance lawsuits?</h3>
 

	
 
<p>In the past, the plaintiffs have always been copyright holders of the specific GPL code. In this case Software Freedom Conservancy is demonstrating that it's not just the copyright holders, but also the receivers of the licensed code which are entitled to their rights.</p>
 

	
 
<h3 id="">Q: What type of case is this?  How does it compare to previous litigation by Software Freedom Conservancy regarding the GPL?</h3>
 

	
 
<p>Previously, Software Freedom Conservancy filed as a copyright holder in federal court, or coordinated or funded litigation by other copyright holders in copyright cases in the U.S. and Germany. This is an example of how, historically, GPL litigation has focused on the rights of the developers. However, the rights assured by the GPL are actually not intended primarily for the original developers, but rather for people who purchase products that contain GPL’d software. That is what makes this litigation unique and historic in terms of defending consumer rights. It is the first case that focuses on the rights of individual consumers as third-party beneficiaries of the GPL.</p>
 
     
 

 
<h3 id="">Q: Why are you filing a third-party beneficiary claim instead of a copyright claim?</h3>
 

	
 
<p>For too long, GPL enforcement has focused only on the rights of developers, who are often not the ones impacted by the technology in question. Some of those same developers even have lucrative jobs working for the various companies that violate the GPL. The GPL was designed to put the rights of hobbyists, individual developers, consumers, small companies, and nonprofit organizations on equal footing with big companies. With the advent of more contributions to GPL’d software coming from for-profit multinational corporations and fewer from individuals, the rights of these other parties are often given second-class billing. The third-party beneficiary claim prioritizes the consumers, who are the users and the most important beneficiaries of the rights under GPL.</p>
 

	
 
<h3 id="">Q:  Are you saying the rights of developers under the GPL are not important?</h3>
 

	
 
<p>Not at all! Most would agree that individual developers care deeply about the software freedom of users. They are the artists who create the amazing FOSS on which all of us rely. However, as Francis Ford Coppola once said (paraphrased), “to understand who holds the power in any culture, look not to the artists but who employs the artists”—a quote which suits this situation well. Large multinational corporations have co-opted FOSS for their own bottom lines. While many developers privately cheer Software Freedom Conservancy’s efforts and donate money to this cause, they fear the power that their employers exert and have asked Software Freedom Conservancy to fight for the software freedom of users.</p>
 
    
 

 
<h3 id="">Q:  Why is this important for the future of developers?</h3>
 

	
 
<p>The next generation of developers comes from the users of today. The golden age of FOSS that the industry now enjoys came to fruition from the counterculture created by FOSS activists in the 1990s and early 2000s. During this time, Linux and other GPL’d software was considered just a curiosity (and was even accused of being anti-American). Nevertheless, the rights assured by the GPL ultimately led to a new generation of software developers learning how to build Linux and all the amazingly useful FOSS around it. To recruit a diverse group of the next generation of enthusiastic developers, we must ensure that the rights under GPL are available to every single individual, consumer and hobbyist around the globe. That is what this lawsuit is about.</p>
 

	
 
<h3 id="">Q: If the goal is to fight for all consumer rights, why not file this lawsuit as a class action? </h3>
 

	
 
<p>Forcing consumers to fight for their individual rights is one way that for-profit corporations exert their inappropriate power. Actions such as this lawsuit seek to disrupt this power dynamic by asserting that all consumers of copylefted code deserve the opportunity to know, access and modify the code on their devices. However, expecting all consumers to have to personally participate in that process not only puts an undue burden on them, it simply is not realistic. It is not how change happens. Furthermore, pursuant to “The Principles of Community Oriented GPL Enforcement,” the lawsuit does not prioritize financial remedy over compliance. This lawsuit seeks the most important remedy for the public good: release of the Complete, Corresponding Source (CCS) for all GPL’d components on Vizio TVs. Once that is achieved, the benefit is immediately available to not only all who purchased a Vizio TV, but also to the entire FOSS community.  </p>
 
     
 

 
<h3 id="">Q: What are “The Principles of Community Oriented GPL Enforcement”?</h3>
 

	
 
<p>In 2016, Software Freedom Conservancy published “The Principles of Community-Oriented GPL Enforcement” in response to those who might use copyleft licenses for their own financial gain. Software Freedom Conservancy is part of a long tradition of using copyleft enforcement as intended: to further the rights and freedoms of individual users, consumers, and developers. Pursuant to those principles, Software Freedom Conservancy never prioritizes financial gain over assuring the rights guaranteed by the GPL are upheld.</p>
 
     
 

 
<h3 id="">Q: Are the court documents released? Does that relate to why the litigation was brought in the U.S.?</h3>
 

	
 
<p>Software Freedom Conservancy brought this litigation within the U.S. specifically because litigation in this country is completely public. Historically, Germany has been one of the most popular venues for GPL litigation but it also has a huge downside: the German legal system keeps all details of the cases private and there is little transparency. </p>
 

	
 
<h3 id="">Q: Who is funding this lawsuit? </h3>
 

	
 
<p>This lawsuit is central to the mission of Software Freedom Conservancy. The organization has received grants from Amateur Radio Digital Communications (ARDC) to support GPL compliance work. As a nonprofit, charitable donations are also an important source of funding to carry out the work. This combined financial support allowed for this litigation to begin. However, continued donor support will be vital since litigation like this is quite expensive.</p>
 

	
 
<h3 id="">Q: How can someone make a donation?</h3>
 

	
 
<p>To make a tax-deductible donation to Software Freedom Conservancy, go to sfconservancy.org/donate. The best way to support this important work is to join as an official Sustainer. Details on that program are available at sfconservancy.org/sustainer. </p>
 

	
 
<h3 id="">Q: Why must you file a lawsuit? Isn’t there any other way to convince Vizio to comply with the GPL? </h3>
 

	
 
<p>Vizio has a long history of violating copyleft. The company has also stopped replying to inquiries from Software Freedom Conservancy. Vizio has been benefiting from the use of an abundance of existing copylefted software, but completely ignores the responsibilities that come with using the licenses. Furthermore, Vizio has already been subject to a large class-action suit that alleged that Vizio was misusing its customers’ private information (Vizio settled that class action for $17 million).</p>
 

	
 
<h3 id="">Q: What GPL code has been discovered in Vizio’s SmartCast? </h3>
 

	
 
<p>SmartCast is a Linux-based operating system. That means that not only do multiple copies of the Linux kernel appear in the firmware, other GPL'd and LGPL'd programs were found, including U-Boot, bash, gawk, tar, glibc, and ffmpeg.</p>
 

	
 
<h3 id="">Q: How can I verify Software Freedom Conservancy’s technical findings above? </h3>
 

	
 
<p>Object code can be found on the TVs and source code/binaries on the filesystem. There are multiple models in which we can confirm the findings. Go to sfconservancy.org/vizio for details.</p>
 

	
conservancy/content/projects/apply/conservancy-fsa-template.tex
Show inline comments
...
 
@@ -28,176 +28,176 @@
 
\vspace{2ex}
 

	
 
By: \hspace{0.95em}\rule{0.50\textwidth}{0.2mm} \hfill{}Date: \rule{0.25\textwidth}{0.2mm}
 

	
 
\if\relax\detokenize{#1}\relax
 
\else
 
\hspace{2.5em} \textsc{#1}
 
\fi
 
\if\relax\detokenize{#2}\relax
 
\else
 

	
 
\hspace{2.5em} #2
 
\fi
 
\if\relax\detokenize{#3}\relax
 
\else
 

	
 
\hspace{2.5em} #3
 
\fi
 
\vspace{6ex}
 
}
 

	
 
\begin{document}
 

	
 
\begin{center}
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} } 
 
\textsc{\Huge Fiscal Sponsorship Agreement}{\Huge {} }
 
\par\end{center}
 

	
 
\bigskip{}
 

	
 

	
 
This Agreement is made by and between Software Freedom Conservancy
 
(``Conservancy'') and FIXME-CONTRIBUTOR-NAMES (the ``\signatories'')
 
on behalf of the project known as \projectname (the ``Project'') (each, a 
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit 
 
public benefit corporation located in Brooklyn, New York, which has received 
 
recognition of exemption from federal income tax under Section 501(c)(3) of 
 
the Internal Revenue Code (IRC) and classification as a public charity under 
 
on behalf of the project known as \projectname (the ``Project'') (each, a
 
``Party''; together, ``the Parties'').  Conservancy is a New York nonprofit
 
public benefit corporation located in Brooklyn, New York, which has received
 
recognition of exemption from federal income tax under Section 501(c)(3) of
 
the Internal Revenue Code (IRC) and classification as a public charity under
 
IRC Sections 509(a)(1) and 170(b)(1)(A)(vi).
 

	
 
\textsc{Whereas:}
 

	
 
\begin{enumerate}[label=\Alph*.,ref=\S \Alph*]
 
\item Conservancy's organizational mission and charitable goal is to promote,
 
improve, develop and defend Free, Libre, and Open Source Software
 
projects. 
 
projects.
 
\item The purpose of the Project is to produce, distribute, document, and
 
improve software and/or documentation that can be freely copied, modified and redistributed,
 
and for which modified versions can also be redistributed (``Free Software''),
 
and to facilitate and organize its production, improvement and ease
 
of use. 
 
of use.
 
\item Conservancy desires to act as the fiscal sponsor of the Project beginning
 
on the Effective Date (as defined below) to assist the Project in
 
accomplishing its purpose, which Conservancy has determined will further
 
Conservancy's charitable goals. The \signatories desire to manage
 
the Project under the sponsorship of Conservancy. 
 
the Project under the sponsorship of Conservancy.
 
\item Conservancy's Board of Directors has approved the establishment
 
of a fund to receive donations of cash and other property earmarked
 
for support of the Project and to make disbursements in furtherance
 
of the Project's mission (the ``Project Fund''). Currently, the
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS]. 
 
principal office of the Project is located at: [FIXME: MAILING ADDRESS].
 
\end{enumerate}
 
\medskip{}
 

	
 

	
 
\textsc{Now, therefore, the Parties hereby agree as follows:}
 

	
 
\begin{enumerate}[label=\arabic*.,ref=\S~\arabic*]
 
\item \textbf{Term of Agreement}. As of the Effective Date, the Project
 
joins Conservancy, which relationship will continue unless and until
 
terminated as set forth in \ref{Termination}. 
 
terminated as set forth in \ref{Termination}.
 
\item \textbf{Project Management and Activities}.
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\alph*)]
 
\item \textbf{The \leadershipbody Will Manage the Project}. \label{ProjectManagement}
 
Authority to manage the technical, artistic and philanthropic direction
 
of the Project and the program activities of the Project is delegated
 
to the \leadershipbody as defined in \ref{Representation},
 
subject at all times to the direction and control of Conservancy's
 
Board of Directors. Conservancy will only intervene in the program
 
activities to the extent the Project is not in compliance with \ref{FreeSoftware}
 
or \ref{CharitablePurpose} of this Agreement. 
 
or \ref{CharitablePurpose} of this Agreement.
 
\item \textbf{The Project Will Be Free Software}. \label{FreeSoftware}
 
Conservancy and the \leadershipbody agree that any and all software
 
and/or documentation distributed by the Project will be distributed solely as Free Software.
 
Conservancy retains the sole right to determine whether the Project's
 
software and/or documentation constitutes Free Software (as defined herein).
 
\item \textbf{Ultimate Responsibility of Project}. Subject to \ref{ProjectManagement}
 
of this Agreement, all community programs, public information work,
 
fundraising events, processing and acknowledgment of cash and non-cash
 
revenue items, accounts payable and receivable, negotiation of leases
 
and contracts, disbursement of Project funds (including grants), and
 
other activities planned by the Project shall be the ultimate responsibility
 
of Conservancy and shall be conducted in the name of Conservancy,
 
beginning on the Effective Date. 
 
beginning on the Effective Date.
 
\item \textbf{Project Not An Agent Of Conservancy}. The \signatories
 
hereby acknowledge that the Project and the \leadershipbody
 
do not and shall not act as an agent for Conservancy unless specifically
 
authorized in writing by Conservancy to do so. 
 
authorized in writing by Conservancy to do so.
 
\end{enumerate}
 
\item \textbf{Fees}. The \signatories agree to donate ten percent
 
(10\%) of the Project's gross revenue (including, but not necessarily limited
 
to, all income and donations) to Conservancy for its general operations.
 

	
 

	
 
Notwithstanding the above, the \signatories agree that should Conservancy
 
be required to pay any taxes (including but not limited to sales taxes
 
and unrelated business taxable income) as the result of any activity
 
of the Project and/or activities undertaken by Conservancy on the
 
Project's behalf, such taxes shall be deducted from the Project Fund.
 

	
 

	
 
Conservancy will monitor any unrelated business taxable income and
 
may require the Project to cease activities generating such income
 
if the overall amounts exceed amounts permissible or prudent for Conservancy,
 
given Conservancy's tax exempt status.
 

	
 
\item \textbf{Project Fund/Variance Power}. Beginning on the Effective Date,
 
Conservancy shall place all gifts, grants, contributions and other
 
revenues received by Conservancy and identified with the Project into
 
a Project Fund to be used for the sole benefit of the Project's mission
 
as that mission may be defined by the \leadershipbody from
 
time to time with the approval of Conservancy. Conservancy retains
 
the unilateral right to spend such funds so as to accomplish the purposes
 
of the Project as nearly as possible within Conservancy's sole judgment.
 
Conservancy agrees to make a good faith effort to consider any expressed
 
donor intent in making determinations on the expenditure of that donor's
 
gift; however, the Parties acknowledge that expressions of donor intent
 
are not legally binding on Conservancy. The Parties agree that all
 
money, and the fair market value of all property, deposited in the
 
Project Fund be reported as the income of Conservancy, for both tax
 
purposes and for purposes of Conservancy's financial statements. It
 
is the intent of the Parties that this Agreement be interpreted to
 
provide Conservancy with variance powers necessary to enable Conservancy
 
to treat the Project Fund as Conservancy's asset in accordance with
 
Financial Accounting Statement No. 136 issued by the Financial Accounting
 
Standards Board, while this Agreement is in effect. 
 
Standards Board, while this Agreement is in effect.
 
\item \textbf{Project Fund Management / Performance of Charitable Purposes}.
 
\label{CharitablePurpose} All of the assets received by Conservancy
 
under the terms of this Agreement shall be devoted to the purposes
 
of the Project, within the tax-exempt purposes of Conservancy. The
 
\signatories agree not to use its funds or operate in any way which would
 
jeopardize the tax-exempt status of Conservancy. No item of revenue
 
shall be earmarked for use in any attempt to influence legislation
 
within the meaning of IRC Section 501(c)(3) and no agreement, oral
 
or written, to that effect shall be made between Conservancy and any
 
revenue source. Conservancy shall not use any portion of the assets
 
to participate or intervene in any political campaign on behalf or
 
in opposition to any candidate for public office, to induce or encourage
 
violations of law or public policy, to cause any private inurement
 
or improper private benefit to occur, nor to take any other action
 
inconsistent with IRC Section 501(c)(3). 
 
inconsistent with IRC Section 501(c)(3).
 

	
 
\item \textbf{Representation of the Project in Conservancy}. \label{Representation}The
 
\signatories, each a signatory hereto, hereby establish and comprise
 
the initial members of the \leadershipbody
 
to represent the Project in its official communication with Conservancy.
 
The \signatories hereby acknowledge that the \leadershipbody
 
will be subject to all terms of this Agreement.
 
On the Effective Date, the \signatories hereby transfer all
 
rights, obligations and privileges of this Agreement over to the
 
\leadershipbody.
 

	
 
[FIXME: Note: The rest of this section should describe the way in which the
 
Project wishes to interface with Conservancy; including who has
 
authority to communicate with Conservancy regarding the Project
 
and what is required in order for Conservancy to act on behalf
 
of the Project. For example, all of the Contributors confirm their
 
approval of a certain action, or can any one of the Contributors instruct
 
Conservancy to take a certain action. Also, the Contributors may
 
want to identify certain other individuals that have the power to
 
represent the Project. Here a few samples of how projects have handled
 
this clause in the other projects:
 

	
 
\begin{itemize}
 
\item \textbf{Simple Self-Perpetuating Committee}. The \signatories,
...
 
@@ -244,137 +244,137 @@ Should two (2) or more Members be Employed by the same Entity at any
 
time (e.g., if an existing Member changes employers while a Member),
 
Members Employed by the same Entity must immediately resign in succession
 
until only one (1) of them remains on the Committee. Should voluntarily
 
resignations fail to yield the aforementioned result after sixty (60)
 
days, the Members Sharing an Employer shall be removed by Conservancy
 
from the Committee in order of decreasing seniority. Seniority shall
 
be determined by length of service by the Member on the Committee,
 
including all historical periods of non-contiguous service.
 

	
 

	
 
All decisions of the Committee shall be made by simple majority. The
 
Committee shall appoint, by majority vote, one Member as its Representative
 
to communicate all Project decisions to Conservancy. The Representative
 
shall promptly inform Conservancy of changes in the Committee composition
 
and of contact information for all Members. If Conservancy is unable,
 
after all reasonable efforts, to contact a majority of the Members
 
for a period of sixty (60) days, or if the number of Members is fewer
 
than the Minimum for a period of at least sixty days, Conservancy
 
may, after at least thirty days notice to Project, unilaterally appoint
 
new Members from the Project community to replace any unreachable
 
Members and/or to increase the Committee composition to the required
 
Minimum.
 

	
 
\item \textbf{An Elected Oversight Committee.} The \signatories, each
 
a signatory hereto, shall initially [FIXME: form or comprise] the 
 
\leadershipbody as a Project Committee (``Committee'') to 
 
a signatory hereto, shall initially [FIXME: form or comprise] the
 
\leadershipbody as a Project Committee (``Committee'') to
 
represent the Project in its official communication with Conservancy.  The
 
Committee shall hereafter be elected by community members of the Project as
 
designated by the Committee or a subcommittee of the Committee (the 
 
``Community Members'').  
 

	
 
The positions on the Committee will be on a two-year staggered basis 
 
([FIX-ME: some portion] of the initial board seats will be for one year).  
 
The members of the Committee may be removed from the position at any time 
 
by a majority vote of the Community Members.  Upon the resignation or 
 
removal of a member of the Oversight Board, the Community Members shall 
 
elect a replacement Community Member to serve on the Committee. 
 

	
 
The Committee will elect a single individual to communicate with 
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly 
 
following the election of a new Representative.  The Representative will 
 
designated by the Committee or a subcommittee of the Committee (the
 
``Community Members'').
 

	
 
The positions on the Committee will be on a two-year staggered basis
 
([FIX-ME: some portion] of the initial board seats will be for one year).
 
The members of the Committee may be removed from the position at any time
 
by a majority vote of the Community Members.  Upon the resignation or
 
removal of a member of the Oversight Board, the Community Members shall
 
elect a replacement Community Member to serve on the Committee.
 

	
 
The Committee will elect a single individual to communicate with
 
Conservancy (the ``Representative'') and shall notify Conservancy promptly
 
following the election of a new Representative.  The Representative will
 
have the authority to instruct Conservancy on the Project's behalf on all
 
matters.  
 
matters.
 

	
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the 
 
Community Members, with the consent of Conservancy, such consent not to be 
 
This section may be modified by a vote of at least $\frac{3}{4}$ths of the
 
Community Members, with the consent of Conservancy, such consent not to be
 
unreasonably withheld.
 

	
 

	
 
\end{itemize}
 

	
 
Note again that the above are merely examples, not a list of options.
 
Conservancy's goal is to draft the Representation section to match
 
the existing and natural leadership structure of the Project, so each
 
project usually has a uniquely worded Representation section. ]
 

	
 
\item \textbf{Outstanding Liabilities}. The \signatories represent
 
that any liabilities that may be outstanding in connection with the
 
Project have been disclosed to Conservancy. 
 
Project have been disclosed to Conservancy.
 
\item \textbf{Termination}. \label{Termination} The \leadershipbody or Conservancy
 
may terminate this Agreement at any time subject to the following
 
understandings:
 

	
 

	
 
\begin{enumerate}[label=\alph*.,ref=\theenumi(\arabic*)]
 

	
 
\item \textbf{Notice and Successor Search}. Either Conservancy or the \leadershipbody
 
may terminate this Agreement on sixty (60) days' written notice (``the Notice Period'') to
 
the other Party, so long as a Successor can be found that meets the
 
following requirements (the ``Successor has Qualified''):
 

	
 

	
 
    \begin{enumerate}[label=\roman*.,ref=\theenumi(\alph{enumii})(\roman*)]
 
\item the Successor is another nonprofit corporation which is tax-exempt
 
under IRC Section 501(c)(3), 
 
under IRC Section 501(c)(3),
 
\item the Successor is not classified as a private foundation under Section
 
509(a), 
 
\item the Successor is willing and able to sponsor the Project, and, 
 
509(a),
 
\item the Successor is willing and able to sponsor the Project, and,
 
\item the Successor has (a) communicated its willingness to sponsor the
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and, 
 
  Project in writing to Conservancy and (b) sent a copy of its 501(c)(3) determination letter to Conservancy, and,
 
\item the Successor is approved in writing by both Parties by the end of
 
the Notice Period, such approval not to be unreasonably withheld. 
 
the Notice Period, such approval not to be unreasonably withheld.
 
\end{enumerate}
 
\item \textbf{Additional Search Periods}. If the Parties cannot agree on
 
a Successor to sponsor the Project, the \leadershipbody
 
shall have an additional 60 days to find a Successor willing and able
 
to sponsor the Project. Any subsequent search periods of any length
 
shall only be granted at Conservancy's written permission. 
 
shall only be granted at Conservancy's written permission.
 
\item \textbf{Transfer to a Successor}. If a Successor has Qualified, the balance
 
of assets in the Project Fund, together with any other assets held
 
or liabilities incurred by Conservancy in connection with the
 
Project, shall be transferred to the Successor within thirty (30)
 
days of the approval of the Successor in writing by both Parties or
 
any extension thereof, subject to the approval of any third parties
 
that may be required.
 
\item \textbf{Termination Without a Successor}. If no Successor is found,
 
Conservancy may dispose of Project assets and liabilities
 
in any manner consistent with applicable tax and charitable trust
 
laws. 
 
\item \textbf{\signatories' Right to Terminate.} 
 
laws.
 
\item \textbf{\signatories' Right to Terminate.}
 
The \signatories hereby acknowledge that they will relinquish any
 
       rights to terminate separate from the \leadershipbody as
 
       of the Effective Date.
 
\end{enumerate}
 
\item \textbf{Miscellaneous}. Each provision of this Agreement shall be
 
separately enforceable, and the invalidity of one provision shall
 
not affect the validity or enforceability of any other provision.
 
This Agreement shall be interpreted and construed in accordance with
 
the laws of the State of New York. This Agreement constitutes the
 
only agreement, and supersedes all prior agreements and understandings,
 
both written and oral, among the Parties with respect to the subject
 
matter hereof. 
 
matter hereof.
 
\item \textbf{Amendments. }This Agreement may not be amended or modified,
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody. 
 
except in writing and signed by both Conservancy and the entirety of \leadershipbody.
 
\item \textbf{Counterparts / Facsimile}. This Agreement may be executed
 
in two or more counterparts, each of which shall constitute an original,
 
but all of which, when together, shall constitute but one and the
 
same instrument, and shall become effective when one or more counterparts
 
have been signed by each Party hereto and delivered to the other Party.
 
In lieu of the original, a facsimile transmission or copy of the original
 
shall be as effective and enforceable as the original. 
 
shall be as effective and enforceable as the original.
 
\end{enumerate}
 
\vfill{}
 

	
 

	
 
\textsc{In witness whereof}, the Parties have executed this Fiscal
 
Sponsorship Agreement effective on the FIXME day of FIXME, FIXME (the
 
``Effective Date'').
 

	
 
\vspace{3em}
 

	
 
\signature{Software Freedom Conservancy, Inc.}{Bradley M. Kuhn}{Title: President}
 

	
 
\signature{}{FIXME-CONTRIBUTOR}{}
 
\signature{}{FIXME-CONTRIBUTOR}{}
 
\signature{}{FIXME-CONTRIBUTOR}{}
 
\end{document}
conservancy/content/projects/apply/index.html
Show inline comments
...
 
@@ -5,49 +5,49 @@
 

	
 
<h1> Applying to Join Conservancy as a Member Project</h1>
 

	
 
<p>Part of Conservancy's activity is through its member projects.  These
 
  projects become formally part of Conservancy and have a close relationship
 
  with our activity.  Most of our projects are purely software projects, but
 
  we also occasionally accept initiatives designed to advance software
 
  freedom, such as Outreachy.</p>
 

	
 
<p>The situation for non-profit homes for FOSS activities has improved
 
  greatly since Conservancy was founded in 2006.  In the USA, options now
 
  exist for 501(c)(3), 501(c)(6) and even for-profit fiscal sponsorship, and
 
  there are other options around the globe as well.  Prospective member
 
  projects should carefully consider what type of structure is right for
 
  them.</p>
 

	
 
<p>For our part, Conservancy seeks projects that dedicate themselves to the
 
  advancement of software freedom and focus their projects on the rights of
 
  users to copy, share, modify and improve their software.  Being a FOSS
 
  project under an OSI-approved and DFSG-free license is mandatory, but not
 
  the only criteria.  Given the many options available for fiscal
 
  sponsorship, we are selective and often refer projects to other fiscal
 
  sponsors that are a better fit.  Nevertheless, we encourage projects to
 
  that need a non-profit home to apply to many fiscal sponsors.
 
  
 

 
<p>Conservancy's Evaluation Committee considers applications on a rolling
 
  basis.  Conservancy generally has dozens of projects in various stages of
 
  the application process.  We do not move rapidly to accept new projects, as
 
  we have found that consideration of joining or forming a non-profit
 
  organization for your project is best done with careful consideration over
 
  a period of many months rather than rapidly.</p>
 

	
 
<p>Conservancy's application process is somewhat informal.  New applicants
 
  should write an initial inquiry email
 
  to <a href="mailto:apply@sfconservancy.org">&lt;apply@sfconservancy.org&gt;</a>
 
  with a very brief description of their project and a URL to their project's
 
  website.  We'll send back initial questions, and after those questions are
 
  answered, we'll send the full application materials.  Applications should
 
  be submitted in plain ASCII text via email.  Your application will be
 
  assigned a ticket number in our ticketing system, and please be sure to
 
  include the proper ticket number details in the Subject line of your
 
  emails to ensure they are routed to the right place.</p>
 

	
 
<p>Projects are reviewed by Conservancy's Evaluation Committee, which is
 
  chartered by Conservancy's <a href="/about/board/">Board of
 
  Directors</a>.</p>
 

	
 
<h1>Project Membership Application FAQs</h1>
 

	
conservancy/content/projects/policies/publish-policy.py
Show inline comments
...
 
@@ -335,25 +335,24 @@ def write_output(args):
 
    args.output_link_path.symlink_to(args.output_file_path.name)
 

	
 
def main(arglist=None, stdout=sys.stdout, stderr=sys.stderr):
 
    args = parse_arguments(arglist)
 
    pull = GitPull(args)
 
    pull.run()
 
    if pull.exitcode:
 
        return pull.exitcode
 
    write_output(args)
 
    ops = [GitCommit(args), GitPush(args)]
 
    for op in ops:
 
        op.run()
 
        if op.exitcode != 0:
 
            exitcode = op.exitcode or 0
 
            break
 
    else:
 
        exitcode = 0
 
    print(args.input_path.name, "converted,",
 
          ", ".join(op.VERB if op.exitcode == 0 else "not " + op.VERB for op in ops),
 
          file=stdout)
 
    return exitcode
 

	
 
if __name__ == '__main__':
 
    exit(main())
 

	
conservancy/content/projects/services/index.html
Show inline comments
...
 
@@ -14,61 +14,61 @@
 
<h2>Tax-Deductible, Earmarked Donations</h2>
 

	
 
<p>Member projects can receive earmarked donations through Conservancy.
 
   Since Conservancy is a 501(c)(3) charity incorporated in New York,
 
   donors can often deduct the donation on their USA taxes.  Additionally,
 
   the donors can indicate that their donation should be used to advance a
 
   specific member project, and those funds are kept in a separate account
 
   for the member project by Conservancy.  This structure prevents
 
   developers from having to commingle project funds with their own
 
   personal accounts or having to set up their own project specific
 
   account.</p>
 

	
 
   <p>Since Conservancy is a tax-exempt organization, there are some
 
   limits that the law places on what member projects can do with their
 
   assets, but those limits are the same as if the project was an
 
   independent non-profit entity.  Usually, the project leadership
 
   instructs Conservancy's leadership on how the project's funds are spent.
 
   Conservancy spends these funds on the project's behalf on any expenses
 
   that constitute appropriate activity under Conservancy's 501(c)(3)
 
   not-for-profit mission.  Some typical uses of earmarked donations by
 
   Conservancy's member projects are:</p>
 

	
 
<ul>
 
<li>funding travel expenses for project developers to attend relevant
 
  conferences.</li> 
 
  conferences.</li>
 

	
 
<li>domain name fees, bandwidth costs, and computer equipment
 
  purchases.</li>
 

	
 
<li>purchasing media for distribution of project software at conferences
 
  and events.</li>
 

	
 
<li>paying key developers on a contractual basis to improve the project's
 
  software and its documentation.</li>
 

	
 
<li>sponsoring and organizing conferences for the project.</li>
 
 
 

 
<li>trademark registration and enforcement.</li>
 

	
 
<li>FLOSS license enforcement and compliance activity.</li>
 
</ul>
 

	
 
<h2>Asset Stewardship</h2>
 

	
 
<p>Conservancy can hold any assets for the project on its behalf.  This
 
  includes copyrights, trademarks, domain names, physical computer
 
  equipment or anything that should be officially held in the name of the
 
  project.  Member projects are not required that Conservancy hold all
 
  assets of a project. (For example, member projects are
 
  not <em>required</em> to assign copyrights to Conservancy.)
 
  However, Conservancy can accommodate the needs of projects that want
 
  their assets under the control of a not-for-profit entity and exercised
 
  only for the public good.</p>
 

	
 
<h2>Contract Negotiation and Execution</h2>
 

	
 
<p>Projects sometimes need to negotiate and execute a contract with a
 
  company.  For example, when a project wants to organize and run a
 
  conference, the venue usually has a complicated contract for rental of
 
  the space and services.  Conservancy assists projects in the negotiation
 
  of such contracts, and can sign them on behalf of the project.</p>
conservancy/events/admin.py
Show inline comments
 
from django.contrib import admin
 

	
 
from .models import Event, EventMedia, EventTag
 

	
 
admin.site.register(EventTag)
 

	
 
@admin.register(Event)
 
class EventAdmin(admin.ModelAdmin):
 
    list_display = ("title", "date", "date_tentative", "location")
 
    list_filter = ['date']
 
    date_hierarchy = 'date'
 
    search_fields = ["title", "description", "earth_location"]
 
    prepopulated_fields = {'slug' : ("title",) }
 

	
 

	
 
@admin.register(EventMedia)
 
class EventMediaAdmin(admin.ModelAdmin):
 
    list_display = ("event", "format", "novel")
 

	
 

	
 

	
conservancy/events/models.py
Show inline comments
...
 
@@ -75,25 +75,24 @@ class EventMedia(models.Model):
 

	
 
    includes transcripts, audio, and video pieces
 
    """
 

	
 
    event = models.ForeignKey(Event, on_delete=models.CASCADE)
 
    format = models.CharField(max_length=1,
 
                              choices=(('T', 'Transcript'),
 
                                       ('A', 'Audio'),
 
                                       ('V', 'Video')))
 
    local = models.CharField(max_length=300, blank=True,
 
                             help_text="Local filename of the resource.  File should be uploaded into the static directory that corresponds to the event.")
 
    # verify_exists removed https://docs.djangoproject.com/en/1.7/releases/1.4/
 
    remote = models.URLField(blank=True,
 
                             help_text="Remote URL of the resource.  Required if 'local' is not given.")
 
    novel = models.BooleanField(help_text="Is it a new piece of media or another form of an old one?  If it is new it will be included in the event-media RSS feed and shown on the front page for a bit.", default=False)
 

	
 
    date_created = models.DateTimeField(auto_now_add=True)
 
    date_last_modified = models.DateTimeField(auto_now=True)
 

	
 
    class Meta:
 
        verbose_name_plural = 'event media'
 

	
 
    def __str__(self):
 
        return "{} media: {}".format(self.event, self.format)
 

	
conservancy/feeds.py
Show inline comments
...
 
@@ -166,80 +166,80 @@ class BlogFeed(ConservancyFeedBase):
 
        if 'author' in GET:
 
            tags = GET.getlist('author')
 
        if 'tag' in GET:
 
            tags += GET.getlist('tag')
 

	
 
        if len(tags) == 1:
 
            answer += " (" + tags[0] + ")"
 
        elif len(tags) > 1:
 
            firstTime = True
 
            done = {}
 
            for tag in tags:
 
                if tag in done:
 
                    continue
 
                if firstTime:
 
                    answer += " ("
 
                    firstTime = False
 
                else:
 
                    answer += ", "
 
                answer += tag
 
                done[tag] = tag
 
            answer += ")"
 
        else:
 
            answer += "."
 
        return answer
 
        
 

 
    def description(self, obj):
 
        answer = "Blogs at the Software Freedom Conservancy"
 

	
 
        GET = obj.GET
 
        tags = []
 
        if 'author' in GET:
 
            tags = GET.getlist('author')
 
        if 'tag' in GET:
 
            tags += GET.getlist('tag')
 

	
 
        done = {}
 
        if len(tags) == 1:
 
            answer += " tagged with " + tags[0]
 
        elif len(tags) > 1:
 
            firstTime = True
 
            for tag in tags:
 
                if tag in done:
 
                    continue