You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h2>What is Open Source Software <aname="What_OSS"></a></h2>
49
49
<p>Virtually all modern scientific research workflows rely on a range of software tools, either operating on different datasets, with different parameters, and applied iteratively in various ways (data science) or operating on different inputs and using models and methods to predict some output state (computational science). Open Source Software (OSS) is computer software in which the full source code is available under a specific license that enables other users to access, view, modify, and redistribute that code for any purpose. Because OSS requires such a license, it typically remains free of charge by default. This explicit licensing is also what differentiates OSS from free software. Re-using OSS for analysis, simulation and visualisation for research is also typically easier and more flexible compared to proprietary software. Often, whether we know it or not, we are already using OSS as part of our own research workflows.</p>
50
-
<p>OSS fits into the broader scheme of Open Science as it helps to make the full research environment, including the software that produced the research results, fully accessible and re-usable. As such, it forms a necessary component for the best practices (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Jim%C3%A9nez%20et%20al.%2C%202018.pdf">Jiménez et al., 2018</a>) and repeatability and reproducibility of research (both personally and by others), along with other components, such as sharing data (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Stodden%2C%202010.pdf">Stodden, 2010</a>).</p>
51
-
<p>In some cases, sharing of source code can even be conditional for the acceptance of associated research manuscripts (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Shamir%20et%20al.%2C%202013.pdf">Shamir et al., 2013</a>). It is also generally perceived to increase research impact (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Vandewalle%2C%202012.pdf">Vandwalle, 2012</a>).</p>
50
+
<p>OSS fits into the broader scheme of Open Science as it helps to make the full research environment, including the software that produced the research results, fully accessible and re-usable. As such, it forms a necessary component for the best practices (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Jim%C3%A9nez%20et%20al.%2C%202018.pdf">Jiménez et al., 2018</a>) and repeatability and reproducibility of research (both personally and by others), along with other components, such as sharing data (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Stodden%2C%202010.pdf">Stodden, 2010</a>).</p>
51
+
<p>In some cases, sharing of source code can even be conditional for the acceptance of associated research manuscripts (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Shamir%20et%20al.%2C%202013.pdf">Shamir et al., 2013</a>). It is also generally perceived to increase research impact (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Vandewalle%2C%202012.pdf">Vandwalle, 2012</a>).</p>
52
52
<p>Some of common advantages for developers include:</p>
53
53
<ul>
54
54
<li><p>Increased developer loyalty and empowerment;</p></li>
@@ -60,7 +60,7 @@ <h2>What is Open Source Software <a name="What_OSS"></a></h2>
60
60
<li><p>Increased reliability and independence; and</p></li>
61
61
<li><p>Based on open standards available to everyone.</p></li>
62
62
</ul>
63
-
<p>As such, the main advantages for researchers (users) include <strong>lower costs</strong>, <strong>increased transparency</strong>, <strong>increased security and stability</strong>, <strong>no vendor ‘lock in’ with increased user control</strong>, and <strong>overall higher quality</strong>. Furthermore, sharing OSS allows researchers to receive credit for their efforts, for example through direct software citation (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Smith%20et%20al.%2C%202016.pdf">Smith et al., 2016</a>).</p>
63
+
<p>As such, the main advantages for researchers (users) include <strong>lower costs</strong>, <strong>increased transparency</strong>, <strong>increased security and stability</strong>, <strong>no vendor ‘lock in’ with increased user control</strong>, and <strong>overall higher quality</strong>. Furthermore, sharing OSS allows researchers to receive credit for their efforts, for example through direct software citation (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Smith%20et%20al.%2C%202016.pdf">Smith et al., 2016</a>).</p>
64
64
<p>Commonly used OSS include the <ahref="https://www.mozilla.org/en-US/firefox/">Mozilla Firefox</a> internet browser and the <ahref="https://www.libreoffice.org/">LibreOffice</a> full office suite. LibreOffice is similar to the popular Microsoft Office, including a word processor, spreadsheet manager, and slide presentation software, but is completely free and Open Source.</p>
65
65
<p>Some regard the OSS movement to represent a counter-movement to neoliberalism and privatisation, through defiance of regulations and norms in the construction and re-use of information, and a potential transformation of modern-day capitalism through making software abundantly available with minimal effort. See <ahref="https://doi.org/10.15448/1984-7289.2009.1.5569">The free/open source software movement: Resistance or change?</a> by Panayiota Georgopoulou for more on this topic.</p>
<h2>Existing platforms and tools for Open Source Software <aname="Platforms"></a></h2>
125
-
<p>Virtual environments and machines are becoming increasingly popular as high-powered research workflow enablers, and many of these are built upon OSS (e.g., operating systems, programming languages, and data processing frameworks). Popular services include <ahref="https://cloud.google.com/compute/">Google Cloud</a> and <ahref="https://aws.amazon.com/">Amazon Web Services</a>, which also assist with database storage and content delivery, as well as computational power. <ahref="https://insidedna.me/">InsideDNA</a> is a computing platform for reproducible research in bioinformatics, genomics and the life sciences.</p>
125
+
<p>Virtual environments and machines are becoming increasingly popular as high-powered research workflow enablers, and many of these are built upon OSS (e.g., operating systems, programming languages, and data processing frameworks). Popular services include <ahref="https://cloud.google.com/compute/">Google Cloud</a> and <ahref="https://aws.amazon.com/">Amazon Web Services</a>, which also assist with database storage and content delivery, as well as computational power. InsideDNA (link dead.) is a computing platform for reproducible research in bioinformatics, genomics and the life sciences.</p>
126
126
<p>As mentioned <ahref="#What_OSS">above</a>, LibreOffice provides an Open Source alternative to Microsoft Office. The two are almost completely compatible, just with different default file formats. For citation managers, <ahref="https://www.zotero.org/">Zotero</a> is the most popular Open Source alternative to proprietary platforms such as Mendeley or EndNote.</p>
127
127
<p><ahref="https://www.zotero.org/">Zotero</a> uses the BibTeX (pronounced ‘bib-tech’) format, based on LaTeX (pronounced ‘lay-tech’), and has browser plugins to make citation management simple. By integrating this with other software such as LibreOffice, it is now possible to have a fully Open Source research workflow in many cases.</p>
Copy file name to clipboardExpand all lines: content_development/00mooc_mod5_Part2.html
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -95,14 +95,14 @@ <h2>Making good software for re-use <a name="Reuse"></a></h2>
95
95
<blockquote>
96
96
<p><strong>Did you know…</strong> The term <code>README</code> is some times playfully ascribed to the famous scene in Lewis Carroll’s Alice’s Adventures In Wonderland in which Alice confronts magic munchies labeled with “Eat Me”" and “Drink Me”. Potent.</p>
97
97
</blockquote>
98
-
<p>The purpose here is to provide sufficient information to maximise the re-use and reproducibility of the computational environment, such that someone with no experience with the project can easily access and re-use the software (<a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Sandve%20et%20al.%2C%202013.PDF">Sandve et al., 2013</a>). By lowering the barriers to entry, you increase the chances of others being able to re-use your work, which is one of the ultimate goals of OSS (<a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Ince%20et%20al.%2C%202012.pdf">Ince et al., 2012</a>).</p>
99
-
<p>An extension of this that can help to make things even easier for future re-use is ‘container’ technology. Containers are like an ecosystem frozen in time, where the code, the data, any other dependencies, are all perfectly preserved, packaged and saved in the present functioning versions. This means that anyone in the future any one can come in and run the analyses again. As such, they are generally good for re-use, but this can come at the sacrifice of modification or understanding by others, as often a lot of details can be hidden within the source code and its dependencies. Common examples of container implementation in research include <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Boettiger%20and%20Eddelbuettel%2C%202017.pdf">Rocker</a> (a Docker container for the R language), <a href="https://mybinder.readthedocs.io/en/latest/">Binder</a>, and <a href="https://codeocean.com/">Code Ocean</a>.</p>
98
+
<p>The purpose here is to provide sufficient information to maximise the re-use and reproducibility of the computational environment, such that someone with no experience with the project can easily access and re-use the software (<a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Sandve%20et%20al.%2C%202013.PDF">Sandve et al., 2013</a>). By lowering the barriers to entry, you increase the chances of others being able to re-use your work, which is one of the ultimate goals of OSS (<a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Ince%20et%20al.%2C%202012.pdf">Ince et al., 2012</a>).</p>
99
+
<p>An extension of this that can help to make things even easier for future re-use is ‘container’ technology. Containers are like an ecosystem frozen in time, where the code, the data, any other dependencies, are all perfectly preserved, packaged and saved in the present functioning versions. This means that anyone in the future any one can come in and run the analyses again. As such, they are generally good for re-use, but this can come at the sacrifice of modification or understanding by others, as often a lot of details can be hidden within the source code and its dependencies. Common examples of container implementation in research include <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Boettiger%20and%20Eddelbuettel%2C%202017.pdf">Rocker</a> (a Docker container for the R language), <a href="https://mybinder.readthedocs.io/en/latest/">Binder</a>, and <a href="https://codeocean.com/">Code Ocean</a>.</p>
100
100
<p><strong>Sustainable software is good software.</strong></p>
<h2>10 simple rules for reproducible computational research</h2>
105
-
<p>The 10 simple rules for making computational research more reproducible, based on <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Sandve%20et%20al.%2C%202013.PDF">Sandve et al., (2013)</a>, are:</p>
105
+
<p>The 10 simple rules for making computational research more reproducible, based on <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Sandve%20et%20al.%2C%202013.PDF">Sandve et al., (2013)</a>, are:</p>
106
106
<ol style="list-style-type: decimal">
107
107
<li>For every result, keep track of how it was produced.</li>
<p>Citations provide one of the most important interactions in scholarly research, forming the basis of our referencing and metrics systems. Typically, this is performed thanks to the assistance of a permanent unique identifier such as a <a href="https://en.wikipedia.org/wiki/Digital_object_identifier">Digital Object Identifiers</a> (DOI). A DOI is a persistent identifier, implemented in the <a href="https://en.wikipedia.org/wiki/Handle_System">Handle System</a>, that meets a common standard, depending on the purpose, such as for identifying academic information. Such identification is critical for tracking the genealogy and provenance of research, for reproducibility, as well as for giving appropriate credit to those who have created the software. Importantly, software should be considered a legitimate output from scholarly research, and citation is becoming an increasingly common way to indicate that.</p>
151
-
<p>In 2016, <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Smith%20et%20al.%2C%202016.pdf">Smith et al., 2016</a> wrote a research paper about the principles of software citation as part of the FORCE11 Software Citation Working Group. In the same way that you would want to cite software that you have used as part of good research practices, it is important to make your research easily citable too. When citing any software used for your own research, you should include at minimum:</p>
151
+
<p>In 2016, <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Smith%20et%20al.%2C%202016.pdf">Smith et al., 2016</a> wrote a research paper about the principles of software citation as part of the FORCE11 Software Citation Working Group. In the same way that you would want to cite software that you have used as part of good research practices, it is important to make your research easily citable too. When citing any software used for your own research, you should include at minimum:</p>
152
152
<ul>
153
153
<li>The author name(s),</li>
154
154
<li>Software title,</li>
155
155
<li>Version number, and</li>
156
156
<li>The unique identifier/locator (DOI or URL).</li>
157
157
</ul>
158
-
<p>The six principles of software citation by <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Smith%20et%20al.%2C%202016.pdf">Smith et al., (2016)</a> are provided here:</p>
158
+
<p>The six principles of software citation by <a href="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Smith%20et%20al.%2C%202016.pdf">Smith et al., (2016)</a> are provided here:</p>
159
159
<ul>
160
160
<li><p><strong>Importance</strong>: Software should be considered a legitimate and citable product of research. Software citations should be accorded the same importance in the scholarly record as citations of other research products, such as publications and data; they should be included in the metadata of the citing work, for example in the reference list of a journal article, and should not be omitted or separated. Software should be cited on the same basis as any other research product such as a paper or a book, that is, authors should cite the appropriate set of software products just as they cite the appropriate set of papers.</p></li>
161
161
<li><p><strong>Credit and attribution</strong>: Software citations should facilitate giving scholarly credit and normative, legal attribution to all contributors to the software, recognizing that a single style or mechanism of attribution may not be applicable to all software.</p></li>
<h2>Collaborating and contributing through Open Source <aname="Collaborating"></a></h2>
15
15
<p>Often, OSS is developed in a public, decentralised, collaborative manner between multiple contributors. The purpose of this is to enhance the diversity and scope of a project and its design, in order to become more beneficial and sustainable. Such an approach was famously likened to a ‘bazaar’ model by Eric Raymond, an early OSS proponent. One of the major guiding principles of this is that of <strong>peer production</strong>, which relies on self-organised communities to regulate the development of content, co-ordinated towards a shared goal or outcome.</p>
16
-
<p>OSS projects rely heavily on volunteer collaboration, which often entails a constant flux of newcomers in order to become productive and sustainable (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading%20Material_Open%20Source%20and%20Open%20Research%20Software/Steinmacher%20et%20al.%2C%202014.pdf">Steinmacher et al., 2014</a>). Creating the right social atmosphere for a project, and a welcoming engagement environment, are often critical to successful collaboraitons in OSS.</p>
16
+
<p>OSS projects rely heavily on volunteer collaboration, which often entails a constant flux of newcomers in order to become productive and sustainable (<ahref="https://github.com/OpenScienceMOOC/Module-5-Open-Research-Software-and-Open-Source/blob/master/Reading_Material_OSS/Steinmacher%20et%20al.%2C%202014.pdf">Steinmacher et al., 2014</a>). Creating the right social atmosphere for a project, and a welcoming engagement environment, are often critical to successful collaboraitons in OSS.</p>
0 commit comments