-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
223 lines (202 loc) · 8.78 KB
/
index.html
File metadata and controls
223 lines (202 loc) · 8.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="description" content="Presentation slides for Coding in the Open, June 2021">
<meta name="author" content="Dr John A Stevenson">
<title>Going Open is a Process</title>
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/bgs.css">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css">
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<h2>Going Open is a Process</h2>
<p>
<small><a href="https://twitter.com/volcan01010">Dr John A Stevenson</a> / <a href="https://twitter.com/volcan01010">@volcan01010</a></small>
</p>
<a href="https://www.bgs.ac.uk"><img src="https://resources.bgs.ac.uk/images/BGS-Logo-Pos-RGB.svg" width=400 style="background:white; border:15px solid white; box-shadow:none;"></a>
<aside data-markdown class="notes">
Talk aims to share experience of going open in BGS.
</aside>
</section>
<section>
<section>
<h4>About BGS</h4>
<blockquote>"Our mission is to provide impartial and independent geoscience advice and data."</blockquote>
<ul>
<li>Work with academics, governments, industry and the public</li>
<li>Digital division has 10 years of making digital data available e.g. via <a href="http://onegeology.org/">OneGeology</a> and <a href="https://www.bgs.ac.uk/geological-data/opengeoscience/">OpenGeoscience Portal</a>
and contributions to standards for data sharing e.g. <a href="https://www.bgs.ac.uk/news/geosciml-data-standard-becomes-official/">GeoSciML</a></li>
</ul>
<aside data-markdown class="notes">
650 staff, 70 in Digital are professional software developers and database experts.
</aside>
</section>
<section>
<h4>Headwinds</h4>
<p>Going open is <i>hindered</i> by: previous investment and
skills in proprietary technology; siloed confidential data; and
requirements of security standard certifications.</p>
<aside data-markdown class="notes">
Supply chain attacks injecting Bitcoin miners or ransomware are a worry.
</aside>
</section>
<section>
<h4>Tailwinds</h4>
<p>Going open is <i>helped</i> by: projects with external partners;
scientists adopting reproducible workflows; and supportive senior management.</p>
<aside data-markdown class="notes">
Change comes from the senior developer level as they are using the code day-to-day.
BGS hired senior developers with explicit interest in open source software.
</aside>
</section>
</section>
<section>
<section data-transition="fade-out">
<h4>Two dimensions of Coding in the Open</h4>
<img class="stretch" src="images/open_code_has_two_dimensions_00.svg">
<aside data-markdown class="notes">
[Coding in the Open](https://gds.blog.gov.uk/2017/09/04/the-benefits-of-coding-in-the-open/) GDS blog post.
</aside>
</section>
<section data-transition="fade-in">
<h4>Two dimensions of Coding in the Open</h4>
<img class="stretch" src="images/open_code_has_two_dimensions_0.svg">
</section>
<section>
<h4>Timeline of collaborative software development training</h4>
<ul>
<li><i>2016-03:</i> Installation of on-premises GitLab server</li>
<li><i>2016-10:</i> Git training</li>
<li><i>2018-08:</i> Python Clinics</li>
<li><i>2019-05:</i> GitLab Project Management training</li>
<li><i>2019-07:</i> Introduction to Python training</li>
<li><i>2020-04:</i> Python Improvers training</li>
</ul>
</section>
<aside data-markdown class="notes">
Git and Python courses based on [Software Carpentry](https://software-carpentry.org).
</aside>
<section>
<h4>Proprietary tools + internal code</h4>
<img class="stretch" src="images/open_code_has_two_dimensions_1.svg">
</section>
<section>
<h4>Timeline of corporate buy-in to open source</h4>
<ul>
<li><i>2017-02:</i> Separate network area for developers</li>
<li><i>2018-09:</i> GitLab Enterprise Edition funded</li>
<li><i>2019-07:</i> <a href=" https://youtu.be/I0_XuyVNBeI">Open and Reproducible Science keynote</a> at Digital Workshop</li>
<li><i>2019-09:</i> Silver sponsor FOSS4G UK conference</li>
<li><i>2020-07:</i> BGS Digital Strategy includes "Collaborative, open and reproducible research"</li>
<li><i>2020-09:</i> Nexus Firewall server approved (pending funding)</li>
</ul>
</section>
<section>
<h4>Open Source software + internal code</h4>
<img class="stretch" src="images/open_code_has_two_dimensions_2.svg">
</section>
<section>
<h4>Timeline of open code releases</h4>
<ul>
<li><i>2011-02:</i> Add INSPIRE capabilities to MapServer</li>
<li><i>2013-09:</i> First pull request to GeoServer</li>
<li><i>2018-07:</i> Launch of <a href="github.com/BritishGeologicalSurvey">github.com/BritishGeologicalSurvey</a></li>
<li><i>2019-03:</i> <a href="https://github.com/BritishGeologicalSurvey/O1362-observations">Viewing geotagged photos in QGIS</a> - how to</li>
<li><i>2019-09:</i> <a href="https://github.com/BritishGeologicalSurvey/etlhelper">ETL Helper</a> - data transfer tool</li>
<li><i>2019-10:</i> <a href="https://github.com/BritishGeologicalSurvey/geo-ner-model">Geo NER Model</a> - machine learning model</li>
<li><i>2020-01:</i> <a href="https://github.com/BritishGeologicalSurvey/disolv">DISOLV</a> - groundwater modelling tool</li>
<li><i>2020-10:</i> <a href="https://github.com/BritishGeologicalSurvey/stratigraph">Stratigraph</a> - relative rock ages from text</li>
</ul>
</section>
<section>
<h4>Open Source software + open code</h4>
<img class="stretch" src="images/open_code_has_two_dimensions_3.svg">
</section>
</section>
<section>
<section data-transition="slide-in fade-out">
<h4>Conclusion</h4>
<ul>
<li>Git training</li>
<li>Git training</li>
<li>Git training</li>
<li>Git training</li>
</ul>
</section>
<section data-transition="fade-in slide-out">
<h4>Conclusion</h4>
<ul>
<li>Git and coding training <i>and</i> pair programming</li>
<li>Listen to security concerns and mitigate them</li>
<li>Try open source on independent projects first</li>
<li>Extract common code into open reusable libraries</li>
</ul>
</section>
</section>
<section>
<section>Bonus slides on BGS open source projects</section>
<section data-markdown>
<textarea data-template>
```bash65chars
----------------------------------
| pip install etlhelper |
----------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
```
</textarea>
<aside data-markdown class="notes">
+ ETL Helper was written to simplify installation of Oracle libraries and allow database
administrators with little Python experience to be able to easily transfer data.
+ 3 external contributions, 37 starts, 15k downloads.
</aside>
</section>
<section>
<img class="stretch" src="https://raw.githubusercontent.com/BritishGeologicalSurvey/etlhelper/main/docs/screencast.gif">
</section>
<section>
<p>Other open source projects</p>
<ul>
<li><a href="https://github.com/BritishGeologicalSurvey/pyvolcans">PyVOLCANS</a></li>
<li><a href="https://github.com/BritishGeologicalSurvey/geopandas-demo">Geopandas Demo</a></li>
</ul>
</section>
<section>
<p>Coming soon</p>
<ul>
<li><a href="https://ukgeos.ac.uk/observatories/glasgow">UKGEOS SensorThingsAPI</a></li>
</ul>
<img class="stretch" src="images/sensor_things_api_architecture.png">
</section>
<aside data-markdown class="notes">
The model of open source components around central Oracle database is a way to gradually open things up.
</aside>
</section>
</div>
</div>
<script src="dist/reveal.js"></script>
<script src="plugin/notes/notes.js"></script>
<script src="plugin/markdown/markdown.js"></script>
<script src="plugin/highlight/highlight.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
});
</script>
</body>
</html>