Mozilla muss 1.5 Millionen Dollar Steuern nachzahlen

Eine beinahe vierjährige Steuerprüfung bei Mozilla ist nun zum Ende gekommen. Das Ergebnis: Mozilla muss 1.5 Millionen Dollar Steuern nachzahlen. Für Mozilla ein guter Ausgang.

Mozilla hatte im Jahr 2007 Zahlungen von Google in Höhe von 66 Millionen Dollar als nicht steuerpflichtige Einnahmen erklärt, woraufhin die US-Bundessteuerbehörde 2008 Untersuchungen eingeleitet hatte. Da der Ausgang dieser Prüfung unklar war, hatte Mozilla Rücklagen in Höhe von 15 Millionen Dollar gebildet. Nachdem die Bundessteuerbehörde nun lediglich 10% dieser Summe fordert, stehe der Rest der reservierten Summe jetzt für Mozillas Mission zur Verfügung, Innovationen und Möglichkeiten im Web zu fördern, so Mitchell Baker, Vorsitzende der Mozilla Foundation. (via)

Firefox OS Apps mit dem Firefox OS Simulator auf dem Desktop testen

Wer Apps für Mozillas kommendes mobiles Betriebssystem Firefox OS erstellen möchte, benötigt kein Smartphone, um diese zu testen. Mit dem Firefox OS Simulator, ehemals bekannt als r2d2b2g, gibt es eine Firefox OS-Umgebung als Add-on für den Firefox-Browser.

Mozilla bietet mit den Desktop-Builds, einem Emulator sowie dem Responsive Design View in Firefox bereits hilfreiche Werkzeuge zum Testen von Firefox OS-Apps an. Der Firefox OS-Simulator entspricht praktisch den Desktop-Builds. Die Besonderheit ist die einfache Handhabung. Installiert wird der Simulator als Erweiterung für Firefox und steht anschließend über das Entwickler-Werkzeuge-Menü sowie die Entwickler-Toolbar (Shift + F2, Kommando: firefoxos) zur Verfügung.

Über ein Dashboard lassen sich ganz einfach Web-Apps oder auch als App verpackte Webseiten in den Simulator übertragen und dort ausführen. Dazu muss einfach die URL zu einer Webseite oder zur Manifest-Datei einer App eingetragen werden. Eine Autovervollständigung macht Vorschläge anhand der aktuell geöffneten Tabs. Aber auch lokale Manifest-Dateien auf dem Computer lassen sich hier auswählen. Zum Aktualisieren einer App auf dem Simulator ist der Update-Button zu drücken und der Simulator neu zu starten. Auf dem Dashboard entfernte Apps werden nach einem Neustart des Simulators auch vom Simulator entfernt. Außerdem lässt sich über das Dashboard der Simulator starten sowie stoppen und die JavaScript-Konsole aktivieren respektive deaktivieren.

Der Simulator zeigt außerdem einen Home-Button am unteren Ende an, so dass man die Apps auf dem Simulator auch verlassen kann, ohne die Taste auf der Tastatur dafür wissen zu müssen.

HSTS-Liste schützt Firefox ab Version 17 vor Man-in-the-Middle-Attacken

Mozilla hat in Firefox eine Liste von HSTS-Hosts implementiert und verbessert damit den Schutz der Benutzer vor Man-in-the-Middle-Attacken.

Bei HSTS (HTTP Strict Transport Security) handelt es sich um einen Mechanisus, durch welchen der Server signalisieren kann, dass der Browser eine sichere Verbindung über HTTPS benutzen muss, um mit diesem zu kommunizieren. Damit sollen sich Nutzer vor sogenannten Man-in-the-middle-Attacken schützen lassen, bei welchen der Datenstrom im Klartext mitgelesen und unter Umständen sogar manipuliert werden kann.

Das Problem bei HSTS ist, dass der Browser bei der ersten Verbindung zu einem HSTS-Host noch gar nicht weiß, ob er eine verschlüsselte oder eine unverschlüsselte Verbindung benutzen soll, da er noch keinen HSTS-Header vom Server empfangen hat, und die Benutzer häufig einfach die HTTP-Version der entsprechenden Seite ansteuern. Ein Angreifer könnte den Browser also einfach daran hindern, überhaupt jemals eine sichere Verbindung aufzubauen und dieser Schutz wäre wirkungslos.

Aus diesem Grund hat Mozilla eine Liste von Hosts direkt in Firefox implementiert, bei welchen Firefox standardmäßig HSTS nutzt. Verbindet sich der Nutzer zum ersten mal zu einer dieser Seiten, weiß Firefox direkt, dass eine gesicherte Verbindung erfordert wird. Andernfalls wird Firefox die Verbindung verweigern.

Mozilla bedient sich hierbei der HSTS-Liste aus Chrome, welcher seit einigen Monaten eine solche Funktion besitzt. Dabei wurden aber nur Seiten in die Liste aufgenommen, deren HSTS-Header eine Gültigkeitsdauer von mindestens 18 Wochen festlegt. Empfängt Firefox einen Header mit einem max-age von 0, zum Beispiel weil eine solche Domain den Besitzer wechselt und der neue Besitzer beschließt, nicht länger auf HSTS zu setzen, wird ein Knockout-Eintrag gespeichert, welcher den Eintrag in der HSTS-Hosts-Liste überschreibt.

Das Feature ist bereits Bestandteil der aktuellen Beta-Version von Firefox 17, welcher voraussichtlich am 20. November in der finalen Version erscheinen wird.

How To: Einstellungen mit den Add-on SDK umsetzen

Mit dem Add-on SDK, auch bekannt als Jetpack, hat Mozilla zusammen mit dem Add-on Builder eine großartige Möglichkeit geschaffen, auf einfache Weise Add-ons für Mozilla Firefox zu erstellen. Im vierten Teil der Tutorial-Serie zum Add-on SDK von Mozilla erkläre ich, wie man Einstellungen nutzen kann, welche der Benutzer über den Add-on Manager verändern kann.

Teil 1: How To: Simple Firefox-Erweiterung in wenigen Minuten erstellen dank Add-on SDK
Teil 2: How To: XPCOM-Zugriff und INI-Parser mit dem Firefox Add-on SDK
Teil 3: How To: JavaScript-Module (*.jsm) und clipboard-API mit dem Add-on SDK

Aufmerksame Leser dieser Serie erinnern sich vielleicht noch, dass uns Einstellungen bereits in Teil 1 begegnet sind. Damals hatten wir uns noch aus Ermangelung einer anderen Möglichkeit des Low-Level-APIs preferences-service bedient. Damit konnten wir bereits Entscheidungen abhängig von Einstellungen treffen, diese allerdings nur über about:config verändern, eine Oberfläche gab es hierfür noch nicht.

Mit der Einführung des High-Level-APIs simple-prefs haben wir mittlerweile die Möglichkeit, Einstellungen direkt über den Add-on Manager zu verändern. Dabei haben wir die Wahl zwischen verschiedenen Typen von Optionen: String, Ganzzahlen, Boolean, Farbe, Datei, Verzeichnis sowie Button.

Um Einstellungen anzulegen, müssen diese als zusätzliches JSON-Array mit dem Namen “preferences” in die Datei package.json geschrieben werden. Da wir bislang den Add-on Builder verwenden, bearbeiten wir die geforderte Datei allerdings gar nicht. Glücklicherweise bietet der Add-on Builder auch die Möglichkeit, diese Datei zu erweitern. Dazu klicken wir dort auf den Button mit dem Zahnrad (“Properties”) und tragen dort in das Textfeld “Extra package.json Properties” unsere Optionen ein.

Der ganze Eintrag muss ein gültiges JSON-Objekt darstellen, man muss also genau auf die Syntax achten, ansonsten quittiert der Add-on Builder dies mit einer Fehlermeldung. Bevor ich im Detail darauf eingehe, folgt zunächst ein Beispiel mit allen Möglichkeiten:

{
"preferences" : [
{
"type" : "string",
"name" : "string-pref",
"title" : "Textfeld",
"description" : "Dieses Attribut beschreibt genauer, was diese Einstellung eigentlich macht",
"value" : "Standard-Text, welcher erscheint, wenn nichts explizit eingestellt wurde. "
},
{
"type" : "integer",
"name" : "integer-pref",
"title" : "Ganzzahl",
"value" : 42
},
{
"type" : "bool",
"name" : "boolean-pref",
"title" : "Boolean",
"value" : false
},
{
"type" : "boolint",
"name" : "boolint-pref",
"on" : "1",
"off" : "2",
"title" : "BoolInt",
"description" : "boolint ist wie bool, bloß wird hier nicht true oder false gespeichert, sondern eine definierte Zahl",
"value" : 1
},
{
"type" : "file",
"name" : "file-pref",
"title" : "Datei auswählen"
},
{
"type" : "directory",
"name" : "directory-pref",
"title" : "Verzeichnis auswählen"
},
{
"type" : "control",
"name" : "button-pref",
"title" : "Button",
"label" : "Dieser Text steht innerhalb des Buttons"
},
{
"type" : "color",
"name" : "color-pref",
"value" : "#c0ffee",
"title" : "Farbe"
}
]
}

Der Aufbau ist im Prinzip ziemlich klar, so dass sich anhand dieser Vorlage schnell alle Einstellungen nach Wunsch zusammenstellen lassen sollten. Dabei haben alle Einstellungen drei Attribute gemeinsam, welche in jedem Fall zwingend erforderlich sind: type ist die Art der Einstellung, also ob wir ein Textfeld, eine Ganzzahl oder etwas anderes verändern wollen. Weiter gibt es noch name als internen Namen der Einstellung, wie wir ihn auch im Code der Erweiterung verwenden und title ist die Bezeichnung, welche der Benutzer im Add-on Manager sieht.

Optional kann noch eine description als genauere Beschreibung für die jeweilige Einstellung verwendet werden. Das Attribut value definiert eine Einstellung mit einem Standard-Wert vor.

Zwei Einstellungs-Typen haben noch zusätzliche Attribute. Möchte man einen Button (“control”) anzeigen, muss über das label-Attribut noch ein Text festgelegt werden, welcher innerhalb des Buttons erscheint. Außerdem gibt es mit boolint noch einen Typen, welcher bool sehr ähnlich ist. Der Unterschied ist der, dass bei Boolean true respektive false abgespeichert wird, bei boolint wird ebenso eine Checkbox angezeigt, die Auswahl aber mit einer beliebig festlegbaren Zahl assoziiert. Zu diesem Zweck müssen ein on- beziehungsweise off-Attribut definiert werden. Hier gilt es außerdem zu beachten, dass diese Werte in Anführungszeichen stehen müssen, während der Standardwert hier ohne Anführungszeichen stehen muss, was auf den ersten Blick nicht unbedingt konsistent erscheint.

Damit besitzt die Erweiterung nun Einstellungen, welche über den Add-on Manager bearbeitet werden können. Aber auch über about:config können diese wie alle anderen Einstellungen auch bearbeitet werden. Man findet die dazugehörigen Einstellungen unter dem Namen extensions.@jetpack., wobei JID den eindeutigen Identifier der Erweiterung meint, welcher auch im Zahnradmenü des Add-on Builders festgelegt werden kann, und name der interne Name der jeweiligen Einstellung ist, welchen wir vorher unter dem gleichnamigen Attribut definiert haben.

Nun machen unsere Einstellungen aber noch nichts und sind so ziemlich sinnlos. Wir müssen also im Code unserer Erweiterung irgendwie auf die Einstellungen reagieren. Das ist aber nicht sonderlich schwer. Zunächst müssen wir das simple-prefs-API überhaupt erst einmal einbinden, dies machen wir mit folgender Zeile:

const sp = require('simple-prefs');

Anschließend können wir über sp.prefs[''], was wieder den internen Namen unserer Einstellung meint, auf die jeweilige Einstellung zugreifen. Wenn wir beispielsweise eine Einstellung vom Typ “integer” mit dem Namen “integer-pref” angelegt haben, dann können wir auf folgende Weise je nach eingestelltem Wert darauf reagieren:

if (42 === sp.prefs['integer-pref']) {
console.log('42');
} else {
console.log('eine andere Zahl');
}

Desweiteren können wir auch aktiv auf die Änderung einer Einstellung reagieren. Dazu kann mittels on()-Methode ein Event-Listener mit dem Namen der Einstellung als ersten Parameter sowie der aufzurufenden Funktion als zweiten Parameter registriert werden.

function do_something() {
// javascript code...
}

sp.on('integer-pref', do_something);

Hier ein Beispiel dazu:

const sp = require('simple-prefs');

var addon = {
output : function() {
var output = '\n';
for (property in sp.prefs) {
output += property + ' : ' + sp.prefs[property] + '\n';
}
console.log(output);
},

printIntegerPreference : function() {
console.log(sp.prefs['integer-pref']);
}
};

exports.main = function() {
sp.on('color-pref', addon.output);
sp.on('integer-pref', addon.printIntegerPreference);
};

Das war das Tutorial zu den Einstellungen mit dem Add-on SDK. Vielleicht fragt sich der eine oder andere, ob sich die Einstellungen auch übersetzen lassen. Und die Antwort lautet Ja. Mozilla hat vor wenigen Tagen das Add-on SDK in Version 1.11 veröffentlicht, welches erstmals auch die Übersetzung von Einstellungen erlaubt. Übersetzungen sind aber ein etwas größeres Thema, weil man normalerweise ja nicht nur Einstellungen, sondern alle Teile eine Erweiterung übersetzen möchte. Und hier gibt es je nach Art der Übersetzung – im JavaScript-Code, in HTML-Dateien, Einstellungen – Unterschiede. Außerdem lässt sich dies derzeit nicht mit dem Add-on Builder realisieren, so dass die Erstellung ein wenig mehr Handarbeit erfordert. Aus diesem Grund werde ich diesem Thema einen eigenen Artikel widmen.

Fehlende Browserwahl in Windows kostet Mozilla 6-9 Millionen Firefox Downloads

Eine interessante Statistik hat Harvey Anderson, seines Zeichens Vice President of Business Affairs and General Counsel von Mozilla, veröffentlicht. Demnach habe das teilweise Fehlen der Browserauswahl in Windows dafür gesorgt, dass Mozilla schätzungsweise zwischen sechs und neun Millionen Firefox-Downloads fehlen.

Seit 2009 ist Microsoft seitens der Europäischen Union dazu verpflichtet, seinen Nutzern eine Browserauswahl anzubieten, über welche diese Firefox, Chrome sowie weitere Browser herunterladen können. Für Nutzer von Windows 7 mit Service Pack 1 fehlte dieser Dialog ganze 15 Monate lang.

Betrachtet man nun die Downloadzahlen von Firefox bis zur Behebung des Fehlers durch Microsoft, sind diese bis dahin etwa 63 Prozent niedriger gewesen. Nach der Behebung des Fehlers ist die Downloadzahl wieder um 150 Prozent auf um die 50.000 Downloads pro Tag gestiegen. Daraus ergibt sich die ku­mu­la­tive Zahl von sechs bis neun Millionen Firefox-Downloads, welche Mozilla fehlen.

Bildquelle: lockshot.wordpress.com

Natürlich müssen diese Zahlen nicht überbewertet werden, zumal es noch einmal große Unterschiede zwischen den Downloadzahlen und den Installationen sowie der tatsächlichen Nutzung gibt, doch interessant ist diese Zahl allemal.

Mozilla setzt veraltete Java- und Flash-Versionen auf Click-to-Play

Mozilla hat damit begonnen, veraltete Versionen von Java und dem Adobe Flash Player per Blockliste auf Click-to-Play zu setzen. Damit sind diese nicht länger standardmäßig aktiv, können vom Benutzer aber bei Bedarf aktiviert werden.

Mit Firefox 17 hat Mozilla die Möglichkeit in den Browser implementiert, veraltete Plugin-Versionen über eine Blockliste auf Click-to-Play zu setzen. Damit verbessert Mozilla die Sicherheit und Stabilität des Browsers, ohne die jeweiligen Plugins komplett blockieren zu müssen.

Nutzer einer Beta-Version von Firefox 17 sehen dieses Feature nun zum ersten mal, denn Mozilla hat damit begonnen, veraltete Plugins in diesen Modus zu setzen. Konkret handelt es sich dabei um:

  • Adobe Flash Player unter Version 10.3.183.19
  • Adobe Flash Player zwischen Version 11.0 und 11.4.402.287
  • Java Plugin 6 Update 33 bis 36 auf Windows und Linux
  • Java Plugin 6 unter Update 36 auf Mac OS X
  • Java Plugin 7 Update 7 und 8

Bildquelle: blog.mozilla.org/security/

Vor allem aus Gründen der eigenen System-Sicherheit sollten Plugins immer auf dem neusten Stand gehalten werden. Der Plugin-Check von Mozilla hilft dabei, die wichtigsten installierten Plugins auf ihre Aktualität hin zu überprüfen. Dies funktioniert übrigens nicht nur mit Firefox, sondern auch mit anderen Browsern.

Firefox 16.0.2 und Firefox Mobile 16.0.2 veröffentlicht

Mozilla hat ein weiteres Sicherheitsupdate für Firefox und Firefox Mobile veröffentlicht. Die neue Version 16.0.2 steht ab sofort zum Download bereit.

Mit der neuen Firefox-Version für den Desktop erneuert Mozilla das Sicherheitszertifikat für Hotfix-Add-ons. Desweiteren behebt Mozilla ein Update-Problem mit Partner-Builds von Firefox. Schließlich werden mit der neuen Version für Desktop und Android noch diverse sicherheitsrelevante Probleme in Zusammenhang mit dem Location-Objekt adressiert.

Download Mozilla Firefox 16.0.2 für den Desktop
Download Mozilla Firefox Mobile 16.0.2 für Android

Die deutschsprachige Mozilla-Gemeinschaft zeigt sich in neuem Gewand

Die Webseite der deutschsprachigen Mozilla-Gemeinschaft hat einen neuen Anstrich erhalten und präsentiert sich ab sofort im modernen Sandstone-Design.

Unter mozilla.de findet man die deutschsprachige Mozilla-Community im Internet. Auf der Webseite finden sich nicht nur Downloadlinks für Firefox, Thunderbird & Co., auch gelangt man hier zu den deutschsprachigen Hilfe-Plattformen der verschiedenen Mozilla-Produkte. Wer in der Mozilla-Community mithelfen möchte, findet auf dieser Seite ebenfalls hilfreiche Informationen.

Du möchtest Kontakt mit einem Mozillian aus der deutschsprachigen Community aufnehmen? Auf mozilla.de findest du eine Liste Mitwirkender aus Deutschland, Österreich und der Schweiz sowie Kontaktmöglichkeiten per IRC oder Mailing-Liste. Übrigens: Die deutschsprachige Community tauscht sich jeden Mittwoch um 21.00h im IRC-Channel #demeeting auf irc.mozilla.org aus. Interessierte sind herzlich Willkommen.

Eine Besonderheit von mozilla.de stellt das Planet Mozilla (de) dar. Dabei handelt es sich um einen News-Aggregator für verschiedene Neuigkeiten rund um Mozilla – natürlich in deutscher Sprache. Auch die Mozilla-Artikel dieser Seite erscheinen alle im Planet Mozilla (de) – ungekürzt.

Die alte mozilla.de-Seite:

Die neue mozilla.de-Seite:

Firefox bekommt H.264-Unterstützung

Im März dieses Jahres hatte Mozilla angedeutet, zukünftig den Video-Codec H.264 in Firefox unterstützen zu wollen. Die aktuelle Beta-Version von Firefox Mobile für Android kommt mit H.264-Unterstützung, auch die Desktop-Version von Firefox soll in Zukunft H.264 sowie weitere proprietäre Codecs wie MP3 und AAC unterstützen.

Lange Zeit hat sich Mozilla gegen die Unterstützung patentgeschützter Codecs wie H.264 ausgesprochen. Nachdem sich WebM aber nicht wie erhofft durchsetzen konnte, hat man sich dazu entschlossen, Firefox H.264 unterstützen zu lassen, um dem Benutzer die bestmögliche Web-Erfahrung liefern zu können. Gerade durch den verstärkten Fokus von Mozilla auf den mobilen Markt spielt die Unterstützung von H.264 eine wichtige Rolle. Apple unterstützt in iOS ausschließlich H.264. Geht es nach JavaScript-Erfinder und Mozilla-CTO Brendan Eich, trägt vor allem Google eine große Mitverantwortung am Scheitern von WebM.

Da Mozilla aufgrund der Lizenzbestimmungen auch in Zukunft keinen H.264-Codec mit Firefox mitliefern wird, wird zum Abspielen der Videos der mit dem jeweiligen Betriebssystem mitgelieferte Codec genutzt.

Von Firefox Mobile 17 steht eine erste Beta-Version für Android zum Download zur Verfügung, welche bereits Videos im H.264-Format abspielen kann. Bislang ist die H.264-Unterstützung allerdings noch auf Android 4.0 Ice Cream Sandwich sowie Android 4.1 Jelly Bean beschränkt.

Außerdem arbeitet man an der Unterstützung für die verschiedenen Desktop-Versionen:

Einen konkreten Zeitplan für die Unterstützung in der Desktop-Version gibt es bislang nicht.

about:trackers – Erweiterung der Mozilla Labs blockiert Tracking-Seiten

Das Prospector-Team der Mozilla-Labs hat wieder eine neue experimentelle Erweiterung für Firefox veröffentlicht. about:trackers soll einem mehr Kontrolle über Tracking-Seiten geben.

Die Erweiterung about:trackers merkt sich die Seiten, welche vom Benutzer besucht und von anderen Seiten getrackt werden. Dabei kann das Tracking der Seiten, welche einen über eine bestimmte Anzahl an Seiten hinweg verfolgen, automatisch blockiert werden. Das Tracking lässt sich für die verschiedenen Tracking-Seiten aber auch einzeln deaktivieren beziehungsweise wieder aktivieren.

In diesem Zusammenhang sei auch nochmal die Mozilla-Erweiterung Collusion erwähnt, welche das Tracking durch Webseiten visualisiert und für mehr Transparenz sorgen soll.

Weitere Informationen: Mozilla Labs

Inhalt abgleichen