Dienstag,
24. November 2009

... oder wie es die Prophezeihung in den alten Schriften von Kobol ankündigt: "Dies ist alles schon einmal passiert, es wird wieder passieren". Leider sind die wenigsten Gruselgeschichten so gut, dass man sich auf eine Fortsetzung freut. Dennoch präsentiere ich heute den offiziellen Nachfolger meines letztjährigen Wintermärchens.

Die Vorgeschichte

Es begab sich im Sommer zu 2009, als ein aufstrebener Webentwickler, ich nenne ihn Herrn X. seine eigene Webseite neu einrichten wollte. Da die eigene Kreativität wohl gerade gemeinsam mit seinem Verstand auf Badeurlaub in der Karibik waren, griff Herr X. von jeglichen Hemmungen befreit in eine der unteren Schubladen des guten Benehmens, setzte seine copy & paste Mütze auf und streifte durchs Internet: Warum sich etwas neu ausdenken, was andere schon so übersichtlich und ansprechend hinbekommen haben? Letztlich sind wir doch eh eine große Familie im Web … und so fand er meine Webseite. Und diese gefiel ihm vom Aufbau und Design so einmalig gut, dass er seine ganz genauso aufgebaut und aussehen sollte. Nur hier und da einige winzige Änderungen – der individuellen Note wegen – ein Tüpfelchen Farbe hier und eine runde Ecke da, ganz dezent natürlich, die Vorlage war für ihn schließlich schon so nahe der Perfektion. Schön auch, dass ich seinerzeit einen längeren Blogbeitrag zu meinen Designentscheidungen verfasst hatte. Das hatte auch Herr X. bemerkt und erwähnenswerte Passagen kurzerhand in den Relaunch-Beitrag seines neuen Layouts übernommen.

Einige Monate später trug es sich zu, dass ich beim Sichten einiger Kommentare zufällig auf der schönen neuen Webseite des Herrn X. landete und dort ein ein selten-klares Déjà-vu erlebte. Das alles hatte ich schon mal gesehen … ja richtig, bei mir selbst. Und weil ich wenig begeistert war, die Mühen meiner Freizeit weitgehend deckungsgleich als das Aushängeschild des "professionell" arbeitenden Herrn X. wiederzuerkennen (einzelne Grafiken flossen sogar in eines seiner Referenzprojekte ein), kontaktierte ich Herrn X. per Skype um ihm mein Unbehagen bezüglich seines Handelns zu verdeutlichen. Herr X. berief sich im weiteren Verlauf auf selektiven Gedächtnisausfall ("Ich weiß nicht, was ich mir dabei gedacht habe.") gab jedoch nach mühsamer Diskussion, wie anders ein eigenständiges Layout denn mindestens sein müsse, letztlich doch nach und beseitigte das Problem weitgehend. Damit war das Thema aus der Welt und die Welt drehte sich langsam weiter…

Nicht daran anlehnen oder erinnern!

Letzten Samstag, nur knapp 4 Monate später bekam ich nun eine e-Mail von Herrn X. In dieser Mail sandte mir er mir sein kleines "HTML5/CSS Framework" zu mit der Bitte, es auf mögliche Verletzungen meiner Schutzrechte zu prüfen. Was für mich irgendwie merkwürdig klang, denn Zitat: "Selbstverständlich erreicht mein kleines Framework nicht die Komplexität von Yaml,  soll auch nicht daran anlehnen oder erinnern". Frage: Wenn es etwas nicht an YAML anlehnt oder auch nur daran erinnert, was und warum soll ich dann prüfen?

Die Frage beantwortete sich von selbst, nachdem ich einige Minuten im CSS dieses Projekts verbracht hatte. Der folgende Screenshot zeigt 5 Seiten eines kommentierten PDF’s mit CSS Code, zusammengefasst aus den drei Frameworkdateien (screen.css, print.css und patch.css), die ich Herrn X. zusammen mit meiner Sicht der Dinge zurückgesandt habe.

Zur Erläuterung: Die gelb markierten Bereiche sind dabei weitgehend 1:1 übernommene Passagen aus YAML (weitgehend, weil z.T. die erläuternden Kommtare fehlten). Die enthaltenen CSSDOC-Komentare stammten jedenfalls von mir. Beim verbleibenden Rest stimmten Selektorenabfolge und Eigenschaften zu 90% überein. In der Summe bilden die zusammenkopierten YAML-Brocken etwa den Stand von YAML 1.0, also die Basis für einen flexiblen 3-Spalter. Crossbrowser funktionstüchtig ist das Ergebnis leider dennoch nur bedingt, da mein Bugfix-Konzept wohl nicht gänzlich verstanden wurde und deshalb von einzelnen Bugfixes nur Teile übernommen wurden (was im konkreten Fall wirklich unschöne Auswirkungen hat) oder falsch angewandt wurden. Selbst die JS-Expression aus dem YAML-Builder zur Simulation von min-/max-width (deren dynamische Generierung mir während er Anfangszeit meiner JS-Programmierung doch etwas Mühe bereitet hat) gelangte ohne Umwege in dieses Projekt.

Die rosa eingefärbten Bereiche dokumentieren echte Eigenleistung des Herrn X. Inhaltlich beschränken sich diese jedoch darauf, dem YAML-Rohbau ein Screenlayout, bestehend aus zahlreichen runden Ecken und Dropshadows zu verpassen. Die einzige wirkliche Änderung des gesamten Projekts bestand darin, im Markup die vier Standard DIV’s #header, #footer, #col1 und #col2 gegen die entsprechenden HTML5-Elemente header, footer, article und aside auszutauschen. Die dafür notwendigen Arbeitsschritte erledigt man mit der Suchen/Ersetzen Funktion eines Texteditor innerhalb von Minuten. Ist das also die Kreativität, die etwas Neues, Eigenständiges hervorbringt? Der Code und das Konzept, welches YAML als CSS-Framework seit Beginn definieren, wurde – soweit vollständig – unverändert übernommen. Das "neue" CSS ersetzt lediglich das schichte, himmelblaue Screendesign der mitgelieferten Layoutbeispiele, die Markupänderungen kommen einer simplen Umbenennung gleich. Und dennoch steht das Gesamtpaket plötzlich unter dem Copyright von Herrn X. Als Überblick soll das an dieser Stelle genügen.

Ich erlebe diese Dinge leider nicht zum ersten Mal. Nicht jedes Mal habe ich darüber gebloggt wenn meine Arbeit unverändert und in großem Umfang kopiert unter fremdem Copyright auftauchte. Aber es ist das erste Mal, dass jemand so dreist ist, mir den Code unter seinem Namen auch noch zur Begutachtung und Freigabe unter die Nase zu halten. Um ein paar weitere Zitate aus der e-Mail zu bemühen…

  • "Solltest Du widererwarten etwas daran auszusetzen haben, …"
  • "Solltest Du noch evtl. eine Anregung haben, wäre ich auch dafür sehr dankbar!"

Ich sollte die Fragmente meiner eigenen Arbeit reviewen und Anregungen geben? Kommt das vielleicht außer mir noch jemanden seltsam vor?

Ich hatte eigentlich vor, diesen Beitrag ähnlich leicht verdaulich zu schreiben wie den des letzten Jahres. Doch der damals zurecht gescholtene Herr K.  war ein Freizeit-Bastler mit etwas falschen Vorstellungen von e-Commerce. Dieses Mal sieht es anders aus. Herr X. erschien im Frühjahr 2009 auf der Webstandards-Bühne und ist seither intensiv bestrebt, sich als professioneller Webdesigner zu profilieren. Zum wiederholten Male (siehe Vorgeschichte) versucht er das nicht mit eigenen Ideen oder eigenen Lösungen, sondern auf Basis meiner Arbeit. Und es zieht einem sprichwörtlich die Schuhe aus, wenn ich – angesprochen auf diese Dreistigkeit – in seiner Antwort lesen darf, dass bei meiner Einschätzung der Lage ja wohl nicht alles so ganz stimmt – Kommentare und Bugfixes aber wohl kopiert wären. Weiterhin sei er völlig überrascht von der frapierenden Ähnlichkeit, die selbstredend nicht beabsichtigt wäre. Warum wird die unverkennbare Herkunft dann aber bereits in der ersten Mail bereits durch die Blume angedeuetet? Er habe, Zitat: "…übrigens nach CSSDOC so gut dokumentiert, wie es mir möglich war." Schön wär’s. Er hat nicht etwa versucht, die Funktion der jeweiligen Codeabschnitte mit eigenen Worten wiederzugeben, stattdessen finde ich überall meine eigenen, zweisprachig verfassten Kommentare vor – unverändert.

Rhetorische Frage: Wenn man aus einer Kiste mit fünf Äpfeln drei herausnimmt und in eine andere, leere Kiste legt, liegt der neuen Kiste plötzlich ein Glas Gurken oder liegen da drei Äpfel?

Was ist die eigene Arbeit wert?

Bezüglich der Motivation kann ich natürlich nur raten. Aus meiner Sicht stand nicht ein besseres Framework oder der Test einer neuen Idee im Vordergrund. Das Ziel war, schnell etwas Eigenes zum Vorzeigen zu haben – was leider nicht aus eigener Kraft schaffbar war.

Um Missverständnissen vorzubeugen: Der Sprachumfang von CSS ist begrenzt und niemand erfindet mal eben neue CSS-Selektoren oder Eigenschaften. Wir alle stützen unsere Entwicklungen auf Bekanntes, auf die Vorarbeiten kreativer Köpfe (on the shoulder of giants). Etwas Neues entsteht dann, wenn Bekanntes neu miteinander kombiniert wird, um neue Ideen/Konzepte zu verwirklichen, Probleme zu lösen. Es gibt mehr als ein Dutzend CSS-Frameworks und jedes besitzt eine eigenständige Codebasis. Selbst innerhalb des Gridkonzepts kommen Blueprint und 960.gs zu grundlegend verschiedenen Lösungen, obwohl alle nur mit scheinbar "simplen Bausteinen" wie floatenden Divs und z.B. dem Clearfix-Hack arbeiten. YUI oder OOCSS sehen wiederum völlig anders aus. Das übergeordnete Konzept und dessen individuelle Implementation machen aus der bloßen Ansammlung von CSS-Deklarationen etwas Neues, Eigenständiges. In diesen Fällen CSS-Frameworks. Und wenn ein neues Konzept die Basis einer Entwicklung bildet, dann kann die großzügige Codeübernahme per copy & paste aus anderen Projekten gar nicht funktionieren, denn die kopierten Codeschnipsel würden ganz einfach nicht unverändert in das neue Konzept passen.

Was Herr X. hier abzieht, hat mit diesem Grundverständnis selbstständiger, kreativer Arbeit nichts zu tun. HTML/CSS-Teile zu übernehmen, sich von eleganten Lösungen inspirieren zu lassen, ist nichts Verwerfliches. Aber es besteht nach meinem Verständnis ein entscheidender Unterschied darin, ob dies lediglich der Problemlösung und der eigenen Weiterbildung dient oder ob man fremde Arbeit achtlos kopiert und als eigene Kreativleistung ausgibt und/oder verkauft.

Zum Glück sind dies Ausnahmen, dennoch fällt es schwer, ruhig zu bleiben. Aber auch dafür ist dieses Blog eben da und ich hoffe, für die nächsten Monate wieder mit angenehmeren Themen aufwarten zu können.

PS: Da ich kein Interesse verspüre, Herrn X. weitere Aufmerksamkeit zukommen zu lassen, verzichte ich auf Namen und Verlinkung. Ich bitte meine Leserschaft, dies auch in eventuellen Kommentaren hier im Blog zu respektieren.


Du kannst die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

Dieser Eintrag kann nicht mehr kommentiert werden.