What( is (so#ware( sustainability( anyway? ( ( ( NSF(SI2(PI(Mee2ng - - PowerPoint PPT Presentation

what is so ware sustainability
SMART_READER_LITE
LIVE PREVIEW

What( is (so#ware( sustainability( anyway? ( ( ( NSF(SI2(PI(Mee2ng - - PowerPoint PPT Presentation

( www.software.ac.uk- What( is (so#ware( sustainability( anyway? ( ( ( NSF(SI2(PI(Mee2ng ,( 17?18(January(2013( Neil(Chue(Hong((@npch)( N.ChueHong@so#ware.ac.uk( ( So#ware(Sustainability(Ins2tute( www.software.ac.uk-


slide-1
SLIDE 1

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

(

What(is(so#ware( sustainability( anyway?(

( (

NSF(SI2(PI(Mee2ng,(17?18(January(2013( Neil(Chue(Hong((@npch)( N.ChueHong@so#ware.ac.uk( (

slide-2
SLIDE 2

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

slide-3
SLIDE 3

Why(is(this(important?( A(video(interlude( Featuring(a(frustrated(panda(

(

hRp://2nyurl.com/datasharingpanda(

(

slide-4
SLIDE 4

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

No(one(starts( wri2ng(so#ware( intending(to( abandon(it( completely(

slide-5
SLIDE 5

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

…(and(yet(…(

  • “Sustainability,is,not,an,issue,for,researchers,,,

we,want,others,to,take,the,so6ware,over, subject,to,IP,issues”,

  • “Sustainability,is,a,big,issue,,we,are,producing,

complex,tools,we,want,to,conAnue,to,use,but, it’s,not,clear,how,they’ll,be,sustained”,

! Quotes(taken(from(ENGAGE(interviews(

slide-6
SLIDE 6

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(is(no( longer(easy(to( define,(let(alone( sustain(

slide-7
SLIDE 7

Authorship(

hRp://beyond?impact.org/?p=175(

  • (Which(authors(have(had(what(

impact(on(each(version(of(the( so#ware?(

  • (Who(is(responsible(for(each(

component(when(authors(leave?((

(

slide-8
SLIDE 8

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

What%do%we%choose%to%keep:% ? %Workflow?% ? %So3ware%that%runs%workflow?% ? %So3ware%referenced%by%workflow?% ? %So3ware%dependencies?%% What’s%the%minimum%citable%part?%

Boundary(

slide-9
SLIDE 9

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Algorithm(

Func2on(

Program(

Library(/(Suite(/(Package(

…(

Granularity(

slide-10
SLIDE 10

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Versioning(

Personal( v1( Personal( (v2( Personal( v3( Personal(( v2a( Public(( v1( Personal(( v3a( Personal(( v2a( Public(( v2( Public(( v3(

Why%do%we%version?% ? %To%indicate%a%change% ? %To%allow%sharing% ? %To%confer%special%status%

slide-11
SLIDE 11

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Novel(reuse(of(public(sector(data( hRp://www.mysociety.org(

What%do%we%sustain:% ? %Map?% ? %So3ware%that%creates%map?% ? %So3ware%that%uses%map?%%

slide-12
SLIDE 12

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Sustainability(in(Context(

Product( Management( Funding/( Effort( Community( Engagement( So#ware( Engineering(

So3ware% Sustainability%

Support(/( Contribu2ons( Market( Development(

slide-13
SLIDE 13

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Sustainable(Communi2es(

  • Cohesion(and(Iden2ty:(CreaAng,

a,community,

  • Tolerance(and(Diversity:(Smart,

growth,through,collaboraAon,

  • Efficient(use(of(resources:(

Leveraging,infrastructure,

  • Adaptability(to(change:(

Governing,sustainably,

slide-14
SLIDE 14

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

How(do(you( approach( so#ware( sustainability?(

slide-15
SLIDE 15

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Sustainability(Challenges(

  • So#ware(is(increasingly(transient(

! Cloud(compu2ng(and(workflows(

  • So#ware(o#en(has(complex(dependencies(

! Sensi2ve(to(changes(in(its(environment( ! May(require(expert(knowledge(outside(of(the(team(

  • There(may(be(many(varia2ons(in(many(versions(

! What(are(you(seeking(to(sustain?(

slide-16
SLIDE 16

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Why(are(you(considering( so#ware(sustainability?(

Achieve(legal(compliance( ( Create(heritage(value( ( Enable(con2nued(access(to(data( ( Encourage(so#ware(reuse( ( Manage(systems(and(services(

Purpose(

hRp://www.so#ware.ac.uk/aRach/So#warePreserva2onBenefitsFramework.pdf(

slide-17
SLIDE 17

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

How(are(you(going(to(choose( the(right(approach?(

Preserva2on((techno?centric)( ( Emula2on((data?centric)( ( Migra2on((func2onality?centric)( ( Transi2on((process?centric)( ( Hiberna2on((knowledge?centric)(

Approach(

slide-18
SLIDE 18

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(Sustainability:( preserva2on(vs(sustainability(

Image,courtesy,of,RGB,Kew,–,not,for,reuse, Image,courtesy,of,London,Permaculture,under,CCJbyJncJsa,license,

PreservaAon?, Sustainability?,

slide-19
SLIDE 19

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(Preserva2on(vs( So#ware(Sustainablity(

  • There(are(several(

approaches(we(have( iden2fied(that(could(be( classed(as( “sustainability”(

  • The(choice(depends(on(

a(number(of(factors,( which(change(through( 2me(

Procras2na2on( Depreca2on( Hiberna2on( hRp://www.so#ware.ac.uk/resources/approaches?so#ware?sustainability(

slide-20
SLIDE 20

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Exploi2ng(so#ware(for( sustainability(

Models%

  • Grant(Mosaic(
  • Ins2tu2onal(support(
  • Fully(Costed(Service(
  • External(Enterprise(/(

Consultancy(

  • Royal2es(and(Fees(
  • Dona2ons(
  • Adver2sing(
  • T?shirt((spinoff(

merchandising)( Vehicles%

! University(based( ! Spin(out(company( ! Consultancy(and( Customisa2on( ! Industrial(knowledge(transfer( ! Contracts( ! Licensing( ! Cer2fica2on( ! Support(services(/(training( ! So#ware(as(a(Service( ! So#ware(Founda2on(

slide-21
SLIDE 21

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(sustainability(( should(be(part(of(the(process(

  • Comparable(to(risk(management(

! No(one(right(“solu2on”(but(many(examples(of(best( prac2ce(and(process(

  • Plan(from(before(the(start(if(possible(

! But(must(be(reviewed(regularly(

  • No(longer(considering(2mescales(bounded(by(a(

project,(but(considering(the(product,

slide-22
SLIDE 22

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware( sustainability(is(the( ability(to(con2nue( to(use,(support,( maintain,(and( evolve(so#ware((

slide-23
SLIDE 23

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

From(xkcd.com(

slide-24
SLIDE 24

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

24(

RCUK(So#ware(Costs(

slide-25
SLIDE 25

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

The(So#ware(Sustainability( Ins2tute(

A(na2onal(facility(for(cul2va2ng(world?( class(research(through(so#ware(

  • BeRer(so#ware(enables(beRer(research(
  • So#ware(reaches(boundaries(in(its((

development(cycle(that(prevent(( improvement,(growth(and(adop2on((

  • Providing(the(exper2se(and(services((

needed(to(nego2ate(to(the(next(stage(

  • Developing(the(policy(and(tools(to(

support(the(community(developing(and( using(research(so#ware(

Supported(by(EPSRC(( Grant(EP/H043160/1((

slide-26
SLIDE 26

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI:(Long(Term(Goals(

  • Provision(of(useful,(effec2ve(services(for(research(

so#ware(community(

  • Development(and(sharing(of(research(community(

intelligence(and(interac2ons(

  • Promo2on(of(research(so#ware(best(prac2ce(
  • Mantra:((

! Keep(the(so#ware(in(its(respec2ve(community( ! Work(with(the(community,(to(increase(ability( ! Don’t(introduce(dependency(on(SSI(as(the(developer( ! Expand(and(exploit(networks(and(opportuni2es(

slide-27
SLIDE 27

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Drivers(and(Themes(

  • Two(key(drivers(which(cause(people(to(seek(the(SSI’s(

advice:(

! They(want(to(be(more(produc2ve(in(their(research( ! They(don’t(want(to(be(embarrassed(by(appearing(worse( than(their(peers(

  • Broadly,(our(work(falls(into(a(few(key(themes:(

! Developing(the(scien2fic(compu2ng(/(so#ware( development(skill(base( ! The(role(and(reward(of(so#ware(in(research( ! Recogni2on(of(so#ware(career(paths( ! Reproducible(research(

slide-28
SLIDE 28

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

The(Founda2ons(of(( Digital(Research(

Re? search( Careers( Recogni2on(/( Reward( Skills(and(Capability( So#ware( So#ware( So#ware( Re?usable( ((((Re?producible(

www.so#ware.ac.uk/( ((so#ware?evalua2on?guide( ((resources/guides( ((so#ware?carpentry( ((training( www.so#ware.ac.uk/blog/( 2012?11?09?cra#sperson?and?scholar( so#ware.ac.uk/blog/2012?08?16?what?research?( so#ware?community?and?why?should?you?care( www.so#ware.ac.uk/blog/2011?05?02?( publish?or?be?damned?alterna2ve?( impact?manifesto?research?so#ware(

slide-29
SLIDE 29

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Organisa2on(

  • Community(Engagement((Shoaib(Sufi)(

! Fellowship(Programme( ! Events(and(Roadshows(

  • Consultancy((Steve(Crouch)(

! Open(Call(for(Projects( ! So#ware(Evalua2on(

  • Policy(and(Publicity((Simon(HeRrick)(

! Guides(and(Case(Studies( ! Best(Prac2ce(and(Policy(

  • Training((Mike(Jackson)(

! So#ware(Carpentry( ! So#ware(Surgeries((

  • Collabora2on(between(universi2es(of(Edinburgh,(Manchester,(Oxford(and(

Southampton.(9.5(FTEs(for(5(yrs(supplemented(by(addi2onal(project(funding.(

slide-30
SLIDE 30

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Intelligence(to(Interven2on(

Consultancy( Projects( Co?I’s(/( Advisors( Fellows( Partners(/( Collaborators( Community( Intelligence( Roadshows( Case(Studies( /(Guides( Best(Prac2ce( /(Policy( Workshops(/( Training(( Community( Interven2ons( Project( Selec2on( Research(Communi2es( Analysis(of( intelligence( Publicise( Informa2on(

slide-31
SLIDE 31

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Process(

  • Weekly((

! Development(calls((project(staff)( ! Management(calls((inves2gators(+(( senior(staff)(

  • Monthly(

! Outreach(calls( ! Community(Engagement(calls(

  • Quarterly(

! Mgmt/Ops( F2F(mee2ngs(

  • Half?yearly(

! Advisory(Board(( mee2ngs(

!

doi:(10.1098/rsta.2011.0141(

slide-32
SLIDE 32

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Ini2ally,(two(types(of(project(

  • Development(Projects((

! 3?6(months(dura2on( ! >(3(staff?months(funding((either(SSI(or(external)(

  • Consultancy(Projects(

! Short,(intermiRent(interac2ons( ! Perhaps(over(extended(2mescales( ! Both(SSI(and(external(funding(

slide-33
SLIDE 33

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

The(Agents(Network(

  • A(group(of(“so#ware?savvy”(researchers(from(all(

disciplines(

  • Agents(connect(their(research(discipline(to(the(

Ins2tute(

  • Provide(conference(intelligence(and(more(

! In(return(for(travel(expenses(and(career(progression(

  • pportuni2es(
  • hRp://www.so#ware.ac.uk/agents(
slide-34
SLIDE 34

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

The(Agents(Network(

  • Agents(from(chemistry,(energy,(biomechanics,(molecular(sequencing,(

coastal(engineering,(medicine,(seman2c(web,(so#ware(development,( environmental(change,(glacial(geomorphology,(bioinforma2cs(

  • Conference(Intelligence(reports:(

! 3D(Body(Scanning(Technologies( ! Terra(Cognita(and(Interna2onal(Seman2c(Web(Conference( ! Wellcome(Trust(Conference(on(Genome(Informa2cs( ! Digital(Engagement( ! ATLAS.2(workshop(

  • Ended(up(being(mo2vated(advocates(for(beRer(so#ware(
slide-35
SLIDE 35

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Website(

slide-36
SLIDE 36

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Website(

slide-37
SLIDE 37

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Guides(

  • So#ware(development(

! So#ware(development:(general(best(prac2ce( ! Ready(for(release?( ! Defending(your(code(against(dependency(problems(( ! Developing(maintainable(so#ware( ! Wri2ng(readable(source(code( ! Tes2ng(your(so#ware( ! How(to(frustrate(your(users,(annoy(other(developers(and(please(lawyers( ! How(do(I(figure(out(if(this(so#ware(is(“good”?(

  • Project(Management(

! Choosing(the(right(open?source(so#ware(for(your(project( ! Choosing(project(and(product(names(

  • Repositories(

! Choosing(a(repository(for(your(so#ware(project(( ! Migra2ng(project(resources:(what(to(remember( ! Crea2ng(and(managing(SourceForge(projects( ! Retrieving(project(resources(from(NeSCForge(

  • Open(source(

! Adop2ng(an(open?source(licence( ! Suppor2ng(open?source(so#ware((

  • Community(building(

! Recrui2ng(champions(for(your(project( ! Recrui2ng(student(developers(

  • Publicising(so#ware(

! Crea2ng(videos(for(so#ware(projects(

slide-38
SLIDE 38

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Briefing(Papers(

slide-39
SLIDE 39

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Blogs(

  • Main(SSI(Blog(

! Ar2cles(on(so#ware( sustainability(and(related(issues( ! Contribu2ons(from(SSI(Staff,(SSI( Agents,(and(Guest(Contributors( ! Aiming(for(at(least(one(post(per( week,(increasing(as(more( contributors(come(on(board((

  • Ask(Steve(

! “Your(so#ware(development( ques2ons(answered”( ! More(technical(–(focused(at( developers( ! Aiming(for(one(ques2on(per( month(

  • Plenty(suggested(by(community!(
slide-40
SLIDE 40

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Training(

  • So#ware(Carpentry(

! hRp://so#ware?carpentry.org( ! Interna2onal(ini2a2ve(to(teach(basics(of( so#ware(engineering(to(computa2onal( researchers(

  • The(“why”(more(than(the(“how”(

! Phenomenally(successful(–(2x(oversubscrip2on( ! Cheap(to(run(but(budget(for(3x(the(coffee( ! 19(workshops(already(confirmed(in(Q1/Q2( 2013,(another(24(requested(

  • So#ware(Sustainability(Surgeries(

! “Bring(your(own(code”( ! “Code(Smells”( ! Run(at(exis2ng(conferences,(and(for(so#ware( funding(programmes( ! Offering(bespoke(advice(as(well(as(training(

slide-41
SLIDE 41

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

SSI(Project(Evalua2on(Criteria(

  • Importance:(the(alignment(of(the(research(domain(to(the(UK’s(strategic(

research(roadmap.(

  • Enthusiasm:(the(impact(which(the(work(will(have(on(the(community,(

engagement(of(so#ware(authors(with(process(and(the(likely(addi2onal( contribu2on(that(would(be(gained(from(the(community.((

  • Value:(the(impact(on(the(research(outputs.(Would(the(science(enabled(be(

significantly(improved(by(the(work?(This(is(a(measure(of(the(User(Demand( for(improvement.(

  • Availability:(the(likelihood(that(the(work(would(enable(the(so#ware(to(

reach(a(new(stage(of(availability(e.g.(taking(it(from(within(one(collabora2on( to(make(it(fit(for(the(whole(research(community(or(a(new(community(

  • Tractability:(the(impact(on(the(so#ware.(Will(it(be(possible(to(improve(easily(

the(quality(or(performance(of(the(so#ware?(

  • Opportunity:(will(the(work(lead(to(new(opportuni2es(for(sustainability,(e.g.(

collabora2on(with(other(groups,(commercialisa2on,(alterna2ve(funding(or( new(effort?(

slide-42
SLIDE 42

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(Ligand(Binding(

  • Centre(for(Computa2onal(Chemistry,(Bristol(

! New(methods(for(rapid(MC(sampling(of( biomolecular(systems(modelled(using(QM/MM( ! Developed(two(codes(ProtoMS((F77)(+(Sire((C++)( ! Water?Swap(Reac2on(Coordinate(method(to( calculate(absolute(protein?ligand(binding(free( energies(

  • SSI’s(work(is(helping(to(scale(development(

! ProtoMS(and(Sire(both(single(developer(codes( ! ASPIRE/ACQUIRE(framework(has(mul2ple(devs(

  • Split(architecture(between(ASPIRE((adap2ve(

mul2resolu2on(hybrid(MD(simula2on)(and(ACQUIRE( (WorkPacket(scheduling(system(with(op2misa2on( for(2me(to(result(vs(“green?ness”(

  • hRp://www.siremol.org/adap2ve_dynamics(

(

slide-43
SLIDE 43

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(Fusion(Plasma(

  • Culham(Centre(for(Fusion(Energy(

! GS?2(used(to(study(low?frequency(turbulence(in(( magne2zed(plasma( ! No(common(visualisa2on(across(different(groups( ! Deliver(mutually(agreeable(framework(that(can(( be(extended(easily(and(can(be(maintained(by( the(small(fusion(community(

  • SSI’s(work(means(the(so#ware(can(be(used((

between(groups(

! Simplified(&(enhanced(plasma(visualisa2on(tool(

  • Based(on(ParaView(o/s(tool(
  • For(simula2ons(using(GS?2(o/s(package(

! Aim(to(allow(CCFE(to(contribute(back(to(GS?2(community( ! “I(am(very(confident(the(tool(will(be(invaluable”(

  • Colin(Roach,(CCFE(
  • hRp://www.so#ware.ac.uk/who?do?we?work/culham?centre?fusion?energy(
  • hRp://www.ccfe.ac.uk/(

(

slide-44
SLIDE 44

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(Brain(Imaging(

  • Brain(Research(Imaging(Centre,(Edinburgh(

! Develop(PrivacyGuard(so#ware,(a(DICOM(( image(deiden2fica2on(toolkit( ! Created(so#ware(to(support(new(mul2spectral(( colouring(modula2on(and(variance(( iden2fica2on(technique((“MCMxxxVI”)(to( iden2fy(white(maRer(lesions(that(are(indica2ve(

  • f(declining(cogni2ve(ability(

! BRIC(are(not(principally(so#ware(developers,(( but(do(provide(so#ware(to(other(researchers(

  • SSI’s(work(means(the(so#ware(has(been(reviewed(and(refactored(

! Looked(at(exploita2on(

  • Usability(review,(Naming/trademark(review(

! Made(it(easier(for(BRIC(staff(to(maintain(and(develop(

  • Move(to(standard(repositories,(tes2ng(and(documenta2on(processes(
  • Examina2on(of(licencing(for(MCMxxxVI(
  • Extrac2on(and(refactoring(to(create(standalone(tools(
  • hRp://www.so#ware.ac.uk/who?do?we?work/brain?research?imaging?centre?edinburgh(
  • hRp://www.bric.ed.ac.uk/(

(

slide-45
SLIDE 45

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(SARoNGS(

  • UK(NGS(

! Previous(SARoNGS(project(aimed(to(provide(a( simple(mechanism(to(obtain(the(security(( tokens(required(to(access(the(Na2onal(Grid(Service.(( ! This(service(uses(the(UK(Access(Management(Federa2on(( to(iden2fy(people(using(Shibboleth.(( ! First(in(ongoing(series(of(“NGS(recommends…”(

  • SSI’s(work(means(the(so#ware(has(been(reviewed(and(issues(

corrected(

! Iden2fied,(fixed(deep(bugs(in(SARoNGS(WMS(

  • It(is(now(possible(to(run(SARoNGS(jobs(successfully(on(NGS(systems(
  • Though(s2ll(needs(NGS(to(roll(out(more(widely…(

! “Happy(with(the(report,(using(it(to(beat(people(now”(

  • David(Wallom,(OERC(&(NGS(
  • hRps://cts.ngs.ac.uk/(

(

slide-46
SLIDE 46

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(( Climate(Policy(Modelling(

  • CIAS(team(at(Tyndall(Centre(for(Climate(Change(

Research,(University(of(East(Anglia(

! Develop(linked(climate(and(economic(models(for( detailed(analysis( ! Their(so#ware(was(not(ready(to(be(used(by(other( groups(

  • One(researcher/developer(at(UEA,(several(users(
  • SSI’s(work(means(the(so#ware(is(robust(enough(that(

it(can(be(installed(and(used(by(others(

! Enabled(use(of(the(so#ware(by(the(WWFN’s( Climascope(project(and(James(Cook(University(

  • Documented(so#ware(to(allow(extensions(by(contributors(
  • Made(it(easier(to(maintain(and(backup(
  • Added(job(scheduling(to(improve(modeling(throughput(
  • New(modelling(framework(enables(new(models(i.e.(new(

science(

  • hRp://www.tyndall.ac.uk/research/cias(
slide-47
SLIDE 47

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(textual(studies(

  • TextVRE(team(at(CeRCH,(Kings(College(London(

! Developed(an(environment(which(is(used(to(integrate( various(tools(used(in(the(e?Humani2es(textual(studies( lifecycle( ! Builds(on(the(German(TextGrid(project,(and(many(other( exis2ng(tools(

  • SSI’s(work(means(the(so#ware(is(can(be(run(“out(of(

the(box”(–(an(important(requirement(for(the( researchers(

! Developed(a(VM(image(containing(the(TextVRE( installa2on(

  • Improve(installa2on(instruc2ons(
  • Develop(tests(to(check(each(installed(component(
  • Improve(modularisa2on(to(allow(others(to(contribute(and(

maintain(

! Feeding(back(work(to(TextGrid(

  • hRp://textvre.cerch.kcl.ac.uk(
slide-48
SLIDE 48

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(NeISS(

  • Evaluate(impact(of(traffic(control(

measures(over(next(5/10/15(years(

  • Access(baseline(demographic(data(

about(the(city(

  • Execute(simula2on(of(traffic((

system(and(popula2on(

  • Visualise(simula2on(outputs(
  • Augment(with(new(forms(of(data(
  • Run(dynamic(models(to(assess(

future(paRerns((conges2on,( health,(social(inequality)(

slide-49
SLIDE 49

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(NeISS(

49(

slide-50
SLIDE 50

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Case(Study:(NeISS(

50(

slide-51
SLIDE 51

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware( sustainability(is:((

?(community(engagement( ?(data(management( ?(promo2on( ?(lowering(barriers( ?(improving(capability( (

slide-52
SLIDE 52

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Sustaining(Func2on(or(Form(

52(

What%do%we%sustain:% ? %FuncCon?% ? %Form?% ? %Knowledge?%%

slide-53
SLIDE 53

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Collected(Wisdom(

?(5(Myths( ?(10(Simple(Rules( ?(5(Development(Stages( ?(2(Barriers( ?(3(Ques2ons(

((

slide-54
SLIDE 54

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

5(myths(of(so#ware( sustainability(

( 1)(Collec2ng(so#ware(in(repositories(sustains(it( (the,myth,of,preservaAon)( 2)(Scien2fic(so#ware(can(be(handed(off(to(experts( (the,myth,of,robustness)( 3)(One(heroic(programmer(can(keep(it(going( (the,myth,of,personality)( 4)(So#ware(in(one(domain(is(the(same(as(in(any(other( (the,myth,of,generalness)(( 5)(Open(sourcing(gives(me(free(effort( (the,myth,of,puppies,,or,build,it,and,they,won’t,come),

hRp://www.slideshare.net/npch/so#ware?sustainability?looking?past?the?myths(

slide-55
SLIDE 55

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

10(Simple(Rules((

for(the(open(development((

  • f(scien2fic(so#ware((

( 1)(Don’t(reinvent(the(wheel( 2)(Code(well( 3)(Be(your(own(user( 4)(Be(transparent( 5)(Be(simple( 6)(Don’t(be(a(perfec2onist( 7)(Nurture(and(grow(your(community( 8)(Promote(your(project( 9)(Find(sponsors( 10)(Science(counts( (((

Prlić(A,(Procter(JB((2012)(Ten(Simple(Rules(for(the(Open(Development(of(Scien2fic(So#ware( (PLoS(Comput(Biol(8(12):(e1002802.(doi:10.1371/journal.pcbi.1002802(

slide-56
SLIDE 56

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

10(Best(Prac2ces((

for(scien2fic(compu2ng(

( 1)(Write(programmes(for(people,(not(computers( 2)(Automate(repe22ve(tasks( 3)(Use(the(computer(to(record(history( 4)(Make(incremental(changes( 5)(Use(version(control( 6)(Don’t(repeat(yourself((or(others)( 7)(Plan(for(mistakes( 8)(Op2mise(so#ware(only(a#er(it(works(correctly( 9)(Document(the(design(and(purpose(of(the(code,(rather( than(its(mechanics( 10)(Conduct(code(reviews( (((

Wilson(G,(et(al.((2013)(Best(Prac2ces(for(Scien2fic(Compu2ng( (SubmiRed(to(PNAS.(hRp://arxiv.org/abs/1210.0530(

slide-57
SLIDE 57

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

5(development(stages((

( 1)%Idea((Seed)((one,person), 2)(Prototype((Start?Up):(1J2,people,contribuAng,,few, people,using,,normally,within,same,organisaAon,,informal, support( 3)(Research((SME):(few,people,contribuAng,,more,people, using,,a,few,different,organisaAons,mostly,known,to, creators,,limited,support( 4)(Supported((Expanding(company):(several,people, contribuAng,,many,people,using,,several,organisaAons,, formal,support,and,contribuAon,mechs.( 5)(Product((Established(company):(many,contributors,, users,,organisaAons,,support,mechanisms.,

slide-58
SLIDE 58

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(development(( comes(in(stages(

  • Bridging(criteria:(strength(of(team;(strength(of(

market;(proximity(of(so#ware(to(market(

Idea( Prototype( Research( Idea( Prototype( Idea( Idea( Prototype( Research( Supported( Product( Idea( Prototype( Research( Supported(

An(idea(to(solve(a(problem( Scaling(to(work(for(others( Understand(the(func2onality( Allow(others( to(par2cipate(

slide-59
SLIDE 59

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(is(not(developed(in( isola2on(in(each(domain(

So#ware(prolifera2on( Time( CustomisaAon, InnovaAon, ConsolidaAon,

Not(all(so#ware(should(make(( it(to(the(next(stage( Management(changes(through(( 2me,(requiring(planning(

slide-60
SLIDE 60

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

2(Barriers(

(

Collabora2on( Coordina2on(

(( ( Remove(the(barriers(to(each(and(you’ll(go(far(((

slide-61
SLIDE 61

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

ISSUE( TRACKER( AUTOMATED( BUILD&TEST( CODING( STANDARDS( CODE( REPOSITORY( REAL(TIME( CHAT( DEVELOPER( EMAIL(LIST( GENERAL( EMAIL(LIST( ANNOUNCE( EMAIL(LIST( CRM( USAGE( TRACKING( CONTACT( EMAIL( REFERENCE( MANAGER( DOMAIN( NAME( PRIVATE(WIKI/ SITE( SOCIAL( NETWORKING( PUBLIC( WEBSITE( BLOG( FAQS( FORUMS( BROADCAST( SERVICES( GOVERNANCE( CONTINUOUS( INTEGRATION( STYLE( CHECKER( DEPENDENCY( REPOSITORY( SHARED( CALENDAR(

PROTOTYPE( RESEARCH( PRODUCT( SUPPORTED(

COLLABORATION( COMMUNICATION(

TRAINING(

slide-62
SLIDE 62

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

5(Stars(of(So#ware(((

  • Do(we(need(a(5(stars(for(so#ware?(

! Existence(–(there(is(accurate( metadata(that(defines(the(so#ware(( ! Availability(–(you(can(access(and(run( the(so#ware( ! Openness(–(the(so#ware(has(an(

  • pen(permissible(license(

! Linked(–(the(related(data,( dependencies(and(papers(are( indicated( ! Assured(–(the(so#ware(provides( ways(of(assuring(its(“correctness”(

c.f., 5,Stars,of,Linked,Data,, (BernersJLee), 5,Stars,of,Online,Journals,, (ShoZon),

slide-63
SLIDE 63

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Ques2on(1(

How(much(2me(should(you( spend(on:( ?(collabora2ng(with(scien2sts?( ?(new(features?( ?(publicity(/(promo2on?( ?(code(improvement?( ?(training(+(usability?((

slide-64
SLIDE 64

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Ques2on(2(

How(do(you(iden2fy(your( next:( ?(users?( ?(developers?( ?(champions?( ?(funders?( ?(demo?( ((

slide-65
SLIDE 65

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

Ques2on(3(

How(do(you(find(out(about(( your(community?(( ?(what(so#ware(is(used(and(how?( ?(major(barriers(to(engagement?( ?(size(of(userbase(and(skillset?( ?(impact(of(effort(invested?(

( (

slide-66
SLIDE 66

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

3(Golden(Rules(

(

?(Act(Amiably( ?(Breakdown(Barriers( ?(Cul2vate(Contributors((

slide-67
SLIDE 67

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

A:(Act(Amiably(

  • Bugzilla(project(did(analysis(of(their(

current(and(previous(contributors(

! Once(someone(started(contribu2ng,(what( kept(them(around?(

  • Don’t(freeze(the(trunk(for(long(periods(
  • Turnover(is(inevitable(
  • Respond(to(contribu2ons(immediately(
  • Be(extremely(kind(and(visibly(apprecia2ve(
  • Encourage(a(total(absence(of(nega2vity(

! So#ware(sustainability(relies(on(many(people(working( happily(together!(

hRp://www.codesimplicity.com/post/open?source?community?simplified/(

slide-68
SLIDE 68

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

B:(Breakdown(Barriers(

  • Basics:(Website,(mailing(list,(code(repository,(issue(resolu2on(
  • Remove(barriers(to(par2cipa2on,(increase(efficiency(
  • 1993:(First(public(release;(2(devs(
  • 1995:(Code(open(sourced;(3(devs(
  • 1996:(r?testers(list(set(up(
  • 1997:(lists(split:(r?announce,(r?help,(

(r?devel;(public(CVS;(11(devs(

  • 2000:(CRAN(split(and(mirror(
  • 2001:(BioConductor(
  • 2003:(Namespaces(
  • 2005:(I8n,(L8n(
  • 2007:(R?Forge(
  • Today:(BioConductor((33(core(devs),((

R?Forge((532(projects,(1562(devs),(( CRAN((1400+(packages)(

68(

hRp://cran.r?project.org/doc/html/interface98?paper/paper_2.html(

slide-69
SLIDE 69

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

C:(Cul2vate(Contributors(

Building(intellectual(access(ramps(to(support(incremental( engagement(–(building(capacity(and(capability(

  • Individual(
  • Group(
  • Consor2um(
  • W/(industry(
  • Community(
  • Ac2ve(

Teams(change(as(( project(matures(

69( hRp://www.castep.org/(

slide-70
SLIDE 70

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

D:(Diaspora(+(Dispersion(

  • Some2mes,(serendipity(plays(a(part(
  • E.g.(GEOS?CHEM(
  • But(they(also(have(

great(support(and( contributor(( mechanisms(

hRp://acmg.seas.harvard.edu/geos/(

slide-71
SLIDE 71

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

The(modern(researcher…(

  • …(worries(about:(

! Data(management( and(analysis( ! Reproducible( research( ! Scalable(simula2ons( ! Integra2on(of( models(and( workflows( ! Collabora2on(

Picture(of(ORo(Stern( (of(( Emilio(Segre(Visual(Archives((

slide-72
SLIDE 72

So#ware(Sustainability(Ins2tute(

www.software.ac.uk-

So#ware(philosophy(( as(part(of(the(process(

  • Founda2ons(of(scien2fic(compu2ng(in(

undergraduate(courses(

! Like(presenta2on(skills(

  • Methods(of(scien2fic(compu2ng(in(

postgraduate(courses(

! Like(sta2s2cs(and(ethics(

  • Show(the(benefits(from(the(knowledge(and(

methods(of(digital(research(

! Not(just(programming(101(