Hören Sie auf, Ihren Code zu verstecken jeder Blog precio del bitcoin tiempo real

Ein Eckpfeiler der Wissenschaft ist die Reproduzierbarkeit, die Vorstellung, dass jeder Kollege in der Lage sein sollte, Ihren Artikel zu lesen, Experimente oder Analysen zu wiederholen und zu denselben Schlussfolgerungen zu kommen wie Sie. Schwierigkeiten bei der Wiedergabe der Ergebnisse sind in den allermeisten Fällen nicht auf Fehler der Autoren oder, noch schlimmer, auf gefälschte Daten zurückzuführen. Im Gegenteil, der Mangel an Details über Methoden, Daten und Code in einem Dokument ist oft die größte Hürde. Der Code, der geschrieben wurde, um ein System zu simulieren, Daten zu analysieren oder Zahlen zu erzeugen, ist ein zentrales Element der Methoden, zumindest in der Physik. Es wäre logisch, wenn Kollegen den Code so einfach wie möglich lesen und ausführen könnten, um Reproduzierbarkeits- und Wiederholbarkeitsprobleme zu verhindern und zu mildern, die sich aus dem Mangel an Details ergeben könnten.


Dies ist jedoch keine Standardpraxis. Nur ein Bruchteil der Autoren, die auf Berechnungen basierende Ergebnisse veröffentlichen, machen verfügbarer Code auf Anfrage, auch wenn die Zeitung es vorschreibt. Die Forscher befürchten, dass ihr Code “nichtelegant” ist, ein hartes DIY-Stück, das funktioniert, aber eher von einem Autodidakten als von einem Software-Ingenieur geschrieben wurde. Alles richtig zu säubern und zu dokumentieren würde so viel Zeit kosten, dass die Zeit für einen Studenten oder Postdoktoranden unverhältnismäßig hoch wäre. Das Gefühl ist, dass es oft schneller ist, Code zu schreiben, als zu versuchen zu verstehen, was jemand anderes getan hat. Das Gegenteil ist auch der Fall: Der PI hat Jahre oder Jahrzehnte damit verbracht, die Code-Basis zu schreiben, die im Zentrum seiner Arbeit steht, und die Gruppe nimmt schrittweise Änderungen vor, um neue Ergebnisse zu erzielen. Alles in FORTRAN 77.

Es gibt viele zwingende Gründe, Ihren Quellcode zu öffnen, egal ob Sie ein Doktorand oder der IP eines massiven Zuschusses sind. In letzterem Fall gehen Sie wahrscheinlich ohnehin mit dem Geld der Steuerzahler um, also ist es eine moralische Verpflichtung, sie wertvoll zu machen, die Offenheit und Ehrlichkeit zu einer Art ethischer Notwendigkeit macht.

Das einfachste für jemanden, auf dem man aufbauen kann Ihre Ergebnisse, Je mehr Auswirkungen das Papier haben wird. Sobald Ihr Artikel akzeptiert wird, steht er der Konkurrenz von Hunderttausenden von Artikeln gegenüber, die ungefähr zur gleichen Zeit im selben Bereich veröffentlicht wurden. Um es hervorzuheben, müssen Sie auf das Ökosystem rund um Ihre Suche achten. Ein Teil davon ist die Leichtigkeit des Aufbaus Ihre Ergebnisse. Dein Papier lebt nicht isoliert. Es gibt Hinweise darauf, dass der Austausch von Daten zu Ihren Daten die Wirkung der Arbeit erhöht.

Für eine Generation, die mit Computern aufgewachsen ist, ist der Code manchmal leichter zu verstehen als die Gleichungen. Es ist unbestreitbar, dass die meisten akademischen Kodierungsbemühungen Ad-hoc- und Ad-hoc-Lösungen sind, aber verfügbarer Code Online ist immer nützlich für Leute, die Programmierung vor der Berechnung gelernt haben. Wenn Sie richtig gemacht haben, könnten Sie Entwickler dazu bringen, die weniger glorreichen Stücke zu polieren.

Sind Sie besorgt, dass Sie statt konstruktiver Beiträge unzählige Unterstützungswünsche erhalten? Sie müssen einen ernsthaften Schmerzpunkt für eine breite Palette von Benutzern ansprechen, damit dies geschieht. Es sei denn, Ihre Entdeckung ist die beste Sache seit geschnittenem Brot, Sie müssen sich wahrscheinlich nicht um tausend Anfragen nach Unterstützung kümmern. Und wenn das der Fall ist, herzlichen Glückwunsch, macht das verfügbarer Code wird bedeuten, dass der Einfluss der Arbeit enorm sein wird. Wenn Sie wissen, dass der Code von anderen untersucht und verwendet werden kann, zwingen Sie sich dazu, ihn besser zu pflegen und besser zu dokumentieren, was Ihnen das Leben leichter macht, wenn Sie diesen Code wiederverwenden wollen, besonders wenn ein Student geht und manipuliere den Zeugen zum nächsten.

Schließlich sind Code-Entwickler oft Doktoranden oder Postdoktoranden, und es ist die Pflicht der IP, ihre Zukunft zu berücksichtigen. Indem sie den Code in den entsprechenden Repositorien zur Verfügung stellen, erhalten sie eine angemessene Belohnung für ihre Arbeit, was besonders wichtig ist, wenn sie keine Karriere in der Wissenschaft verfolgen. Ein gutes GitHub-Profil macht es wahrscheinlicher, dass sie bei Google, IBM und Co. einen guten Job machen.

Wenn Sie entschieden haben, dass Sie öffnen möchten Dein Code, Sie werden feststellen, dass es viel einfacher ist, als Sie denken. Sie haben unzählige Möglichkeiten zum Teilen: GitHub ist die gängigste Plattform, aber es gibt auch GitLab, Bickbucket und viele mehr. Diese kommerziellen Angebote sind großartig, weit verbreitet und machen Ihre Arbeit leicht zu finden, aber als Wissenschaftler streben wir etwas weniger Ephemeres an. Zenodo gibt Ihnen eine DOI für eine bestimmte Version Ihres Codes, zum Beispiel die, die in einem Dokument verwendet wurde. Es wurde von CERN-Forschern erstellt, ist weiterhin nicht kommerziell und integriert sich in GitHub, wodurch ein DOI für Dein Code ist eine Frage von ein paar Klicks.

Sobald Sie Ihre Sharing-Plattform gewählt haben, können Sie nichts falsch machen. Das einzige, was verboten ist, ist, dass du keine Lizenz hast, die deinen Code begleitet, denn dann wissen die Leute nicht, was sie tun dürfen Dein Code. GPL-Lizenzen sind für nicht-akademische Benutzer feindlich, da sie einen offenen Zugriff auf spätere Änderungen unter derselben Lizenz benötigen. Wenn Sie Ihre Wirkung maximieren möchten, wählen Sie eine permissive BSD oder MIT-Lizenz. Die oben aufgeführten Sharing-Plattformen bieten Ihnen beim Erstellen eines neuen Repositorys eine Vielzahl von Lizenzen, so dass Ihre kognitive Belastung minimal ist.

Mit der Wahl der Sharing-Plattform und einer Lizenz werden Ihre Gemeinkosten mehr oder weniger realisiert. Es dauert einen ganzen Tag, um den Code aufzuräumen und einige Kommentare hinzuzufügen. Wenn Ihre Programmierkenntnisse miserabel sind, bietet Software Carpentry eine Reihe von Vorträgen, die in ein paar Tagen behandelt werden können und zu großen Verbesserungen bei der Entwicklung des wissenschaftlichen Codes führen werden.

Wenn Sie den pädagogischen Aspekt ernst nehmen möchten, sind Jupyter Notebooks für Sie. Sie bieten einen Rahmen für die alphabetische Programmierung, das heißt, Sie können erklären, was Sie mit Gleichungen, Plots und Code in derselben Umgebung getan haben. Sobald der Code sauber ist, dauert die Erstellung eines guten Lehrbuchs etwa einen halben Tag.

Mit neuen Anstrengungen bei PLOS ONE, um Physik-Communities zu dienen, arbeiten wir daran, die Kultur der Geheimhaltung um Code herum zu verändern. Wir begannen mit einem Aufruf zur Einreichung von Beiträgen, um Beiträge zu erbitten, die offen für die Art und Weise sind, wie Forschung betrieben wird. Unsere Hoffnung ist, dass die Physik offene Wissenschaft umfasst und wir werden auf die Ära der Schließung und Isolation als des dunklen Zeitalters zurückblicken.