Erst kürzlich haben wir hier über kreative Leistungen und Urheberrechte diskutiert. Dabei ging es hauptsächlich um klassische künstlerische Tätigkeiten: Musik komponieren oder Bücher schreiben zum Beispiel. Die Wissenschaft kam höchstens am Rande vor. Dabei ist die natürlich auch ein Gebiet, auf dem kreativ gearbeitet wird. Und es stellen sich die gleichen Fragen wie bei der normalen Urheberrechtsdebatte. Wie werden die wissenschaftlichen Leistungen „verwertet“? Muss man bezahlen, um die Ergebnisse einsehen zu dürfen? Muss alles komplett frei sein? Oder gibt es auch hier das Recht eines „Urhebers“, der zum Beispiel darauf besteht, seine Daten oder Methoden nicht preis zu geben?
In der Wissenschaft geht es dabei weniger um die Bezahlung. Wissenschaftler sind im Allgemeinen Angestellte mit festem Lohn. Viel wichtiger ist hier die Transparenz und die Dokumentation. Die Ergebnisse müssen nachvollziehbar und nachprüfbar sein. Das ist normalerweise kein Problem. Immerhin veröffentlichen die Forscher ihre Arbeit in Fachzeitschriften, die rein prinzipiell jeder einsehen kann (auch wenn es praktisch nicht immer für jeden möglich ist, weswegen dringend mehr Artikel in Open-Acess-Journalen veröffentlicht werden sollten). Aber wenn es um die Methoden geht, wird es schon etwas komplizierter. Jeremy Hsu hat in einem Artikel bei „Scientific American“ die Frage nach der Veröffenttlichung von Computerprogrammen gestellt.
Ohne Computer geht in der modernen Naturwissenschaft so gut wie gar nichts mehr. Selbst Experimentatoren und Beobachter sind bei ihrer Arbeit meistens darauf angewiesen, Computerprogramme zur Datenauswertung zu benutzen. Und Theoretiker nutzen umfangreiche Computersimulationen, um ihre Daten zu gewinnen. Standardisierte Software gibt es dabei selten. Viel öfter schreiben die Wissenschaftler ihren code selber; speziell zugeschnitten auf das jeweilige Forschungsvorhaben. Soll dieser Programmcode nun ebenfalls zwingend gemeinsam mit den eigentlichen wissenschaftlichen Ergebnissen veröffentlicht werden?
Klar, auf jeden Fall! werden die meisten jetzt wohl sagen. Wie sonst soll man Transparenz ermöglichen und sicherstellen, dass hier niemand schummelt. Und das ist prinzipiell auch richtig. so eine Forderung stösst aber schnell auf praktische Probleme. Computerprogramme in der Wissenschaft können oft enorm umfangreich sein. Es steckt oft sehr viel Arbeit in ihnen. Nicht nur reine Programmierarbeit; auch echte Forschung. Manche Diplomanden oder Doktoranden tun nichts anderes, als an einem speziellen Computerprogramm zu arbeiten. Manchmal sitzen mehrere Generationen an Wissenschaftlern an einem Programm und entwickeln und optimieren es über Jahre hinweg. Dann ist es verständlich, dass sie auch von ihrer Arbeit profitieren wollen. Warum soll man jahrelang ein spezielles Stück Software entwickeln, nur um es dann sofort zu veröffentlichen und es damit den konkurrierenden Forschergruppen zur freien Verfügung zu stellen? Die können sich dann die mühsame Entwicklungsarbeit sparen und direkt mit der Datenproduktion bzw. -auswertung anfangen. Es ist also verständlich, wenn Wissenschaftler nicht immer begeistert von der Vorstellung sind, ihre Computerprogramme frei zu geben.
Natürlich heisst das nicht, dass alles komplett geheim gehalten soll! Selbstverständlich muss man in einer wissenschaftlichen Publikation genau erklären, wie man an seine Daten gekommen ist. Man muss seine Methoden ausführlich beschreiben. Aber es macht einen Unterschied, ob man nur das Prinzip beschreibt, mit dem man seine Daten gewinnt oder auswertet oder ob man gleich die komplette Software veröffentlicht. Ich selbst bin vor dem Problem noch nie gestanden. Die Software, die ich geschrieben habe, hätte ruhig jeder sehen können; so speziell, außergewöhnlich und arbeitsintensiv war sie nicht. Aber das Programm zur N-Körper-Integration mit dem in unserer Arbeitsgruppe die himmelsmechanischen Simulationen durchgeführt wurden, wurde schon etwas besser „behütet“. Die Grundlagen dieser Methode wurden selbstverständlich publiziert, sehr detailliert sogar. Aber von dort zum fertigen, funktionsfähigen Programm ist es noch ein Stück Arbeit… Im Gegensatz zu anderen Arbeitsgruppen war das Programm nie wirklich „geheim“. Wer uns nett gefragt hat, hat das Programm auch bekommen. Aber eine komplette Freigabe wollte unser Chef nicht. Vor allem, weil es eben gerade keine Standardsoftware war. Das Programm war immer „work in progress“, jahrelang. Und damit nicht wirklich besonders nutzerfreundlich. Wer sich damit beschäftigt hatte, der wusste auch, wie man damit umgehen muss. Aber zur Veröffentlichung hat es sich schon rein formal nicht geeignet (Irgendwann hat ein Student mal eine „schöne“ Version des Programms geschrieben und publiziert).
Es scheint hier wieder einen Konflikt zwischen analog und digital zu geben. Wenn ein Experimentator jahrelang an einem kniffligen Gerät bastelt, dann wird er am Ende natürlich auch eine entsprechende Publikation schreiben und darin genau erklären, wie es funktioniert. Aber es wäre absurd zu verlangen, dass er sein Gerät nun jeder anderen Forschergruppe zur Verfügung stellen muss. Handelt es sich aber nicht um ein physisches Gerät, sondern um digitale Software, dann wird genau das gefordert. Bei großen Weltraumprojekten hat man eine Art Kompromiß gefunden. Im Bau eines Satelliten oder Weltraumteleskops steckt ja noch viel mehr Geld und Zeit als in einem normalen Stück Software. Hier wird es meistens so gelöst, dass die an der Entwicklung beteiligten Teams zuerst das Recht haben, exklusiv mit den Daten zu arbeiten. Erst nach einer gewissen Frist werden sie für die Allgemeinheit freigegeben.
Es ist ein schwieriges Problem. Schützt man lieber die Investition der Wissenschaftler? Oder ist die totale Transparenz der Methoden wichtiger? Meine Meinung ist gespalten; ich tendiere aber eher dazu, keinen Publikationszwang für Software zu fordern. Es ist sowieso illusorisch jedes Detail einer Forschungsarbeit öffentlich zu machen. Eine wissenschaftliche Publikation muss detailliert genug beschrieben sein, damit andere Forscher die Arbeit nachvollziehen können. Geht es um Software, dann müssen die verwendeten Algorithmen und Techniken ausreichend dokumentiert werden, um es anderen Wissenschaftlern zu ermöglichen, auf dieser Basis selbst ein Programm zu schreiben. Aber das ist ja auch jetzt schon der Standard. Ich spreche jetzt aus meiner Erfahrung als Himmelsmechaniker; eine Disziplin der Astronomie in der sehr viel eigener Code geschrieben wird. Aber vielleicht sieht das in anderen Bereichen anders aus? Wie seht ihr das?
Ich bin mir auch nicht sicher, ob sich die Frage tatsächlich so stellt, wie sie Hsu aufwirft.
Vielleicht wäre es aber schon mal sachdienlich, wenn die geschriebenen Applikationen zumindest einer peer-group (incl dem Reviewer oder Editoren?) zur Verfügung gestellt werden.
Mich stört an seinem Beitrag, dass er die Notwendigkeit wenig begründet. Bei bioinformatischen Annäherungen, besonders wenn es um größere Molekülinteraktionen geht oä, kann ich mir gut vorstellen, dass durch ein Antesten der Algorithmen mehr Licht in die Arbeit gebracht werden kann & Schwachstellen des Modells Hinweise geben, ob die Aussage Zufall oder realitätsnah ist.
Lieber Florian, ich sehe das sehr ähnlich wie du. Ich arbeite auch in einem Bereich der Physik, in dem sehr viel selbst geschriebener Code verwendet wird. Konkret machen wir vor allem Computersimulationen im Bereich statistische Mechanik, d. h. vor allem Monte Carlo und Molekulardynamik. Natürlich ist es da wichtig, dass man nachvollziehen kann, was andere Forscher gemacht haben, wenn man deren Papers liest und versucht, ihre Ergebnisse zu reproduzieren. Allerdings heißt das nicht zwangsläufig, dass man deswegen auch den gesamten Code braucht, eine genaue Beschreibung der Methodik reicht eigentlich aus. Dazu kommern wie von dir schon erwähnt auch ganz praktische Probleme, weil halt z. B. die Programme, mit denen wir üblichweise arbeiten, nicht in einem Zustand sind, den man irgend jemandem zumuten möchte. Klar, für mich ist es kein Problem, ständig tief in den Interna von meinem Code etwas zu ändern, was gerade erforderlich ist, aber für jeden anderen ist so ein Programm wohl nur von sehr begrenztem Nutzen.
Was ich allerdings schon gut finde und was auch praktiziert ist, wenn Leute allgemeiner gehaltene Bibliotheken veröffentlichen für immer wieder benötigte Aufgaben. Unnötig zu sagen, dass so eine Veröffentlichung natürlich auch einen großen Aufwand erfordert, was die Dokumentation angeht, sonst kann halt auch niemand was damit anfangen.
LG
Christian
addendum zu Kosten/Gehalt/Nutzen-Debatte bei vollständiger Freigabe:
Romantisch wie ich nun mal bin 🙂 würde ich trotzdem so argumentieren, dass Wissenschaftler mehr davon profitieren, dass es offene Software von Kollegen gibt, die sie verwenden können, als dass sie selbst das Rad ein 2. Mal erfinden müssen.
So ganz verständlich ist es nicht, wenn Personen div Software in der steuerlich bezahlten Arbeitszeit (ok: vermutlich oft außerhalb, da man als akademiker fast nie in der Arbeitszeit arbeitet) ein Stück Software entwickeln & diese dann im ausgereiften Zustand kommerziell vertreiben.
Die andere Frage, die sich stellt ist, wie institute & Firmen damit umgehen sollen. Entweder weil es deren Businessmodell es ist oder sie einfach dafür eigenes Budget aufgewandt haben.
Es muss ganz klar gesagt werden: auch wenn der Wunsch, eine aufwendig entwickelte Software nicht einfach so freizugeben, aus persönlicher und professioneller Sicht absolut verständlich ist, schadet diese Praxis der Wissenschaft. Und ist damit unethisch.
Damit will ich jetzt nicht einen komplexen und nuancierten Sachverhalt plattmachen – es gibt reichlich praktische Gründe, wieso der Idealzustand nicht einfach zu erreichen ist. Aber er muss angestrebt werden. Und das muss überall dort, wo man Einfluss nehmen kann, forciert werden. Also z.B. in erster Instanz vom Peer Reviewer.
Wie ist denn ein ein Ergebnis reproduzierbar, wenn es nur unter erheblichem, praktisch nicht erbringbarem Aufwand errechnet werden kann? Gar nicht. Und damit sind solche Ergebnisse aus wissenschaftlicher Sicht leider unbrauchbar.
Das ist dann auch der Grundsatz, auf dem das Science Code Manifesto fußt. Auch die Tatsache, dass wissenschaftliche Software enorm komplex ist und reichlich Gelegenheit für subtile Fehler bietet, sollte einem zu Denken geben und liefert ein weiteres Argument davor, Code früh freizugeben.
Interessanterweise wird üblicherweise nicht mal bei uns in der Informatik Code veröffentlicht. Ich finde das aber auch aus rein praktischen Gründen überhaupt nicht notwendig. Die Umgebungen sind normalerweise so heterogen, dass Code einer Arbeitsgruppe von einer anderen Gruppe, die an einem ähnlichen Thema arbeitet, selten direkt genutzt werden könnte. Allerdings kommt es häufig vor, dass aus den Forschungsergebnissen (und den dazu entwickelten Tools, Bibliotheken, …) dann Open-Source-Projekte entstehen, was zumindest für Grundlagen-Ergebnisse sehr sinnvoll sein kann, vor allem weil Code nunmal auch von erfahrenen Informatikern nicht einfach mal so runtergehackt werden kann. Da eine Bibliothek zu haben, die einem die Grundlagen abnimmt, so dass man sich nicht selbst um Low-Level-Fragen kümmern muss, bringt meiner Meinung nach die Forschung insgesamt schneller weiter.
Wenn in der Robotik-Forschung jede Arbeitsgruppe ihr eigenes Kommunikations-Framework oder ihre eigenen Motorsteuerungen schreiben müsste… unvorstellbar.
Nur ein Wort: Bugs. Komplexe Software enthält immer Fehler und diese können sich u.U. auch auf das wissenschaftliche Ergebnis auswirken. Ohne das eigentliche Programm bzw. ohne den Source Code ist es daher für andere Wissenschaftler unmöglich, das Experiment / die Datenauswertung zu reproduzieren.
„Geht es um Software, dann müssen die verwendeten Algorithmen und Techniken ausreichend dokumentiert werden, um es anderen Wissenschaftlern zu ermöglichen, auf dieser Basis selbst ein Programm zu schreiben. “
Die Frage ist halt, weshalb man den indirekten Weg gehen soll – programmieren, das möglichst gut beschreiben, das Geschriebene lesen, nachprogrammieren – wenn man doch das Programm selbst weitergeben könnte. In der Computerlinguistik ist es sehr oft der Fall, dass Software gar nicht so beschrieben wird, als dass sie nachprogrammiert werden kann – wahrscheinlich ist das auch gar nicht ín allen Fällen möglich. Es gibt zum Thema eine sehr schöne Parabel von Ted Pedersen – https://www.aclweb.org/anthology/J/J08/J08-3010.pdf , wo gezeigt wird, dass echte Reproduzierbarkeit von wissenschaftlichen Ergebnissen nur funktioniert, wenn man die Wissenschaft offen gestaltet und seine Daten und Methoden freigibt. Zumindest in Wissenschaften, die rein virtuell betrieben werden können (wie bspw. die Analyse textueller Daten) würde ein Veröffentlichungszwang öffentlich geförderter Software die wissenschaftlichen Kommunikation sehr unterstützen.
@ F F der link landet im 404!
https://www.scienceblogs.de/astrodicticum-simplex/2012/04/kunst-und-kreativitat-nur-in-der-freizeit-ein-paar-gedanken-zu-geistigem-eigentum-geld-und-urheberrecht.php
sollte die url sein!;)
Also jemand, der seine Publikationen hinter geschützten Libraries versteckt, trägt in keinster Weise zur Wissenschaft bei. Damit erzielte Ergebnisse sollten auch nicht für wissenschaftliche Veröffentlichungen angenommen werden, wenn sie nicht von jedem Studenten zumindest prinzipiell nachvollzogen werden können.
Genau durch diese Praxis definiert sich auch das große Geschäftsfeld der Pseudowissenschaften. Es macht für mich überhaupt keinen Unterschied, ob bestimmte Funktionen tatsächlich genial und nur geheim sind oder offenkundig und systematisch falsch. Beides ist nicht zu gebrauchen und ist das Studium dieser Publikationen daher für alle Aussenseiter wertlos, auch sollten für eine derartige persönliche Schaustellungen entsprechende Kosten für Werbeeinschaltungen verrechnet werden.
@Konrad: „Es muss ganz klar gesagt werden: auch wenn der Wunsch, eine aufwendig entwickelte Software nicht einfach so freizugeben, aus persönlicher und professioneller Sicht absolut verständlich ist, schadet diese Praxis der Wissenschaft. Und ist damit unethisch“
Ich würde das nicht als rein „persönlichen Wunsch“ bezeichnen. Da gehts ja nicht um irgendwelche Standardsoftware oder simple Routinen. Da geht es um Programm, in denen echte Forschungsarbeit steckt. Meinst du, ein Forscher setzt sich hin und schreibt 2 Jahre ein Programm und denkt sich neue Methoden aus wenn er weiß, dass er davon nicht profitieren kann? Weil er den Code sofort allen anderen zur Verfügung stellen muss?
Wie gesagt, es geht nicht ums Verheimlichen! Klick mal den Link zu dem Integratorpaper, das ich im Artikel erwähnt habe. Da wird die Methode bis ins letzte Detail nachvollziehbar erklärt. Es geht um das eigentliche Programm. Würdest du auch verlangen, dass ein Experimentator auf Wunsch jeden anderen Forscher in sein Labor und an die selbst entwickelten Geräte lassen muss? Die Forschung muss nachvollziehbar sein. Aber das geht auch ohne die komplette Freigabe des Codes.
@geheim: „Ohne das eigentliche Programm bzw. ohne den Source Code ist es daher für andere Wissenschaftler unmöglich, das Experiment / die Datenauswertung zu reproduzieren. „
Sorry, das ist Unsinn. Die Methoden müssen ja auch jetzt schon ausreichend erklärt werden. Wenn dann jemand anhand dieser Methoden z.B. sein eigenes Programm schreibt und damit das Ergebnis nicht reproduzieren kann, DANN ist das ein Anlass für beide ihre Software zu prüfen; gerne auch extern.
Zu meiner Diplomanden- und Doktorandenzeit hatte ich es so verstanden, dass die Ergebnisse, die aus öffentlichen Mitteln (DFG in meinem Fall) bezahlt werden, auch der Öffentlichkeit zustehen, also habe ich den von mir geschriebenen Programmcode (es war ein Simulator für ein Kommunikationsprotokoll) und alle Ergebnisse als großen Appendix an die Diplomarbeit drangehängt. Mein späterer Diplomand war cleverer und hat statt dessen eine Diskette beigelegt 🙂
Wenn allerdings eine Firma das ganze bezahlt (Drittmittelforschung), sieht’s anders aus, dazu werden entsprechende Verträge formuliert, in denen die Veröffentlichungsklauseln geregelt sein müssen. Da kann man dann alles mögliche vereinbaren, auch die Geheimhaltung des Codes oder dessen Überstellung an den Drittmittelgeber, der von der Arbeit üblicherweise profitieren und sich vor der Konkurrenz schützen will. Normalerweise vereinbart man natürlich, dass die Uni über ihre Forschungsergebnisse berichten darf.
Also: wer’s bezahlt hat, dem gehört’s, wenn ansonsten nichts anderes vereinbart wurde.
@geheim: „Ohne das eigentliche Programm bzw. ohne den Source Code ist es daher für andere Wissenschaftler unmöglich, das Experiment / die Datenauswertung zu reproduzieren. “
Ich denke, das ist der falsche Ansatz. Mit identischem Programm und identischen Daten wird es immer identische Ergebnisse geben. Das ist dann zwar eine ‚Reproduktion des Experiments‘, aber nicht in dem Sinne, wie es die kritische Wissenschaft wünscht.
Eine Wiederholung des Experiments mit identischen Daten, identischem Algorithmus aber unterschiedlicher Realisierung (coding) würde hingegen eventuelle technische Kodierungsfehler und Artefakte aufzeigen.
@Florian: Du profitierst doch von deiner Forschung mit dieser ersten Veröffentlichung.
Mit dem Code selber wird die Überprüfung der Ergebnisse sehr viel einfacher und das muss im Interesse der Wissenschaft sein. Die Vorenthaltung dieses Werkzeugs erzeugt nur eine künstliche Hürde, die die Verifikation verzögert.
Wenn nun andere direkt diesen Code verwenden können, um weitere Ergebnisse zu erzielen, umso besser. Da sie deinen Code verwenden, sollte ein Teil des Credits an dich gehen.
Ja, wenn es dir nur darum geht, möglichst viele Paper selbst zu schreiben, dann willst du natürlich den Code selber für dich behalten. Aber das ist dann ein Fehler in der Anreizstruktur.
Wer hat mehr zur Wissenschaft beigetragen: Derjenige, der den Code verheimlicht und damit weitestgehend alleine ein paar neue Sachen erforscht oder derjenige, der ihn in einer gut benutzbaren Form veröffentlicht und so dafür sorgt, dass einige andere auch neue Sachen mit diesem Code erforschen können, anstatt erst ein Jahr damit zu verbringen, ihn nachzuprogrammieren.
@Carsten Hucho
„Ich denke, das ist der falsche Ansatz. Mit identischem Programm und identischen Daten wird es immer identische Ergebnisse geben. as ist dann zwar eine ‚Reproduktion des Experiments‘, aber nicht in dem Sinne, wie es die kritische Wissenschaft wünscht.“
Zugegebenermaßen ein richtiger Einwand. Kodierungsfehler können allerdings auch auffallen, wenn man Zugriff auf den Code hat. Oder wenn man – bei komplexen Experimenten – einzelne Softwarekomponenten gegen eigene/andererleuts Implementierungen austauscht und die Ergebnisse gegeneinander evaluiert.
Die Weitergabe der Software ermöglicht aber nicht nur die Reproduktion der Ergebnisse, sie versetzt (so sie denn in einer konfigurierbaren Form vorliegt) andere Wissenschaftler in die Lage, selbst eigene Ideen der Ergebnisverbesserung umzusetzen, also quasi auf direktem Wege an die Forschungen des Vorgängers anzuknüpfen. Ich kann hier nur für den Bereich der Textprozessierung sprechen, aber da erschien uns der Ansatz so sinnvoll, dass wir ein System entwickelt haben, das den Austausch von Softwarekomponenten und Experimenten über Textdaten ermöglicht – https://tesla.spinfo.uni-koeln.de/nightlies
Ich halte 2 Punkte für wichtig:
der Erste wurde (zufällig) gerade vom Vorposter genannt, nämlich, daß es keine neuen Erkenntnisse bringt, das identische Programm mit identischen Werten nochmal laufen zu lassen. Daher ist es i.A. sinnvoller, die publizierten mathematischen Algorithmen zu nutzen und ein eigenes Programm zu schreiben. Wenn man das eigene Programm dann mit den publizierten Bedingungen/Variablen laufen läßt, sollten die Ergebnisse dennoch vergleichbar sein.
ABER: Wenn genau das nicht der Fall ist, dann sitzt man erst mal da – mit einem dicken, fetten Fragezeichen auf der Stirn! Und das wohl ziemlich lange, denn wenn man nicht die Details des Codes des Vorgängerprogramms kennt, wird man nie herausfinden, warum die Resultate verschieden sind, und damit, wer denn nun vielleicht einen Fehler gemacht hat.
Ich denke daher, daß bei solchen Programmen (ich denke hier vornehmlich an wissenschaftliche Simulationen) die Veröffentlichung des vollständigen Codes mit ausreichend Randerläuterungen Pflicht sein sollte. Natürlich nicht auf Papier, vielleicht zusammen mit dem Paper als beigelegte CD (das gabs in den Geowissenschaften schon) oder irgendwo zum Download (Online-Attachment).
Das bringt mich zum zweiten Punkt, der allerdings hier noch gar nicht genannt wurde:
Wer solchen Code entweder direkt nutzt oder -darauf aufbauend- das Programm umschreibt, anpasst, was auch immer, muss den ursprünglichen Urheber jedesmal zitieren. Und das ist es doch, worauf es wirklich ankommt, oder?
@Florian:
Dasselbe Argument gilt für jegliche Forschungsarbeit. Forscher arbeiten zum Festgehalt, der „Lohn“ ist die Publikation. Auch Programme kann man publizieren, teils in einflussreichen Journalen (z.B. in Genome Research). Das muss wesentlich attraktiver gemacht werden. Programmcodes sind Forschungsarbeit und müssen absolut gleichbehandelt werden.
Desweiteren verlange ich nicht, dass das unentgeltlich geschieht (aber Arbeit- und/oder Drittmittelgeber können das sehr wohl verlangen!). „Open Source“ bedeutet nicht, dass eine Software nicht (auch) kommerziell vertrieben werden kann.
Methode und Programm führen aber eben aufgrund von Softwarefehlern nicht garantiert zum selben Ergebnis (und der Fehler ist oft genug in der Methodenbeschreibung statt im Programm). Eine Methodenbeschreibung ist nicht ausreichend, um Ergebnisse reproduzieren zu können. Und wie bereits erwähnt ist auch der Aufwand, eine komplexe Software zu entwickeln, nur um ein Ergebnis zu reproduzieren, viel zu groß.
Prinzipiell und soweit das möglich ist, ja. Modellorganismen müssen auf Nachfrage ja auch zugänglich gemacht werden. Aber im Labor kommen wir eben an die Grenzen des Machbaren; bei Software zieht diese Begründung aber eben nicht mehr.
Nachtrag:
Noch während ich getippt habe, war jemand schneller…
Ganz allgemein betrachtet: Ein gutes Beispiel für wissenschaftliche Software sind die Spitzenprogramme Maple und Mathematika, worin ja wirklich Jahrzehnte (Mannjahre) an Entwicklungsarbeit stecken, allerdings auch recht traurig dass diese Programme nur für Wissenschafter (samt Anhang) legal erschwinglich sind… daher um auch dass mathematische Interesse der nicht Mathematiker (spielerisch lernend) zu erwecken, sollten hier die Preise für eine Vollversion (also ganz ohne Leistungseinschränkungen!) drastisch gesenkt werden… auch eine fixe Integration in das nächste Microsoft Betriebssystem wäre für alle Benützer durchaus sinnvoll, um z.B. auch die (immer noch!) viel zu hohen Preise für solch ein Betriebssystem zu rechtfertigen… 😉
alle Erkenntnisse der Wissenschaften (inkl. wissenschaftlicher Software) sollten uneingeschränkt für alle interessierten Menschen frei verfügbar sein, lediglich für diese Art von Software sollte ein kleiner Obolus einen rechtmässigen zukünftigen Anwender ausweisen, nur um nicht einer unter vielen der zahlreichen Piraten zu werden… 😉
Florian schieb:
Das geht bei kleinen Programmen, aber bei komplexer Software geht es kaum. Wie soll man im Alltag die Zeit (das Geld) finden das zu reproduzieren? Und wie weiterentwickeln? Softwaregrants sind in manchen Disziplinen und Ländern schwer zu bekommen (gerade jetzt hat mein US-Partner erhebliche Probleme (Hydrodynamik)). Ziel von Wissenschaft sollte es IMHO manches Mal sein verwendete Software weiterzuentwickeln, bzw. darauf aufzubauen, um weitergehende Fragen zu lösen. Oft ist die Kontinuität in den Arbeitsgruppen nicht gewährleistet (Doktoranden/Postdocs gehen, der Chef wird pensioniert). Da ist die Weitergabe von Druidenmund zu Druidenohr (oder heutzutage auf CD oder per Mail auf Anfrage) schlicht unprofessionell. (Mal abgesehen davon, daß gute Versioningsysteme auch der Qualitätssicherung dienen, aber das hat ja primär nichts mit Veröffentlichung ja oder nein zu tun.)
Und das ist auch der Punkt an dem man sich fragen sollte: Die öffentliche Hand gibt Geld für Forschung aus. Hat sie nicht ein Recht auf bestmögliche Dokumentation und effiziente Handhabung von Ergebnissen (inkl. Software)?
Es ist ja keineswegs so, daß a) nicht dokumentiert würde, wer Urheber der zentralen Algorithmen ist und b) nicht dafür auch Meriten verteilt werden und c) werden allgemein verwendbare und immer wieder weiterentwickelte Programme/Bibliotheken auch häufig stark über lange Zeiträume zitiert (CCP4 ist ein klassisches Beispiel). Aber auf guten Programmen zu sitzen und nach Wohlwollen (wir wissen alle wie viel Hauen und Stechen in einem Feld ab und an entsteht, sogar zwischen „befreundeten“ Gruppen) ein Programm/Bibliothek rauszurücken oder auch nicht ist oft einfach ärgerlich. Ich fände es verständlich, wenn Geldgeber dies durch Vergabebedingungen unterbinden.
Viele Zeitschriften bestehen auf Zugänglichkeit des Quellcodes. Viele modere Projekte können überhaupt nur zwischen Arbeitsgruppen entwickelt werden und öffentlicher Quellcode ist selbstverständlich – was nicht hindert ggf. die Veröffentlichung von Quellcode zurückzuhalten, bis ein Paper draussen ist. Das ist eine zumindest für mich erfreuliche Entwicklung.
Ich behaupte (ohne Belege): Gerade wenn in einer Diziplin viel eigener Code geschrieben und nicht geteilt wird, ist es ein Zeichen dafür, dass dies unprofessionell geschieht: Viele von uns (über die Diziplinen hinweg) schreiben, debuggen und warten Software. Nur wenige haben gelernt, wie man das effizient macht. Der Autodidaktenanteil ist hoch. Das Resultat? Es wird viel mit der Software gekämpft statt mit eigentlichen Forschungsfragen. Die meisten haben schlicht keine Ahnung wie gut ihr Code, wie effizient ihre Lösung ist.
Die Antwort:
a) Basics der Softwareentwicklung Teil zumindest der Natur- und Ingenieurwissenschaftlichen Studiengänge machen (teils schon geschehen)
b) Standards verlangen zu denen auch die Veröffentlichung der Software gehört
Ja, das kostet Zeit. Aber der Nutzen könnte enorm sein.
So, und jetzt gehe ich in Deckung bzw. zum Arzt. Repliken nicht vor morgen Mittag.
Ein sehr idiosynkratisches Besitzdenken.
Fast jeder, ach, Quatsch, JEDER Wissenschaftler baut auf Forschungsergebnissen von anderen auf. Wie schrieb Florian so schön:
„Da gehts ja nicht um irgendwelche Standardsoftware oder simple Routinen. Da geht es um Programm, in denen echte Forschungsarbeit steckt. “
Und wenn er jetzt Daten, Algorithmen und Simulationsparameter von anderen hätte, meinst du, er hätte dann auch zwei Jahre gebraucht? Wäre nicht der freie Fluß des Wissens besser gewesen? Würden nicht alle davon profitieren?
Sind Wissenschaftler nicht sowieso fest angestellt und haben keine Existenzsorgen? Wozu dann noch „profitieren“ von Forschungsergebnissen, die vom Arbeitgeber finanziert werden?
Ich finde das schon ein wenig gierig. Ernsthaft.
Ich stimme Konrad da zu. Ich bin Molekularbiologe und auf meinem Computer wimmelt es von wissenschaftlicher software, die Kollegen geschrieben und dann (meist durch downloads from Institutswebseiten) frei zugänglich gemacht haben. Zu jedem dieser Programme gibt es eine oder mehrere Veröffentlichungen, die ich dann zitiere wenn ich ein Programm für meine Arbeit benutzt habe. Auf diese Weise ist das Programm genau so ein output wie jedes andere Paper auch und bringt dem Autor die gleiche Art credit.
Und zum „diese Programme sind in der Regel work in progress“, das Florian angesprochen hat, dies wird in der Regel in disclaimern immer ausdrücklich erwähnt. Niemand erwartet von dieser Art software, daß sie so perfekt ist wie ein kommerzielles Produkt und unter Umständen kompliziert zu bedienen ist und häufig verändert wird. Grade weil es sich jedoch um wissenschaftliche software handelt müssen diese Veränderungen jedoch gut dokumentiert werden (und werden es normalerweise auch).
Dieses System der Freiwilligkeit funktioniert in der Molekularbiologie sehr gut, warum sollte es in anderen Wissenschaftsfeldern nicht funktionieren? Ist es nur die Kultur in diesen Bereichen oder gibt es da praktische Gründe?
@Konni Scheller „Sind Wissenschaftler nicht sowieso fest angestellt und haben keine Existenzsorgen“
Das führt zwar vom Thema weg, aber: nein. Die meisten Wissenschaftler arbeiten auf ziemlich knappen, dürr bezahlten Zeitverträgen und haben ganz erhebliche Existenzsorgen!
Und zur Diskussion ’schon bezahlt‘ oder nicht: Auch hier sollte man wohl den Unterschied zwischen Urheberrecht und Verwertungsrecht durchdenken.
…und ein interessanter Artikel
https://www.nytimes.com/2012/04/16/world/europe/16iht-educbriefs16.html?_r=1
Interessant, daß nicht so wirklich klar zu sein scheint, was Wissenschaft eigentlich ist und nicht ist. Nehmen wir mal die Mainstream-Definition „die systematische Suche nach immer besseren Erklärungen dafür, wie die Welt funktioniert“, dann sollte auffallen, daß da keine Rede davon ist, daß man damit Geld verdienen, geschweige denn Wissen monopolisieren können dürfen muß. Was noch nicht einmal gegen die Idee spricht, Wissen zu monopolisieren: Wenn ich eine Idee für mich behalten will, dann habe ich jede Freiheit dazu: Ich erzähle einfach niemandem davon. Niemand zwingt mich schließlich, in der Forschung zu arbeiten – das ist eine freie Entscheidung. Nur wenn man sich (wie gesagt: frei) für Forschung entscheidet, dann darf man auch hinterher nicht rumheulen, daß die Regeln ja ganz gemein sind. (Was übrigens dasselbe Prinzip ist wie hier.)
Nachtrag: Da das entscheidende Kriterium und Instrument der Wissenschaft Kritik ist, muß sie darauf bestehen, daß dieses Instrument nicht ausgehebelt werden kann. Und jeder Versuch, Informationen (welcher Art auch immer) zu verstecken bzw. unzugänglich zu machen, verstößt insoweit gegen das Grundprinzip der Wissenschaft an sich.
@peter Monnerjahn – interessant ist aber auch der Reflex, zu denken, es gehe hierbei um Geld. Nein, bei der Diskussion, ob man den Code eines wissenschaftlichen Werkzeugs veröffentlichen muss (und nicht nur den Algorithmus) geht es überhaupt nicht um Geld. Es war nur *ein* Argument, dass der Geldgeber *verlangen* kann, den Code offenzulegen, da er dafür bezahlt hat. Es geht nicht darum, dass der Wissenschaftler den Code vermarkten möchte.
@Carsten Hucho:
[quote]Die meisten Wissenschaftler arbeiten auf ziemlich knappen, dürr bezahlten Zeitverträgen und haben ganz erhebliche Existenzsorgen![/quote]
Danke für die Aufklärung. Da hat sich seit den 80ern wohl einiges geändert?
Hm, mag sein, dass ich da eine zu einfache Sicht zu habe. Ich würde es abhängig von der Finanzierung und eventuellen Auftraggebern abhängig machen. Wenn ein Wissenschaftler seine Forschungen aus eigener Tasche bezahlt, darf er mit seinen Erkenntnissen, Programmen etc. machen was er will. Aber wenn ein Wissenschaftler seine Forschung durch Steuergelder finanziert, dann ist es die Allgemeinheit, die das Ganze finanziert und er in meinen Augen lediglich ein Angestellter. Wäre es da nicht ziemlich vermessen, wenn dann ein Wissenschaftler sagt: „Das ist meins und das kriegt ihr nicht.“ ???
Ich als Fachinformatiker muss im Angestellenverhältnis auch meine Applikationen der Firma zugänglich machen. Ich habe zwar das Urheberrecht, aber durch unzählige Klauseln im Arbeitsvertrag ist mein Chef letzten Endes derjenige, dem es so gesehen gehört und darüber bestimmt, was daraus wird.
Wissenschaftler sind ja auch abhängig davon, dass man ihnen die Forschung finanziert. Ich denke mal nicht, dass es viele Sachen gibt, die man mal eben mit dem Sparbuch geregelt kriegt. Und Geld von anderen gibt es eben nur unter Auflagen und Bedingungen. Wäre ja noch schöner, wenn Wissenschaftler damit wilde Sau spielen könnten und hinterher das, was sie mit dem Geld anderer Leute erarbeitet haben, so einfach in die eigene Tasche stecken.
Kurzum: Wer bezahlt, bestimmt die Spielregeln…
@jhermes: „Die Frage ist halt, weshalb man den indirekten Weg gehen soll – programmieren, das möglichst gut beschreiben, das Geschriebene lesen, nachprogrammieren – wenn man doch das Programm selbst weitergeben könnte“
Warum der indirekte Weg gut ist, hab ich doch eigentlich im Artikel beschrieben
@Martin: „Beides ist nicht zu gebrauchen und ist das Studium dieser Publikationen daher für alle Aussenseiter wertlos, auch sollten für eine derartige persönliche Schaustellungen entsprechende Kosten für Werbeeinschaltungen verrechnet werden.“
?? Wie ich schon mehrmals gesagt habe: Es ist durchaus möglich, eine Arbeit zu beurteilen und zu überprüfen, ohne den Programmcode zu veröffentlichen. Es soll ja nicht ALLES „geheim“ bleiben. Die Methoden müssen selbstverständlich dokumentiert und publiziert werden.
@ben: „Ich halte 2 Punkte für wichtig:
der Erste wurde (zufällig) gerade vom Vorposter genannt, nämlich, daß es keine neuen Erkenntnisse bringt, das identische Programm mit identischen Werten nochmal laufen zu lassen. Daher ist es i.A. sinnvoller, die publizierten mathematischen Algorithmen zu nutzen und ein eigenes Programm zu schreiben. Wenn man das eigene Programm dann mit den publizierten Bedingungen/Variablen laufen läßt, sollten die Ergebnisse dennoch vergleichbar sein. „
Exakt so ist es!
@Beobachter: „alle Erkenntnisse der Wissenschaften (inkl. wissenschaftlicher Software) sollten uneingeschränkt für alle interessierten Menschen frei verfügbar sein“
Und da landen wir wieder genau bei den gleichen Problemen, wie wir sie bei der Urheberrechtsdebatte haben…
@CM: „Das geht bei kleinen Programmen, aber bei komplexer Software geht es kaum. Wie soll man im Alltag die Zeit (das Geld) finden das zu reproduzieren?“
Ja, aber das ist doch genau das Problem, um das es geht. Warum soll sich „im Alltag“ irgendwer noch hinsetzen und komplexe Programme schreiben, wenn er eh nur darauf warten muss, dass irgendwer anderer die Arbeit erledigt. Kann man dann ja einfach kopieren…
„ch behaupte (ohne Belege): Gerade wenn in einer Diziplin viel eigener Code geschrieben und nicht geteilt wird, ist es ein Zeichen dafür, dass dies unprofessionell geschieht“
Das würde ich so pauschal erstmal – ohne Belege – nicht glauben. Gerade weil der Code oft sehr professionell ist, will man ihn nicht einfach so aus der Hand geben.
@Konni Scheller: „Sind Wissenschaftler nicht sowieso fest angestellt und haben keine Existenzsorgen? „
Hu! Danke, das ist lustig. Ne, die meisten Wissenschaftler sind NICHT fest angestellt. Vor allem nicht jungen; die, die i.A. die Programme schreiben.
@F.J. es ist ja nicht so, dass der Geldgeber (und sei es auch ein öffentlicher) ein Interesse an der Publikation und freien Verfügbarkeit der ‚Werkzeuge‘ der Wissenschaftler hat. Es ist doch ein kompetitives Sujet. Wissenschaft ist auch Wettbewerb. Immer zählt nur der Erste. Der, der etwas als zweiter entdeckt oder erfindet, ist ‚raus‘.
Ziel der Wissenschaft ist doch wohl, Erkenntnis zu schaffen, eine bestimmte Fragestellung zu bearbeiten und zu deren Lösung beizutragen. Diese Lösungen werden publiziert, die Antworten auf die Fragen werden publiziert ebenso die Methoden – aber die verwendeten Werkzeuge im Detail? Nein.
Ich würde jetzt gerne noch nen Nachtrag zum Artikel schreiben, weil ich offensichtlich nicht klar genug machen konnte, worum es geht. Aber ich bin grad im Ausland und da läuft der Rechner nicht so wie er sollte, also hier:
Es geht NICHT darum, Wissen zu verheimlichen. Es geht NICHT darum, Wissen zu monopolisieren. Es geht NICHT darum, Geld zu verdienen (darum geht es am allerwenigsten). Es ist selbstverständlich vollkommen klar, dass eine wissenschaftliche Arbeit ausreichend dokumentiert werden muss. Und dazu gehört auch eine detaillierte und nachvollziehbare Beschreibung der Methoden. Wie gesagt: das ist selbstverständlich und weder ich noch ein anderer Wissenschaftler würde fordern, das einzuschränken. Das wäre absurd. Aber um Daten reproduzieren zu können, ist es NICHT zwingend nötig, jedes Computerprogramm zu publizieren. Das wäre erstens sehr demotivierend für die Forscher, und zweitens auch immens von jeglichem Arbeitsalltag entfernt.
Muss dann auch jedes kleine Shellskript, jede schnell geschriebene Sortier-Routine, etc mit den Ergebnissen publiziert werden? In letzter Konsequenz: Ja! Man bekommt dann also entweder Publikation, die VOLL sind mit Code jeglicher Art, der für Außenstehende sowieso unverständlich ist (genauso wie die Experimente und selbst gebasteltenden Geräte in einem Labor für außenstehende oft unverständlich sind). Oder man bekommt Wissenschaftler, die unverhältnismäßig viel Zeit damit verbringen müssen, auch jeden noch so kleinen Code-Schnipsel, der vielleicht nur für den Einmalgebrauch geschrieben wurde, für eine Publikation zu überarbeiten und zu kommentieren.
Ich sage es sicherheitshalber nochmal: Es geht nichtdarum, irgendwelche Methoden geheim zu halten! Die müssen und sollen weiterhin dokumentiert und publiziert werden. Aber es ist weder nötig, noch praktisch, die Leute dazu zu zwingen, ihren Quellcode zu publizieren. Wenn sich die Ergebnisse dann nicht reproduzieren lassen, sieht das natürlich wieder anders aus…
Naja, die praktische Erfahrung mit der Freigabe von Quellcode ist, dass dieser dadurch besser wird. Dadurch vermeidet man eine Menge Doppelarbeit. Man kann natürlich das Programm auch nach der Institution benennen, so dass diese auch davon profitiert.
Von Forschung soll ja primär die Gesellschaft profitieren. Quasi die komplette Elektroindustrie basiert auf dem universitären Projekt SPICE.
@Florian:
Sicher nicht. Ich glaube, niemand in dieser Diskussion hatte das so schwarzweiß angenommen. Aber es hilft ungemein. Oder umgekehrt formuliert: das Nichtpublizieren der Software hindert ungemein.
Absolut korrekt, das wäre der Idealzustand. Und ja, darauf muss hingearbeitet werden, damit computergestützte, wissenschaftliche Arbeit erwachsen werden kann. Im Moment ist der Großteil jeder wissenschaftlichen Arbeit am Computer reine Zeitverschwendung, weil eigentlich schon absolvierte Arbeitsschritte wiederholt werden müssen. Und, um es noch einmal zu wiederholen, dies hält wissenschaftliche Arbeit auf, und wer dem Vorschub leistet agiert klar unethisch (das sauge ich mir auch nicht aus den Fingern, das steht in jedem Manifest zu „Good scientific practice“, üblicherweise verklausuliert als das Zurückhalten publizierbarer wissenschaftlicher Ergebnisse).
Im Idealfall sollte einem Paper ein vollständiges Code-Repository beiliegen, in dem mit einem einzigen Kommando der gesamte Ablauf der Analyse, von der Kompilation der Quellcodes bis hin zur Ausgabe der Ergebnisgrafiken abgespult wird (Stichwort Build Automation 1:1 anwendbar).
Das ist idealistisch aber keinesfalls unmöglich. Muss das gefordert werden? Nein, (heute) unrealistisch. Aber es sollte von den Journalen als Goldstandard vorgegeben und von Reviewern ermutigt werden.
Oder genau das Gegenteil. Wenn man sich selbst zum Einhalten guter Softwaredesignpraxis zwingt (oder dazu gezwungen wird, und es als Teil des wissenschaftlichen Kurrikulums lernt, und ja, das wird kommen), dann spart man ganz erheblich Zeit. Allein schon, weil man weniger selbst schreibt und mehr wiederverwendet (und dies überhaupt erst kann!) und weil man zeitaufwendig zu korrigierende Implementierungsfehler vermeidet.
Ja, das muss man erst lernen. Aber daran wird über kurz oder lang kein Weg vorbeiführen.
Ich habe hier den Eindruck, dass da was wesentlich durcheinander gebracht wird, obwohl es bereits hier schon gesagt wurde – ich wiederhole es also nur: ein Wissenschaftler arbeitet entweder in der privaten Wirtschaft oder in einem Drittmittelprojekt für einen Auftraggeber oder in der durch öffentliche Mittel finanzierten Forschung. In allen Fällen regelt der Arbeitsvertrag/ der Projektvertrag das Urheberrecht, das ja ein Verwertungsrecht ist. Oder die Prüfungsordnung bei Doktorarbeiten, Master- und Diplomarbeiten.
Die Verwertung besteht dann entweder in einem Patent oder in Ruhm und Ehre oder in anderen Dingen, wie z.B. die Stelle und das Gehalt – siehe: Arbeitsvertrag.
Das ganze Urheberrechtsgerede blendet allerdings aus, dass Wissenschaft und ihre Ergebnisse nicht unabhängig entstehen und aufeinander bezogen sind. Damit kommt es dann doch wieder drauf an, wer die Macht, den Einfluss hat, um sich da ein größeres Recht zu beschaffen. Und diese Abhängigkeit wird bei den Methoden noch deutlicher. Aber auch die technische Seite sollte nicht vergessen werden. Ohne Geräte, die ja auch Investitionen sind, die Einzelne gar nicht leisten können, liefe ja ziemlich wenig. Nur die Mathematiker kommen noch mit Bleistift und Papier aus. LOL
@Konrad: „. Im Moment ist der Großteil jeder wissenschaftlichen Arbeit am Computer reine Zeitverschwendung, weil eigentlich schon absolvierte Arbeitsschritte wiederholt werden müssen.“
Ich kann wieder nur aus meiner eigenen Erfahrung sprechen. Die Probleme die da behandelt werden sind oft so speziel, dass es nichts bringt, vorgefertigte Programme anderer Leute zu benutzen. Ob man sich in ein vorhandenes Programm einarbeitet und es dann für die eigenen Zwecke umschreibt oder gleich ein ganz neues, eigenes Programm schreibt, kommt aufs gleiche raus. Oft ist das eigene Programm sogar die schnellere Version. Wie gesagt, in anderen Disziplinen kann es anders sein. Aber generell ist „Damit spart man sich Arbeit“ kein gutes Argument pro Freigabe.
Mal ein Beispiel aus meiner eigenen Forschungspraxis:
Ich habe etwa 5 jahre lang an einem Forschungscode gebastelt, der am Ende ausgedruckt einige Hundert Seiten umfasste. Während dieser Zeit habe ich wenige Publikationen geschrieben, weil ich eben hauptsächlich damit beschäftigt war, den Code so hinzubekommen, dass er funktionierte.
Dann schließlich klappte alles. ich konnte den Code auf diverse probleme anwenden und in den nächsten Jahren einige schöne Veröffentlichungen produzieren.
Nehmen wir mal an, ich müsste diesen Code zusammen mit der ersten Veröffentlichung offenlegen und dann befürchten, dass jemand anders mir meine Ideen und mein Forschungsprogram wegschnappt. (Was dann bedeutet, dass die Forscherkarriere am Ende ist, weil zu wenig Veröffentlichungen da sind.)
Das würde dann dazu führen, dass ich
-entweder so einen Code gar nicht entwickle,
– oder dass ich erst sämtliche Ergebnisse produziere und dann einen ganzen Stapel veröffentlichungen simultan einreiche (das kann sich aber nur ein Forscher mit Dauerstelle leisten),
– oder dass ich den Code künstlich so unverständlich gestalte, dass niemand anders ihn benutzen kann, was dann einfach nur Verschwendung von Arbeitszeit wäre.
Keine dieser drei Optionen scheint mir besonders sinnvoll zu sein. Und wenn das erstmal vorgeschrieben ist, dann werden sich auch schnell Forschungsteams entwickeln, die sich darauf spezialisieren, anderer Leute programme zu nutzen, was dann wieder zu entsprechenden Gegenmaßnahmen führen wird – noch mehr Zeitverschwendung.
Wer die Offenlegung von Software fordert, sollte schon eine gute Antwort haben, die über bloße Prinzipien hinaus geht. Oder sollen wir Forscher alle Heilige sein, die sagen „Ach, macht doch nichts, dass jetzt jemand anders die Früchte meiner Arbeit kassiert, fahre ich halt den Rest meines Lebens Taxi?“
PS: Auf Anfrage habe ich übrigens meinen Code durchaus weitergegeben, sogar mit Installationshilfen etc. – ins Netz hätte ich ihn aber nicht stellen mögen.
Ich sehe das auch so wie FF: 99% der geschriebenen Cods/Skripte etc. sind „Wegwerfcodes“, d.h. für den Einmalgebrauch. Die Veröffentlichung wäre nur unleserlicher Ballast, der den Blick auf das Wesentliche verstellt. Meistens ist dieser Code sogar extrem heterogen, d.h. einige Daten werden mit Computer-Algebra-Systemen generiert, dann wird der Output exportiert, in der Shell bearbeitet, in ein C-Programm eingelesen, der Ouput davon mit einem Statistikprogramm ausgewertet, Daten gefittet und letztendlich Abbildungen evtl. mit gnuplot-Skipts generiert und/oder in LaTeX eingebettet/weiterbearbeitet (meistens durchlaufen die Daten sogar mehrere Betriebssysteme… d.h. die vollständige Dokumentation wäre endlos). Die Forderung nach völliger Transparenz ist genauso absurd wie die Forderung, dass die LaTeX-Quelldatei von der Publikation (inclusive Kommentare) ebenfalls veröffentlicht werden muss (zusätzlich zur PDF-Version), damit jeder nachschauen kann wie man eine Tabelle mit schönen Rändern generiert.
In den meisten Wissenschaftsdisziplinen ist der Quellcode eben nicht die wissenschaftliche Arbeit, sondern die durch den Code bearbeiteten oder generierten Daten. Und es ist die Kunst in jeder wissenschaftlichen Publikation, die Dinge so einfach wie möglich zu machen – aber eben nicht einfacher.
Ich sehe auch noch ein weiteres praktisches Problem:
Die völlige Transparenz würde Forscher, die an Problemen arbeiten, die von öffentlichem Interesse sind, vollständig davon abhalten ihrer eigentlichen Arbeit nachzugehen. Am Beispiel der Klimadebatte/Klimaskeptiker wird das besonders deutlich. In noch stärker polarisierenden Bereichen könnte man durch die komplette Offenlegung eine wahre Hexenjagd auslösen.
Das zeigt sich auch hier schon in abgemilderter Form in den Kommentaren: Natürlich wird sich immer ein Informatiker finden, der den Quellcode kritisiert, da dieser nicht gut genug dokumentiert/modular aufgebaut ist oder ein modernerer Algorithmus existiert. Bei den Klimaskeptikern füllen solche Nebensächlichkeiten bereits ganze Blogs…
@Christian Berger und Konrad
Das mit der Verbesserung kann natürlich stimmen, ist hier aber irrelevant. Es wird schlicht nicht genug Leute geben, die sich mit dem Code auseinander setzen wollen.
Es ist bei den meisten Programmen die für die Forschung entwickelt werden wohl wurscht ob der Code veröffentlich wird oder nicht, da sich nicht genug Leute dafür interessiert.
Wenn sich die Forschungsergebnisse nur mit Hilfe eines bestimmen Programmes replizieren lassen, und nicht anhand des Papers und evtl. der Eingangsdaten, hat man ganz andere Probleme.
@heckenpenner:
Dasselbe ist für alle anderen Forschungsdaten der Fall. Andernfalls würden viel mehr Studien zurückgezogen werden, wenn man Untersuchungen zu Falschpublikationen trauen kann. Auf der anderen Seite ist es schon jetzt so, dass dort, wo der Code publiziert wird, oft ein enormes Interesse daran besteht und sich mit sehr viel Enthusiasmus damit auseinandergesetzt wird. Also das Gegenteil von dem, was Du voraussagst. Du kannst hier einfach nicht generalisieren.
Übrigens ist das was publiziert wird ja meistens nur ein sehr winziger Ausschnitt von der gesamten Arbeit. Im Allgemeinen führt jede Publikation zu einem vollen Ordner mit Aufzeichnungen/internen Dokumenten. In letzter Konsequenz müsste man auch all das veröffentlichen, wenn vollständige Transparenz gefordert wird. Heutzutage wäre das aber kein technisches Problem. Allerdings wäre das (wie bereits geschrieben) ein digitaler Pranger – denn man würde damit die Person völlig blossstellen.
@Konrad
Okay; kann sein, dass du da Recht aus. Meine Erfahrung ist da halt anders.
Dann bleibt aber immer noch mein zweites Argument:
Wenn sich die Forschungsergebnisse nur mit Hilfe eines bestimmen Programmes replizieren lassen, und nicht anhand des Papers und evtl. der Eingangsdaten, hat man ganz andere Probleme.
Desweiteren: Was Physiker sagt. Und, die Leute, die da programmieren, sind eben meistens*keine* Informatiker. Und dementsprechend sieht der Code dann auch oft aus(Jaja, ich weiß, gibt auch Pysiker, usw. die sehr sehr gut programmieren können). Den Code der da rauskommt will sich keiner anschauen, auch wenn er tippi toppi Ergebnisse liefert.
» Florian Freistetter:
Meinst du, ein Forscher setzt sich hin und schreibt 2 Jahre ein Programm und denkt sich neue Methoden aus wenn er weiß, dass er davon nicht profitieren kann? Weil er den Code sofort allen anderen zur Verfügung stellen muss?
Das hört sich irgendwie ein bißchen arg verquer an. Was soll z.B. „sofort“ heißen? Hier geht es doch um Veröffentlichungen, also auch nur darum, daß Code zusammen mit einem Paper veröffentlicht werden soll. Und wenn das Paper veröffentlich ist, dann hat der Autor bereits profitiert, weil damit seine Priorität gesichert ist.
Und zu dem (von mehreren geäußerten) Punkt, das Veröffentlichen von Code sei so schwierig: Habt ihr schon mal vom Internet und Links gehört? Code ist eben gerade kein Gerät, das anderen aufwendig zur Verfügung zu stellen man genötigt werden könnte, sondern etwas aufwandslos Kopierbares. Code ist genauso eine Idee wie der Rest meines Papers. Wenn ich die einen Ideen veröffentliche – und zwar gerade weil ich den Profit der Anerkennung daraus ziehen will –, dann scheint mir, daß es kein systematisches Argument dafür gibt, die anderen Ideen zurückzuhalten. Wissenschaftliche Ideen stehen, sobald sie veröffentlicht werden, quasi unter einer CC-Lizenz: Jeder darf sie benutzen, solange er darauf hinweist, woher sie kommen. Warum sollte das für Ideen-in-Text gelten, aber nicht für Ideen-in-Code?
@Florian: Wenn sich niemand für den speziellen Code interessiert, dann ist durch seine Veröffentlichung auch nichts verloren (solange nicht viel Zusatzarbeit hineingesteckt wird). Es wird ja nicht verlangt, ihn irgendwie gut benutzbar zu machen. Man sollte ihn einfach so zur Verfügung stellen, wie er ist (wobei eine auf gute Benutzbarkeit sicher Bonuspunkte wert ist).
@MartinB: Deine Argumente zeigen, wie absurd der Wissenschaftsbetrieb teilweise geworden ist. Publish or perish. Das Hauptproblem an dem ist, dass der Code für wertlos gehalten wird und es nur auf die Paper ankommt, er gleichzeitig aber als unbedingt notwendig für das Paper gesehen wird.
So weit eben, dass man bereit ist, den Wissenschaftsfortschritt zu verlangsamen, nur um möglichst viele Paper direkt selbst schreiben zu können.
@AndreasM
„Das Hauptproblem an dem ist, dass der Code für wertlos gehalten wird und es nur auf die Paper ankommt, er gleichzeitig aber als unbedingt notwendig für das Paper gesehen wird.“
Der code ist ja nur Mittel zum Zweck – wissenschaftlich gesehen ist er wertlos, wissenschaftlich sind die Algorithmen oder die Ergebnisse das, was zählt. (In meinem Fall waren nicht mal besonders ausgeklügelte Algorithmen drin, es war einfach nur extrem aufwändige Geometrieberechnung und Datenverwaltung, die wissenschaftlich selbst wenig Nährwert hatte.)
„wie absurd der Wissenschaftsbetrieb teilweise geworden ist.“
Was ist absurd daran, dass man Fähigkeiten irgendwie messen muss. Wenn ich meinen Code frei ins Internet stelle, wie soll meine Leistung wahrgenommen werden, wenn jemand anderes damit arbeitet (und mich möglicherweise nicht mal als Quelle nennt)?
Mach mal einen konstruktiven gegenvorschlag, wie der Wissenschaftsbetrieb alternativ aussehen sollte. Bin ich gespannt.
Das ist also der Kern der Sache. Es geht weniger um gegenseitige Bereicherung, vielmehr um Verdrängung und Ausgrenzung. Wie konnten solche Leute überhaupt eine Forschungsstelle bekommen?
Ich verstehe nicht warum die mit der eigenen Software von Anderen erzeugten Ergebnisse nicht in den eigenen Forschungsergebnissen verwendet werden sollen?
Die Offenlegung von Software ist Voraussetzung für wissenschaftliche Exzellenz, Ergebnisse aus nicht offengelegter Software sind demnach wertlos und sollten gleich gar nicht veröffentlicht werden. Also beim nächsten Review darauf achten!
@Martin
„Wie konnten solche Leute überhaupt eine Forschungsstelle bekommen?“
Äh, weil wir nicht nur Heilige zu Forschern machen können?
„Ich verstehe nicht warum die mit der eigenen Software von Anderen erzeugten Ergebnisse nicht in den eigenen Forschungsergebnissen verwendet werden sollen?“
Den Satz verstehe ich nicht – wenn andere mit meiner Software was rausbekommen, haben die es rausbekommen. Ich habe davon zunächst wenig.
„Also beim nächsten Review darauf achten! “
Mit Sicherheit nicht, solange hier nicht jemand eine *funktionierende* Alternative hat, die nicht annimmt, dass Wissenschaftler alle perfekt heilige Übermenschen ohne jede persönliche Ambition sind.
@MartinB: wie wäre es mit einem Link (Citation) und der Angabe „benutzt Quellcode von MartinB aus seinem Paper XY“. Also ein völlig stinknormaler Querverweis wie in jedem Zitat. Mitsamt Strafe bei Nichtbeachtung. Software ist ja zudem nicht per BSD-like frei (der noch extremer), es kann sich ja auch beispielsweise um GPL handeln – offen, aber der Originalautor muss genannt werden. Also steht dann deine Urheberschaft zweimal da: einmal direkt im Paper, einmal im neu veröffentlichten Quellcode des neuen Paperschreibers.
Abgesehen von diesem Problem: spätestens wenn jemand die Ergebnisse anzweifelt sollte der Quellcode zur Verfügung gestellt werden können – ebenso wie Laborjournale etc. Letzteres ist ja ebenfalls gute Praxis.
@Engywuck:
Laborjournale werden nicht veröffentlicht. Wo haben Sie denn diesen Unsinn aufgeschnappt?
Ich glaube das diejenigen die sich die Mühe machen und effiziente Software schreiben die Verlierer sind wenn es einen Zwang zur Veröffentlichung gibt. Denn andere können ohne aufwand viele Ergebnisse erzeugen während derjenige auch wenn er es entsprechend veröffentlich deutlich weniger Veröffentlichungen pro Zeit hat. Da hilft es auch nix wenn das eine Paper entsprechend zitiert wird.
Es wird auch deutlich aufwendiger wenn noch lange den Code Dokumentieren muss.
Ein weiteres Problem sehe ich bei der generellen Forderung bei Dritmittelprojekten, die durch einen Industriepartner bezahlt werden. Darf der Wissenschaftler dann nichts mehr publizieren weil er den Code nicht veröffentlicht?
Ich denke nicht, dass die Programmierer die Verlierer sind.
* Sie erzeugen die Software zunächst für ihre eigenen Ergebnisse und stellen sie mit der Veröffentlichung zum Download bereit.
* Andere produzieren in Summe nun viel mehr Ergebnisse als der Programmierer und veröffentlichen diese.
* Natürlich liest der Programmierer diese Veröffentlichungen und verwendet sie sogleich für seine eigene Forschungsarbeit (natürlich auch wieder mit Querverweisen). Kann also nur ein Vorteil sein.
* Sollten parallel die gleichen Ergebnisse veröffentlicht werden: Umso besser.
* Meidet die Reviewer, die Papers ablehnen, nur weil diese Ergebnisse woanders schon einmal publiziert wurden. Diese Reviewer sollten zum Patentamt gehen, aber sie haben in der Wissenschaft nichts verloren.
@Martin „Andere produzieren in Summe nun viel mehr Ergebnisse als der Programmierer und veröffentlichen diese.“
Und schon hat der Programmierer Verloren wenn es um Fördergelder geht weil er weniger gut da steht.
„Meidet die Reviewer, die Papers ablehnen, nur weil diese Ergebnisse woanders schon einmal publiziert wurden. Diese Reviewer sollten zum Patentamt gehen, aber sie haben in der Wissenschaft nichts verloren.“
Das ist zwar eine nette Utopie aber nicht realistisch. In den meisten Fällen sind einem die Reviewer ja nicht bekannt, Stichwort blind Review, deshalb kann man sie nicht meiden.
natürlich müssen Laborjournale nicht im Paper veröffentlicht werden — und das habe ich so auch nicht geschrieben. Aufgehoben aber werden sollten sie (zumindest eine Zeit lang). Wenn die Ergebnisse überprüft werden sollen und keine Journale mehr auffindbar sind ist das doch eher ein schlechtes Zeichen…
Im oben verlinkten ACL-Artikel gibt es einen guten Grund, den Code zumindest veröffentlich*bar* zu halten: wenn man später selber nachprüfen will, wie die Ergebnisse zustande gekommen sind (u.a. wenn sie von einer Hilfskraft erreicht wurden) ist es deutlich hilfreich, wenn der vorhandene Cde keine magischen Beschwörungen und die korrekte Mondphase[1] braucht, um zu kompilieren.
Dazuhin würde ein Veröffentlichungs*zwang* auch zu entsprechenden Citations führen, was ja auch nicht notwendigerweise schlecht ist. Jeder (größere) Dieb würde dann erwischt werden können.
Ob die Veröffentlichung jedes Mini-Shellskripts wirklich nötig wäre ist ein anderes Thema, aber zumindest die Hauptprogramme sind doch nicht uninteressant. Ich hätte keine Probleme, die von mir in meiner Abschlussarbeit verwendeten Programme (zugegebenermaßen nur einige Scripte und Anweisungen an das Pumpsystem) freizugeben – und hätte mich damals gefreut, von einigen verwendeten Programmen den Quelltext gehabt zu haben (IIRC habe ich damals sogar die Programme auf CD beigelegt, bin mir aber nicht mehr sicher). Allerdings müsste ich dafür meine Anonymität aufgeben und die Ergebnisse waren ohnehin eher in „hat gezeigt, dass die Methode nicht ganz daneben ist“-Niveau 🙂
Auch die Zurverfügungstellbarkeit von Rohdaten aus Messungen wäre m.E. nicht notwendigerweise falsch (natürlich nicht auf totem Baum – wir haben damals ausgerechnet, dass eine Promotion in unserem Institut einigen Tiefladern entspräche), da sie zu sauberem Arbeiten zwingen würde und die Ergebnisse nachvollziehbarer sein könnten, wenn Zweifel auftauchen („wie kann die das mit *den* Geräten hinbekommen haben?“ (du warst doch ein Verfechter der immer-weiblich-Verwendung, oder?)), gerne auch Digitalphotos des Messaufbaus etc.
[1]https://catb.org/jargon/html/P/phase-of-the-moon.html
@Engywuck
„wie wäre es mit einem Link (Citation) und der Angabe „benutzt Quellcode von MartinB aus seinem Paper XY““
Na klar. Deswegen habe ich den Code ja auch – wie gesagt – auf Anfrage immer herausgegeben, mit der Bitte, dass im Falle einer Veröffentlichung der Nutzer auf meine Veröffentlichung verweist. Ich würde mich nur gegen den Zwang wehren, meinen Code direkt zu publizieren, so dass ich nicht mehr kontrollieren kann, wer ihn nutzt. (Und das ist auch sinnvoll, weil man ja immer noch mal kleine Fehler entdeckt.)
Und falls jemand glaubt, es gäbe doch gar keine bösen Wissenschaftler, die anderen Ergebnisse klauen – nun, ich kannte selbst jemanden, der Ergebnisse, die er in einem Seminar-Vortrag gehört hat, schneller veröffentlicht hat als der Vortragende das getan hat und der ein paper veröffentlicht hat, dessen Kernaussage auf einem Ergebnis von mir beruhte (ich hatte ein Phänomen in einem 2D-Modell nachgewiesen, besagter Jemand dann ein 4D-Modell erstellt, aber ansonsten eigentlich dasselbe gemacht), ohne dass das in dem paper deutlich wurde.
Menschen sind so. Nicht alle, aber hinreichend viele, dass man etwas Vorsicht walten lassen muss. Oder schließt Ihr abends eure Haustür nicht ab?
@Martin
„Meidet die Reviewer, die Papers ablehnen, nur weil diese Ergebnisse woanders schon einmal publiziert wurden.“
Aäh, wie jetzt? Soll es eine gültige veröffentlichung sein, wenn ich morgen mal ein paper „über die Elektrodynamik bewegter Körper“ einreiche?
@physiker, dies steht in den Richtlinien für gute wissenschaftliche Praxis wie sie z.B. von der DFG herausgegeben werden: im Zweifelsfall, also wenn der Verdacht auf wissenschaftliches Fehlverhalten besteht, müssen alle ressourcen, Originaldaten, verwendete Werkzeuge (seien sie Hardware oder Software) und eben auch Laborjournale zur Verfügung gestellt werden.
Software ist Intellectual Property dessen, der sie erstellt und seines Arbeitgebers. Es ist ein Werkzeug. Man muss es beschreiben. So genau, dass ein anderer es ebenfalls coden könnte. Keinesfalls ist man gezwungen, alle seine Werkzeuge jedem zur Verfügung zu stellen. Nochmal: Wissenschaft ist auch Wettbewerb. Eine Veröffentlichung als Zweiter gibt es nicht. Dieser Wettbewerb ist gesund und stimulierend. Man ist stolz auf seine Werkzeuge, die man auf eigene Weise mit eigenen Können ’schärft‘. Man kooperiert mit anderen Gruppen, die anderes besonders gut können. Ein geben und nehmen. Kreativ. Kooperativ.
Also der mindestanspruch an eine wissenschaftliche Publikation ist doch das alle genannten Ergebnisse anhand der Veröffentlichung reproduziert werden können.
Und eben dieses Kriterium sollte maßgebend sein für die Entscheidung, ob Sourcecode mit veröffentlicht werden muß oder nicht. In vielen Papern der Informatik geht es ganz konkret um einen bestimmten Algorithmus, der für einen definierten Input einen definierten Output liefert. Der Code ist hier völlig überflüssig (wäre nur ein Anwendungsbeispiel). Ich habe aber beispielsweise in einem Bereich der Bioinformatik gearbeitet, wo bei bestimmt 50% der Paper kein Mensch in der Lage wäre nur anhand dieser Quelle die Ergebnisse exakt zu reproduzieren. Bei über Jahre gewachsenen Programmen mit komplexen Workflows ist es auch kaum möglich jedes Detail in der Veröffentlichung unterzubringen. Ich habe beispielsweise als Nebenprojekt meiner Dissertation ein nützliches Tool geschrieben, bei dem die neuen Ansätze auf wenigen Seiten beschreibbar sind. Um aber die Ergebnisse wirklich reproduzieren zu können wäre eine Flut an Algorithmen und zugehöriger Parameter zu beschreiben gewesen. Entsprechend habe ich lieber den Sourcecode als Referenz mit zur Verfügung gestellt. Das war keine leichte Entscheidung für mich, denn der Code ist furchtbar „hässlich“ und unaufgeräumt (tatsächlich hat mir aber nie jemand geschrieben und sich beschwert was ich da für einen Mist gemacht habe).
@Carsten Hucho: Es geht nicht darum die Daten mit dem Originalprogramm zu reproduzieren. Dafür bräuchte man ja nicht den Code, sondern nur ein Binary. Es geht darum die Daten anhand der Publikation zu reproduzieren — und wenn das nicht gelingt, dann muß man in den Code gucken können um herauszufinden wo die fehlenden Informationen/Parameter/was auch immer sind. Das heisst natürlich auch 1.) dass es reichen würde den Code auf Anfrage zur Verfügung zu stellen oder aber 2.) gar nicht den Code zur Verfügung zu stellen, aber dafür solange quasi Support zu leisten bis Alles reproduziert werden kann.
Ich will auch noch auf das Argument eingehen, dass ja Ergebnisse bei denen z.B. ein kompliziertes Gerät, welches es nur einmal gibt, genutzt wurde auch nicht für jeden reproduzierbar sind. In dem Falle wäre auf Anfrage zumindest der Bauplan des Gerätes herauszugeben. Selbstverständlich garantiert auch solch ein Bauplan nicht eine exakte Kopierbarkeit des Gerätes, aber es ist trotzdem der richtige Ansatz diese Informationen weiterzugeben.
Zum Schluß muß ich nun noch zugeben, dass ich selbst auch schon gegen meine eigenen Grundsätze verstoßen habe und Ergebnisse zu einem Programm veröffentlicht habe, welches zwar kostenlos, aber nicht OpenSource ist. Die Entscheidung kann man nunmal nicht immer allein treffen. Genau das wäre aber wieder ein gutes Argument für einen Zwang zur Offenlegung, denn wenn es heisst OpenSource oder gar nicht publizieren, dann würden sich wohl sehr viel mehr Leute dazu durchringen…
Unter den Neuroroinformatikern ist es selbstverständlich, dass der Code veröffentlicht wird. Wir wissen alle, dass in unserer Software beinahe zwangsläufig bugs sein muessen. die programme sind komplex und funktionieren auch mit zum teil haarsträubenden programmfehlern noch erstaunlich gut. Um die Ergebnisse wirklich nachvollziehen zu können, braucht man manchmal diese software. Und seht es mal so: auch wenn wichtige software veröffentlicht wird, müssen die anderen das auch tun. so kommt jeder bei bedarf in den genuss der programme anderer, so er sie denn braucht. und die eigenen programme können auch angepasst werden, was zu einer verbesserung der wissenschaftlichen Lage führt. eben weil alle von aller Arbeit profitieren.
Ich kann das nur mit einem Merksatz aus der modernen Software-Entwicklung kommentieren:
„Der Quellcode ist die Spezifikation.“
Was ein Programm macht, wird nicht durch eine externe Spezifikation, in diesem Fall Methodik, bestimmt. Die bestimmt nur, was das Programm eigentlich machen sollte. Was es wirklich tut, kann einzig und allein durch den Quellcode bestimmt werden. Kein Quellcode, keine Transparenz.
Im Übrigen habe ich jetzt das Argument gelesen, dass andere Forschergruppen einen Vorteil hätten, wenn die Programme veröffentlicht würden. Halte ich für falsch. Ein Zwang, den Quellcode öffentlich zu machen, würde nicht bedeuten, ihn unter eine Lizenz zu stellen, die anderen die Nutzung in eigenen Projekten erlaubt. Es könnte auch eine sein, die nur die Überprüfung der eigenen Ergebnisse zulässt bzw. Prüfungen, ob der Code korrekt ist. Eine Verletzung einer solchen Lizenz durch eine Forschergruppe würde spätestens dann auffallen, wenn sie selbst etwas veröffentlichen und Quellcode freigeben müssten. Es sei denn, sie schreiben das Ganze komplett um, was wiederum bedeuten würde, dass sie doch wieder einen Haufen Arbeit haben.
Gesamtgesellschaftlich aber wäre es m.E. im höchsten Maße wünschenswert, wenn Forscher untereinander Software austauschen würden, das ist nämlich effizienter als dass jede Gruppe Software mit ähnlicher oder gar gleicher Funktionalität schreibt.
Ich bin aber gern bereit, zu akzeptieren, dass die Situation, in der sich wohl die Mehrheit der heutigen Wissenschaftler erst grundlegend geändert werden müsste, damit nämlich eben keiner seine Existenzgrundlage oder auch nur seine wissenschaftliche Karriere gefährdet sieht, nur weil jemand anders die von ihm geschaffene Software nutzen kann.
Es ist meiner Meinung nach sehr wichtig sich auf gemeinsame Standards bei Software zu einigen, so dass Ergebnisse beispielsweise von Simulationen direkt vergleichbar sind. Es macht keinen Sinn, das jeder sein eigenes Datenformat entwickelt.
Nachvollziehbar werden forschungsergebnisse oft nur, wenn der gleiche Code in der gleichen Umgebung ausgeführt wird. Das muss möglich gemacht werden. Oft kann man doch das Ergebnis nur anhand von Plots, etc. Gar nicht wirklich überprüfen. Da entscheidet oft nur ein Gefühl, ob Ergebnisse plausibel scheinen oder nicht. Software nicht frei zur Verfügung zu stellen, bremst meiner Meinung nach den Fortschritt und die Weiterentwicklung…
@GodsBoss (Hmm, da solltest du deinem Mitarbeiter mal ein paar Takte sagen…)
„Gesamtgesellschaftlich aber wäre es m.E. im höchsten Maße wünschenswert, wenn Forscher untereinander Software austauschen würden, das ist nämlich effizienter als dass jede Gruppe Software mit ähnlicher oder gar gleicher Funktionalität schreibt.“
Richtig. Deswegen tut man das ja auch; die meisten, die ich kenne, jedenfalls. Untereinander austauschen (also den Code an bekannte Personen weitergeben) ist aber nicht dasselbe wie frei veröffentlichen.
„Eine Verletzung einer solchen Lizenz durch eine Forschergruppe würde spätestens dann auffallen, wenn sie selbst etwas veröffentlichen und Quellcode freigeben müssten. “
Das setzt dann aber voraus, dass wir irgendwen brauchen, der diese ganzen Quellcodes alle durchguckt und vergleicht. Und der müsste irgendwie bezahlt werden (papers reviewen ist schon ziemliche Arbeit, aber wenn ich codes reviewen sollte, würde ich streiken). Und dann ist die Frage, ob das den zusätzlichen Gewinn wert ist.
@norge
Wenn jemand mit meiner Software ein wissenschaftliches Ergebnis erzielt, was hindert mich daran, es mit meinen eigenen Ergebnissen auch zu publizieren?
Wenn die wissenschaftliche Qualifikation nur mehr an der Anzahl der Veröffentlichungen gemessen wird, dann wird damit die Korruption gefördert.
Wir brauchen also eine Initiative gegen die ausufernde Korruption unter den Wissenschaftlern, Fördergebern und Verlagen.
@Martin
„was hindert mich daran, es mit meinen eigenen Ergebnissen auch zu publizieren?“
Dass man nicht etwas publizieren kann, was andere auch schon publiziert haben?
„Wenn die wissenschaftliche Qualifikation nur mehr an der Anzahl der Veröffentlichungen gemessen wird,“
Davon geht der trend ja zum Glück weg hin zu etwas (wenn auch nicht viel) besseren Indikatoren wie h-Index.
Wie du jetzt gleich „Korruption“ ableitest, würde mich aber doch interessieren.
https://ooe.orf.at/news/stories/2529458/
Das war vor zwanzig Jahren. Heute ist es noch schlimmer.
@Peter Monnerjahn:
„Und wenn das Paper veröffentlich ist, dann hat der Autor bereits profitiert, weil damit seine Priorität gesichert ist.“
Das funktioniert nur, wenn man davon ausgeht, das ein Computerprogram zu genau einer Publikation führt. Das ist in der Realität aber nicht so. Da hat man ein großes Projekt, ein großes Programm dazu und viele Zwischenergebnisse. Dann muss man entweder warten, bis alles fertig geforscht wurde und alles gemeinsam publizieren (geht nicht, weil einem sonst die Arbeitgeber rauschmeissen, weil man zu lange nichts publiziert) oder man gibt den Code schon mit der ersten Zwischenpublikation weg…
@Martin: „Meidet die Reviewer, die Papers ablehnen, nur weil diese Ergebnisse woanders schon einmal publiziert wurden. Diese Reviewer sollten zum Patentamt gehen, aber sie haben in der Wissenschaft nichts verloren.“
Arbeitest du in der Wissenschaft? In welcher Disziplin? Mit den Gegebenheiten wie ich sie kenne haben deine Aussagen nicht viel zu tun. Es gibt keine „Programmierer“, die speziell für Forscher Programme schreiben. Und natürlich müssen Reviewer darauf achten, ob die zu publizierende Forschung schonmal publiziert worden ist… Was bringt es, immer wieder die gleichen Ergebnisse zu veröffentlichen?
@Martin
Weil also irgendwer Doktorarbeiten gegen bezahlung schreibt, ist die Wissenschaft korrupt, aha.
Das hat jetzt genau was mit der Veröffentlichung von Software zu tun?
Besonders in Wien herrscht eine jahrzehntelange Korruptionskultur und so eben auch in der Wissenschaft. Beispielsweise sind auch die Manager der Telekom Austria durchgehend Absolventen der Wiener Universitäten. Diese Universitäten leben wiederum von den unermesslichen Geldflüssen im Rahmen von Forschungsaufträgen, sowie Studien. Dieser Kreislauf ist bis zu einem gewissen Grad sinnvoll, aber es gibt überhaupt keinen Grund den vorher von mir geposteten Link zu löschen.
Leider gibt es keinerlei Kontrolle, die da gegensteuert und die auch etwas ändern könnte. Somit haben Korruptionsanhänger schon einen wesentlichen Vorteil in der Wissenschaft und setzen sich nach und nach durch. Der vorher von mir gepostete Link Link soll belegen, dass ein solches System seit Generationen aufgebaut wird.
Der Inhalt einer Publikation findet erst dann Eingang in die Wissenschaft, wenn er immer wieder entdeckt wird. Die Aussage, dass bereits veröffentlichte Ergebnisse nicht mehr unabhängig überprüft werden und neuerlich veröffentlicht werden sollen, ebnet nur den Weg der Parawissenschaften und für Personen, die ohnedies nicht gerne lesen und Publikationen nur als persönliche Werbeeinschaltung verstehen. Ihnen ist die Wissenschaft in Wahrheit egal.
Bis zum unerschwinglich teuren Softwarepaket, welches nur von einer Person an die Auserwählten kostenlos weiterverteilt wird, ist es dann nur ein kleiner Schritt. Bestimmt fliessen Gegenleistungen und werden die Auserwählten auch nur nach solchen Gesichtspunkten selektiert. Die eigene Arbeitsleistung zählt immer weniger, auch das hätte der oben gelöschte Link belegt.
@Martin
Leute, die gegen Geld Doktorarbeiten schreiben, haben mit dem Wissenschaftsbetrieb nomralerweise nichts zu tun. Mit einem gekauften Titel werde ich in der Wissenschaft nichts, dazu stehe ich zu sehr unter ständiger Kontrolle.
Du vermischt Dinge, die nichts miteinander zu tun haben.
„Die Aussage, dass bereits veröffentlichte Ergebnisse nicht mehr unabhängig überprüft werden und neuerlich veröffentlicht werden sollen, ebnet nur den Weg der Parawissenschaften“
Du meinst also, es wäre sinnvoll, wenn ich exakt dieselbe Arbeit wiederhole, die jemand anders schon gemacht hat, und das veröffentliche? Schon jetzt ist es kaum möglich, alle Publikationen auf einem Gebiet zu verfolgen – hast du eine Ahnung, was passieren würde, wenn man mehrfach-Publikation desselben Inhalts zulassen würde? Das hat nichts mit „nicht gern lesen“ zu tun, sondern nur etwas damit, dass meine Arbeitszeit endlich ist.
Beispiel: Nimm an du würdest (wie ich) auf dem Gebiet der Simulation von Wärmedämmschichten forschen. Gib mal diese Stichworte bei google scholar ein:
https://scholar.google.de/scholar?q=%22thermal+barrier+coatings%22+simulation&hl=de&btnG=Suche&lr=
Dieses sehr spezielle Gebiet bietet dir einige 1000 Veröffentlichungen – wenn da jetzt noch Doppel-Publikationen mit identischem Inhalt hinzukommen, dann werden es einige 10000 sein. Wer soll die lesen? Wem soll es nützen, wenn ich eine Simulation von jemand anderem identisch wiederhole und publiziere.
Das heißt übrigens nicht, dass es keine Kontrolle gibt – denn wenn ich eine Idee habe, wie ich ein ergebnis von jemand anderem erweitern/verbessern könnte, dann werde ich natürlich erstmal seine Ergebnisse reproduzieren, als Startpunkt. Und wenn da eine Unstimmigkeit auftaucht, dann kann ich das natürlich auch veröffentlichen.
„Bestimmt fliessen Gegenleistungen und werden die Auserwählten auch nur nach solchen Gesichtspunkten selektiert.“
Beweis durch Annahme? „Das ist bestimmt so“ ist jetzt kein tolles Argument.
„…dann werde ich natürlich erstmal seine Ergebnisse reproduzieren, als Startpunkt.“
Das wäre aber dann nur möglich, wenn die Methodik, Software (muss ja nicht die gleiche sein, aber sie muss im funktionalen Detail bekannt sein) dann eben auch öffentlich ist. Nichts anderes habe ich auch gemeint.
„Mit einem gekauften Titel werde ich in der Wissenschaft nichts, dazu stehe ich zu sehr unter ständiger Kontrolle.“
Eben nicht, wenn die Methodik und die daraus abgeleiteten Ergebnisse in der Regel gar nicht mehr nachvollzogen werden (aus welchen Gründen auch immer). Ich behaupte ja nicht, dass die Personen, die anfällig für Korruption sind, zugleich auch dumm wären.
„Du vermischt Dinge, die nichts miteinander zu tun haben.“
Das hat IMHO eben schon etwas miteinander zu tun. Es unterstützt den Ausschluss der echten inhaltlichen Kontrolle zugunsten von elitärer Exklusivität, die letztlich nur mehr durch den Namen des Werbefachmanns repräsentiert wird.
„Bestimmt fliessen Gegenleistungen und werden die Auserwählten auch nur nach solchen Gesichtspunkten selektiert.“
Davon bin ich überzeugt. Sonst wäre ja eine persönliche Anfrage beim Author um Zusendung der Software zur Überprüfung in aller Regel erfolgreich. Stattdessen kommen immer öfter Hinweise auf bestehende Kooperationen zum gegenseitigen Vorteil (gegenseitiges Zitieren). Die Software kann in aller Regel auch nicht gekauft werden.
An korrupten Universitäten werden die korrupten Manager in Österreich gezüchtet.
Die Korruption fängt im Kleinen an. Z.B. schon durch die Weitergabe illegaler Software, ohne die man nicht mehr mit im Club ist.
Natürlich ist die Methodik öffentlich, sonst wäre die Veröffentlichung ja sinnvoll.
Eine Veröffentllichugn muss ja zumidnest soviel Informationen liefern, dass ich mit demselben Aufwand wie der Autor seine Arbeit reproduzieren kann.
„Eben nicht, wenn die Methodik und die daraus abgeleiteten Ergebnisse in der Regel gar nicht mehr nachvollzogen werden“
Verstehe ich nicht. Natürlich wird die Methodik nachvollzogen, dafür gibt’s Reviewer. (Und wenn jemand später auf den Ergebnissen aufbaut, passiert dasselbe. So werden ja auch die gelegentlichen Fälschungen in der Wissenschaft meist aufgedeckt.) Aber wenn ich mir nen Doktortitel kaufe, wird das mein nächster Chef vermutlich merken, dass ich keine Leuchte auf meinem Gebiet bin.
„Es unterstützt den Ausschluss der echten inhaltlichen Kontrolle zugunsten von elitärer Exklusivität,“
Jeder kann Veröffentlichungen lesen und reproduzieren (und wie gesagt muss man das oft auch tun). Daran ist nichts elitär.
„die letztlich nur mehr durch den Namen des Werbefachmanns repräsentiert wird.“
Was denn nun für ein „Werbefachmann“?
„Sonst wäre ja eine persönliche Anfrage beim Author um Zusendung der Software zur Überprüfung in aller Regel erfolgreich. “
Ist sie zumindest bei mir immer, und ich habe auch selbst schon Programme von anderen bekommen. Habe ich auch schon mehrfach geschrieben. es ist aber eben ein Unterschied, ob ich meine Software auf Anfrage weitergebe oder für alle lesbar irgendwohin stellen muss.
„An korrupten Universitäten werden die korrupten Manager in Österreich gezüchtet.“
O.k., gegen so gesunde Vorurteile kommt man mit Argumenten nicht an, das sehe ich ein.
@Florian:
Nein, das funktioniert auch so. Tut es schon jetzt – für diverse Software und auch andere Forschungsdaten. Noch eine Analogie aus der Bioinformatik: Wer eine Studie basierend auf Sequenzdaten veröffentlicht, muss besagte Sequenzdaten in einem Short-Read-Archive zur Verfügung stellen (z.B. ENA).
Diese Daten werden dann natürlich auch von anderen Leuten für andere Studien verwendet. Genauso bei der Software kann man hier argumentieren, dass man damit wertvolle potentielle Studien an andere Arbeitsgruppen verschenkt. Tja, Pech gehabt, so ist das nunmal in der Wissenschaft: für Dich als Einzelperson (oder Arbeitsgruppe) vielleicht nachteilig, für die Wissenschaft als solche aber von Vorteil.
Daher hacke ich ja immer wieder auf der Forschungsethik rum: wenn es einen Interessenkonflikt zwischen Arbeitsgruppe und Forschungsgemeinde gibt, dann müssen die Interessen der Individuen nun einmal zurückstehen. Wer dies nicht respektiert, agiert unethisch. Das mag für einige Leute schwer zu akzeptieren sein aber das sind nunmal die Spielregeln der Wissenschaft, und da wir auf lange Sicht alle davon profitieren, sind es sinnvolle Spielregeln.
Im Fall von Studienergebnissen werden übrigens durchaus Zugeständnisse an Forscher in Form von zeitlich begrenzten Embargos gemacht. Dasselbe wäre für Quellcodes denkbar. Aber ich bin überzeugt davon, dass Quellcodes über kurz oder lang den Weg von Sequenzdaten gehen werden.
@MartinB: „Ist sie zumindest bei mir immer, und ich habe auch selbst schon Programme von anderen bekommen. Habe ich auch schon mehrfach geschrieben. es ist aber eben ein Unterschied, ob ich meine Software auf Anfrage weitergebe oder für alle lesbar irgendwohin stellen muss.“
Der Unterschied ist, dass du dabei Macht darüber hast, selektiv für die von dir Auserwählten die Eintrittshürde zu senken. Je komplexer die Software dann wird und desto höher damit die Eintrittshürde, desto größer die Wahrscheinlichkeit, dass gar niemand außerhalb der Eingeweihten die Ergebnisse überprüft.
Gleichzeitig entziehst du dich einer bestimmten Art der Überprüfung ausser für bestimmte Auserwählte: Nämlich ob der verwendete Code mit dem publizierten Algorithmus übereinstimmt.
Das sehe ich genauso. Meine persönliche Erfahrung ist, dass man Software eher nicht bekommt und auch nicht kaufen kann. Als Argument wurde mehrmals angeführt, dass die Software nicht für einen Verkauf geschrieben wäre, sowie generell fehlerhaft sei, diese Fehler für das Ergebnis jedoch angeblich nicht relevant wären? (ohne dass der Fehler irgendwie benannt wäre…!)
Tatsächlich habe ich schon festgestellt, dass viele Wissenschaftler nicht programmieren können und oft schreckliche Fehler passieren. Oft soll A simuliert werden, tatsächlich wird aber B berechnet (Programmierfehler). Später wird dann eine Theorie augestellt, dass dann A gleich B wäre. Solange die Software nicht veröffentlicht wird, erkennt der Programmierer seinen Fehler oft gar nicht.
Personen mit gekauften Doktortiteln abeiten ja karrieremäßig selbst als Manager und sind immer ihre eigenen Chefs. Gerne auch in der Wissenschaft, lieber jedoch in der hochbezahlten Industrie. Personen, die unter anderen Chefs arbeiten, wo das auch eine Rolle spielen könnte, machen das wahrscheinlich von vornherein nicht.
@MartinB: Genauso wie an dem allgemein guten Wissenschaftler gezweifelt wird, kann man auch an dem allgemein guten Reviewer zweifeln. Das alleine ist mir noch zuwenig Kontrolle. Die meisten Veröffentlichungen kann ich nicht reproduzieren, wenn dazu Softwarepakete im zigtausende Euro Bereich notwendig sind. Man kann ohne sie allenfalls ungefähr die Plausibilität abschätzen, mehr aber nicht. Darauf aufbauend beitragen wird unmöglich gemacht. Als Werbefachleute habe ich Personen bezeichnet, die unentwegt publizieren, jedoch nur einen sehr geringen bis gar keinen wissenschaftlichen Beitrag leisten. Zur Korruption habe ich meine eigenen Beobachtungen gemacht, sonst würde ich das nicht schreiben.
@Martin „Besonders in Wien herrscht eine jahrzehntelange Korruptionskultur und so eben auch in der Wissenschaft. „
„Ihnen ist die Wissenschaft in Wahrheit egal. Bis zum unerschwinglich teuren Softwarepaket, welches nur von einer Person an die Auserwählten kostenlos weiterverteilt wird, ist es dann nur ein kleiner Schritt.“
Was sollen das jetzt für absurde Anschuldigungen werden?? Du scheinst auch nicht wirklich viel Ahnung vom Wissenschaftsbetrieb zu haben. Es geht hier um Software, die meistens so speziell ist, das andere Leute ohne große Modifikationen sowieso niochts damit anfangen können. „Unerschwinglich teuer“ ist da nichts…
„Das wäre aber dann nur möglich, wenn die Methodik, Software (muss ja nicht die gleiche sein, aber sie muss im funktionalen Detail bekannt sein) dann eben auch öffentlich ist. „
Und wie ich hier schon deutlich und mehrmals gesagt habe: Das geschieht ja jetzt schon. Es werden die Methoden und Algorithmen dokumentiert und publiziert. Selbstverständlich passiert das und selbstverständlich muss das weiterhin passieren. Niemand fordert, dass zu ändern. Das Thema hier ist eun ganz anderes.
@Konrad: „wenn es einen Interessenkonflikt zwischen Arbeitsgruppe und Forschungsgemeinde gibt, dann müssen die Interessen der Individuen nun einmal zurückstehen. Wer dies nicht respektiert, agiert unethisch. Das mag für einige Leute schwer zu akzeptieren sein aber das sind nunmal die Spielregeln der Wissenschaft, und da wir auf lange Sicht alle davon profitieren, sind es sinnvolle Spielregeln.“
Wenn es um das klassische Urheberrecht geht, wird immer gerne mit dem Status Quo argumentiert: Der Kram ist online, die Leute laden alles runter, das kann man nicht aufhalten, damit muss man irgendwie umgehen. Auch in der Wissenschaft gibt es einen Status Quo. Der heisst: Wer nicht publiziert fliegt raus. Das mag man nicht toll finden (ich finde es definitiv nicht toll), aber es ist so. Und das heisst, das ein Wissenschaftler gezwungen ist, so viel wie möglich zu publizieren. Er ist gezwungen, sein Investment möglichst optimal auszunutzen. Wer eine neue Methode für ein neues Projekt entwickelt, der will die neue Methode auch anwenden. Und nicht an andere Gruppen verschenken, damit die dann damit die Ergebnisse kriegen und die papers schreiben, die man selbst schreiben wollte – weil man dafür ja jede Menge Zeit und Forschung investiert hat.
Und komm jetzt bitte NICHT wieder mit dem „Aber es muss doch alles offen und transparent sein!“ an. Es IST alles offen und transparent. Methoden werden publiziert. Algorithmen werden publiziert. Es wird in einem guten paper alles ausreichend erklärt, um zu verstehen und nachzuvollziehen, wie ein Forscher zu seinen Ergebnissen gekommen ist.
@Florian Freistätter
„Schützt man lieber die Investition der Wissenschaftler? Oder ist die totale Transparenz der Methoden wichtiger?“
Es besteht die Frage ob der Quellcode eines Wissenschaftlers überhaupt schützenswürdig ist? Er ist ja kein komerzieller Programmierer, der davon lebt. Es ist lediglich das WErkzeug, das idealerweise auch geteilt wird. Wer das nicht will, zu dem sage ich, dass ihm die Wissenschaft egal ist. Er sollte komerzieller Programmierer werden.
Unerschwinglich teuer: Das ist relativ. Deine Frage war ja auch nach der Situation in anderen Wissensbereichen. Hier wird in aller Regel nicht in C++ programmiert, sodass lediglich ein Compiler notwendig wäre. Meistens werden Programme auf Basis von externen Simulatoren beschrieben. Aber es würde genügen, wenn dann eben diese in Hochsprache geschriebenen Algorithmen zur Verfügung gestellt werden (z.B. auf Anfrage). Dann ist aber die Syntax oft geheim. Oder es werden gleich nur vorcompilierte Module zur Verfügung gestellt, sodasss man eigentlich nicht weiss, was man tut.
Ich denke eben nicht, dass das immer geschieht. Beispielsweise wird ein vorcompiliertes Modul für Matlab zur Verfügung gestellt. Unabhängig davon, dass man nun Matlab erwerben muss (im Quellcode könnte man es beispielsweise auch an Octave anpassen)
bleibt der wirkliche Algoritmus auch dem Reviewer verborgen. Die Publikation ist wie gesagt Werbung in eigener Sache, kein Beitrag für die Wissenschaft.
@Florian Freistätter:
Im Paper wird dann oft nur eine „Grundlagenvorlesung“ gehalten, sodass man weiss, welches Ergebnis erzielt werden soll. Quasi als Abgrenzung zu Anderen. Die Eingangsparameter, die Varianten verschiedener Messmethoden uvam. bleiben geheim in der Software verborgen. Lediglich der im Diagramm gezeigte Verlauf genügt simplen Achsenbeschriftungen. Manchmal werden aber auch diese vergessen und vom Reviewer übersehen. Aber das ist zum Glück noch nicht der Standard geworden.
Ui, da kann man sich ja ziemlich die Köpfe heißschreiben …
Also Community-Software-Projekte gibt es doch zu hauf – auch und gerade bei wissenschaftlicher Software. Damit verliert doch niemand das Copyright? Und es geht doch überhaupt nicht darum Code (schon gar nicht den irgendwelcher Shellskripte) ins Paper zu pasten – wie kommt man auf den Gedanken, daß das die letzte Konsequenz des Veröffentlichungsgedanken ist? Es geht (mir zumindest) um richtig komplexe Software. Und da auch nicht ums Pasten ins Paper. Es gibt diverse Webtoolkits und Hostingservices als Alternativen.
Florian: Bzgl. Kopieren vs. selber coden und überprüfen: Selber Nach-Coden bei wirklich komplexer Software ist schlicht ein Ding der Unmöglichkeit, weil es zu lange dauert. Aber damit ist auch die Überprüfung der Resultate schwierig. Die Offenlegung der Quellen gegenüber Dritten gewährleistet natürlich nicht Qualität, aber macht es wesentlich einfacher für Andere Fehler zu finden und ggf. (u. a. durch Eingaben an den Originalautor) auszubessern.
Was meine Belege angeht: Es ist schwierig nicht veröffentlichten Code zu zeigen. Aber ich habe genug gesehen (Mol. Biol., Biophysik, Gen. Epi., an X-Ray-Beamlines) wo Code wirklich grauenhaft aussah und kaum zu warten war. Professionell mögen die Überlegungen die dem Code zugrunde legen gewesen sein, der Code und der Aufbau dieser Software sicher nicht. Professionalität kann man sicher gut durch Veröffentlichung belegen.
Und noch einmal: Veröffentlichung des Codes muß nicht per se mit der Veröffentlichung eines Papers einhergehen. Aber die prinzipielle Nichtveröffentlichung finde ich aus den oben genannten Gründen zumindest fragwürdig.
Kann es sein, dass hier Haltungen versch. Disziplinen aufeinandertreffen?
@Martin: „Es besteht die Frage ob der Quellcode eines Wissenschaftlers überhaupt schützenswürdig ist? Er ist ja kein komerzieller Programmierer, der davon lebt. Es ist lediglich das WErkzeug, das idealerweise auch geteilt wird. Wer das nicht will, zu dem sage ich, dass ihm die Wissenschaft egal ist. Er sollte komerzieller Programmierer werden. „
Dir scheint immer noch VÖLLIG unklar zu sein, wie die wissenschaftliche Arbeit abläuft und worum es in diesem Artikel geht…
Ein Wissenschaftler lebt davon, dass er neue Ergebnisse publizieren kann. Und wenn die Programme veröffentlicht werden müssen (die Programme! Die Methoden und Algorithem müssen erklärt werden und das geschieht auch – ich habs zwar schon oft gesagt, aber ich sags gerne wieder…) dann veröffentlichen anderen die Ergebnisse und die eigene Investition und Vorarbeit war wertlos. „Wertlos“ nicht aus der Sicht der Wissenschaft. Aber aus der ganz persönlichen Sicht des Wissenschaftlers, der publizieren muss, um seinen Job zu behalten. Leider leben wir nicht mehr im 19 Jhdt, wo Wissenschaft als Hobby von reichen Männern betrieben wurde…
„Deine Frage war ja auch nach der Situation in anderen Wissensbereichen. Hier wird in aller Regel nicht in C++ programmiert, sodass lediglich ein Compiler notwendig wäre“
Was hat C++ damit zu tun? Ich hab in meinem ganzen Leben kein C++ Programm geschrieben.
@Martin: „Die Eingangsparameter, die Varianten verschiedener Messmethoden uvam. bleiben geheim in der Software verborgen. „
Was hat das mit dem Thema zu tun? Auch wenn ich den Quellcode veröffentliche, kann ich die Parameter meiner Simulation verbergen. Schreib ich sie halt woanders hin… Es liegt am Reviewer darauf zu achten, dass eine Arbeit ausreichend dokumentiert ist. Nur weil es auch schlechte Reviewer und schlechte Arbeiten gibt, ist das kein Argument für einen Publikationszwang des Quellcodes.
Aber ok – nachdem ich ja eh schon quasi beschuldigt wurde, der korrupten Wiener Wissenschaftsszene anzugehören und mich nicht um Wissenschaft zu scheren, lass ich die Diskussion jetzt erstmal bleiben. (Ich sitz außerdem eh grad im Zug und hab kaum Netz).
Ich habe gerade die ganze Liste der Kommentare gelesen und habe den Eindruck gewonnen, dass hier über Software unterschiedlichem Nutzen/Einsatz gesprochen wird. Es gibt doch viele verschiedene Szenarien, die ich hier betrachten muss:
– Wenn ich als Mathematiker oder Informatiker ein Verfahren oder einen Algorithmus an sich entwickle, schreibe ich die zugehörige Software zum Testen, Verifizierung und Evaluieren. Daher ist eine allgemeine Veröffentlichung des Quellcodes m.M.n. nicht zwingend notwendig (und mit Veröffentlichung meine ich nicht die Weitergabe auf Anfrage um zum Beispiel in einem Reviewprozess etwas nachzuprüfen), da die Software ein reines Werkzeug ist und nicht primäres Ergebnis des Forschungsprozesses (andererseits enthält sie nicht das Alleinstellungsmerkmal der Idee an sich, so dass es hinsichtlich des „Ideenklaus“ unbedenklich sein könnte).
– Geht es mir als Informatiker um die Umsetzung einer Idee in Software, die so vorher noch nicht gelungen ist, stecke ich in einem Dilemma. Eigentlich wäre die Veröffentlichung als Teil meines Ergebnisses beinahe notwendig, andererseits sind die Gedanken, dass sich andere an meinem Ergebnis vor der Zeit bedienen könnten, nicht von der Hand zu weisen. Schwierig. Darüber mag ich nicht entscheiden, da gibt es zu viele Einzel- und Sonderfälle, die ich nicht überblicken kann.
– Erzeugt meine Software neue Daten (und ich meine damit nicht die Ergebnisse, die mir zum Beispiel SPSS oder R durch meine Syntaxanweisungen liefert) wie zum Beispiel komplexe Simulationen, bildverarbeitende Verfahren und was es sonst noch geben kann, ist meiner Meinung nach zumindest die Veröffentlichung des „Kerns“ der Software notwendig und sinnvoll, denn nur so kann ich zusammen mit den veröffentlichen Papers nachprüfen, ob Software und publizierte Ergebnisse in Einklang stehen.
In diesem Fall kann ich mir auch gut vorstellen, dass das Offenlegen der Software, also der Binarys auch nützlich sein kann: Je nach Fragestellung kann man evtl. Fehler der Software u.U. durch das Verwenden eigener Daten/Parameter finden. Ob man die so divergierenden Ergebnisse selbst als Aufhänger für eigene Veröffentlichungen nimmt oder einfach nur dem Urheber mitteilt, das mag dann vom Einzelfall abhängen.
– Die Veröffentlichung jedes Shellskripts oder jeder Statistiksoftwareanweisung ist m.M.n. Nonsense, da reicht die Beschreibung. Allerdings müssen die Ergebnisse auf Nachfrage repliziert werden können.
Egal wie man es sieht – es bleibt schwierig.
@Floria Freistetter
Man kann natürlich in diesem Stil kontrovers schreiben und den Handynetzbetreiber unterstützend als Argument benutzen.
Es stimmt, dass es mir in dieser Diskussion um den Korruptionsaspekt geht. Ich sehe einen günstigen Boden dafür, wenn beginnend mit der illegalen Softwarebeschaffung, über die rein kommerziellen Interessen hinaus bis hin zu Nötigung der (wissenschaftliche) Karriereweg gezeichnet wird. Natürlich habe ich nachgeforscht, warum ich an bestimmte Programme nicht herangekommen bin. Die Antwort war immer gleich. Es wurde dazu (teilweise) illegale Software verwendet. Ich habe aber niemals konkrete Personen beschuldigt, also bitte fair bleiben. Wenn du dich selbst der korrupten Wiener Wissenschaftsszene zurechnest ist mir das auch gleichgültig. Ich glaube aber nicht, dass es so ist, allerdings habe ich natürlich meine konkreten diesbezüglichen Erfahrungen in einem anderen Bereich gemacht.
@Martin: „Man kann natürlich in diesem Stil kontrovers schreiben und den Handynetzbetreiber unterstützend als Argument benutzen. „
Was haben den jetzt Handys mit der Angelegenheit zu tun???
„Es stimmt, dass es mir in dieser Diskussion um den Korruptionsaspekt geht. „
Dann führ die Diskussion doch bitte auch bei einem Artikel, der von Korruption handelt. Hier geht es um Regelungen bei wissenschaftlichen Publikationen.
Nö, wozu auch? Die fällt ins Schloss und gut ist. Klar, von außen ist keine Klinke dran, aber extra den Schlüssel umdrehen hab ich bisher noch nie gemacht – höchstens wenn ich längere Zeit aus dem Haus gehe. Aber solange ich drin bin…. Ich hab‘ ja auch keine Gitter vor den Fenstern und schlafe trotzdem sommers nachts mit gekipptem oder ganz offenem Fenster (gut, im ersten Stock).
Angst wird überbewertet.
@Florian Freistetter:
Ich kann deine Sichtweise nachvollziehen. Natürlich möchte man sein liebevoll geschriebenes Programm nicht veröffentlichen, sodass andere die Lorbeeren ernten können. Aber das ist hauptsächlich ein Lizenzproblem.
1. Du kannst natürlich die Software veröffentlichen, aber die Publikation erst mal so einschränken, dass sie nur zur Verifizierung von Forschungsergebnissen eingesetzt werden darf, bzw nur unter expliziter Erlaubnis verwendbar ist. In der Praxis hast du natürlich keine Handhabe darüber, außer natürlich wenn alle Journals die Veröffentlichung des Sourcecodes verlangen. Aber ich würde auch nicht annehmen, dass ein anderer Forscher blind einem fremden Programm vertraut, dessen Vor- und Nachteile er nicht kennt. Bis er das verstanden hat, hast du 2 weitere Paper veröffentlicht.
2. Wenn du die Software stattdessen unter GPL stellst muss jeder, der dein Programm verändert, dir diese Veränderungen zugänglich machen. Und zwar direkt. Bäm, Gratis Softwareupdates für deine Arbeitsgruppe.
3. Die Veröffentlichung der Software ist natürlich auch Stoff für ein Paper.
4. Es ist für die eigene Software umgekehrt besser, wenn man auch mal sehen kann, wie andere Arbeitsgruppen bestimmte Probleme lösen. Zumeist kann man den Code nicht kopieren, da man die Algorithmen noch auf das eigene Programm anpassen muss, aber häufig sind es bereits kleine Ideen, die große Veränderungen machen.
5. Der Codequalität tut Veröffentlichungsdruck keinen Abbruch.
Eines deiner anderen Argumente war noch, dass die Software häufig sehr speziell ist. Das stimmt. Meine Software die ich schreibe, ist auch unglaublich speziell. Aber sie basiert im Kern auf sehr allgemeinen Algorithmen. Während man vielleicht das Experiment selbst nicht weiterverwenden kann, ist die Programmbibliothek, die Sammlung an Algorithmen und Logistik des Programms sehr wohl für die Allgemeinheit relevant.
@Martin:
Also jemand, der seine Publikationen hinter geschützten Libraries versteckt, trägt in keinster Weise zur Wissenschaft bei. Damit erzielte Ergebnisse sollten auch nicht für wissenschaftliche Veröffentlichungen angenommen werden, wenn sie nicht von jedem Studenten zumindest prinzipiell nachvollzogen werden können.
Ich habe nie behauptet, dass solche Libraries geschützt sein sollen. Im Gegenteil, natürlich sollen diese offen sein, und das sind sie in dem Bereich zum Glück auch meistens. Aber gerade dann ist eine gute Dokumentation des Codes umso wichtiger. Anderserseits halte ich es einfach für unnötig und nicht praktikabel, jedes noch so kleine einzelne (Hilfs-) Programm, mit dem Forschungsergebnisse erzielt wurden, komplett zu veröffentlichen. Weil meine gesammelten handschriftlichen Notizen und analytischen Rechnungen veröffentliche ich ja auch nicht, sondern nur einen sauber zusammengeschriebenen Text, wo Methodik und Ergebnisse beschrieben werden.
Das ist falsch. GPL sagt nur: wer von Dir das Programm bekommt darf von Dir den Quellcode anfordern und alles weitergeben. Das bedeutet nicht, dass der Originalautor automatisch alle Änderungen bekommt – nur die denen der Veränderer es weitergibt haben ein Anrecht darauf, dass auch die Änderungen wieder GPL sind. Wer nicht weitergibt darf bei GPL-Code ohnehin machen was er will.
Lizenzen, die automatische Rückmeldungen an den Originalautor verlangen werden z.B. bei Debian ohnehin nicht als „frei“ angesehen! Eine Lizenz die so etwas verlangt widerspricht sowohl dem Desert Island– als auch dem Dissident-Fall.https://people.debian.org/~bap/dfsg-faq.html
Was hier aber kein Problem wäre: wenn jede Publikation den Quellcode veröffentlichen müsste würdest Du als Originalautor ja trotzdem herankommen (so Du die entsprechende Zeitschrift beziehst :-)) Nur wer nicht veröffentlicht dürfte mit GPL-Software diese dennoch nutzen…
der erste Absatz des vorigen Posts hätte ein Blockquote werden sollen 🙁
Ich glaube nicht, dass es wirklich sinnvoll ist jedem Wissenschaftler eine Offenlegung seines Quellcodes und eine dazugehörige Dokumentation aufzubürden. Entweder müsste man dann wirklich alles runter bis zu besagten kleinen Sortierroutine darstellen, oder man müsste einschätzen, welche Programmteile für den allgemeinen Wissenszuwachs nützlich sind und welche eben nicht. Lasse ich diese Einschätzung den Wissenschaftler selber machen, so kann ich es auch direkt bei einer freiwilligen Offenlegung des Codes belassen. Ziehe ich eine objektive Instanz hinzu, müsste diese sich ja in jedem einzelnen Fall komplett in die Software einarbeiten – scheint mir doch sehr unpraktikabel.
Wäre es nicht sinnvoll, wenn sich ein Umgang von freundlicher Unterstützung bei einer konkreten Anfrage etablieren würde? Im Gegensatz zu einer allgemeinen Veröffentlichung müsste ein Interessent auf den Ersteller zugehen und wenn man die Kommunikation etwas offizieller gestaltet, hätte der Ersteller dann auch etwas in der Hand um im schlimmsten Fall seine Urheberschaft zu untermauern.
Ein Labor und Geräte kann man nicht so einfach kopieren. Geräte verschleißen, den Platz im Labor benötigt man womöglich selbst. Dieser Vergleich war offensichtlich schief.
Ich habe hier gelernt, man nennt es Strohmann, wenn die Gegenposition absurd überzeichnet wird, um sie lächerlich zu machen.
Wie wäre es, wenn es drauf ankäme, was man veröffentlicht und was nicht?
Genau. Wer die Brechung des Lichts am Prisma als erster beschreibt, der sollte aber vielleicht den Schliff des Glases so genau beschreiben, dass es von anderen reproduzierbar ist.
Beim 10. derartigen Experiment will es vielleicht niemand mehr lesen.
Wenn man durch besonderen Fleiß, Cleverness und sonstigen Einsatz ein besseres Fernglas hat, um in den Himmel zu schauen, oder ein besseres Programm zur Analyse/Simulation/Darstellung – verständlich, dass der Forscher daraus gerne den Vorteil ausbeutet.
Verständlich aber auch, dass die Wissenschaftsgemeinschaft und die Gesellschaft als Ganzes es gerne sähe, wenn rasch viele Forscher auf dem fortgeschrittenen Niveau arbeiten könnten. Daher muss, wenn, dann dafür gesorgt werden, dass es eine Verpflichtung auf Gegenseitigkeit ist, oder die Leistung anderweitig kompensiert wird.
@Stefan: „Ein Labor und Geräte kann man nicht so einfach kopieren. Geräte verschleißen, den Platz im Labor benötigt man womöglich selbst. Dieser Vergleich war offensichtlich schief. „
Was war daran schief? Ob ich mit Computerprogrammen oder physischen Geräten arbeite, hängt allein von der Disziplin ab. Wenn man „Transparenz“ fordert oder der Meinung ist, Wissenschaftler müssen ALLE Methoden restlos offenlegen, dann ist es ein wenig seltsam, dass nur bei Computerprogrammen zu fordern.
„Wie wäre es, wenn es drauf ankäme, was man veröffentlicht und was nicht? „
Weißt du, genau das sage ich im Artikel. Das worauf es ankommt, WIRD jetzt schon veröffentlicht. Nämlich eine genaue Beschreibung der Methoden und der Algorithmen. Der Code selbst ist nicht wichtig.
Sehr vorbildlich die NASA, da gibt sie doch jede Menge an wissenschaftlicher Software für die Öffentlichkeit frei und vmtl. sind einige Perlen für die Astronomen auch dabei :).
NASA – Software-Katalog 2017-2018
.
Welche NASA-Software ist hier eigentlich für interessierte Laien geeignet?