SAS: Streit um Programmiersprache

EU-Generalanwalt bedient sich einer Methapher, die auch schon bei der Klageschrift Pate gestanden hat: Computerprogramme sind nach EU-Recht wie Literatur anzusehen und fallen damit unter das Urheberrecht. Das Kopieren von Programmcode ist damit eine Straftat. Soweit ist das unbestritten, aber gilt das nach Ansicht von Bot nicht für die Sprache selbst: BASE SAS ist öffentlich zugänglich und vergleichbar mit der Sprache, in der ein Roman geschrieben ist – nicht mehr als ein Hilfsmittel.

Das bedeutet im Klartext: wer immer eine Software schreibt, die eine allgemein zugängliche Programmiersprache interpretiert bzw. kompiliert und darauf basierende Funktionalität ausführt, macht sich nicht strafbar. Das gilt auch dann, wenn die interpretierte Sprache bislang nur von der kommerziellen Software des Spracherfinders eingesetzt wird – solange das Programm selbst keinen Quellcode des kommerziellen Vorbild kopiert. SAP wäre demnach machtlos gegen einen ABAP-Interpreter, Oracle könnte sich erst einmal nicht gegen Java-Implementierungen wehren – die Patent-Debatte lassen wir mal aussen vor.

Dass das US-Unternehmen SAS Institute dagegen vor Gericht zieht, ist allerdings allzu verständlich: Die Exklusivität der hauseigenen Software in Bezug auf die verwendete Sprache ist ein gewichtiges Argument in der Preispolitik. Jeder Konkurrent, der BASE-PRogrammierer mit preisgünstiger Alternativ-Software versorgt, macht den lukrativen Markt der Unternehmenskunden kaputt. Allerdings gehen SAS nach dem Votum des Generalanwalts die juristischen Mittel aus. Was bleibt noch? Zum einen könnte man die Dokumentation von BASE SAS exklusiv für Kunden zugänglich machen. Damit macht man sich aber vielleicht den Markt kaputt, wo man doch traditionell auch mit Universitäten zusammenarbeitet und offenherzig Dokumente veröffentlicht. Zum anderen könnte man World Programming aufkaufen. Aber damit macht man sich erpressbar. Jedes beliebige Softwarehaus könnte auf die Idee kommen, BASE SAS zu interpretieren und auf ein Kaufangebot aus Cary zu warten. Wenn die ersten beiden Alternativen ausfallen, kann man noch mit der Patentklatsche kommen und den Konkurrenten zur Kasse bitten. Wie das geht, kann man sich von Larry Ellison von Oracle im Detail erklären lassen. Oder aber man ignoriert den britischen Konkurrenten…

Advertisements

Native Windows-Unterstützung für Node.js

Node 0.6 kommt für Windows mit einem MSI-Installer, der im wesentlichen nichts anderes tut, als die zentrale node.exe in den Standard-Programm Ordner zu kopieren und den Verzeichnispfad in die Umgebungsvariabel PATH einzutragen, damit der Server von jedem Pfad aufrufbar ist, ohne auf der Kommandozeile zum Standort zu wechseln. Vielleicht gerade weil die Installation so leicht ist, sieht der Wizard auch keine Notwendigkeit, dem Installateur eine Wahlmöglichkeit zu lassen, ob das PRogramm gegebenenfalls in ein anderes Verzeichnis installiert werden soll – aber wir wollen von der ersten Installerversion nicht zu viel erwarten. Nach der „Installation“ lässt sich der Server über die Kommandozeile starten.

Wer sich noch nicht mit serverseitigem JavaScript auskennt und noch eine Anleitung braucht, wie man erste Programme mit Node.js schreibt, ist bei dem Video-Tutorial von Christopher Roach bei Nettuts+ gut aufgehoben. Das Video bezieht sich bei der Installation der Software zwar zuerst auf die Unix; in Anbetracht der oben beschriebenen einfachen Installation kann man diesen Teil (die ersten 6:10 Minuten) aber getrost übrspringen. Danach implementiert Christopher in aller Kürze einen Webserver, der „Hello World“ ausgibt – ein Beispiel, das ursprünglich von der Node.js Webseite stammt – bevor er noch auf Umgebungsvariablen von Node.js eingeht. Sehenswert und eingänglich!

Fazit: Der Sprung von einem altbekannten LAMP Umfeld zu Node.js fällt erstaunlich leicht. Gerade weil JavaScript clientseitig allseits bekannt ist, ist die Einarbeitung extrem schnell. Wer jetzt Blut geleckt hat, findet weitere Video-Tutorials zum Thema bei nettuts@blip.tv.

Welche Browser besuchen meine Webseite?

Ein Blick in die Statistiken zeigt, dass Firefox in Bezug auf die Seitenzugriffe weiterhin dominiert. Für mich ein wenig überraschend finden sich die mobilen Browser auf dem zweiten Platz; hinter „Mobile Safari“ in der Statistik verbirgt sich Android, in allen Fällen die Version 2.3. Es folgen halbwegs aktuelle Versionen von Safari und Chrome und erst hinter der veralteten Firefox-Version 3.6 kommen die unterschiedlichen Ausführungen des Internet Explorers mit zusammengerechnet 14%. Abgeschlagen sind Opera, und der Firefox 5 bis 6.

Was kann man aus dem Ergebnis für Schlüsse ziehen?

Zum einen zeigen die Zahlen ein sehr europäisches Bild. Global ist die Verteilung erfahrungsgemäß eine andere, der Internet Explorer sitzt mit 40% zwar auf dem höchsten, aber einem absteigenden Ast. Darum wollen wir uns aber nicht scheren. Globale Statistiken kann man sich übrigens kostenlos bei Statcounter.com ansehen.

Viel interessanter ist, dass ich es vornehmlich mit aktuellen Browsern zu tun habe, die auch entsprechend neue Standards wie HTML5, CSS3, Websockets, Geolocation, Local Storage und derer mehr unterstützen. Rund 80% der Zugriffe zähle ich zu diesen Browsern, Grund genug, weiter konsequent auf neue Technik zu setzen und für alte Browserversionen keine Workarounds mehr zu bauen.

Auffällig ist weiterhin, dass der Firefox 3.6 noch relativ stark vertreten ist und seine Nachfolger 5 und 6 in den Schatten stellt. Ich erkläre mir das damit, dass diese mittlerweile doch recht alte Version in Unternehmen als Alternative zum Internet Explorer beliebt wurde und dort wohl immer noch im Einsatz ist. In die gleiche Kerbe schlägt meines Erachtens der IE7

Nicht vergessen: die Zahlen zum Text

Browser Anteil
Firefox 7.0 25%
Firefox 8.0 13%
Mobile Safari 4.0 13%
Safari 5.1 10%
Chrome 15.0 8%
Chrome 12.0 7%
Firefox 3.6 6%
Internet Explorer 7.0 6%
Internet Explorer 8.0 5%
Internet Explorer 9.0 3%
Chrome 17.0 2%
Opera 11.5 2%
Firefox 6.0 2%
Chrome 14.0 1%
Firefox 5.0 1%
Googlebot 2.1 1%

Release Candidate: PHP 5.4 in der Endkontrolle

Eigentlich ist es bemerkenswert: bisher war PHP für seine langen Releasezyklen bekannt. Mit der avisierten Version 6.0 hat man solange gehadert, dass letztlich nur ein Minor Release draus wird. Dass es aber kommt, ist auch dem neuen Releasemodell zu verdanken, dass die Entwicklung planbarer macht. Auf den Wikiseiten kann man nachverfolgen, wie die Planung der kommenden Wochen aussieht: Es wird demnach solange Release Candidates geben, bis der Drops gelutscht ist. Fachmännischer ausgedrückt: bis die Version stabil ist.

Was die Features von PHP 5.4 betrifft, so haben wir auf phpundmysql.de schon vorab einen Test gemacht. Zur damaligen Alpha-Zeit blieb noch viel offen, was sich mit dem RC jetzt nachtesten lässt. Fest steht: ein Mega-Feature bringt der Neuling nicht mit. Das bedeutet im Hinblick auf die ursprünglichen Pläne, es gibt z.B. keine durchgängige Unicode-Unterstützung. Dafür kommt viele überschaubare Nettigkeiten hinzu, die dem Programmierer das Arbeiten erleichtern. Da sind z.B. Traits für wiederverwendbare Methoden in unterschiedlichen Klassen, die direkte Traversierung von MySQLi Resultsets oder das Array Dereferencing. Außerdem wird noch aufgeräumt und sozusagen im Regal der PHP-Features entrümpelt.

Wer helfen möchte, die kommenden Versionen zu testen, ist herzlich eingeladen. Gefundene Fehler können im Bugtracker eingegeben und deren Behebung nachverfolgt werden.