Software sustainability and the open-source community

Simon Hettrick

Deputy Director, Software Sustainability Institute

ORCID: 0000-0002-6809-5195, s.hettrick@software.ac.uk

Before we start...

  1. Software sustainability

  2. Open source

  3. Background

Summary:

We should care about software

1. It's important

The error is in the code that converts a 64-bit floating-point number to a 16-bit signed integer... the 64-bit numbers [are] larger... than in the [previous version], triggering an overflow condition...

 

...[the] backup computer crashes, followed 0.05 seconds later by a crash of the primary computer.

An in-house data reduction program introduced a change in sign for anomalous differences. This program... converted the anomalous pairs... thereby introducing a sign change."

[1]

2. It's inexorably linked with research

*Refs [1]

Use

software

Fundamental to

results

Develop own code

69%

92%

56%

The spend on software reliant research in 2013

£840 million

or, in other words, one third of the entire RCUK budget

3. Researchers don't talk about it

(as much as they should)

Text

At an absolute minimum the spend on software reliant research in 2013

£840 million

or, in other words, one third of the entire RCUK budget

Important

+

Inexorably linked with research

+

Not talked about

=

We're living dangerously

The Software Sustainability Institute

www.software.ac.uk

Successes

  • Set up in 2010, refunded in 2015

  • Interdisciplinary

  • Funded by EPSRC, then EPSRC, BBSRC and ESRC

  • Taught almost 3000 researchers

  • Completed almost 60 software projects

  • Over 50 guides, with over 50,000 views

  • Fellowship programme of 68 Fellows

  • Successful campaigns to change research community

  • Being emulated around the world

The problems we face

Problems...

  1. Little awareness of software's role in research

  2. Little identification and citing of software

  3. Difficult to identify good software

  4. No clear incentives for investing in software

  5. Little understanding of licensing and ownership

  6. Lack of software skills

  7. Lack of career path for software experts in academia

[4]

We expected...

...we found

Institute in 2010

Preconception

Reality

...not a social scientist"

"God dammit Jim, I'm a physicist...

A physicist's thoughts on conducting social science

No. 1:

 

Misaligned incentives are bad news

No. 2:

 

Never email 15,000 random people

No. 3:

 

We know very little about the use of software in research. Many people are keen on some answers

Software's important to research and needs to be sustained

But how?

Let's open source it!

[5]

"Build it and they

will come"

[6]

How to build an open-source community

 

Part 1: the easy bit

Use an open-source licence

  1. The Open Source Initiative [7]
  2. ChooseaLicence.com [8]
  3. Your legal team

Make the code available

  1. Github [9]
  2. Gitlab [10]
  3. Mercurial [11]
  4. Bitbucket [12]
  5. And others too...

And then

  1. Documentation
  2. Code comments
  3. Contact details
  4. Website
  5. Issue tracker
  6. README and LICENCE files

How to build an open-source community

 

Part 2: the not-so-easy bit

Know what you want...

...and then tell people

Go open early...

...it is good enough already

Foster communication...

...and reward feedback

Learn to let go...

...you don't need to do everything

Communication, communication, communication...

...communication, comunication, communication.

Two ways you can help make research better

1. Talk to the people in your domains about software

2. Become the software expert in your domain

Contact

s.hettrick@software.ac.uk

www.software.ac.uk

Questions?

Slides are here: goo.gl/xFY37v

References

[1] "Retraction" http://www.sciencemag.org/content/314/5807/1875.2.long

[2] "It's impossible to conduct research without software, say 7 out of 10 UK researchers"http://www.software.ac.uk/blog/2014-12-04-its-impossible-conduct-research-without-software-say-7-out-10-uk-researchers

[3] Hannay JE, Langtangen HP, MacLeod C, Pfahl D, Singer J, et al.. (2009) How do scientists develop and use scientific software? In: Proceedings Second International Workshop on Software Engineering for Computational Science and Engineering. pp. 1–8. doi:10.1109/SECSE.2009.5069155.

[4] http://www.software.ac.uk/attach/Research_Software_Sustainability_Report_on_KE_Workshop_Feb_2016_FINAL.pdf

[5] http://www.imdb.com/title/tt0071853/?ref_=fn_al_tt_1

[6] http://www.imdb.com/title/tt0097351/?ref_=nv_sr_1

[7] http://opensource.org/licenses

[8] http://choosealicence.com

[9] http://github.com

[10] http://gitlab.com

[11] http://mercurial.com

[12] https://bitbucket.org/