Pulling in changes from test branch
svn path=/trunk/; revision=23067
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
<function project="education">deputy/m</function>
|
||||
<email>guido (at) fsfe (dot) org</email>
|
||||
<link>http://blogs.fsfe.org/guido/</link>
|
||||
<avatar>/about/arnold/arnold-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="bako" avatar="yes" teams="main">
|
||||
@@ -36,6 +37,7 @@
|
||||
<function project="policy">deputy/f</function>
|
||||
<email>eszter (at) fsfe (dot) org</email>
|
||||
<link>/about/bako/bako.html</link>
|
||||
<avatar>/about/bako/bako-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="bubestinger" avatar="no" teams="main, at">
|
||||
@@ -59,6 +61,7 @@
|
||||
<function project="ftf">seniorcounsel/m</function>
|
||||
<email>coughlan (at) fsfeurope (dot) org</email>
|
||||
<link>/about/coughlan/coughlan.html</link>
|
||||
<avatar>/about/coughlan/coughlan-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="dengg" avatar="yes" teams="at">
|
||||
@@ -84,6 +87,7 @@
|
||||
<function project="wipo">coordinator/m</function>
|
||||
<email>gerloff (at) fsfeurope (dot) org</email>
|
||||
<link>/about/gerloff/gerloff.html</link>
|
||||
<avatar>/about/gerloff/gerloff-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="gollowitzer" avatar="yes" teams="main, at">
|
||||
@@ -92,6 +96,7 @@
|
||||
<function>fellowship-deputy/m</function>
|
||||
<email>gollowitzer (at) fsfeurope (dot) org</email>
|
||||
<link>http://wiki.fsfe.org/Fellows/gollo</link>
|
||||
<avatar>/about/gollowitzer/gollowitzer-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="gough" avatar="yes" teams="gb">
|
||||
@@ -108,6 +113,7 @@
|
||||
<function>greve</function>
|
||||
<email>greve (at) fsfeurope (dot) org</email>
|
||||
<link>/about/greve/greve.html</link>
|
||||
<avatar>/about/greve/greve-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="grote" avatar="yes" association-member="yes" teams="main, de">
|
||||
@@ -116,6 +122,7 @@
|
||||
<function country="DE">deputy/m</function>
|
||||
<email>grote (at) fsfeurope (dot) org</email>
|
||||
<link>http://blogs.fsfe.org/torsten.grote/</link>
|
||||
<avatar>/about/grote/grote-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="husovec" avatar="yes" teams="main">
|
||||
@@ -124,6 +131,7 @@
|
||||
<function>intern/m</function>
|
||||
<email>husovec (at) fsfe (dot) org</email>
|
||||
<link>/about/husovec/husovec.html</link>
|
||||
<avatar>/about/husovec/husovec-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="jyrinki" avatar="no" teams="main, fi">
|
||||
@@ -140,6 +148,7 @@
|
||||
<function volunteers="web">coordinator/m</function>
|
||||
<email>nicoulas (at) fsfe (dot) org</email>
|
||||
<link>/about/jean/jean.html</link>
|
||||
<avatar>/about/jean/jean-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="jelic" avatar="no" teams="main">
|
||||
@@ -157,6 +166,7 @@
|
||||
<function project="education">coordinator/m</function>
|
||||
<email>jensch (at) fsfeurope (dot) org</email>
|
||||
<link>http://blogs.fsfe.org/riepernet/</link>
|
||||
<avatar>/about/jensch/jensch-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="jyrinki" avatar="yes" teams="fi">
|
||||
@@ -172,6 +182,7 @@
|
||||
<country>FI</country>
|
||||
<function country="FI">coordinator/m</function>
|
||||
<email>kekalainen (at) fsfeurope (dot) org</email>
|
||||
<avatar>/about/kekalainen/kekalainen-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="kersten" avatar="no" teams="main, de">
|
||||
@@ -188,6 +199,7 @@
|
||||
<function country="DE">coordinator/m</function>
|
||||
<email>kirschner (at) fsfeurope (dot) org</email>
|
||||
<link>/about/kirschner/kirschner.html</link>
|
||||
<avatar>/about/kirschner/kirschner-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="kneissl" avatar="no" teams="main, at">
|
||||
@@ -202,6 +214,7 @@
|
||||
<country>DE</country>
|
||||
<email>koch (at) fsfeurope (dot) org</email>
|
||||
<link>http://blogs.fsfe.org/werner/</link>
|
||||
<avatar>/about/koch/koch-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="lamers" avatar="no" teams="main">
|
||||
@@ -224,6 +237,7 @@
|
||||
<function>financial-officer/m</function>
|
||||
<email>mueller (at) fsfeurope (dot) org</email>
|
||||
<link>http://wiki.fsfe.org/Fellows/reinhard</link>
|
||||
<avatar>/about/mueller/mueller-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="oberg" avatar="yes" association-member="yes" teams="main">
|
||||
@@ -231,6 +245,7 @@
|
||||
<country>SE</country>
|
||||
<email>oberg (at) fsfeurope (dot) org</email>
|
||||
<link>/about/oberg/oberg.html</link>
|
||||
<avatar>/about/oberg/oberg-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="ohnewein" avatar="no" association-member="yes" teams="main, it">
|
||||
@@ -260,12 +275,14 @@
|
||||
<function>intern/m</function>
|
||||
<email>alessandro (dot) polvani (at) fsfe (dot) org</email>
|
||||
<link>/about/polvani/polvani.html</link>
|
||||
<avatar>/about/polvani/polvani-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="reiter" avatar="yes" association-member="yes" teams="main, de">
|
||||
<name>Bernhard Reiter</name>
|
||||
<country>DE</country>
|
||||
<email>reiter (at) fsfeurope (dot) org</email>
|
||||
<avatar>/about/reiter/reiter-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="rejas" avatar="yes" teams="main">
|
||||
@@ -274,6 +291,7 @@
|
||||
<function country="SE">coordinator/m</function>
|
||||
<email>rejas (at) fsfeurope (dot) org</email>
|
||||
<link>http://blogs.fsfe.org/rejas/</link>
|
||||
<avatar>/about/rejas/rejas-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="rigamonti" avatar="yes" teams="main, it">
|
||||
@@ -283,6 +301,7 @@
|
||||
<function volunteers="translators-it">coordinator/m</function>
|
||||
<email>rigamonti (at) fsfeurope (dot) org</email>
|
||||
<link>http://wiki.fsfe.org/Fellows/cri</link>
|
||||
<avatar>/about/rigamonti/rigamonti-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="roussos" avatar="yes" association-member="yes" teams="main">
|
||||
@@ -291,6 +310,7 @@
|
||||
<function>fellowship-representative/m</function>
|
||||
<email>comzeradd (at) fsfeurope (dot) org</email>
|
||||
<link>http://wiki.fsfe.org/Fellows/comzeradd</link>
|
||||
<avatar>/about/roussos/roussos-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="roy" avatar="yes" association-member="yes" teams="main, fr">
|
||||
@@ -300,6 +320,7 @@
|
||||
<function>fellowship-representative/m</function>
|
||||
<email>hugo (at) fsfe (dot) org</email>
|
||||
<link>/about/roy/roy.html</link>
|
||||
<avatar>/about/roy/roy-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="sandklef" avatar="yes" association-member="yes" teams="main">
|
||||
@@ -308,6 +329,7 @@
|
||||
<function>vice-president/m</function>
|
||||
<email>sandklef (at) fsfeurope (dot) org</email>
|
||||
<link>/about/sandklef/sandklef.html</link>
|
||||
<avatar>/about/sandklef/sandklef-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="schiessle" avatar="yes" teams="main, de">
|
||||
@@ -316,6 +338,7 @@
|
||||
<function volunteers="translators-de">coordinator/m</function>
|
||||
<email>schiessle (at) fsfeurope (dot) org</email>
|
||||
<link>http://www.schiessle.org</link>
|
||||
<avatar>/about/schiessle/schiessle-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="suklje" avatar="yes" teams="main">
|
||||
@@ -324,6 +347,7 @@
|
||||
<function project="ftf">coordinator/m</function>
|
||||
<email>hook (at) fsfe (dot) org</email>
|
||||
<link>http://matija.suklje.name</link>
|
||||
<avatar>/about/suklje/suklje-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="tolfsen" avatar="yes" teams="main">
|
||||
@@ -332,6 +356,7 @@
|
||||
<function volunteers="web">deputy/m</function>
|
||||
<email>ato (at) fsfe (dot) org</email>
|
||||
<link>http://sny.no/</link>
|
||||
<avatar>/about/tolfsen/tolfsen-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="tuke" avatar="yes" teams="main, gb">
|
||||
@@ -341,6 +366,7 @@
|
||||
<function country="GB">coordinator/m</function>
|
||||
<email>samtuke (at) fsfe (dot) org</email>
|
||||
<link>/about/tuke/tuke.html</link>
|
||||
<avatar>/about/tuke/tuke-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="weiden" avatar="yes" association-member="yes" teams="main">
|
||||
@@ -348,6 +374,7 @@
|
||||
<country>CH</country>
|
||||
<email>weiden (at) fsfeurope (dot) org</email>
|
||||
<link>/about/weiden/weiden.html</link>
|
||||
<avatar>/about/weiden/weiden-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="willard" avatar="yes" teams="main">
|
||||
@@ -355,6 +382,7 @@
|
||||
<country>SE</country>
|
||||
<function country="SE">deputy/m</function>
|
||||
<email>willard (at) fsfeurope (dot) org</email>
|
||||
<avatar>/about/willard/willard-avatar.jpg</avatar>
|
||||
</person>
|
||||
|
||||
<person id="woolfrey" avatar="yes" teams="gb">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FSFE - Φάκελος</title>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<textset>
|
||||
<errors>
|
||||
<text id="error">An error occured when attempting to send your
|
||||
message.</text>
|
||||
<text id="missing_first_name">Please specify your name.</text>
|
||||
<text id="missing_family_email">Please specify your e-mail.</text>
|
||||
<text id="missing_tel_gsm">Please specify your phone number.</text>
|
||||
<text id="invalid_email">This e-mail is not valid.</text>
|
||||
<text id="invalid_invoice_address">The invoice is too long.</text>
|
||||
<text id="invalid_comment">The comment is too long.</text>
|
||||
</errors>
|
||||
<response>
|
||||
<text id="1">
|
||||
Your reservation was successful!
|
||||
You will recieve a confirmation per email soon.
|
||||
</text>
|
||||
</response>
|
||||
</textset>
|
||||
Executable
+110
@@ -0,0 +1,110 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use utf8;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Basename;
|
||||
use Cwd "abs_path";
|
||||
use CGI;
|
||||
use POSIX qw(strftime);
|
||||
use Text::Wrap;
|
||||
$Text::Wrap::columns = 72;
|
||||
|
||||
our $base_directory;
|
||||
BEGIN { $base_directory = dirname(abs_path("../tools/WebBuild")); }
|
||||
use lib $base_directory;
|
||||
|
||||
use WebBuild::FormValidation;
|
||||
use WebBuild::DynamicContent;
|
||||
|
||||
my $form = WebBuild::FormValidation->new;
|
||||
my $content = WebBuild::DynamicContent->new;
|
||||
my $query = new CGI;
|
||||
|
||||
# <input size="35" name="first_name" type="text">
|
||||
# <input size="35" name="family_name" type="text">
|
||||
# <input size="5" name="fellowship_no" type="text">
|
||||
# <select size="3" name="room">
|
||||
# <option>Doppelzimmer, Kat.1, 40,- EUR pro Nacht</option>
|
||||
# <option>Einzelzimmer, Kat.1, 30,- EUR pro Nacht</option>
|
||||
# <option>Doppelzimmer, Kat.3, 30,- EUR pro Nacht</option>
|
||||
# <option>Einzelzimmer, Kat.3, 22,- EUR pro Nacht</option>
|
||||
# </select>
|
||||
#
|
||||
# <input size="35" name="second_bed_name" type="text">
|
||||
#
|
||||
# <input name="like_to_share" value="yes" type="checkbox">
|
||||
# <input name="sponsor_second_bed" value="yes" type="checkbox">
|
||||
#
|
||||
# <input name="breakfast_sa" value="yes" type="checkbox">
|
||||
# <input name="breakfast_sa_no" value="yes" type="checkbox">
|
||||
# <input name="breakfast_su" value="yes" type="checkbox">
|
||||
# <input name="breakfast_su_no" value="yes" type="checkbox">
|
||||
#
|
||||
# <textarea cols="35" rows="5" name="invoice_address"> </textarea>
|
||||
#
|
||||
# <input size="35" name="tel_gsm" type="text">
|
||||
# <input size="35" name="email" type="text">
|
||||
#
|
||||
# <textarea cols="60" rows="5" name="comment"> </textarea>
|
||||
#
|
||||
# <input name="send" value="Daten absenden" type="submit">
|
||||
|
||||
$form->validates_presence_of("first_name");
|
||||
$form->validates_presence_of("family_name");
|
||||
$form->validates_format_of("email", type => "email");
|
||||
|
||||
$content->layout("../events/clt/clt-hotel.de.html");
|
||||
|
||||
if ($form->has_errors) {
|
||||
$content->content($form->get_errors);
|
||||
$content->render;
|
||||
exit;
|
||||
}
|
||||
|
||||
my $date = strftime "%Y-%m-%d", localtime;
|
||||
my $time = strftime "%s", localtime;
|
||||
|
||||
open(MAIL, "|/usr/lib/sendmail -t -f birgit.huesken\@fsfe.org");
|
||||
print MAIL "Reply-To: " . $query->param("email") . "\n";
|
||||
print MAIL "From: office\@fsfeurope.org\n";
|
||||
print MAIL "To: birgit.huesken\@fsfe.org\n";
|
||||
|
||||
my $subject = "New reservation for the CLT Hotel from " . $query->param("first_name") . " " . $query->param("family_name");
|
||||
|
||||
print MAIL "Subject: $subject" . "\n";
|
||||
print MAIL "Content-Type: text/plain; charset=UTF-8\n\n";
|
||||
print MAIL "We have received a new reservation for the CLT Hotel.\n\n";
|
||||
print MAIL "Name: " . $query->param("first_name") . " " . $query->param("family_name") . "(Fellowhsip Nummer: " . $query->param("fellowship_no") . ")\n";
|
||||
print MAIL "Phone: " . $query->param("tel_gsm") . "\n";
|
||||
print MAIL "E-mail: " . $query->param("email") . "\n\n";
|
||||
print MAIL "Room: " . $query->param("room") . "\n";
|
||||
print MAIL "---\nDoppelzimmer?\n";
|
||||
print MAIL "Second bed name: " . $query->param("second_bed_name") . "\n";
|
||||
print MAIL "Like to share?: " . $query->param("like_to_share") . "\n";
|
||||
print MAIL "Sponsor second bed: " . $query->param("sponsor_second_bed") . "\n";
|
||||
print MAIL "Breakfast Samstag?: " . $query->param("breakfast_sa") . "\n";
|
||||
print MAIL "Breakfast Samstag number: " . $query->param("breakfast_sa_no") . "\n";
|
||||
print MAIL "Breakfast Samstag?: " . $query->param("breakfast_su") . "\n";
|
||||
print MAIL "Breakfast Samstag?: " . $query->param("breakfast_su_no") . "\n";
|
||||
print MAIL "---\nInvoice address:\n";
|
||||
print MAIL wrap('','',$query->param("invoice_address")) . "\n";
|
||||
print MAIL "---\nComment:\n";
|
||||
print MAIL wrap('','',$query->param("invoice_address")) . "\n";
|
||||
print MAIL "---\n\n";
|
||||
|
||||
my $output = <<ENDHTML;
|
||||
|
||||
<div id="flash">
|
||||
<p>
|
||||
Your message was sent, and we will get in touch with you very
|
||||
soon.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
ENDHTML
|
||||
|
||||
$content->content($output);
|
||||
$content->render;
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</contact>
|
||||
|
||||
<contact id="GB">
|
||||
<homepage>/uk</homepage>
|
||||
<email>uk@fsfeurope.org</email>
|
||||
<address>
|
||||
Free Software Foundation Europe, <br />
|
||||
|
||||
@@ -17,6 +17,16 @@
|
||||
<xsl:value-of select="/html/set/country[@id=$country]" />
|
||||
</xsl:element>
|
||||
|
||||
<!-- Team homepage -->
|
||||
<xsl:if test="homepage != ''">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="homepage" />
|
||||
</xsl:attribute>
|
||||
Team Homepage
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
|
||||
<!-- Address -->
|
||||
<xsl:if test="address != ''">
|
||||
<xsl:apply-templates select="address"/>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Internet marketing position</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Voluntary Internet marketer needed</h1>
|
||||
|
||||
<p>Digital freedom affects everyone, and in order to protect their rights people need to know about them. As well as attending community events and managing campaigns, FSFE needs to reach out to new audiences online and make use of tools provided by search engines.</p>
|
||||
|
||||
<p>Thanks to a generous targeted donation FSFE has the resources to run effective internet marketing campaigns, but we need the skills of a creative Free Software marketer to realise the potential.</p>
|
||||
|
||||
<p>The role would likely require just a few hours each week to monitor and adjust campaigns that you had configured. Assistance from other FSFE team members will be available via email should you need it.</p>
|
||||
|
||||
<h2>Responsibilities</h2>
|
||||
|
||||
<ul>
|
||||
<li>Create new Google Adwords campaigns</li>
|
||||
<li>Research effective keywords for drawing new visitors to FSFE and other Free Software web pages</li>
|
||||
<li>Monitor the effectiveness of keywords and adjust them accordingly</li>
|
||||
<li>Be available to initiate new targetted campaigns for occasional FSFE projects</li>
|
||||
<li>Provide a brief (less than 100 words) monthly report on your work and the status of FSFE's campaigns</li>
|
||||
</ul>
|
||||
|
||||
<h2>Apply</h2>
|
||||
|
||||
<p>Please email the <a href="mailto:web@fsfeurope.org">Web Team</a> to express your interest, stating any relevant experience that you may have, and whether you are already an FSFE Fellow.</p>
|
||||
|
||||
<p>Thank you for considering the position!</p>
|
||||
</body>
|
||||
<tags>
|
||||
<tag>marketing</tag>
|
||||
</tags>
|
||||
<timestamp>$Date: 2011-02-17 09:31:39 +0000 (Thu, 17 Feb 2011) $ $Author: maelle $</timestamp>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 306 B |
Binary file not shown.
|
After Width: | Height: | Size: 563 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
@@ -0,0 +1,63 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Warum sie uns unterstützen</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Warum sie uns unterstützen.</h1>
|
||||
|
||||
<div class="testimonial">
|
||||
<img src="inmedias-carsten-brunke.jpg"/>
|
||||
<p>
|
||||
"Sinnvolles Lifecyclemanagement statt herstellerbestimmte Produktzyklen;
|
||||
Integration über Systemgrenzen hinweg statt Vendor-Lock-in; Einblick in die
|
||||
Sourcen statt Aktivierungspflicht - Freie Software erlaubt uns als Systemhaus,
|
||||
unsere Kunden von Zwängen, die nur den Softwareherstellern nützen, zu
|
||||
befreien."
|
||||
<br/>
|
||||
|
||||
<strong>
|
||||
Carsten Brunke - Inmedias.it
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="testimonial">
|
||||
<img src="blank.jpg"/>
|
||||
<br/>
|
||||
<img src="linuxhotel-reinhard-wiesemann.jpg"/>
|
||||
<p>
|
||||
"Eine virtuelle Welt ohne Freie Software ist wie eine Stadt, in der man
|
||||
für jeden Bürgersteig eine Benutzungslizenz benötigt.
|
||||
<br/>
|
||||
Wir brauchen auch Allgemeingut in der virtuellen Welt. (short)" <br/>
|
||||
<br/>
|
||||
|
||||
<strong>
|
||||
Reinhard Wiesemann - Linuxhotel
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="testimonial">
|
||||
<img src="blank.jpg"/>
|
||||
<br/>
|
||||
<img src="ganten08.JPG"/>
|
||||
|
||||
<p>
|
||||
"Freie Software ist das stabile Fundament unserer Unternehmenslösungen, die
|
||||
FSFE leistet einen wichtigen Beitrag zur Sicherung dieses Fundaments. Deswegen
|
||||
unterstützen wir die FSFE."
|
||||
<br/>
|
||||
<strong>
|
||||
Peter Ganten - Univention
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
<timestamp>
|
||||
$Date: 2011-09-26 16:19:00 +0100 (Mon, 26 Sep 2011) $ $Author: alessandro $
|
||||
</timestamp>
|
||||
</html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Contact</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -344,8 +344,11 @@
|
||||
<xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="$id" /></xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test=". = concat(/buildinfo/@filename ,'.html')">
|
||||
<xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="$id" /></xsl:call-template>
|
||||
<xsl:when test=". = concat(/buildinfo/@filename ,'.html')">
|
||||
<xsl:element name="span">
|
||||
<xsl:attribute name="id">selected</xsl:attribute>
|
||||
<xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="$id" /></xsl:call-template>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
tags/tags:global
|
||||
projects/*/project:global
|
||||
@@ -118,9 +118,34 @@
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
|
||||
<script type="text/javascript" src="/scripts/jquery.js"></script>
|
||||
<script type="text/javascript" src="/scripts/master.js"></script>
|
||||
<script type="text/javascript" src="/scripts/placeholder.js"></script>
|
||||
<xsl:for-each select="/buildinfo/document/author">
|
||||
<xsl:variable name="id">
|
||||
<xsl:value-of select="@id" />
|
||||
</xsl:variable>
|
||||
<xsl:element name="meta">
|
||||
<xsl:attribute name="name">author</xsl:attribute>
|
||||
<xsl:attribute name="content">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id and document('about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<xsl:value-of select="document('about/people/people.en.xml')/personset/person[@id=$id]/name" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="name" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
|
||||
<script src="/scripts/jquery.js"></script>
|
||||
<script src="/scripts/master.js"></script>
|
||||
<script src="/scripts/placeholder.js"></script>
|
||||
<script src="/scripts/highlight.pack.js"></script>
|
||||
|
||||
<script>
|
||||
hljs.tabReplace = " ";
|
||||
hljs.initHighligtingOnLoad();
|
||||
</script>
|
||||
|
||||
<xsl:comment>
|
||||
<![CDATA[
|
||||
@@ -189,7 +214,7 @@
|
||||
</xsl:if>
|
||||
<!-- End apply newsletter page rules -->
|
||||
|
||||
<!-- Apply article rules -->
|
||||
<!-- Depreciated- see next block: Apply article rules -->
|
||||
<xsl:if test = "string(/buildinfo/document/head/meta[@name='author-name-1']/@content)">
|
||||
<xsl:element name="div">
|
||||
<xsl:attribute name="id">article-metadata</xsl:attribute>
|
||||
@@ -247,6 +272,74 @@
|
||||
</xsl:element> <!-- </div> -->
|
||||
</xsl:if>
|
||||
<!-- End Apply article rules -->
|
||||
|
||||
<!--Article authors, date -->
|
||||
<xsl:if test="/buildinfo/document/author or /buildinfo/document/date or /buildinfo/document/download">
|
||||
<xsl:element name="div">
|
||||
<xsl:attribute name="id">article-metadata</xsl:attribute>
|
||||
|
||||
<xsl:if test="/buildinfo/document/author">
|
||||
<span class="label"><xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="'writtenby'" /></xsl:call-template> </span>
|
||||
|
||||
<xsl:for-each select="/buildinfo/document/author">
|
||||
<xsl:variable name="id">
|
||||
<xsl:value-of select="@id" />
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id and document('about/people/people.en.xml')/personset/person[@id=$id]">
|
||||
<!-- if the author is in fsfe's people.xml then we take information from there -->
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="class">author</xsl:attribute>
|
||||
<xsl:attribute name="rel">author</xsl:attribute>
|
||||
<xsl:attribute name="href"><xsl:value-of select="document('about/people/people.en.xml')/personset/person[@id=$id]/link" /></xsl:attribute>
|
||||
<xsl:if test="document('about/people/people.en.xml')/personset/person[@id=$id]/avatar">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"></xsl:attribute>
|
||||
<xsl:attribute name="src"><xsl:value-of select="document('about/people/people.en.xml')/personset/person[@id=$id]/avatar" /></xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="document('about/people/people.en.xml')/personset/person[@id=$id]/name" />
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="class">author</xsl:attribute>
|
||||
<xsl:attribute name="rel">author</xsl:attribute>
|
||||
<xsl:attribute name="href"><xsl:value-of select="link" /></xsl:attribute>
|
||||
<xsl:if test="avatar">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"></xsl:attribute>
|
||||
<xsl:attribute name="src"><xsl:value-of select="avatar" /></xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="name" />
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="/buildinfo/document/date">
|
||||
<span class="label"><xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="'published'" /></xsl:call-template> </span>
|
||||
<xsl:value-of select="/buildinfo/document/date/original/@content" /> 
|
||||
<xsl:if test="/buildinfo/document/date/revision">
|
||||
(<span class="label"><xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="'revision'" /></xsl:call-template> </span>
|
||||
<xsl:value-of select="/buildinfo/document/date/revision/@content" />) 
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="/buildinfo/document/download">
|
||||
<span class="label"><xsl:call-template name="fsfe-gettext"><xsl:with-param name="id" select="'download'" /></xsl:call-template> </span>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href"><xsl:value-of select="/buildinfo/document/download/@content" /></xsl:attribute>
|
||||
<xsl:value-of select="/buildinfo/document/download/@type" />
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
<!--End Article authors, date-->
|
||||
|
||||
</xsl:template>
|
||||
<!-- End modifications to H1 -->
|
||||
@@ -769,7 +862,7 @@
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<!--old cc license way-->
|
||||
<!--Depreciated: it's here only for "backward compatibility" cc license way-->
|
||||
<xsl:if test = "string(/buildinfo/document/head/meta[@name='cc-license']/@content)">
|
||||
<xsl:element name="div">
|
||||
<xsl:attribute name="id">cc-licenses</xsl:attribute>
|
||||
@@ -979,7 +1072,7 @@
|
||||
|
||||
<!-- Do not copy non-HTML elements to output -->
|
||||
<xsl:template match="timestamp|
|
||||
translator|
|
||||
buildinfo/document/translator|
|
||||
buildinfo/set|
|
||||
buildinfo/textset|
|
||||
buildinfo/textsetbackup|
|
||||
@@ -989,8 +1082,11 @@
|
||||
buildinfo/trlist|
|
||||
buildinfo/fundraising|
|
||||
buildinfo/localmenuset|
|
||||
tags|
|
||||
legal"/>
|
||||
buildinfo/document/tags|
|
||||
buildinfo/document/legal|
|
||||
buildinfo/document/author|
|
||||
buildinfo/document/date|
|
||||
buildinfo/document/download"/>
|
||||
|
||||
<!-- For all other nodes, copy verbatim -->
|
||||
<xsl:template match="@*|node()" priority="-1">
|
||||
|
||||
+15
-2
@@ -2,6 +2,12 @@
|
||||
|
||||
FSFE Fellowship stylesheet
|
||||
|
||||
This stylesheet inherits from /look/generic.css which is the main FSFE
|
||||
website stylesheet.
|
||||
|
||||
When more subsite stylesheets are added the structure of this file
|
||||
should be reviewed so that we avoid code duplication.
|
||||
|
||||
*/
|
||||
|
||||
body {
|
||||
@@ -14,18 +20,25 @@ a:link {
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: rgb(82,130,52);
|
||||
color: rgb(193,225,151);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
color: rgb(66,121,32);
|
||||
}
|
||||
|
||||
#logo {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#header {
|
||||
background-image: url("/graphics/fellowship/ribbon_fellowship2.png");
|
||||
background-position: bottom left;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
/* display Fellowship sidebar menu, hiding FSFE menu */
|
||||
#menu ul li.fellowship ul { display: block }
|
||||
#menu ul li.fsfe ul { display: none }
|
||||
+30
-15
@@ -43,7 +43,7 @@ body {
|
||||
background-color: rgb(240,240,240);
|
||||
background-image: url("/graphics/ribbon-gray.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 19px 70px;
|
||||
background-position: 19px 61px;
|
||||
}
|
||||
|
||||
/* This is a suboptimal solution, should seek something more generic */
|
||||
@@ -282,16 +282,15 @@ p.left {
|
||||
/* header */
|
||||
#header {
|
||||
background: url("/graphics/ribbon.png") no-repeat scroll left bottom transparent;
|
||||
min-height: 220px;
|
||||
margin: 0;
|
||||
min-height: 200px;
|
||||
padding: 0 1em;
|
||||
width: 100%
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#logo {
|
||||
float: left;
|
||||
margin: 1em 0 0 1%;
|
||||
max-width: 29%;
|
||||
padding-right: 1em;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
@@ -301,10 +300,9 @@ p.left {
|
||||
|
||||
#statement {
|
||||
color: rgb(140,140,140);
|
||||
float: left;
|
||||
font-size: 120%;
|
||||
margin: 3em 2% 0 8%;
|
||||
width: 60%;
|
||||
width: 100%;
|
||||
padding-top: 1.8em;
|
||||
}
|
||||
|
||||
|
||||
@@ -827,6 +825,7 @@ h4#subpages + ul li:nth-child(odd) {
|
||||
|
||||
#menu ul li a {
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#menu ul + ul {
|
||||
@@ -1419,7 +1418,7 @@ ul.overview {
|
||||
/* Article pages */
|
||||
#article-metadata {
|
||||
color: rgb(150,150,150);
|
||||
margin: 0.5em 0 1.5em;
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
#article-metadata p {
|
||||
@@ -1427,18 +1426,34 @@ ul.overview {
|
||||
}
|
||||
|
||||
#article-metadata a {
|
||||
color: rgb(50,50,50);
|
||||
/* color: rgb(50,50,50);*/
|
||||
}
|
||||
|
||||
#article-metadata span.label {
|
||||
padding-left: 1em;
|
||||
/*#article-metadata span.label {*/
|
||||
/* padding: 0 .5em 0 0;*/
|
||||
/* margin-left: 1em;*/
|
||||
/*}*/
|
||||
|
||||
/*#article-metadata span.label:first-child {*/
|
||||
/* margin-left: 0;*/
|
||||
/*}*/
|
||||
|
||||
#article-metadata img {
|
||||
height:24px;
|
||||
margin:.2em;
|
||||
margin-bottom: -0.2em;
|
||||
box-shadow: 0 0 3px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
#article-metadata span.label:first-child {
|
||||
padding-left: 0;
|
||||
#article-metadata a.author {
|
||||
padding-right:.7em;
|
||||
}
|
||||
|
||||
p#article-attachmt {
|
||||
#article-metadata a.author:last-child {
|
||||
padding-right:0;
|
||||
}
|
||||
|
||||
#article-attachmt {
|
||||
float: right;
|
||||
margin-top: -3em;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<html newsdate="2011-04-12">
|
||||
<head>
|
||||
<title>
|
||||
FSFE begrüßt kleine Anfrage der Grünen zur Rückmigration im Auswärtigen Amt
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>
|
||||
FSFE begrüßt kleine Anfrage der Grünen zur Rückmigration im Auswärtigen Amt
|
||||
</h1>
|
||||
|
||||
<p newsteaser="yes">
|
||||
Berlin, 15. April. Die Free Software Foundation Europe begrüßt die
|
||||
kleine Anfrage der Fraktion Bündnis 90/Die Grünen zur
|
||||
<a href="http://gruen-digital.de/2011/04/kleine-anfrage-an-die-bundesregierung-zur-foerderung-freier-software/">Rückmigration
|
||||
des Auswärtigen Amts auf Microsoft Windows XP</a>.</p>
|
||||
|
||||
<p>Die Grünen bemängeln, dass die Haltung der Bundesregierung zum Einsatz
|
||||
Freier Software weiterhin unklar ist. Sie stellen Rückfragen auf die
|
||||
ausweichenden Antworten der Bundesregierung auf die kleine Anfrage der
|
||||
SPD und gehen in den 39 Fragen außerdem auf die Freie-Software-Strategie
|
||||
der Bundesregierung; die Verbreitung Offene Standards; Software-Monopole
|
||||
und Herstellerabhängigkeit; IT-Sicherheit; und die Rolle des
|
||||
Innenministeriums, des Bundesamts für Sicherheit in der
|
||||
Informationstechnik (BSI) und des Open-Source-Kompetenzzentrum des
|
||||
Bundesverwaltungsamtes (CCOSS); ein.
|
||||
</p>
|
||||
|
||||
<p>"Die FSFE hat von Anfang an <a href="/news/2011/news-20110202-02.html">Transparenz für diese Entscheidung
|
||||
gefordert</a>, um gemeinsam an Lösungen zu arbeiten. Das Auswärtige Amt
|
||||
und die Bundesregierung können die Gründe für diesen
|
||||
wirtschaftspolitischen Strategiewechsel nicht länger vor dem Bürger
|
||||
geheim halten. Wir begrüßen es, dass die Grünen - wie bereits die SPD -
|
||||
dem Problem im Parlament nachgehen", sagt Matthias Kirschner,
|
||||
Deutschlandkoordinator der FSFE.</p>
|
||||
|
||||
<p>Mehr dazu unter <a href="http://blogs.fsfe.org/mk/?p=771">"Die zweite 'Kleine' zur Rückmigration im Auswärtigen Amt"</a>.</p>
|
||||
|
||||
|
||||
<h2>Pressekontakt</h2>
|
||||
|
||||
<p><a href="mailto:mk at fsfe dot org">Matthias Kirschner</a>, Free Software Foundation Europe<br/>
|
||||
Linienstraße 141, 10115 Berlin<br/>
|
||||
Telefon: +49-30-275 95 290<br/>
|
||||
Mobil: +49-1577-178 000 3</p>
|
||||
|
||||
|
||||
<h2>Über die Free Software Foundation Europe</h2>
|
||||
|
||||
<p>Die Free Software Foundation Europe (FSFE) ist eine gemeinnützige,
|
||||
regierungsunabhängige Organisation, die in vielen Ländern Europas
|
||||
aktiv und in vielen globalen Aktionen involviert ist. Der Zugang zu
|
||||
Software entscheidet über die Teilhabe an der digitalen Gesellschaft.
|
||||
Um Chancengleichheit im Informationszeitalter und die Freiheit des
|
||||
Wettbewerbs sicherzustellen, widmet sich die Free Software Foundation
|
||||
Europe (FSFE) der Förderung Freier Software, welche dadurch definiert
|
||||
wird, dass sie von jedem Menschen uneingeschränkt benutzt, untersucht,
|
||||
verändert und weitergegeben werden kann. Dies ins öffentliche
|
||||
Bewusstsein zu rücken und der Freien Software politische und
|
||||
rechtliche Sicherheit zu verschaffen, sind die wichtigsten Ziele der
|
||||
FSFE, die 2001 gegründet wurde.</p>
|
||||
|
||||
<p>Weitere Informationen über die Arbeit der FSFE finden Sie auf
|
||||
<a href="http://fsfe.org/">fsfe.org</a>.</p>
|
||||
|
||||
</body>
|
||||
<tags>
|
||||
<tag>de</tag>
|
||||
</tags>
|
||||
|
||||
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
+430
@@ -0,0 +1,430 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Free Software Foundation Europe concerned about Nortel patent sale</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Free Software Foundation Europe concerned about Nortel patent sale</h1>
|
||||
|
||||
<div id="article-metadata"><p><span class="label">Authors: </span><a rel="author" href="/about/gerloff/gerloff.en.html">Karsten Gerloff</a> with a contribution by Carlo Piana<span class="label">Sent: </span>2011-12-22<span class="label">Published: </span>2011-12-22</p></div>
|
||||
|
||||
|
||||
<h2>Executive Summary</h2>
|
||||
|
||||
<p>
|
||||
- Free Software is a motor of competition and innovation. The most likely intent of the Rockstar consortium members is to attack Free Software and reduce competition in the software market. Android would merely be the first target, but by no means the last. It is very well understood in the Free Software community that an attack on Android by the three largest competitors are in fact a proxy fight about the Linux kernel, and on Free Software in general.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
- The acquisition of Nortel's patents by Rockstar Bidco is a repeat of the Novell / CPTN case, though on a much larger scale. Any actions by the DOJ should be consistent with those taken in the Novell / CPTN case, as they would be equally warranted.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
- Allowing the sale of Nortel's patents to the Rockstar Bidco members to proceed without modifications or conditions would threaten competition in the market for software and ICT. There is no "red line" below which the transfer of Nortel's patents to the Rockstar Bidco members can be assumed not to cause harm to competition in the software and ICT market.
|
||||
</p>
|
||||
|
||||
<h3>Table of Contents</h3>
|
||||
<ol>
|
||||
<li><a href="#1" name="TOC1">About FSFE</a></li>
|
||||
<li><a href="#2" name="TOC2">A broad attack on Free Software</a></li>
|
||||
<li><a href="#3" name="TOC3">Leveraging existing dominant positions</a></li>
|
||||
<li><a href="#4" name="TOC4">Android as a likely first target</a></li>
|
||||
<li><a href="#5" name="TOC5">Two lines of attack</a></li>
|
||||
<li><a href="#6" name="TOC6">Line of attack 1: Blocking distribution</a></li>
|
||||
<li><a href="#7" name="TOC7">Particular concern: The Linux kernel</a></li>
|
||||
<li><a href="#8" name="TOC8">Line of attack 2: Raising a tax on Free Software</a></li>
|
||||
<li><a href="#9" name="TOC9">Attacks by Rockstar members on Android</a></li>
|
||||
<li><a href="#10" name="TOC10">Further patent-based attacks: Lodsys vs app developers</a></li>
|
||||
<li><a href="#11" name="TOC11">Fear, Uncertainty and Doubt (FUD) as an anticompetitive strategy</a></li>
|
||||
<li><a href="#12" name="TOC12">How will Rockstar members generate ROI at such a high price per patent?</a></li>
|
||||
<li><a href="#13" name="TOC13">Is there a "red line" quantity of patents which can be transferred without harming competition?</a></li>
|
||||
<li><a href="#14" name="TOC14">Transaction would strengthen existing dominant positions</a></li>
|
||||
<li><a href="#15" name="TOC15">Conclusions</a></li>
|
||||
<li><a href="#16" name="TOC16">Recommended course of action</a></li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p></p>
|
||||
|
||||
<h2><a name="1"/>About FSFE</h2>
|
||||
<p>
|
||||
Free Software Foundation Europe (FSFE) <sup><a href="#1">1</a></sup> is an independent, non-profit, charitable organisation dedicated to Free Software<sup><a href="#2">2</a></sup>. FSFE maintains that the freedoms to use, study, share and improve software are critical to ensuring equal participation in the information age. We work to create general understanding and support for software freedom in politics, law and society-at-large. We also promote the development of technologies, such as the GNU/Linux operating system, that deliver these freedoms to all participants in digital society.
|
||||
</p>
|
||||
<p>
|
||||
In pursuit of these goals, we have a long history of active involvement in competition and antitrust proceedings that affect Free Software, starting with our admission as a third party in the European Commission's competition lawsuit against Microsoft in 2001. The acquisition of Nortel's patent portfolio by a consortium of Apple, Microsoft, Research in Motion, EMC, Ericsson and Sony is such a case.
|
||||
</p>
|
||||
|
||||
<h2><a name="2"/>A broad attack on Free Software </h2>
|
||||
<p>
|
||||
Our concerns center around the transfer of a large set of patents, many of which are presumed to relate to basic computing and mobile technologies such as networking, to companies which have a record of aggressively using patents for anticompetive purposes. Additionally, this transfer is taking place in a market where patent aggression has recently reached unprecedented levels.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As noted in our previous submission, the patents sold by Nortel are likely to affect mobile, desktop and server operating systems, along with many other technologies that form the basis of much of the economic activity in today's IT market.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the hands of large, even dominant companies with a record of patent-based aggressive behaviour, this portfolio could easily wreak havoc on competition in the markets for software and smartphones.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In these markets, Free Software is an important competitive force, as it provides a platform on which businesses can build and deploy their own solutions, provide services, or pursue a variety of other business models. The transfer of Nortel's patents to Microsoft, Apple, RIM, EMC, Sony and Ericsson would significantly increase legal risks for large and small companies operating in Free Software, along with individual developers.
|
||||
</p>
|
||||
|
||||
<h2><a name="3"/>Leveraging existing dominant positions</h2>
|
||||
|
||||
<p>
|
||||
Mobile devices today account for roughly 2.5% of Internet traffic <sup><a href="#3">3</a></sup>, with a clear upward trend.<sup><a href="#4">4</a></sup>
|
||||
</p>
|
||||
<p>
|
||||
New device form factors such as tablets and smartphones with touchscreen interfaces enable new consumer groups (such as senior citizens) to make use of the latest technology, opening up new markets and contributing to consumer welfare. While mobile devices receive most of the consumer-level attention today, the center of development is likely to shift to other areas in the coming years. These areas are embedded devices, such as household appliances or medical devices, and the "Internet of Things", in which a large number of objects will be uniquely identifiable by computers, enabling a host of new applications.
|
||||
</p>
|
||||
<p>
|
||||
It is rapidly becoming clear that tablet devices will be the point of convergence for PCs and smartphones. Particularly significant in this regard is the latest iteraction of Microsoft's operating system, Windows 8, with an interface that is clearly directed at touchscreens. This a terrain where Apple's position is threatened by the emergence of various devices powered by Android. The focus on tablets of Windows 8, the latest version of Microsoft's operating system, shows that Microsoft is clearly interested in the tablet market as well.
|
||||
</p>
|
||||
<p>
|
||||
Nortel's patent portfolio would likely enable some members of the Rockstar consortium to leverage their existing dominance in certain areas (e.g. Microsoft in desktop computing and office productivity), into these new markets. The embedded space would be particularly under threat, as would be the market for smartphones and tablet computers.
|
||||
</p>
|
||||
|
||||
<h2><a name="4"/>Android as a likely first target</h2>
|
||||
<p>
|
||||
Google's Android operating system is currently leading the smartphone market in terms of market share. Given that five of the six Rockstar member companies are active in the smartphone business, and three of them (Apple, Microsoft, and RIM) market their own software platfroms, it is widely reckoned that the immediate purpose of the Rockstar consortium members in acquiring Nortel's patent portfolio is to engage in patent litigation against Google and/or the various companies which make and distribute Android devices. In fact, several such lawsuits are already underway in Europe and the US. We will list them in detail below.
|
||||
</p>
|
||||
<p>
|
||||
Yet we would like to emphasise that the risk which we see in this transaction is by no means limited to Android. Given the fundamental nature of many of the technologies covered by Nortel's patent portfolio, almost any company in the software industry could see itself faced with aggressive behaviour based on these patents. Android is likely to be merely the first target, rather than the only one.
|
||||
</p>
|
||||
|
||||
<h2><a name="5"/>Two lines of attack</h2>
|
||||
|
||||
<p>
|
||||
If our assumptions about the nature of Nortel's patent portfolio are correct, these patents will put the Rockstar Bidco members in a position to either block the distribution of, potentially extract a tax on pretty much any modern computing device or program. The question will merely be which one they choose to target.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="6"/>Line of attack 1: Blocking distribution</h2>
|
||||
|
||||
<p>
|
||||
The first line of attack is that companies such as Microsoft or Apple may use the patents in an attempt to prohibit outright the development and distribution of Free Software programs which compete with their own proprietary offerings. High-profile targets are programs such as the Linux kernel, LibreOffice, and many partParticular concern: The Linux kernels of the GNU/Linux operating system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In all these cases, software revenue is not based on the number of units or copies sold, but is rather realised through a wide variety of other means. An obligation to pay per-unit royalties in order to distribute Free Software would be fundamentally incompatible with the copyleft<sup><a href="#5">5</a></sup> nature of the GNU General Public License<sup><a href="#6">6</a></sup>, covering the Linux kernel and a many other Free Software systems, eliminating the economic benefits available from Free Software -- full competition and greater consumer choice.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The key factor of the GPL's success is that it lets recipients of a program use, study, share and improve the software without restrictions. Everyone is free to redistribute the programs on the terms of the license. Crucially, the GPL forbids adding additional conditions for redistribution, since this would render this copyleft<sup><a href="#5">5</a></sup> mechanism ineffective.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The obligation to pay a licensing fee in order to redistribute the software is just such a condition. Such a requirement would be fundamentally incompatible with the GPL, with the effect of making it legally impossible to redistribute Free Software. The consequence would be that users and consumers would be denied the possibility to choose Free Software. The existing dominant positions in many markets of Microsoft in particular would be strengthened. Competition would be weakened in various markets for software as key competitors are removed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The second line of attack, which we discuss in more detail below, is aimed not at removing Free Software competitors from the market. Instead, the goal is to impose a tax on these systems, driving up their price to be equal to or higher than the price of competing proprietary systems offered by the Rockstar member companies.
|
||||
</p>
|
||||
|
||||
<h2><a name="7"/>Particular concern: The Linux kernel</h2>
|
||||
|
||||
<p>
|
||||
A key reason why we believe that this transaction poses a broader risk to Free Software is that many of Nortel's patents are presumed to read on technologies implemented in the Linux kernel.
|
||||
</p>
|
||||
<p>
|
||||
The Linux kernel (i.e. the part of the operating system that interacts directly with a computer's hardware) is Free Software. It is distributed under the GNU General Public License version 2<sup><a href="#6">6</a></sup>. The GNU General Public License (GPL) in its version 2 and 3 is, by a wide margin, the most widely used Free Software license in the world<sup><a href="#7">7</a></sup>.
|
||||
</p>
|
||||
<p>
|
||||
This kernel is a central component of the GNU/Linux operating system, the most important competitor to the operating systems marketed by Microsoft nd Apple. On the desktop, the GNU/Linux system offers a free (as in freedom) alternative to Microsoft's Windows and Apple's MacOS. On servers, the GNU/Linux operating system forms the basis of the so-called LAMP stack, the most common configuration<sup><a href="#8">8</a></sup> for web servers<sup><a href="#9">9</a></sup>.
|
||||
</p>
|
||||
<p>
|
||||
In the embedded industry, the Linux kernel is fast becoming the default software which companies use to power their devices. The Linux kernel is in use in a broad range of embedded devices, ranging from televisions to routers to cars and elevators.
|
||||
</p>
|
||||
<p>
|
||||
Taken together, this means a huge swathe of the IT industry would be negatively affected by a successful patent-based attack on the Linux kernel.
|
||||
</p>
|
||||
<p>
|
||||
The Linux kernel is also the basis of the Android operating system. Put simply, the Android mobile operating system consists of the Linux kernel and the Dalvik virtual machine. Applications ("apps") on Android run within the Dalvik virtual machine.
|
||||
</p>
|
||||
|
||||
<h2><a name="8"/>Line of attack 2: Raising a tax on Free Software</h2>
|
||||
|
||||
<p>
|
||||
As previously mentioned, patent litigation in the smartphone industry has recently reached unprecedented levels, with new lawsuits being launched on a weekly basis. The sale of Nortel's patents to the Rockstar consortium would only add fuel to this fire.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="9"/>Attacks by Rockstar members on Android</h2>
|
||||
|
||||
<p>
|
||||
Several member companies of the Rockstar consortium are currently engaged in a lawsuit against makers of Android devices. In a market where proprietary platforms are the norm, Android acts as a disruptive force. It turns mobile phone operating systems into a zero priced commodity. It also turns over greater power to users and OEMs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Though Google's services are enabled in Android by default, OEMs are free to remove and replace these with services of their choice. They also have the option of customising the platform to any degree they wish. Exemplifying this, it emerged in August that Samsung Mobile (a large producer of Android phones) has hired Steve 'Cyanogen' Kondik, an expert known for creating the most widely used alternative ("homebrew") version of Android, CyanogenMod.<sup><a href="#10">10</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft in particular is very active in pushing makers of Android devices into signing licensing agreements and paying royalties, or in pursuing lawsuits against companies which resist signing such an agreement. As a rule, the terms and conditions of these licensing agreements are not made public. Some analysts even believe that Microsoft is currently making more money from Android than from Windows Phone 7, its own mobile platform.<sup><a href="#11">11</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are currently aware of the following lawsuits by Microsoft against Android device makers:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
- Oct. 1, 2010: <a href="http://www.macworld.com/article/154529/2010/10/microsoft_android_lawsuit.html">Microsoft sues Motorola over Android phones</a>.
|
||||
</p>
|
||||
<p>
|
||||
- <a href="http://www.macworld.com/article/158683/2011/03/microsoft_barnesnoble_android.html">Microsoft sues Barnes & Noble over Android</a> "Microsoft has filed a patent lawsuit against bookseller Barnes & Noble, accusing the company of running infringing software on its Android-based Nook e-reader."
|
||||
</p>
|
||||
<p>
|
||||
- April 11, 2011: <a href="http://news.cnet.com/8301-13860_3-20003602-56.html">Microsoft signs patent deal with HTC over Android</a> "Microsoft said it has been in talks with other phone makers."
|
||||
</p>
|
||||
<p>
|
||||
- mid-June 2011: <a href="http://news.cnet.com/8301-10805_3-20076890-75/microsoft-wistron-ink-android-patent-deal/">Microsoft signs patent deals with Android device makers</a> General Dynamics Itronix, Velocity Micro, and Onkyo
|
||||
|
||||
</p>
|
||||
<p>
|
||||
- July 5, 2011: <a href="http://news.cnet.com/8301-10805_3-20076890-75/microsoft-wistron-ink-android-patent-deal/ - WRONG">Microsoft, Wistron ink Android patent deal</a> "the fourth patent-licensing deal in two weeks with a maker of Android devices"
|
||||
</p>
|
||||
<p>
|
||||
- September 11, 2011: <a href="http://www.microsoft.com/Presspass/press/2011/sep11/09-20CasioPR.mspx">Microsoft and Casio sign patent agreement</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Apple is similarly active in patent litigation against makers of Android devices:
|
||||
</p>
|
||||
<p>
|
||||
- <a href="http://en.wikipedia.org/wiki/Apple\_Inc.\_litigation#Apple\_v.\_HTC">Apple Inc. filed a patent infringement suit against HTC</a> on 2 March 2010 at the U.S. District Court for the District of Delaware, and also filed a complaint against HTC under Section 337 of the Tariff Act of 1930 (as amended) at United States International Trade Commission, Washington, D.C. The suit involves 20 alleged patent infringements relating to the iPhone's user interface, underlying architecture and hardware.
|
||||
</p>
|
||||
<p>
|
||||
- <a href="http://en.wikipedia.org/wiki/Apple_Inc._litigation#Apple\_v.\_Samsung:\_Android\_phones\_and\_tablets">Apple v. Samsung: Android phones and tablets.</a> Apple sued Samsung, one of its component suppliers, in a 38-page legal complaint on April 15, 2011 in the U.S. District Court for the Northern District of California, alleging that several of Samsung’s Android phones and tablets, including the Nexus S, Epic 4G, Galaxy S 4G, and the Samsung Galaxy Tab, infringe on [...] Apple's patented technology, trademarks, user interface and innovative style.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Additional patent-based activity directed against Android includes an amendment to a lawsuit by Interval Licensing, owned by Microsoft co-founder Paul Allen. "The amended suit targets Google’s Android mobile operating system in a move that could spell trouble for phone manufacturers and app developers."<sup><a href="#12">12</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are concerned that, given the breadth of Nortel's patent portfolio, this effort to create a tax on the use of Android will serve as a template for similar exercises in the future. This would allow the Rockstar consortium members to levy a tax on software that they had no hand in creating.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the members of the Rockstar bidding consortium are enabled by the transaction to impose a "tax" on Android, this will remove one of the system's two key advantages; while it would remain highly customisable, it would no longer be gratis to OEMs. As OEMs typically operate in hyper-competitive low margin markets, a price increase of a few cents per unit could already be damaging. Yet Microsoft seems to be targetting licensing fees of 15 US dollars per Android device sold.<sup><a href="#13">13</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
While this may be feasible for some makers of high-end smartphones, paying this sort of "tax" would eliminate the margins for devices in the middle and lower market segments, significantly reducing consumer choice. Already at the present stage, Microsoft has effectively gamed the patent system to generate revenue from manufacturers' use of Android.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="10"/>Further patent-based attacks: Lodsys vs app developers</h2>
|
||||
|
||||
<p>
|
||||
Another long-standing fear held by software developers recently turned out to be all too real when Lodsys, a non-practicing entity, threatened lawsuits against a raft of iOS application developers in May 2011.<sup><a href="#14">14</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Apple, recognising a threat to its business model of generating revenue from app sales, stepped in. Lodsys then shifted its activity to Android app developers.<sup><a href="#15">15</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Around the same time, another US-based non-practicing entity called Macrosolve began a set of similar lawsuits against both iOS and Android developers, based on a single patent.<sup><a href="#16">16</a></sup>
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="11"/>Fear, Uncertainty and Doubt (FUD) as an anticompetitive strategy</h2>
|
||||
|
||||
<p>
|
||||
These patent-based attacks cause some immediate damage, insofar as a company targeted in a lawsuit will usually either be obliged to pay damages, or -- more frequently -- will settle out of court. But these attacks also have the much broader effect of creating Fear, Uncertainty and Doubt (FUD) around Android in particular, and Free Software in general. Both effects combine to form what amounts to a tax on the use of Android, levied by companies that had no hand in creating the system.
|
||||
</p>
|
||||
<p>
|
||||
There already exists a well-known template for this sort of strategy. It is a decade-old effort made by Microsoft to both contain the widespread use of the Linux kernel, and to at the same time extract revenue from it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft /claims/ to 225 patents reading on the Linux kernel, and has built an ongoing campaign of Fear, Uncertainty and Doubt on this claim, pressuring a significant number of companies into signing licensing agreements with Microsoft. So a mere claim, entirely unproven, to hold patents reading on key technologies serves to underpin a campaign to limit competition from platforms based on the Linux kernel. This effect was recognised by the German Federal Competition Office in the context of the acquisition of Novell's patent portfolio by the CPTN consortium:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"These [competition concerns by the DOJ and the German FCO] concerned in particular the markets for operational systems and virtualization software, in which Microsoft and EMC/VMware are, at least, powerful. On these markets, there is a general possibility to apply so-called FUD strategies ("Fear, Uncertainty, Doubt") against smaller competitors, which can be pursued by means of patent actions."<sup><a href="#17">17</a></sup>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Today, the Linux kernel is being widely used in the embedded industry. If Nortel's patents were to enable Microsoft to pursue a more effective FUD campaign against the Linux kernel than it does today, this would let the company extract long-term rents from embedded device makers, hampering innovation and competition in the industry.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Given the fundamental nature of many of the technologies which we must presume to be covered by Nortel's patent portfolio, we are extremely concerned that the Rockstar members will turn to attacking core Free Software programs such as the Linux kernel.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft has every incentive to use this strategy in the various markets where its dominant position is threatened by Free Software competitors, such as office productivity software and workgroup servers; and in markets where it wishes to expand its market share from a low base, such as mobile phones. Allowing Microsoft to acquire Nortel's patents would thus both cement the company's dominant positions where it holds them, and let it acquire dominant positions where it does not yet hold them.
|
||||
</p>
|
||||
|
||||
<h2><a name="12"/>How will Rockstar members generate ROI at such a high price per patent?</h2>
|
||||
|
||||
<p>
|
||||
The Rockstar consortium is an uncommon gathering of companies which have only one single trait in common: They are disrupted by a new competitor that offers valuable technology at a price of zero. From this point of view, this acquisition is akin to an exclusionary patent pool, an exclusionary one -- something which usually merits close antitrust scrutiny.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
From the history of the transaction, it is apparent that the companies have not teamed up to acquire technology in which they are interested. A notable feature about Rockstar's acquisition of Nortel's patent portfolio is the price paid per patent. The headline figure works out at USD 750,000 per patent. A more detailed analysis, however, reveals a far higher price per patent:
|
||||
</p>
|
||||
|
||||
<p><q>
|
||||
"look /[sic]/ at patents currently in force drops this number down to 2000, which is the number similarly reported by IAM. At 2000 assets, the price per patent skyrockets to \$2.25 MM each. If you would assume that the 1000 or so patents with at least 10 years of term remaining were the primary drivers of the purchase, then double that amount to \$4.5 MM each."<sup><a href="#18">18</a></sup>
|
||||
</q></p>
|
||||
|
||||
<p>
|
||||
This contrasts noticeably with the (still impressive) ca. USD 500,000 per patent which the CPTN consortium paid for Novell's patents earlier this year.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The fact that the Rockstar consortium members were willing to pay such a high price per patent indicates that they expect a stronger return on their investment than could be expected from merely using the patents to develop and market new technologies. Such a level of return can only conceivably be generated through aggressive behaviour. Attacking Android appears the most likely option at the moment.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
However, given the fundamental nature of some of Nortel's patents, the same strategy could be easily deployed against any other system that competes with the offerings of the Rockstar member companies. Free Software systems such as the Linux kernel, the GNU operating system, and a number of other key Free Software programs might well be next.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="13"/>Is there a "red line" quantity of patents which can be transferred without harming competition?</h2>
|
||||
|
||||
<p>
|
||||
From the above analysis, we conclude that the question of whether the Nortel deal poses a risk to competition from Free Software cannot be framed in terms of how many patents the members of Rockstar Bidco are allowed to acquire from Nortel. The Rockstar member companies would be liable to use any part of Nortel's patent portfolio to pursue either one or both lines of attack described above:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
- Use patent litigation to push Free Software competitors out of the market and strengthen dominant positions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
- Impose a tax on Free Software systems in order to make them less attractive to users and OEMs than the proprietary offerings of the Rockstar member companies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The recent patent lawsuits against application developers by Lodsys vividly demonstrates that even a very small number of patents can be used to cause significant disruption in the market.
|
||||
</p>
|
||||
|
||||
<h2><a name="14"/>Transaction would strengthen existing dominant positions</h2>
|
||||
|
||||
<p>
|
||||
Microsoft in particular already holds dominant positions in a number of markets, such as operating systems and office productivity. The company has a history of leveraging these dominant positions from one market to another. It likely to replicate exactly this strategy with Windows Phone 7, boosted by its recent strategic alliance with Nokia.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Given the recent steps taken by Microsoft and Apple to pressure manufacturers and distributors of Android-based devices into licensing agreements (covering software and devices which neither Microsoft or Apple had any hand in creating), it is likely that the attacks on Free Software will intensify -- first on Android (which from a Free Software perspective leaves much to be desired in terms of the freedom it offers to its users as a system<sup><a href="#19">19</a></sup>, then on any number of other Free Software programs.
|
||||
</p>
|
||||
|
||||
<h2><a name="15"/>Conclusions</h2>
|
||||
|
||||
<p>
|
||||
We can assume that many of Nortel's patents read on technologies which are fundamental to today's information technology. Allowing their sale without conditions to companies with a record of patent-based aggression would pose a considerable risk to Free Software, and to competition in the ICT market.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the hands of the Rockstar Bidco members, Nortel's patents would form the basis of two lines of attack: either to prevent the development and distribution of Free Software systems through patent claims; or to raise a tax on Free Software systems in order to make Free Software commercially unattractive. Both lines of attack are already being used in practice by the members of Rockstar Bidco. Nortel's patents would also greatly boost campaigns of Fear, Uncertainty and Doubt against Free Software, such as the one against the Linux in which Microsoft has engaged for a decade.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is no "red line" below which the transfer of Nortel's patents to the Rockstar Bidco members can be assumed not to cause harm to competition in the software and ICT market. As demonstrated by Macrosolve's and Lodsys' recent lawsuit against application developers, even a single patent can be sufficient to cause significant market disruption.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In sum, allowing the sale of Nortel's patents to the Rockstar Bidco members to proceed without modifications or conditions would threaten competition in the market for software and ICT. Free Software, the most vibrant force in these markets today, would be particularly hard hit. The sale would merely serve to strengthen the existing dominant positions of Rockstar Bidco member companies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are some relatively simple steps which could be taken to neutralise this threat and prevent damage to competition.
|
||||
</p>
|
||||
|
||||
<h2><a name="16"/>Recommended course of action</h2>
|
||||
|
||||
<p>
|
||||
In consequence of the above considerations, we urge the competent competition authorities to carefully scrutinise the proposed acquisition of Nortel's patent portfolio by the Rockstar consortium members. In particular, we believe that it is important to carefully assess the intent of the Rockstar consortium members in acquiring Nortel's patent portfolio.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
While we believe that prohibiting the sale could be seen as an appropriate measure, it might be seen too a drastic measure, and probably there are alternative instruments available. We request only that due to the risks of dire consequences that this acquisition is likely to have on competition, and the chilling effects that will ensue, special care should be taken to put in place measures to avoid anticompetitive effects. In case no sufficient guarantees are offered, the acquisition should be prohibited.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One sufficient guarantee from our point of view could be making the patents available for implementation in Free Software under an unlimited royalty-free license compatible with the most widely used Free Software licenses - the GPL (versions 2 and 3), and the Apache License (version 2). This would ensure that Free Software, a critical force for competition in the IT market, would be shielded from patent attacks.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the transaction is allowed to proceed, negative consequences for the Free Software ecosystem could be avoided in a relatively simple fashion. Similar to the outcome of the Novell / CPTN transaction, the Rockstar consortium members could be required to make the patents in question available for use in Free Software under conditions hich allow their use without limitations in programs distributed under the GNU General Public License and other copyleft licenses.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It is our opinion that such a measure is both less effective and more prone to failure than prohibiting the transaction outright. To compensate for this shortcoming, we recommend that the competent authorities keep the door open to stricter measures in case the above remedy should prove ineffective in protecting competition. This stricter measure could comprise compulsory divestiture of single items or partial unenforceability of one or more patents. Also, there should be some kind of mechanism for reporting (perhaps restricted to OEM and platform developers) and monitoring in place.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<p class="footnote">
|
||||
[<a name="1">1</a>] <a href="http://fsfe.org">http://fsfe.org</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="2">2</a>] <a href="http://www.gnu.org/philosophy/free-sw.html"> http://www.gnu.org/philosophy/free-sw.html</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="3">3</a>] <a href="http://www.sitelynx.com/sample-newsletter/340-mobile-usage-in-2010-2011">http://www.sitelynx.com/sample-newsletter/340-mobile-usage-in-2010-2011</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="4">4</a>] <a href="http://econsultancy.com/uk/blog/5683-study-mobile-internet-traffic-is-set-to-grow-400-by-2015">http://econsultancy.com/uk/blog/5683-study-mobile-internet-traffic-is-set-to-grow-400-by-2015</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="5">5</a>] <a href="http://en.wikipedia.org/wiki/Copyleft">http://en.wikipedia.org/wiki/Copyleft</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="6">6</a>] <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="7">7</a>] One statistic shows 42.77% of Free Software projects using the GPL. The next license in terms of frequency is the MIT license, used by 11.30% of projects. See <a href="http://www.blackducksoftware.com/oss/licenses">http://www.blackducksoftware.com/oss/licenses</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="8">8</a>] The current market share of this configuration is approximately 70%, as surveyed by Netcraft. See <a href="http://news.netcraft.com/archives/2011/08/05/august-2011-web-server-survey-3.html">http://news.netcraft.com/archives/2011/08/05/august-2011-web-server-survey-3.html</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="9">9</a>] LAMP stands for a combination of the GNU/Linux operating system, Apache (web server), MySQL (database), PHP (scripting language).
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="10">10</a>] <a href="http://www.telecoms.com/31956/samsung-hires-android-hacker-cyanogen/">http://www.telecoms.com/31956/samsung-hires-android-hacker-cyanogen/</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="11">11</a>] See <a href="http://blogs.computerworld.com/18370/microsofts\_biggest\_mobile\_money\_maker\_is\_android\_not\_windows\_phone\_7">http://blogs.computerworld.com/18370/microsofts\_biggest\_mobile\_money\_maker\_is\_android\_not\_windows\_phone\_7</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="12">12</a>] PCWorld: Paul Allen Amends Lawsuit Against Facebook, Apple and Others. Dec 29, 2010,<a href="http://www.2tu.us/3hs1">http://www.2tu.us/3hs1</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="13">13</a>] <a href="http://www.dailytech.com/Microsoft+Wants+15+USD+Per+Samsung+Android+Phone+Sold/article22079.htm">http://www.dailytech.com/Microsoft+Wants+15+USD+Per+Samsung+Android+Phone+Sold/article22079.htm</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="14">14</a>] Lodsys claims its patents cover the use of in-app payments technology, which allows users to carry out transactions within the context of an app itself. Countless app developers use in-app payments technology in their applications. <a href="http://www.guardian.co.uk/technology/2011/may/13/apple-iphone-developers-app">http://www.guardian.co.uk/technology/2011/may/13/apple-iphone-developers-app</a>. Lodsys based its lawsuit on just two US patents: 7,222,078 "Methods and systems for gathering information from units of a commodity across a network", and 7,620,565 "Customer-based product design module".
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="15">15</a>] <a href="http://www.mobilityfeeds.com/mobility-feed/2011/06/lodsys-keeps-suing-ios-and-android-apps-developers.html">http://www.mobilityfeeds.com/mobility-feed/2011/06/lodsys-keeps-suing-ios-and-android-apps-developers.html</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="16">16</a>] Macrosolve claimed the four companies have violated U.S. Patent No. 7,822,816 "system and method for data management" which MacroSolve obtained in October 2010. See <a href="http://www.tulsaworld.com/business/article.aspx?subjectid=52&articleid=20110316_52_E2_MacroS667689">http://www.tulsaworld.com/business/article.aspx?subjectid=52&articleid=20110316_52_E2_MacroS667689</a>, <a href="http://www.guardian.co.uk/technology/2011/may/18/app-developers-sued-over-patent-claims">http://www.guardian.co.uk/technology/2011/may/18/app-developers-sued-over-patent-claims</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="17">17</a>] German Federal Competition Office (Bundeskartellamt), April 20, 2011. <a href="http://www.bundeskartellamt.de/wEnglisch/News/press/2011\_04\_20.php">http://www.bundeskartellamt.de/wEnglisch/News/press/2011\_04\_20.php</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="18">18</a>] <a href="http://gametimeip.com/2011/07/05/how-do-the-nortel-patent-auction-numbers-measure-up-a-look-at-comparable-ip-monetization-efforts/">http://gametimeip.com/2011/07/05/how-do-the-nortel-patent-auction-numbers-measure-up-a-look-at-comparable-ip-monetization-efforts/</a>.
|
||||
</p>
|
||||
<p class="footnote">
|
||||
[<a name="19">19</a>] See Stallman, Richard: Is Android Really Free Software?,<a href="http://www.guardian.co.uk/technology/2011/sep/19/android-free-software-stallman">http://www.guardian.co.uk/technology/2011/sep/19/android-free-software-stallman</a>. Guardian, Sept. 19, 2011.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
<timestamp>$Date: 2011-11-28 14:08:10 +0100 (jeu. 28 nov. 2011) $ $Author: Karsten Gerloff $</timestamp>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
@@ -0,0 +1,371 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="author-name-1" content="Karsten Gerloff" />
|
||||
<meta name="author-link-1" content="/about/gerloff/gerloff.html" />
|
||||
<meta name="author-name-2" content="Carlo Piana" />
|
||||
<meta name="publication-date" content="2011-12-09" />
|
||||
<meta name="publication-original-date" content="2011-12-09" />
|
||||
<title>Free Software Foundation Europe concerned about Nortel patent sale</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Free Software Foundation Europe concerned about Nortel patent sale</h1>
|
||||
|
||||
<h2>Executive Summary</h2>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Free Software is a motor of competition and innovation. The most likely intent of the Rockstar consortium members is to attack Free Software and reduce competition in the software market. Android would merely be the first target, but by no means the last. It is very well understood in the Free Software community that an attack on Android by the three largest competitors are in fact a proxy fight about the Linux kernel, and on Free Software in general.</li>
|
||||
<li>The acquisition of Nortel's patents by Rockstar Bidco is a repeat of the Novell / CPTN case, though on a much larger scale. Any actions by the DOJ should be consistent with those taken in the Novell / CPTN case, as they would be equally warranted.</li>
|
||||
<li>Allowing the sale of Nortel's patents to the Rockstar Bidco members to proceed without modifications or conditions would threaten competition in the market for software and ICT. There is no "red line" below which the transfer of Nortel's patents to the Rockstar Bidco members can be assumed not to cause harm to competition in the software and ICT market.</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Table of Contents</h2>
|
||||
<ol>
|
||||
<li><a href="#1" name="TOC1">About FSFE</a></li>
|
||||
<li><a href="#2" name="TOC2">A broad attack on Free Software</a></li>
|
||||
<li><a href="#3" name="TOC3">Leveraging existing dominant positions</a></li>
|
||||
<li><a href="#4" name="TOC4">Android as a likely first target</a></li>
|
||||
<li><a href="#5" name="TOC5">Two lines of attack</a></li>
|
||||
<li><a href="#6" name="TOC6">Line of attack 1: Blocking distribution</a></li>
|
||||
<li><a href="#7" name="TOC7">Particular concern: The Linux kernel</a></li>
|
||||
<li><a href="#8" name="TOC8">Line of attack 2: Raising a tax on Free Software</a></li>
|
||||
<li><a href="#9" name="TOC9">Attacks by Rockstar members on Android</a></li>
|
||||
<li><a href="#10" name="TOC10">Further patent-based attacks: Lodsys vs app developers</a></li>
|
||||
<li><a href="#11" name="TOC11">Fear, Uncertainty and Doubt (FUD) as an anticompetitive strategy</a></li>
|
||||
<li><a href="#12" name="TOC12">How will Rockstar members generate ROI at such a high price per patent?</a></li>
|
||||
<li><a href="#13" name="TOC13">Is there a "red line" quantity of patents which can be transferred without harming competition?</a></li>
|
||||
<li><a href="#14" name="TOC14">Transaction would strengthen existing dominant positions</a></li>
|
||||
<li><a href="#15" name="TOC15">Conclusions</a></li>
|
||||
<li><a href="#16" name="TOC16">Recommended course of action</a></li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p></p>
|
||||
|
||||
<h2><a name="1"/>About FSFE</h2>
|
||||
<p>
|
||||
<a href="http://fsfe.org">Free Software Foundation Europe (FSFE)</a> is an independent, non-profit, charitable organisation dedicated to <a href="http://www.gnu.org/philosophy/free-sw.html">Free Software</a>. FSFE maintains that the freedoms to use, study, share and improve software are critical to ensuring equal participation in the information age. We work to create general understanding and support for software freedom in politics, law and society-at-large. We also promote the development of technologies, such as the GNU/Linux operating system, that deliver these freedoms to all participants in digital society.
|
||||
</p>
|
||||
<p>
|
||||
In pursuit of these goals, we have a long history of active involvement in competition and antitrust proceedings that affect Free Software, starting with our admission as a third party in the European Commission's competition lawsuit against Microsoft in 2001. The acquisition of Nortel's patent portfolio by a consortium of Apple, Microsoft, Research in Motion, EMC, Ericsson and Sony is such a case.
|
||||
</p>
|
||||
|
||||
<h2><a name="2"/>A broad attack on Free Software </h2>
|
||||
<p>
|
||||
Our concerns center around the transfer of a large set of patents, many of which are presumed to relate to basic computing and mobile technologies such as networking, to companies which have a record of aggressively using patents for anticompetive purposes. Additionally, this transfer is taking place in a market where patent aggression has recently reached unprecedented levels.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As noted in our previous submission, the patents sold by Nortel are likely to affect mobile, desktop and server operating systems, along with many other technologies that form the basis of much of the economic activity in today's IT market.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the hands of large, even dominant companies with a record of patent-based aggressive behaviour, this portfolio could easily wreak havoc on competition in the markets for software and smartphones.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In these markets, Free Software is an important competitive force, as it provides a platform on which businesses can build and deploy their own solutions, provide services, or pursue a variety of other business models. The transfer of Nortel's patents to Microsoft, Apple, RIM, EMC, Sony and Ericsson would significantly increase legal risks for large and small companies operating in Free Software, along with individual developers.
|
||||
</p>
|
||||
|
||||
<h2><a name="3"/>Leveraging existing dominant positions</h2>
|
||||
|
||||
<p>
|
||||
Mobile devices today account for <a href="http://www.sitelynx.com/sample-newsletter/340-mobile-usage-in-2010-2011">roughly 2.5% of Internet traffic</a>, with a <a href="http://econsultancy.com/uk/blog/5683-study-mobile-internet-traffic-is-set-to-grow-400-by-2015">clear upward trend</a>.
|
||||
</p>
|
||||
<p>
|
||||
New device form factors such as tablets and smartphones with touchscreen interfaces enable new consumer groups (such as senior citizens) to make use of the latest technology, opening up new markets and contributing to consumer welfare. While mobile devices receive most of the consumer-level attention today, the center of development is likely to shift to other areas in the coming years. These areas are embedded devices, such as household appliances or medical devices, and the "Internet of Things", in which a large number of objects will be uniquely identifiable by computers, enabling a host of new applications.
|
||||
</p>
|
||||
<p>
|
||||
It is rapidly becoming clear that tablet devices will be the point of convergence for PCs and smartphones. Particularly significant in this regard is the latest iteraction of Microsoft's operating system, Windows 8, with an interface that is clearly directed at touchscreens. This a terrain where Apple's position is threatened by the emergence of various devices powered by Android. The focus on tablets of Windows 8, the latest version of Microsoft's operating system, shows that Microsoft is clearly interested in the tablet market as well.
|
||||
</p>
|
||||
<p>
|
||||
Nortel's patent portfolio would likely enable some members of the Rockstar consortium to leverage their existing dominance in certain areas (e.g. Microsoft in desktop computing and office productivity), into these new markets. The embedded space would be particularly under threat, as would be the market for smartphones and tablet computers.
|
||||
</p>
|
||||
|
||||
<h2><a name="4"/>Android as a likely first target</h2>
|
||||
<p>
|
||||
Google's Android operating system is currently leading the smartphone market in terms of market share. Given that five of the six Rockstar member companies are active in the smartphone business, and three of them (Apple, Microsoft, and RIM) market their own software platfroms, it is widely reckoned that the immediate purpose of the Rockstar consortium members in acquiring Nortel's patent portfolio is to engage in patent litigation against Google and/or the various companies which make and distribute Android devices. In fact, several such lawsuits are already underway in Europe and the US. We will list them in detail below.
|
||||
</p>
|
||||
<p>
|
||||
Yet we would like to emphasise that the risk which we see in this transaction is by no means limited to Android. Given the fundamental nature of many of the technologies covered by Nortel's patent portfolio, almost any company in the software industry could see itself faced with aggressive behaviour based on these patents. Android is likely to be merely the first target, rather than the only one.
|
||||
</p>
|
||||
|
||||
<h2><a name="5"/>Two lines of attack</h2>
|
||||
|
||||
<p>
|
||||
If our assumptions about the nature of Nortel's patent portfolio are correct, these patents will put the Rockstar Bidco members in a position to either block the distribution of, potentially extract a tax on pretty much any modern computing device or program. The question will merely be which one they choose to target.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="6"/>Line of attack 1: Blocking distribution</h2>
|
||||
|
||||
<p>
|
||||
The first line of attack is that companies such as Microsoft or Apple may use the patents in an attempt to prohibit outright the development and distribution of Free Software programs which compete with their own proprietary offerings. High-profile targets are programs such as the Linux kernel, LibreOffice, and many partParticular concern: The Linux kernels of the GNU/Linux operating system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In all these cases, software revenue is not based on the number of units or copies sold, but is rather realised through a wide variety of other means. An obligation to pay per-unit royalties in order to distribute Free Software would be fundamentally incompatible with the <a href="http://en.wikipedia.org/wiki/Copyleft">copyleft nature</a> of the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>, covering the Linux kernel and a many other Free Software systems, eliminating the economic benefits available from Free Software -- full competition and greater consumer choice.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The key factor of the GPL's success is that it lets recipients of a program use, study, share and improve the software without restrictions. Everyone is free to redistribute the programs on the terms of the license. Crucially, the GPL forbids adding additional conditions for redistribution, since this would render this <a href="http://en.wikipedia.org/wiki/Copyleft">copyleft</a> mechanism ineffective.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The obligation to pay a licensing fee in order to redistribute the software is just such a condition. Such a requirement would be fundamentally incompatible with the GPL, with the effect of making it legally impossible to redistribute Free Software. The consequence would be that users and consumers would be denied the possibility to choose Free Software. The existing dominant positions in many markets of Microsoft in particular would be strengthened. Competition would be weakened in various markets for software as key competitors are removed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The second line of attack, which we discuss in more detail below, is aimed not at removing Free Software competitors from the market. Instead, the goal is to impose a tax on these systems, driving up their price to be equal to or higher than the price of competing proprietary systems offered by the Rockstar member companies.
|
||||
</p>
|
||||
|
||||
<h2><a name="7"/>Particular concern: The Linux kernel</h2>
|
||||
|
||||
<p>
|
||||
A key reason why we believe that this transaction poses a broader risk to Free Software is that many of Nortel's patents are presumed to read on technologies implemented in the Linux kernel.
|
||||
</p>
|
||||
<p>
|
||||
The Linux kernel (i.e. the part of the operating system that interacts directly with a computer's hardware) is Free Software. It is distributed under the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License version 2</a>. The GNU General Public License (GPL) in its version 2 and 3 is, by a wide margin, the most widely used Free Software license in the world <a class="fn" href="#fn1">1</a>.
|
||||
</p>
|
||||
<p>
|
||||
This kernel is a central component of the GNU/Linux operating system, the most important competitor to the operating systems marketed by Microsoft nd Apple. On the desktop, the GNU/Linux system offers a free (as in freedom) alternative to Microsoft's Windows and Apple's MacOS. On servers, the GNU/Linux operating system forms the basis of the so-called LAMP stack, the most common configuration <a class="fn" href="#fn2">2</a> for web servers<a class="fn" href="#fn3">3</a>.
|
||||
</p>
|
||||
<p>
|
||||
In the embedded industry, the Linux kernel is fast becoming the default software which companies use to power their devices. The Linux kernel is in use in a broad range of embedded devices, ranging from televisions to routers to cars and elevators.
|
||||
</p>
|
||||
<p>
|
||||
Taken together, this means a huge swathe of the IT industry would be negatively affected by a successful patent-based attack on the Linux kernel.
|
||||
</p>
|
||||
<p>
|
||||
The Linux kernel is also the basis of the Android operating system. Put simply, the Android mobile operating system consists of the Linux kernel and the Dalvik virtual machine. Applications ("apps") on Android run within the Dalvik virtual machine.
|
||||
</p>
|
||||
|
||||
<h2><a name="8"/>Line of attack 2: Raising a tax on Free Software</h2>
|
||||
|
||||
<p>
|
||||
As previously mentioned, patent litigation in the smartphone industry has recently reached unprecedented levels, with new lawsuits being launched on a weekly basis. The sale of Nortel's patents to the Rockstar consortium would only add fuel to this fire.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="9"/>Attacks by Rockstar members on Android</h2>
|
||||
|
||||
<p>
|
||||
Several member companies of the Rockstar consortium are currently engaged in a lawsuit against makers of Android devices. In a market where proprietary platforms are the norm, Android acts as a disruptive force. It turns mobile phone operating systems into a zero priced commodity. It also turns over greater power to users and OEMs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Though Google's services are enabled in Android by default, OEMs are free to remove and replace these with services of their choice. They also have the option of customising the platform to any degree they wish. Exemplifying this, it emerged in August that Samsung Mobile (a large producer of Android phones) has hired Steve 'Cyanogen' Kondik, an expert known for creating the most widely used alternative ("homebrew") version of Android, <a href="http://www.telecoms.com/31956/samsung-hires-android-hacker-cyanogen/">CyanogenMod</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft in particular is very active in pushing makers of Android devices into signing licensing agreements and paying royalties, or in pursuing lawsuits against companies which resist signing such an agreement. As a rule, the terms and conditions of these licensing agreements are not made public. Some analysts even believe that <a href="http://blogs.computerworld.com/18370/microsofts\_biggest\_mobile\_money\_maker\_is\_android\_not\_windows\_phone\_7">Microsoft is currently making more money</a> from Android than from Windows Phone 7, its own mobile platform.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are currently aware of the following lawsuits by Microsoft against Android device makers:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Oct. 1, 2010: <a href="http://www.macworld.com/article/154529/2010/10/microsoft_android_lawsuit.html">Microsoft sues Motorola over Android phones</a>.</li>
|
||||
<li><a href="http://www.macworld.com/article/158683/2011/03/microsoft_barnesnoble_android.html">Microsoft sues Barnes & Noble over Android</a> "Microsoft has filed a patent lawsuit against bookseller Barnes & Noble, accusing the company of running infringing software on its Android-based Nook e-reader."</li>
|
||||
<li>April 11, 2011: <a href="http://news.cnet.com/8301-13860_3-20003602-56.html">Microsoft signs patent deal with HTC over Android</a> "Microsoft said it has been in talks with other phone makers."</li>
|
||||
<li>mid-June 2011: <a href="http://news.cnet.com/8301-10805_3-20076890-75/microsoft-wistron-ink-android-patent-deal/">Microsoft signs patent deals with Android device makers</a> General Dynamics Itronix, Velocity Micro, and Onkyo</li>
|
||||
<li>July 5, 2011: <a href="http://news.cnet.com/8301-10805_3-20076890-75/microsoft-wistron-ink-android-patent-deal/ - WRONG">Microsoft, Wistron ink Android patent deal</a> "the fourth patent-licensing deal in two weeks with a maker of Android devices"</li>
|
||||
<li>September 11, 2011: <a href="http://www.microsoft.com/Presspass/press/2011/sep11/09-20CasioPR.mspx">Microsoft and Casio sign patent agreement</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Apple is similarly active in patent litigation against makers of Android devices:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="http://en.wikipedia.org/wiki/Apple\_Inc.\_litigation#Apple\_v.\_HTC">Apple Inc. filed a patent infringement suit against HTC</a> on 2 March 2010 at the U.S. District Court for the District of Delaware, and also filed a complaint against HTC under Section 337 of the Tariff Act of 1930 (as amended) at United States International Trade Commission, Washington, D.C. The suit involves 20 alleged patent infringements relating to the iPhone's user interface, underlying architecture and hardware.</li>
|
||||
<li><a href="http://en.wikipedia.org/wiki/Apple_Inc._litigation#Apple\_v.\_Samsung:\_Android\_phones\_and\_tablets">Apple v. Samsung: Android phones and tablets.</a> Apple sued Samsung, one of its component suppliers, in a 38-page legal complaint on April 15, 2011 in the U.S. District Court for the Northern District of California, alleging that several of Samsung’s Android phones and tablets, including the Nexus S, Epic 4G, Galaxy S 4G, and the Samsung Galaxy Tab, infringe on [...] Apple's patented technology, trademarks, user interface and innovative style.</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Additional patent-based activity directed against Android includes an amendment to a lawsuit by Interval Licensing, owned by Microsoft co-founder Paul Allen. "The amended suit targets Google’s Android mobile operating system in a move that could spell trouble for phone manufacturers and app developers." (See <a href="http://www.2tu.us/3hs1">PCWorld</a>.)
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are concerned that, given the breadth of Nortel's patent portfolio, this effort to create a tax on the use of Android will serve as a template for similar exercises in the future. This would allow the Rockstar consortium members to levy a tax on software that they had no hand in creating.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the members of the Rockstar bidding consortium are enabled by the transaction to impose a "tax" on Android, this will remove one of the system's two key advantages; while it would remain highly customisable, it would no longer be gratis to OEMs. As OEMs typically operate in hyper-competitive low margin markets, a price increase of a few cents per unit could already be damaging. Yet Microsoft <a href="http://www.dailytech.com/Microsoft+Wants+15+USD+Per+Samsung+Android+Phone+Sold/article22079.htm">seems to be targetting licensing fees</a> of 15 US dollars per Android device sold.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
While this may be feasible for some makers of high-end smartphones, paying this sort of "tax" would eliminate the margins for devices in the middle and lower market segments, significantly reducing consumer choice. Already at the present stage, Microsoft has effectively gamed the patent system to generate revenue from manufacturers' use of Android.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="10"/>Further patent-based attacks: Lodsys vs app developers</h2>
|
||||
|
||||
<p>
|
||||
Another long-standing fear held by software developers recently turned out to be all too real when Lodsys, a non-practicing entity, threatened lawsuits against a raft of iOS application developers in May 2011.<a class="fn" href="#fn4">4</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Apple, recognising a threat to its business model of generating revenue from app sales, stepped in. Lodsys then <a href="http://www.mobilityfeeds.com/mobility-feed/2011/06/lodsys-keeps-suing-ios-and-android-apps-developers.html">shifted its activity</a> to Android app developers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Around the same time, another US-based non-practicing entity called Macrosolve began a set of similar lawsuits against both iOS and Android developers, based on a single patent.<a class="fn" href="#fn5">5</a>
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="11"/>Fear, Uncertainty and Doubt (FUD) as an anticompetitive strategy</h2>
|
||||
|
||||
<p>
|
||||
These patent-based attacks cause some immediate damage, insofar as a company targeted in a lawsuit will usually either be obliged to pay damages, or -- more frequently -- will settle out of court. But these attacks also have the much broader effect of creating Fear, Uncertainty and Doubt (FUD) around Android in particular, and Free Software in general. Both effects combine to form what amounts to a tax on the use of Android, levied by companies that had no hand in creating the system.
|
||||
</p>
|
||||
<p>
|
||||
There already exists a well-known template for this sort of strategy. It is a decade-old effort made by Microsoft to both contain the widespread use of the Linux kernel, and to at the same time extract revenue from it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft claims to 225 patents reading on the Linux kernel, and has built an ongoing campaign of Fear, Uncertainty and Doubt on this claim, pressuring a significant number of companies into signing licensing agreements with Microsoft. So a mere claim, entirely unproven, to hold patents reading on key technologies serves to underpin a campaign to limit competition from platforms based on the Linux kernel. This effect was recognised by the German Federal Competition Office in the context of the acquisition of Novell's patent portfolio by the CPTN consortium:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"These [competition concerns by the DOJ and the German FCO] concerned in particular the markets for operational systems and virtualization software, in which Microsoft and EMC/VMware are, at least, powerful. On these markets, there is a general possibility to apply so-called FUD strategies ("Fear, Uncertainty, Doubt") against smaller competitors, which can be pursued by means of patent actions."<a class="fn" href="#fn6">6</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Today, the Linux kernel is being widely used in the embedded industry. If Nortel's patents were to enable Microsoft to pursue a more effective FUD campaign against the Linux kernel than it does today, this would let the company extract long-term rents from embedded device makers, hampering innovation and competition in the industry.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Given the fundamental nature of many of the technologies which we must presume to be covered by Nortel's patent portfolio, we are extremely concerned that the Rockstar members will turn to attacking core Free Software programs such as the Linux kernel.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Microsoft has every incentive to use this strategy in the various markets where its dominant position is threatened by Free Software competitors, such as office productivity software and workgroup servers; and in markets where it wishes to expand its market share from a low base, such as mobile phones. Allowing Microsoft to acquire Nortel's patents would thus both cement the company's dominant positions where it holds them, and let it acquire dominant positions where it does not yet hold them.
|
||||
</p>
|
||||
|
||||
<h2><a name="12"/>How will Rockstar members generate ROI at such a high price per patent?</h2>
|
||||
|
||||
<p>
|
||||
The Rockstar consortium is an uncommon gathering of companies which have only one single trait in common: They are disrupted by a new competitor that offers valuable technology at a price of zero. From this point of view, this acquisition is akin to an exclusionary patent pool, an exclusionary one -- something which usually merits close antitrust scrutiny.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
From the history of the transaction, it is apparent that the companies have not teamed up to acquire technology in which they are interested. A notable feature about Rockstar's acquisition of Nortel's patent portfolio is the price paid per patent. The headline figure works out at USD 750,000 per patent. A more detailed analysis, however, reveals a far higher price per patent:</p>
|
||||
|
||||
<blockquote><q>look [sic] at patents currently in force drops this number down to 2000, which is the number similarly reported by IAM. At 2000 assets, the price per patent skyrockets to $2.25 MM each. If you would assume that the 1000 or so patents with at least 10 years of term remaining were the primary drivers of the purchase, then double that amount to $4.5 MM each. </q> (See <a href="http://gametimeip.com/2011/07/05/how-do-the-nortel-patent-auction-numbers-measure-up-a-look-at-comparable-ip-monetization-efforts/">Gamatimeip</a>.)
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
This contrasts noticeably with the (still impressive) ca. USD 500,000 per patent which the CPTN consortium paid for Novell's patents earlier this year.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The fact that the Rockstar consortium members were willing to pay such a high price per patent indicates that they expect a stronger return on their investment than could be expected from merely using the patents to develop and market new technologies. Such a level of return can only conceivably be generated through aggressive behaviour. Attacking Android appears the most likely option at the moment.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
However, given the fundamental nature of some of Nortel's patents, the same strategy could be easily deployed against any other system that competes with the offerings of the Rockstar member companies. Free Software systems such as the Linux kernel, the GNU operating system, and a number of other key Free Software programs might well be next.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="13"/>Is there a "red line" quantity of patents which can be transferred without harming competition?</h2>
|
||||
|
||||
<p>
|
||||
From the above analysis, we conclude that the question of whether the Nortel deal poses a risk to competition from Free Software cannot be framed in terms of how many patents the members of Rockstar Bidco are allowed to acquire from Nortel. The Rockstar member companies would be liable to use any part of Nortel's patent portfolio to pursue either one or both lines of attack described above:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Use patent litigation to push Free Software competitors out of the market and strengthen dominant positions.</li>
|
||||
<li>Impose a tax on Free Software systems in order to make them less attractive to users and OEMs than the proprietary offerings of the Rockstar member companies.</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The recent patent lawsuits against application developers by Lodsys vividly demonstrates that even a very small number of patents can be used to cause significant disruption in the market.
|
||||
</p>
|
||||
|
||||
<h2><a name="14"/>Transaction would strengthen existing dominant positions</h2>
|
||||
|
||||
<p>
|
||||
Microsoft in particular already holds dominant positions in a number of markets, such as operating systems and office productivity. The company has a history of leveraging these dominant positions from one market to another. It likely to replicate exactly this strategy with Windows Phone 7, boosted by its recent strategic alliance with Nokia.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Given the recent steps taken by Microsoft and Apple to pressure manufacturers and distributors of Android-based devices into licensing agreements (covering software and devices which neither Microsoft or Apple had any hand in creating), it is likely that the attacks on Free Software will intensify -- first on Android (which from a Free Software perspective <a href="http://www.guardian.co.uk/technology/2011/sep/19/android-free-software-stallman">leaves much to be desired </a> in terms of the freedom it offers to its users as a system), then on any number of other Free Software programs.
|
||||
</p>
|
||||
|
||||
<h2><a name="15"/>Conclusions</h2>
|
||||
|
||||
<p>
|
||||
We can assume that many of Nortel's patents read on technologies which are fundamental to today's information technology. Allowing their sale without conditions to companies with a record of patent-based aggression would pose a considerable risk to Free Software, and to competition in the ICT market.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the hands of the Rockstar Bidco members, Nortel's patents would form the basis of two lines of attack: either to prevent the development and distribution of Free Software systems through patent claims; or to raise a tax on Free Software systems in order to make Free Software commercially unattractive. Both lines of attack are already being used in practice by the members of Rockstar Bidco. Nortel's patents would also greatly boost campaigns of Fear, Uncertainty and Doubt against Free Software, such as the one against the Linux in which Microsoft has engaged for a decade.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is no "red line" below which the transfer of Nortel's patents to the Rockstar Bidco members can be assumed not to cause harm to competition in the software and ICT market. As demonstrated by Macrosolve's and Lodsys' recent lawsuit against application developers, even a single patent can be sufficient to cause significant market disruption.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In sum, allowing the sale of Nortel's patents to the Rockstar Bidco members to proceed without modifications or conditions would threaten competition in the market for software and ICT. Free Software, the most vibrant force in these markets today, would be particularly hard hit. The sale would merely serve to strengthen the existing dominant positions of Rockstar Bidco member companies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are some relatively simple steps which could be taken to neutralise this threat and prevent damage to competition.
|
||||
</p>
|
||||
|
||||
<h2><a name="16"/>Recommended course of action</h2>
|
||||
|
||||
<p>
|
||||
In consequence of the above considerations, we urge the competent competition authorities to carefully scrutinise the proposed acquisition of Nortel's patent portfolio by the Rockstar consortium members. In particular, we believe that it is important to carefully assess the intent of the Rockstar consortium members in acquiring Nortel's patent portfolio.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
While we believe that prohibiting the sale could be seen as an appropriate measure, it might be seen too a drastic measure, and probably there are alternative instruments available. We request only that due to the risks of dire consequences that this acquisition is likely to have on competition, and the chilling effects that will ensue, special care should be taken to put in place measures to avoid anticompetitive effects. In case no sufficient guarantees are offered, the acquisition should be prohibited.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One sufficient guarantee from our point of view could be making the patents available for implementation in Free Software under an unlimited royalty-free license compatible with the most widely used Free Software licenses - the GPL (versions 2 and 3), and the Apache License (version 2). This would ensure that Free Software, a critical force for competition in the IT market, would be shielded from patent attacks.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the transaction is allowed to proceed, negative consequences for the Free Software ecosystem could be avoided in a relatively simple fashion. Similar to the outcome of the Novell / CPTN transaction, the Rockstar consortium members could be required to make the patents in question available for use in Free Software under conditions hich allow their use without limitations in programs distributed under the GNU General Public License and other copyleft licenses.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It is our opinion that such a measure is both less effective and more prone to failure than prohibiting the transaction outright. To compensate for this shortcoming, we recommend that the competent authorities keep the door open to stricter measures in case the above remedy should prove ineffective in protecting competition. This stricter measure could comprise compulsory divestiture of single items or partial unenforceability of one or more patents. Also, there should be some kind of mechanism for reporting (perhaps restricted to OEM and platform developers) and monitoring in place.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<ol>
|
||||
<li id="fn1"><a href="http://www.blackducksoftware.com/oss/licenses">One statistic shows</a> 42.77% of Free Software projects using the GPL. The next license in terms of frequency is the MIT license, used by 11.30% of projects.</li>
|
||||
<li id="fn2">The current market share of this configuration is approximately 70%, <a href="http://news.netcraft.com/archives/2011/08/05/august-2011-web-server-survey-3.html">as surveyed by Netcraft</a>.</li>
|
||||
<li id="fn3">LAMP stands for a combination of the GNU/Linux operating system, Apache (web server), MySQL (database), PHP (scripting language).</li>
|
||||
<li id="fn4"><a href="http://www.guardian.co.uk/technology/2011/may/13/apple-iphone-developers-app">Lodsys claims</a> its patents cover the use of in-app payments technology, which allows users to carry out transactions within the context of an app itself. Countless app developers use in-app payments technology in their applications. Lodsys based its lawsuit on just two US patents: 7,222,078 "Methods and systems for gathering information from units of a commodity across a network", and 7,620,565 "Customer-based product design module".</li>
|
||||
<li id="fn5"> <a href="http://www.tulsaworld.com/business/article.aspx?subjectid=52&articleid=20110316_52_E2_MacroS667689">Macrosolve claimed</a> the four companies <a href="http://www.guardian.co.uk/technology/2011/may/18/app-developers-sued-over-patent-claims">have violated</a> U.S. Patent No. 7,822,816 "system and method for data management" which MacroSolve obtained in October 2010.</li>
|
||||
<li id="fn6">German Federal Competition Office (Bundeskartellamt), April 20, 2011. <a href="http://www.bundeskartellamt.de/wEnglisch/News/press/2011\_04\_20.php">http://www.bundeskartellamt.de</a>.</li>
|
||||
</ol>
|
||||
|
||||
</body>
|
||||
<timestamp>$Date: 2011-12-09 17:08:10 +0100 (jeu. 28 nov. 2011) $ $Author: Karsten Gerloff $</timestamp>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<html newsdate="2011-12-08">
|
||||
<head>
|
||||
<title>Free Software legal news</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Free Software legal news</h1>
|
||||
|
||||
<p newsteaser="yes">Read about ground-breaking decision of the Court of Justice of EU, abuse of copyright against an Android developer, AG's opinion in awaited European interoperability ruling and much more.</p>
|
||||
|
||||
<h3>Koha creators asking for help in trademark dispute</h3>
|
||||
<p>Koha is a free library management system. This software has been the subject of an ongoing fight with a US company called LibLime; it seems that LibLime now thinks it is entitled to a trademark on the Koha name in New Zealand. <i>See</i> <a href="https://lwn.net/Articles/468838/rss">article by LWN.net</a>;</p>
|
||||
|
||||
<h3>Mobile "rootkit" maker tries to silence critical Android developer</h3>
|
||||
<p>A data-logging software company is seeking to squash an Android developer’s critical research into its software that is secretly installed on millions of phones, but Trevor Eckhart is refusing to publicly apologize for his research and remove the company’s training manuals from his website.<i>See</i> <a href="http://arstechnica.com/tech-policy/news/2011/11/mobile-rootkit-maker-tries-to-silence-critical-android-dev-1.ars?utm_source=rss&utm_medium=rss&utm_campaign=rss">article by ArsTechnica</a>;</p>
|
||||
|
||||
<h3>Censorship in Name of Copyright Violates Fundamental Rights</h3>
|
||||
<p>The Court ruled that forcing Internet service providers to monitor and censor their users' communications violated EU law, and in particular the right to freedom of communication. <i>See</i> <a href="http://www.laquadrature.net/en/eu-court-of-justice-censorship-in-name-of-copyright-violates-fundamental-rights">article by La Quadrature du Net</a>;</p>
|
||||
|
||||
<h3>Liberation by software</h3>
|
||||
<p>Power has long been able to control the media. But the free software movement enables a radically democratic future. Which way the network behaves is determined solely by the software that comprises it. Freedom of the press, freedom of information, freedom of thought itself are now "implemented" rather than "declared", "protected" or "guaranteed".<i>See</i> <a href="http://www.laquadrature.net/en/eu-court-of-justice-censorship-in-name-of-copyright-violates-fundamental-rights">article by Eben Moglen in the Guardian</a>;</p>
|
||||
|
||||
<h3>Creating New Property Rights on the Basis of General Legal Concepts</h3>
|
||||
<p>In two cases recently decided by two different senates of the German Federal Supreme Court (Bundesgerichtshof, BGH), the following issue was raised: To what extent can the filming of sports events organized by someone else, on the one hand, and the photographing of someone else’s physical property, on the other hand, be legally controlled by the organizer of the sports event and the owner of the property respectively? <i>See</i> <a href="http://www.jipitec.eu/issues/jipitec-2-2-2011/3091">article by Prof. Dr. Thomas Dreier in the JIPITEC</a>;</p>
|
||||
|
||||
<h3>Advocate General favours interoperability in Europe</h3>
|
||||
<p>The Opinion of Advocate General Bot in SAS v World Programming, the case before the Court of Justice of European Union, has now been published. It seems to favour World Programming and interoperability.<i>See</i> <a href="http://www.technollama.co.uk/ecjs-advocate-general-favours-interoperability-in-europe">article by Technollama</a>;</p>
|
||||
|
||||
<h3>US Supreme Court Case Could Affect Developers' Secondary Patent Liability</h3>
|
||||
<p>The United States Supreme Court will decide a case this term that could determine whether free software developers are liable for patent infringement by users of their software<i>See</i> <a href="http://www.softwarefreedom.org/news/2010/dec/06/sflc-files-amicus-brief-in-seb/">article by Software Freedom Law Center</a>;</p>
|
||||
|
||||
<h3>Pirate Party MEP: eVoting is a bad idea</h3>
|
||||
<p>E-voting may sound modern and well when you first hear the idea, but unfortunately there are fundamental problems with electronic voting that does not dissolve. [..] However, there are other ways to take advantage of modern technology to improve voting in general elections. <i>See</i> <a href="http://translate.google.com/translate?sl=auto&tl=en&u=http://christianengstrom.wordpress.com/2011/10/27/e-rostning-ar-en-dalig-ide/">article by Christian Engström</a>;</p>
|
||||
|
||||
<p></p>
|
||||
|
||||
<p>
|
||||
For previous Free Software legal news please consult <a href="http://blogs.fsfe.org/hugo/category/free-software-legal-news/">blog of Matija Šuklje</a> and <a href="http://matija.suklje.name/?q=taxonomy/term/290">blog of Hugo Roy.</a>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
<tags>
|
||||
<tag>front-page</tag>
|
||||
<tag>legal-news</tag>
|
||||
<tag>Free Software</tag>
|
||||
</tags>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<html newsdate="2011-12-20">
|
||||
<head>
|
||||
<title>Free Software legal news</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Free Software legal news</h1>
|
||||
|
||||
<p newsteaser="yes">Read about ground-breaking decision of the Court of Justice of EU, abuse of copyright against an Android developer, AG's opinion in awaited European interoperability ruling and much more.</p>
|
||||
|
||||
<h3>Apple using patents to undermine open standards </h3>
|
||||
<p>Apply uses three registered patents and one patent application to threaten to block the W3C Standard.<i>See</i> <a href="http://my.opera.com/haavard/blog/2011/12/09/apple-w3c">article by MyOpera</a>;</p>
|
||||
|
||||
<h3>Microsoft welcomes OSI open source to Win8 store</h3>
|
||||
<p>Applications released under a license from the Open Source Initiative (e.g. GPL, Apache) are being now welcomed by Microsoft into the Windows 8 Windows Store. <i>See</i> <a href="http://www.extremetech.com/computing/108551-windows-8-store-will-allow-open-source-apps-unlike-ios-and-mac">article by ExtremeTech</a> and <a href="http://www.theregister.co.uk/2011/12/08/open_source_windows_8_windows_store/">by The Register</a>;</p>
|
||||
|
||||
<h3>Motorola Mobility wins German patent suit against Apple</h3>
|
||||
<p>The Mannheim Regional Court rendered its ruling on one of the patent infringement lawsuits Motorola Mobility brought against Apple in Germany. The ruling includes an injunction that is preliminarily enforceable in exchange for a €100 million ($134 million) bond. Concerned patent relates to "method for performing a countdown function during a mobile-originated transfer for a packet radio system". <i>See</i> <a href="http://fosspatents.blogspot.com/2011/12/motorola-mobility-wins-german-patent.html">article by FOSS Patents blog</a> and <a href="http://www.heise.de/mac-and-i/meldung/Schwere-Schlappe-fuer-Apple-im-Patentstreit-mit-Motorola-1393064.html">by Heise Online</a>;</p>
|
||||
|
||||
<h3>Koha creators asking for help in trademark dispute</h3>
|
||||
<p>Koha is a free library management system. This software has been the subject of an ongoing fight with a US company called LibLime; it seems that LibLime now thinks it is entitled to a trademark on the Koha name in New Zealand. <i>See</i> <a href="https://lwn.net/Articles/468838/rss">article by LWN.net</a>;</p>
|
||||
|
||||
<h3>Mobile "rootkit" maker tries to silence critical Android developer</h3>
|
||||
<p>A data-logging software company is seeking to squash an Android developer’s critical research into its software that is secretly installed on millions of phones, but Trevor Eckhart is refusing to publicly apologize for his research and remove the company’s training manuals from his website.<i>See</i> <a href="http://arstechnica.com/tech-policy/news/2011/11/mobile-rootkit-maker-tries-to-silence-critical-android-dev-1.ars?utm_source=rss&utm_medium=rss&utm_campaign=rss">article by ArsTechnica</a>;</p>
|
||||
|
||||
<h3>Censorship in Name of Copyright Violates Fundamental Rights</h3>
|
||||
<p>The Court ruled that forcing Internet service providers to monitor and censor their users' communications violated EU law, and in particular the right to freedom of communication. <i>See</i> <a href="http://www.laquadrature.net/en/eu-court-of-justice-censorship-in-name-of-copyright-violates-fundamental-rights">article by La Quadrature du Net</a>;</p>
|
||||
|
||||
<h3>Liberation by software</h3>
|
||||
<p>Power has long been able to control the media. But the free software movement enables a radically democratic future. Which way the network behaves is determined solely by the software that comprises it. Freedom of the press, freedom of information, freedom of thought itself are now "implemented" rather than "declared", "protected" or "guaranteed".<i>See</i> <a href="http://www.laquadrature.net/en/eu-court-of-justice-censorship-in-name-of-copyright-violates-fundamental-rights">article by Eben Moglen in the Guardian</a>;</p>
|
||||
|
||||
<h3>Creating New Property Rights on the Basis of General Legal Concepts</h3>
|
||||
<p>In two cases recently decided by two different senates of the German Federal Supreme Court (Bundesgerichtshof, BGH), the following issue was raised: To what extent can the filming of sports events organized by someone else, on the one hand, and the photographing of someone else’s physical property, on the other hand, be legally controlled by the organizer of the sports event and the owner of the property respectively? <i>See</i> <a href="http://www.jipitec.eu/issues/jipitec-2-2-2011/3091">article by Prof. Dr. Thomas Dreier in the JIPITEC</a>;</p>
|
||||
|
||||
<h3>Advocate General favours interoperability in Europe</h3>
|
||||
<p>The Opinion of Advocate General Bot in SAS v World Programming, the case before the Court of Justice of European Union, has now been published. It seems to favour World Programming and interoperability.<i>See</i> <a href="http://www.technollama.co.uk/ecjs-advocate-general-favours-interoperability-in-europe">article by Technollama</a>;</p>
|
||||
|
||||
<h3>US Supreme Court Case Could Affect Developers' Secondary Patent Liability</h3>
|
||||
<p>The United States Supreme Court will decide a case this term that could determine whether free software developers are liable for patent infringement by users of their software<i>See</i> <a href="http://www.softwarefreedom.org/news/2010/dec/06/sflc-files-amicus-brief-in-seb/">article by Software Freedom Law Center</a>;</p>
|
||||
|
||||
<h3>Pirate Party MEP: eVoting is a bad idea</h3>
|
||||
<p>E-voting may sound modern and well when you first hear the idea, but unfortunately there are fundamental problems with electronic voting that does not dissolve. [..] However, there are other ways to take advantage of modern technology to improve voting in general elections. <i>See</i> <a href="http://translate.google.com/translate?sl=auto&tl=en&u=http://christianengstrom.wordpress.com/2011/10/27/e-rostning-ar-en-dalig-ide/">article by Christian Engström</a>;</p>
|
||||
|
||||
<p></p>
|
||||
|
||||
<p>
|
||||
For previous Free Software legal news please consult <a href="http://matija.suklje.name/?q=taxonomy/term/290">blog of Matija Šuklje</a> and <a href="http://blogs.fsfe.org/hugo/category/free-software-legal-news/">blog of Hugo Roy.</a>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
<tags>
|
||||
<tag>front-page</tag>
|
||||
<tag>legal-news</tag>
|
||||
<tag>Free Software</tag>
|
||||
</tags>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
@@ -2,13 +2,6 @@
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="author-name-2" content="Karsten Gerloff" />
|
||||
<meta name="author-link-2" content="/about/gerloff/gerloff.html" />
|
||||
<meta name="author-name-1" content="Hugo Roy" />
|
||||
<meta name="author-link-1" content="/about/roy/roy.html" />
|
||||
<meta name="publication-date" content="2010-03-24" />
|
||||
<meta name="publication-original-date" content="2009-11-27" />
|
||||
<!-- <meta name="pdf-link" content="eifv2-02.pdf" NOT UP TO DATE -->
|
||||
<title>FSFE - EIFv2: Tracking the loss of interoperability</title>
|
||||
</head>
|
||||
|
||||
@@ -637,6 +630,17 @@
|
||||
<tags>
|
||||
<tag>open-standards</tag>
|
||||
</tags>
|
||||
<author>
|
||||
<name>Hugo Roy</name>
|
||||
<link>/about/roy/roy.html</link>
|
||||
<avatar>/about/roy/roy-avatar.jpg</avatar>
|
||||
</author>
|
||||
<author id="gerloff" />
|
||||
<date>
|
||||
<revision content="2010-03-24" />
|
||||
<original content="2009-11-27" />
|
||||
</date>
|
||||
<download type="pdf" content="eifv2-02.pdf" />
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
|
||||
<timestamp>$Date$ $Author$</timestamp>
|
||||
<translator>Andreas Aubele</translator>
|
||||
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,328 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Support - FSFE</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Support the FSFE</h1>
|
||||
<div id="introduction">
|
||||
<div class="image">
|
||||
<img src="/graphics/stars-smaller.png" alt="Stars"/>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Sign up and show you support the FSFE and
|
||||
its work to advance society by promoting and protecting software freedom.
|
||||
</p>
|
||||
|
||||
<div id="support_form">
|
||||
|
||||
<form method="post" action="support.php" class="support">
|
||||
<p>
|
||||
<label id="firstname">First name
|
||||
<input type="text" name="firstname" />
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label id="lastname">Last name
|
||||
<input type="text" name="lastname" />
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label id="semail">E-mail (required)
|
||||
<input type="email" name="email" required="required" />
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label id="country">Country
|
||||
<select name="country_code">
|
||||
<option value="">Select..</option>
|
||||
<optgroup label="Europe">
|
||||
<option value="AL">Albania (Shqipëria)</option>
|
||||
<option value="AD">Andorra</option>
|
||||
<option value="AT">Austria (Österreich)</option>
|
||||
<option value="BY">Belarus (Белару́сь)</option>
|
||||
<option value="BE">Belgium (België)</option>
|
||||
<option value="BA">Bosnia and Herzegovina (Bosna i Hercegovina)</option>
|
||||
<option value="BG">Bulgaria (България)</option>
|
||||
<option value="HR">Croatia (Hrvatska)</option>
|
||||
<option value="CZ">Czech Republic (Česko)</option>
|
||||
<option value="DK">Denmark (Danmark)</option>
|
||||
<option value="EE">Estonia (Eesti)</option>
|
||||
<option value="FO">Faroe Islands</option>
|
||||
<option value="FI">Finland (Suomi)</option>
|
||||
<option value="FR">France</option>
|
||||
<option value="DE">Germany (Deutschland)</option>
|
||||
<option value="GI">Gibraltar</option>
|
||||
<option value="GR">Greece (Ελλάς)</option>
|
||||
<option value="GL">Greenland</option>
|
||||
<option value="HU">Hungary (Magyarország)</option>
|
||||
<option value="IS">Iceland (Ísland)</option>
|
||||
<option value="IE">Ireland</option>
|
||||
<option value="IT">Italy (Italia)</option>
|
||||
<option value="LI">Liechtenstein</option>
|
||||
<option value="LT">Lithuania (Lietuva)</option>
|
||||
<option value="LU">Luxembourg (Lëtzebuerg)</option>
|
||||
<option value="MK">Macedonia [FYROM] (Македонија)</option>
|
||||
<option value="MT">Malta</option>
|
||||
<option value="MD">Moldova</option>
|
||||
<option value="MC">Monaco</option>
|
||||
<option value="ME">Montenegro (Црна Гора)</option>
|
||||
<option value="NL">Netherlands (Nederland)</option>
|
||||
<option value="NO">Norway (Norge)</option>
|
||||
<option value="PL">Poland (Polska)</option>
|
||||
<option value="PT">Portugal</option>
|
||||
<option value="RO">Romania (România)</option>
|
||||
<option value="RU">Russia (Россия)</option>
|
||||
<option value="SM">San Marino</option>
|
||||
<option value="RS">Serbia (Србија)</option>
|
||||
<option value="SK">Slovakia (Slovensko)</option>
|
||||
<option value="SI">Slovenia (Slovenija)</option>
|
||||
<option value="ES">Spain (España)</option>
|
||||
<option value="SE">Sweden (Sverige)</option>
|
||||
<option value="CH">Switzerland (Schweiz)</option>
|
||||
<option value="TR">Turkey (Türkiye)</option>
|
||||
<option value="UA">Ukraine (Україна)</option>
|
||||
<option value="GB">United Kingdom</option>
|
||||
<option value="VA">Vatican City (Città del Vaticano)</option>
|
||||
</optgroup>
|
||||
<optgroup label="Other continents">
|
||||
<option value="AF">Afghanistan (افغانستان)</option>
|
||||
<option value="AX">Åland Islands</option>
|
||||
<option value="DZ">Algeria (الجزائر)</option>
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="AO">Angola</option>
|
||||
<option value="AI">Anguilla</option>
|
||||
<option value="AQ">Antarctica</option>
|
||||
<option value="AG">Antigua and Barbuda</option>
|
||||
<option value="AR">Argentina</option>
|
||||
<option value="AM">Armenia (Հայաստան)</option>
|
||||
<option value="AW">Aruba</option>
|
||||
<option value="AU">Australia</option>
|
||||
<option value="AZ">Azerbaijan (Azərbaycan)</option>
|
||||
<option value="BS">Bahamas</option>
|
||||
<option value="BH">Bahrain (البحرين)</option>
|
||||
<option value="BD">Bangladesh (বাংলাদেশ)</option>
|
||||
<option value="BB">Barbados</option>
|
||||
<option value="BZ">Belize</option>
|
||||
<option value="BJ">Benin (Bénin)</option>
|
||||
<option value="BM">Bermuda</option>
|
||||
<option value="BT">Bhutan (འབྲུག་ཡུལ)</option>
|
||||
<option value="BO">Bolivia</option>
|
||||
<option value="BW">Botswana</option>
|
||||
<option value="BV">Bouvet Island</option>
|
||||
<option value="BR">Brazil (Brasil)</option>
|
||||
<option value="IO">British Indian Ocean Territory</option>
|
||||
<option value="VG">British Virgin Islands</option>
|
||||
<option value="BN">Brunei (Brunei Darussalam)</option>
|
||||
<option value="BF">Burkina Faso</option>
|
||||
<option value="BI">Burundi (Uburundi)</option>
|
||||
<option value="KH">Cambodia (Kampuchea)</option>
|
||||
<option value="CM">Cameroon (Cameroun)</option>
|
||||
<option value="CA">Canada</option>
|
||||
<option value="CV">Cape Verde (Cabo Verde)</option>
|
||||
<option value="KY">Cayman Islands</option>
|
||||
<option value="CF">Central African Republic (République Centrafricaine)</option>
|
||||
<option value="TD">Chad (Tchad)</option>
|
||||
<option value="CL">Chile</option>
|
||||
<option value="CN">China (中国)</option>
|
||||
<option value="CX">Christmas Island</option>
|
||||
<option value="CC">Cocos [Keeling] Islands</option>
|
||||
<option value="CO">Colombia</option>
|
||||
<option value="KM">Comoros (Comores)</option>
|
||||
<option value="CD">Congo [DRC]</option>
|
||||
<option value="CG">Congo [Republic]</option>
|
||||
<option value="CK">Cook Islands</option>
|
||||
<option value="CR">Costa Rica</option>
|
||||
<option value="CI">Côte d’Ivoire</option>
|
||||
<option value="CU">Cuba</option>
|
||||
<option value="CY">Cyprus (Κυπρος)</option>
|
||||
<option value="DJ">Djibouti</option>
|
||||
<option value="DM">Dominica</option>
|
||||
<option value="DO">Dominican Republic</option>
|
||||
<option value="EC">Ecuador</option>
|
||||
<option value="EG">Egypt (مصر)</option>
|
||||
<option value="SV">El Salvador</option>
|
||||
<option value="GQ">Equatorial Guinea (Guinea Ecuatorial)</option>
|
||||
<option value="ER">Eritrea (Ertra)</option>
|
||||
<option value="ET">Ethiopia (Ityop'iya)</option>
|
||||
<option value="FK">Falkland Islands [Islas Malvinas]</option>
|
||||
<option value="FJ">Fiji</option>
|
||||
<option value="GF">French Guiana</option>
|
||||
<option value="PF">French Polynesia</option>
|
||||
<option value="TF">French Southern Territories</option>
|
||||
<option value="GA">Gabon</option>
|
||||
<option value="GM">Gambia</option>
|
||||
<option value="GE">Georgia (საქართველო)</option>
|
||||
<option value="GH">Ghana</option>
|
||||
<option value="GD">Grenada</option>
|
||||
<option value="GP">Guadeloupe</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="GT">Guatemala</option>
|
||||
<option value="GG">Guernsey</option>
|
||||
<option value="GN">Guinea (Guinée)</option>
|
||||
<option value="GW">Guinea-Bissau (Guiné-Bissau)</option>
|
||||
<option value="GY">Guyana</option>
|
||||
<option value="HT">Haiti (Haïti)</option>
|
||||
<option value="HM">Heard Island and McDonald Islands</option>
|
||||
<option value="HN">Honduras</option>
|
||||
<option value="HK">Hong Kong</option>
|
||||
<option value="IN">India</option>
|
||||
<option value="ID">Indonesia</option>
|
||||
<option value="IR">Iran (ایران)</option>
|
||||
<option value="IQ">Iraq (العراق)</option>
|
||||
<option value="IM">Isle of Man</option>
|
||||
<option value="IL">Israel (ישראל)</option>
|
||||
<option value="JM">Jamaica</option>
|
||||
<option value="JP">Japan (日本)</option>
|
||||
<option value="JE">Jersey</option>
|
||||
<option value="JO">Jordan (الاردن)</option>
|
||||
<option value="KZ">Kazakhstan (Қазақстан)</option>
|
||||
<option value="KE">Kenya</option>
|
||||
<option value="KI">Kiribati</option>
|
||||
<option value="KW">Kuwait (الكويت)</option>
|
||||
<option value="KG">Kyrgyzstan (Кыргызстан)</option>
|
||||
<option value="LA">Laos (ນລາວ)</option>
|
||||
<option value="LV">Latvia (Latvija)</option>
|
||||
<option value="LB">Lebanon (لبنان)</option>
|
||||
<option value="LS">Lesotho</option>
|
||||
<option value="LR">Liberia</option>
|
||||
<option value="LY">Libya (ليبيا)</option>
|
||||
<option value="MO">Macau</option>
|
||||
<option value="MG">Madagascar (Madagasikara)</option>
|
||||
<option value="MW">Malawi</option>
|
||||
<option value="MY">Malaysia</option>
|
||||
<option value="MV">Maldives (ގުޖޭއްރާ ޔާއްރިހޫމްޖ)</option>
|
||||
<option value="ML">Mali</option>
|
||||
<option value="MH">Marshall Islands</option>
|
||||
<option value="MQ">Martinique</option>
|
||||
<option value="MR">Mauritania (موريتانيا)</option>
|
||||
<option value="MU">Mauritius</option>
|
||||
<option value="YT">Mayotte</option>
|
||||
<option value="MX">Mexico (México)</option>
|
||||
<option value="FM">Micronesia</option>
|
||||
<option value="MN">Mongolia (Монгол Улс)</option>
|
||||
<option value="MS">Montserrat</option>
|
||||
<option value="MA">Morocco (المغرب)</option>
|
||||
<option value="MZ">Mozambique (Moçambique)</option>
|
||||
<option value="MM">Myanmar [Burma] (Myanmar (Burma))</option>
|
||||
<option value="NA">Namibia</option>
|
||||
<option value="NR">Nauru (Naoero)</option>
|
||||
<option value="NP">Nepal (नेपाल)</option>
|
||||
<option value="AN">Netherlands Antilles</option>
|
||||
<option value="NC">New Caledonia</option>
|
||||
<option value="NZ">New Zealand</option>
|
||||
<option value="NI">Nicaragua</option>
|
||||
<option value="NE">Niger</option>
|
||||
<option value="NG">Nigeria</option>
|
||||
<option value="NU">Niue</option>
|
||||
<option value="NF">Norfolk Island</option>
|
||||
<option value="MP">Northern Mariana Islands</option>
|
||||
<option value="KP">North Korea (조선)</option>
|
||||
<option value="OM">Oman (عمان)</option>
|
||||
<option value="PK">Pakistan (پاکستان)</option>
|
||||
<option value="PW">Palau (Belau)</option>
|
||||
<option value="PS">Palestinian Territories</option>
|
||||
<option value="PA">Panama (Panamá)</option>
|
||||
<option value="PG">Papua New Guinea</option>
|
||||
<option value="PY">Paraguay</option>
|
||||
<option value="PE">Peru (Perú)</option>
|
||||
<option value="PH">Philippines (Pilipinas)</option>
|
||||
<option value="PN">Pitcairn Islands</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="QA">Qatar (قطر)</option>
|
||||
<option value="RE">Réunion</option>
|
||||
<option value="RW">Rwanda</option>
|
||||
<option value="SH">Saint Helena</option>
|
||||
<option value="KN">Saint Kitts and Nevis</option>
|
||||
<option value="LC">Saint Lucia</option>
|
||||
<option value="PM">Saint Pierre and Miquelon</option>
|
||||
<option value="VC">Saint Vincent and the Grenadines</option>
|
||||
<option value="WS">Samoa</option>
|
||||
<option value="ST">São Tomé and Príncipe</option>
|
||||
<option value="SA">Saudi Arabia (المملكة العربية السعودية)</option>
|
||||
<option value="SN">Senegal (Sénégal)</option>
|
||||
<option value="SC">Seychelles</option>
|
||||
<option value="SL">Sierra Leone</option>
|
||||
<option value="SG">Singapore (Singapura)</option>
|
||||
<option value="SB">Solomon Islands</option>
|
||||
<option value="SO">Somalia (Soomaaliya)</option>
|
||||
<option value="ZA">South Africa</option>
|
||||
<option value="GS">South Georgia and the South Sandwich Islands</option>
|
||||
<option value="KR">South Korea (한국)</option>
|
||||
<option value="LK">Sri Lanka</option>
|
||||
<option value="SD">Sudan (السودان)</option>
|
||||
<option value="SR">Suriname</option>
|
||||
<option value="SJ">Svalbard and Jan Mayen</option>
|
||||
<option value="SZ">Swaziland</option>
|
||||
<option value="SY">Syria (سوريا)</option>
|
||||
<option value="TW">Taiwan (台灣)</option>
|
||||
<option value="TJ">Tajikistan (Тоҷикистон)</option>
|
||||
<option value="TZ">Tanzania</option>
|
||||
<option value="TH">Thailand (ราชอาณาจักรไทย)</option>
|
||||
<option value="TL">Timor-Leste</option>
|
||||
<option value="TG">Togo</option>
|
||||
<option value="TK">Tokelau</option>
|
||||
<option value="TO">Tonga</option>
|
||||
<option value="TT">Trinidad and Tobago</option>
|
||||
<option value="TN">Tunisia (تونس)</option>
|
||||
<option value="TM">Turkmenistan (Türkmenistan)</option>
|
||||
<option value="TC">Turks and Caicos Islands</option>
|
||||
<option value="TV">Tuvalu</option>
|
||||
<option value="UM">U.S. Minor Outlying Islands</option>
|
||||
<option value="VI">U.S. Virgin Islands</option>
|
||||
<option value="UG">Uganda</option>
|
||||
<option value="AE">United Arab Emirates (الإمارات العربيّة المتّحدة)</option>
|
||||
<option value="US">United States</option>
|
||||
<option value="UY">Uruguay</option>
|
||||
<option value="UZ">Uzbekistan (O'zbekiston)</option>
|
||||
<option value="VU">Vanuatu</option>
|
||||
<option value="VE">Venezuela</option>
|
||||
<option value="VN">Vietnam (Việt Nam)</option>
|
||||
<option value="WF">Wallis and Futuna</option>
|
||||
<option value="EH">Western Sahara (الصحراء الغربية)</option>
|
||||
<option value="YE">Yemen (اليمن)</option>
|
||||
<option value="ZM">Zambia</option>
|
||||
<option value="ZW">Zimbabwe</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p><input type="submit" name="submit" value="I Support the FSFE!" /></p>
|
||||
|
||||
</form>
|
||||
|
||||
<p><em>Our privacy policy is simple: We will never share your data with anyone outside FSFE. Period.</em></p>
|
||||
<p><em>We may contact you in the future to send you further information about
|
||||
the FSFE and its work. You can ask to be removed from our supporters list at anytime: just write to <a href="mailto:office@fsfeurope.org">office@fsfeurope.org</a></em></p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript" src="scripts/jquery.validate.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
$(document).ready(function() {
|
||||
$("form.support").validate({
|
||||
rules: {
|
||||
lastname: {required: true},
|
||||
semail: {email: true, required: true}
|
||||
}
|
||||
});
|
||||
});
|
||||
/* ]]> */
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
<timestamp>$Date$ $Author$</timestamp>
|
||||
</html>
|
||||
<!--
|
||||
Local Variables: ***
|
||||
mode: xml ***
|
||||
End: ***
|
||||
-->
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
//TODO: change in production
|
||||
ini_set( "display_errors","1" );
|
||||
ERROR_REPORTING( E_ALL) ;
|
||||
|
||||
|
||||
|
||||
$params = array('time', 'firstname', 'lastname', 'email', 'country_code');
|
||||
|
||||
// Save time in "YYYY-MM-DD HH:MM:SS"
|
||||
$_POST['time'] = date('Y-m-d H:i:s');
|
||||
|
||||
try {
|
||||
//open the database
|
||||
$db = new PDO( 'sqlite:../../db/support-test.sqlite' );
|
||||
}
|
||||
catch(PDOException $e) {
|
||||
print 'Error while connecting to Database: '.$e->getMessage();
|
||||
}
|
||||
|
||||
|
||||
// TODO: is here a security bug? should the input be validated first?
|
||||
try {
|
||||
// insert data
|
||||
$query = $db->prepare("INSERT INTO t1
|
||||
( " . implode(', ', $params) . " )
|
||||
VALUES ( :" . implode(', :', $params) . " )");
|
||||
foreach ( $params as $param )
|
||||
$query->bindParam(":$param", $_POST[$param]);
|
||||
$query->execute();
|
||||
}
|
||||
catch(PDOException $e) {
|
||||
print "Database Error: \n";
|
||||
print_r($db->errorInfo());
|
||||
}
|
||||
|
||||
// close the database connection
|
||||
$db = NULL;
|
||||
|
||||
|
||||
|
||||
//TODO: replace with standard FSFE website way of displaying feedback
|
||||
if ( isset($e) && $e ) {
|
||||
echo '<p>Sorry, there was an error. Please notify webmaster@fsfe.org</p>
|
||||
<p><a href="javascript: history.go(-1)">Back to the support page</a></p>';
|
||||
}
|
||||
else {
|
||||
echo '<p>Thank you for showing your support to the FSFE!</p>
|
||||
<p><a href="/">Go to the FSFE main page</a></p>';
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<tags>
|
||||
|
||||
|
||||
<!-- geographical locations -->
|
||||
|
||||
<tag id="de" name="Germany" type="country"/>
|
||||
<tag id="berlin" name="Berlin" parent-region="de" type="city"/>
|
||||
|
||||
<tag id="uk" name="United Kingdom" type="country" link="/uk/index" />
|
||||
<tag id="manchester" name="Manchester" type="city" link="/uk/index" />
|
||||
|
||||
<!-- projects -->
|
||||
|
||||
<!-- there should be no need to redefine tags corresponding to projects
|
||||
let's use the project ids that can be found in projects/*/project.xx.xml files -->
|
||||
|
||||
|
||||
</tags>
|
||||
|
||||
|
||||
+953
File diff suppressed because it is too large
Load Diff
Executable
+121
@@ -0,0 +1,121 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use constant false => 0;
|
||||
use constant true => 1;
|
||||
|
||||
use XML::LibXML;
|
||||
|
||||
|
||||
|
||||
#print areEqual("./thankgnus.en.xhtml", "./thankgnus.fr.xhtml")."\n";
|
||||
|
||||
|
||||
sub areEqual {
|
||||
|
||||
my ($file1, $file2) = @_;
|
||||
|
||||
#my $dom = XML::LibXML->load_xml(location => $file1); # the load_xml() function is not part of libxml 1.66 which is used on the server
|
||||
#my $don = XML::LibXML->load_xml(location => $file2);
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
my $dom = $parser->parse_file($file1);
|
||||
my $don = $parser->parse_file($file2);
|
||||
|
||||
my $root = $dom->documentElement();
|
||||
my $roon = $don->documentElement();
|
||||
|
||||
return nodesAreEqual($file1, $file2, $root, $roon, "/", '');
|
||||
|
||||
}
|
||||
|
||||
|
||||
sub nodesAreEqual {
|
||||
|
||||
my ($file1, $file2, $node1, $node2, $uptree, $nodenb) = @_;
|
||||
|
||||
# test that two nodes at the same position have the same name
|
||||
if (not $node1->nodeName eq $node2->nodeName) {
|
||||
|
||||
# short excerpts of these nodes' contents, to give a hint where the error is
|
||||
my $hint1 = $node1->textContent;
|
||||
$hint1 =~ s/\n//g; $hint1 =~ s/ //g; $hint1 =~ s/\t//g;
|
||||
$hint1 = substr($hint1,0,40)."...";
|
||||
|
||||
my $hint2 = $node2->textContent;
|
||||
$hint2 =~ s/\n//g; $hint2 =~ s/ //g; $hint2 =~ s/\t//g;
|
||||
$hint2 = substr($hint2,0,40)."...";
|
||||
|
||||
return (false, "$file2:\n
|
||||
en contains $uptree".$node1->nodeName."\t(".$hint1."), but\n".
|
||||
"** contains $uptree".$node2->nodeName."\t(".$hint2.")");
|
||||
}
|
||||
|
||||
$uptree .= $node1->nodeName.$nodenb."/";
|
||||
|
||||
# get all children of each node
|
||||
my @nodes = $node1->getChildrenByTagName('*');
|
||||
my @nodez = $node2->getChildrenByTagName('*');
|
||||
|
||||
#print "\t".$node1->nodeName."(".scalar(@nodes).")", "\t", $node2->nodeName."(".scalar(@nodez).")", "\n";
|
||||
|
||||
# remove <translator> and <timestamp> from the nodesz
|
||||
for (my $i=scalar(@nodes)-1; $i>=0; $i--) {
|
||||
if ( $nodes[$i]->nodeName eq "translator" or $nodes[$i]->nodeName eq "timestamp" ) {
|
||||
splice(@nodes,$i,1);
|
||||
}
|
||||
}
|
||||
for (my $i=scalar(@nodez)-1; $i>=0; $i--) {
|
||||
if ( $nodez[$i]->nodeName eq "translator" or $nodez[$i]->nodeName eq "timestamp" ) {
|
||||
splice(@nodez,$i,1);
|
||||
}
|
||||
}
|
||||
|
||||
# test the size of the two lists of nodes
|
||||
if ( scalar(@nodes) != scalar(@nodez) ) {
|
||||
foreach (@nodes) { $_ = $_->nodeName };
|
||||
foreach (@nodez) { $_ = $_->nodeName };
|
||||
return (false, "$file1: ".join(",", @nodes)."\t\t<-children differences under $uptree\n"."$file2: ".join(",", @nodez) );
|
||||
}
|
||||
|
||||
# comparing the two lists of nodes
|
||||
my $commons = "";
|
||||
for my $i (0 .. $#nodes) {
|
||||
if (not $nodes[$i]->nodeName eq $nodez[$i]->nodeName) {
|
||||
return (false, "$file2: after common $commons, " . $nodes[$i]->nodeName . " != " . $nodez[$i]->nodeName );
|
||||
}
|
||||
$commons .= $nodes[$i]->nodeName.",";
|
||||
}
|
||||
|
||||
# recur!
|
||||
for my $i (0 .. $#nodes) {
|
||||
my ($bool, $err) = nodesAreEqual($file1, $file2, $nodes[$i], $nodez[$i], $uptree, $i);
|
||||
if (not $bool) {
|
||||
return ($bool, $err);
|
||||
}
|
||||
}
|
||||
|
||||
# if we get here, it means we did not
|
||||
return (true, "trees are equal");
|
||||
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,10 +12,9 @@
|
||||
<menu id="fsfe/thankgnus" priority="7" parent="fsfe">/donate/thankgnus.html</menu>
|
||||
|
||||
<menu id="fellowship" />
|
||||
<menu id="fellowship/fellowship" priority="0" parent="fellowship">http://fellowship.fsfe.org/</menu>
|
||||
<menu id="fellowship/card" priority="1" parent="fellowship">https://fellowship.fsfe.org/card.en.html</menu>
|
||||
<menu id="fellowship/communicate" priority="2" parent="fellowship">https://fellowship.fsfe.org/communicate.en.html</menu>
|
||||
<menu id="fellowship/contact" priority="3" parent="fellowship">https://fellowship.fsfe.org/contact.en.html</menu>
|
||||
<menu id="fellowship/card" priority="0" parent="fellowship">/fellowship/card.html</menu>
|
||||
<menu id="fellowship/communicate" priority="1" parent="fellowship">/fellowship/communicate.html</menu>
|
||||
<menu id="fellowship/contact" priority="2" parent="fellowship">/fellowship/contact.html</menu>
|
||||
|
||||
<menu id="planet" />
|
||||
<menu id="planet/planet" priority="0" parent="planet">http://planet.fsfe.org/</menu>
|
||||
|
||||
+4
-2
@@ -55,7 +55,9 @@
|
||||
|
||||
<!-- Article metadata -->
|
||||
<text id="author">Author</text>
|
||||
<text id="published">Published</text>
|
||||
<text id="writtenby">Written by</text>
|
||||
<text id="published">on</text>
|
||||
<text id="revision">updated on</text>
|
||||
<text id="download">Download</text>
|
||||
|
||||
<!-- Conjunctions -->
|
||||
@@ -74,7 +76,7 @@
|
||||
<text id="fsfe/thankgnus">Donors</text>
|
||||
<text id="fellowship/fellowship">Join</text>
|
||||
<text id="fellowship/card">Card</text>
|
||||
<text id="fellowship/communicate">Contact</text>
|
||||
<text id="fellowship/communicate">Communicate</text>
|
||||
<text id="fellowship/contact">Contact</text>
|
||||
<text id="planet/planet">Planet</text>
|
||||
<text id="planet/blogs">Blogs</text>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
# Constants
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
testroot="http://test.fsfe.org"
|
||||
srcroot="http://test.fsfe.org/source"
|
||||
cvsroot="https://trac.fsfe.org/fsfe-web/log/branches/test"
|
||||
|
||||
@@ -67,11 +68,11 @@ done
|
||||
sort "${infile}" \
|
||||
| uniq \
|
||||
| sed --expression='s/\.\///g' \
|
||||
| while read language wantfile havefile; do
|
||||
| while read language wantfile havefile comment; do
|
||||
if [ -f "${wantfile}" ]; then
|
||||
date1="$(date --iso-8601 --reference=${wantfile})"
|
||||
date2="$(date --iso-8601 --reference=${havefile})"
|
||||
echo "outdated ${date2} ${wantfile} ${date1} ${havefile}" >> "${infile}.${language}"
|
||||
echo "outdated ${date2} ${wantfile} ${date1} ${havefile} ${comment}" >> "${infile}.${language}"
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -95,7 +96,7 @@ for file in ${infile}.*; do
|
||||
echo " <a href=\"translations.html\">« Back to <em>Translation status overview</em></a>"
|
||||
echo " </p>"
|
||||
lastgroup=""
|
||||
sort --reverse ${file} | while read group date2 wantfile date1 havefile; do
|
||||
sort --reverse ${file} | while read group date2 wantfile date1 havefile comment; do
|
||||
if [ "${group}" != "${lastgroup}" ]; then
|
||||
if [ "${group}" == "outdated" ]; then
|
||||
echo " <h2>Outdated translations</h2>"
|
||||
@@ -141,7 +142,7 @@ for file in ${infile}.*; do
|
||||
echo " <tr>"
|
||||
if [ "${group}" = "outdated" ]; then
|
||||
echo " <td>"
|
||||
echo " <a href=\"${srcroot}/${wantfile}\">${wantfile}</a>"
|
||||
echo " <a href=\"${srcroot}/${wantfile}\">${wantfile}</a> (${comment} - <a href=\"${testroot}/${wantfile:0:${#wantfile}-5}html\">test</a>)"
|
||||
echo " </td>"
|
||||
echo " <td align=\"center\">${date1}</td>"
|
||||
echo " <td>"
|
||||
@@ -208,10 +209,10 @@ grep --no-filename "^outdated" ${infile}.* \
|
||||
echo " <th colspan=\"3\">translated file</th>"
|
||||
echo " <th colspan=\"3\">original file</th>"
|
||||
echo " </tr>"
|
||||
while read group date2 wantfile date1 havefile; do
|
||||
while read group date2 wantfile date1 havefile comment; do
|
||||
echo " <tr>"
|
||||
echo " <td>"
|
||||
echo " <a href=\"${srcroot}/${wantfile}\">${wantfile}</a>"
|
||||
echo " <a href=\"${srcroot}/${wantfile}\">${wantfile}</a> (${comment})"
|
||||
echo " </td>"
|
||||
echo " <td align=\"center\">${date1}</td>"
|
||||
echo " <td>"
|
||||
|
||||
+40
-22
@@ -27,33 +27,51 @@
|
||||
<xsl:variable name="id"
|
||||
select="@id" />
|
||||
|
||||
<xsl:variable name="avatar" select="@avatar" />
|
||||
<!-- <xsl:variable name="avatar" select="@avatar" />-->
|
||||
|
||||
<xsl:element name="li">
|
||||
<xsl:element name="p">
|
||||
<!-- Picture -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="link != ''">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="link" />
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:call-template name="avatar">
|
||||
<xsl:with-param name="id" select="$id" />
|
||||
<xsl:with-param name="haveavatar" select="$avatar" />
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
<xsl:call-template name="avatar">
|
||||
<xsl:with-param name="id" select="$id" />
|
||||
<xsl:with-param name="haveavatar" select="$avatar" />
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:otherwise>
|
||||
<xsl:when test="avatar">
|
||||
<xsl:choose>
|
||||
<xsl:when test="link != ''">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="link" />
|
||||
</xsl:attribute>
|
||||
|
||||
<!-- <xsl:call-template name="avatar">-->
|
||||
<!-- <xsl:with-param name="id" select="$id" />-->
|
||||
<!-- <xsl:with-param name="haveavatar" select="$avatar" />-->
|
||||
<!-- </xsl:call-template>-->
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"><xsl:value-of select="name" /></xsl:attribute>
|
||||
<xsl:attribute name="src"><xsl:value-of select="avatar" /></xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
<!-- <xsl:call-template name="avatar">-->
|
||||
<!-- <xsl:with-param name="id" select="$id" />-->
|
||||
<!-- <xsl:with-param name="haveavatar" select="$avatar" />-->
|
||||
<!-- </xsl:call-template>-->
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"><xsl:value-of select="name" /></xsl:attribute>
|
||||
<xsl:attribute name="src"><xsl:value-of select="avatar" /></xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="alt"><xsl:value-of select="name" /></xsl:attribute>
|
||||
<xsl:attribute name="src">/graphics/default-avatar.png</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- Name; if link is given show as link -->
|
||||
<xsl:element name="span">
|
||||
|
||||
@@ -818,7 +818,7 @@
|
||||
|
||||
<xsl:template name="dt:get-month-name">
|
||||
<xsl:param name="month"/>
|
||||
|
||||
<!--
|
||||
<xsl:choose>
|
||||
<xsl:when test="$month = 1">January</xsl:when>
|
||||
<xsl:when test="$month = 2">February</xsl:when>
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
</h3>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
<!-- event date -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="$start != $end">
|
||||
@@ -204,7 +204,7 @@
|
||||
<xsl:value-of select="$start_day" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$start_month" />
|
||||
<xsl:text> to </xsl:text>
|
||||
<xsl:text> to </xsl:text>
|
||||
<xsl:value-of select="$end_day" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$end_month" />
|
||||
|
||||
+76
-32
@@ -135,42 +135,37 @@
|
||||
|
||||
##<xsl:value-of select="$nbtags" />##<xsl:value-of select="$average" />## -->
|
||||
|
||||
<xsl:element name="ul">
|
||||
<xsl:call-template name="append-children-tags" />
|
||||
|
||||
<xsl:attribute name="class">taglist</xsl:attribute>
|
||||
|
||||
<xsl:for-each select="/html/set/news/tags/tag">
|
||||
<xsl:sort select="." order="ascending" />
|
||||
|
||||
<xsl:variable name="thistag" select="node()" />
|
||||
<xsl:variable name="nb" select="count( /html/set/news/tags/tag[text() = $thistag]) " />
|
||||
|
||||
<!-- fontsize = (MAXFONT-MINFONT) * (count-MINCOUNT) / (MAXCOUNT-MINCOUNT) + MINFONT
|
||||
→ to finish this calculation, we need to find out how many min and max tag occurrences there are -->
|
||||
<!-- <xsl:variable name="font" select="(40-16) * ($nb-16) / (MAXCOUNT-MINCOUNT) + 16" /> -->
|
||||
|
||||
<xsl:if test="generate-id() = generate-id(key('news-tags-by-value', normalize-space(.)))">
|
||||
<!--
|
||||
<xsl:for-each select="/html/set/news/tags/tag">
|
||||
<xsl:sort select="." order="ascending" />
|
||||
|
||||
<xsl:variable name="thistag" select="node()" />
|
||||
<xsl:variable name="nb" select="count( /html/set/news/tags/tag[text() = $thistag]) " />
|
||||
|
||||
<xsl:if test="generate-id() = generate-id(key('news-tags-by-value', normalize-space(.)))">
|
||||
|
||||
<xsl:element name="li">
|
||||
|
||||
<xsl:element name="li">
|
||||
<xsl:element name="a">
|
||||
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>/tags/tagged.</xsl:text>
|
||||
<xsl:value-of select="/html/@lang" />
|
||||
<xsl:text>.html#n</xsl:text>
|
||||
<xsl:value-of select="translate($thistag,' ','')" />
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:value-of select="."/>
|
||||
|
||||
<xsl:element name="a">
|
||||
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>/tags/tagged.</xsl:text>
|
||||
<xsl:value-of select="/html/@lang" />
|
||||
<xsl:text>.html#n</xsl:text>
|
||||
<xsl:value-of select="translate($thistag,' ','')" />
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:value-of select="."/>
|
||||
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
-->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
@@ -214,6 +209,55 @@
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- recursive, nested list of parent-region children tags -->
|
||||
<xsl:template name="append-children-tags">
|
||||
<xsl:param name="parent-region" select="''" />
|
||||
|
||||
<xsl:element name="ul">
|
||||
|
||||
<xsl:if test="$parent-region=''">
|
||||
<xsl:attribute name="class">taglist</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:attribute name="parent-region"><xsl:value-of select="$parent-region" /></xsl:attribute>
|
||||
|
||||
<xsl:for-each select="/html/set/tag[ (not(@parent-region) and $parent-region='') or
|
||||
@parent-region = $parent-region ]">
|
||||
|
||||
<xsl:variable name="id" select="@id" />
|
||||
<!-- <xsl:variable name="nb" select="count( /html/set/news/tags/tag[text() = $id]) " /> -->
|
||||
|
||||
<xsl:element name="li">
|
||||
|
||||
<xsl:element name="a">
|
||||
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>/tags/tagged.</xsl:text>
|
||||
<xsl:value-of select="/html/@lang" />
|
||||
<xsl:text>.html#n</xsl:text>
|
||||
<xsl:value-of select="translate($id,' ','')" />
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:value-of select="@name"/>
|
||||
|
||||
</xsl:element>
|
||||
|
||||
<!-- if there are children, add them as a sublist -->
|
||||
<xsl:for-each select="/html/set/tag[ @parent-region = $id ]">
|
||||
<xsl:call-template name="append-children-tags">
|
||||
<xsl:with-param name="parent-region" select="$id" />
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:element> <!-- </li> -->
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:element> <!-- </ul> -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="fetch-links">
|
||||
<xsl:element name="ul">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user