The Babel of Software Development: Linguistic Diversity in Open Source

Relaterede dokumenter
Vina Nguyen HSSP July 13, 2008

Basic statistics for experimental medical researchers

Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et)

How Long Is an Hour? Family Note HOME LINK 8 2

Statistik for MPH: 7

Financial Literacy among 5-7 years old children

Sport for the elderly

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Trolling Master Bornholm 2014

Measuring the Impact of Bicycle Marketing Messages. Thomas Krag Mobility Advice Trafikdage i Aalborg,

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark

Skriftlig Eksamen Beregnelighed (DM517)

To the reader: Information regarding this document

SØREN SKIBSTED 1/5. Telefon Direkte: Partner, Head of London Office, København, London.

Krav til bestyrelser og arbejdsdeling med direktionen

Measuring Evolution of Populations

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview

Linear Programming ١ C H A P T E R 2

Listen Mr Oxford Don, Additional Work

Managing stakeholders on major projects. - Learnings from Odense Letbane. Benthe Vestergård Communication director Odense Letbane P/S

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Intro to: Symposium on Syntactic Islands in Scandinavian and English

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Bilag. Resume. Side 1 af 12

Children s velomobility how cycling children are made and sustained

Cross-Sectorial Collaboration between the Primary Sector, the Secondary Sector and the Research Communities

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

CHAPTER 8: USING OBJECTS

Experience. Knowledge. Business. Across media and regions.

Melbourne Mercer Global Pension Index

Observation Processes:

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Modtageklasser i Tønder Kommune

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

Linguistic and cross-cultural translation of KOOS-child from Swedish to Danish

Trolling Master Bornholm 2013

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Velkommen til webinar om Evaluatorrollen i Horizon Vi starter kl Test venligst lyden på din computer ved at køre Audio Setup Wizard.

USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION

Statistik for MPH: oktober Attributable risk, bestemmelse af stikprøvestørrelse (Silva: , )

Trolling Master Bornholm 2016 Nyhedsbrev nr. 8

Trolling Master Bornholm 2016 Nyhedsbrev nr. 7

Rødsand laboratoriet et samarbejde mellem KU, Femern & DHI

Internationalt uddannelsestilbud

NOTIFICATION. - An expression of care

Roskilde Universitet Jeanette Lindholm PHD-.student

Besvarelser til Lineær Algebra Reeksamen Februar 2017

Vejledning til brugen af bybrandet

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013

1 What is the connection between Lee Harvey Oswald and Russia? Write down three facts from his file.

Idrættens Eventmanagement Uddannelse: Hvervekampagne / Building a bid strategy. Dragør April 29, 2013

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Eksempel på eksamensspørgsmål til caseeksamen

Den uddannede har viden om: Den uddannede kan:

From innovation to market

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Learnings from the implementation of Epic

Remember the Ship, Additional Work

Den nye Eurocode EC Geotenikerdagen Morten S. Rasmussen

Implementing SNOMED CT in a Danish region. Making sharable and comparable nursing documentation

Timetable will be aviable after sep. 5. when the sing up ends. Provicius timetable on the next sites.

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Handout 1: Eksamensspørgsmål

United Nations Secretariat Procurement Division

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!?

Skriftlig Eksamen Diskret matematik med anvendelser (DM72)

CLARIN-DK Status. info.clarin.dk. Bente Maegaard. National Coordinator Vice Executive Director

Developing a tool for searching and learning. - the potential of an enriched end user thesaurus

International Workshop on Language Proficiency Implementation

#DENC-3 Understanding networked communities

On the complexity of drawing trees nicely: corrigendum

Business Rules Fejlbesked Kommentar

Department of Public Health. Case-control design. Katrine Strandberg-Larsen Department of Public Health, Section of Social Medicine

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB)

An expression of care Notification. Engelsk

Sammenligning af adresser til folkeregistrering (CPR) og de autoritative adresser

User Manual for LTC IGNOU

Skriftlig Eksamen Beregnelighed (DM517)

The complete construction for copying a segment, AB, is shown above. Describe each stage of the process.

INTEL INTRODUCTION TO TEACHING AND LEARNING AARHUS UNIVERSITET

Trolling Master Bornholm 2016 Nyhedsbrev nr. 6

Our Mission We have been in business for 19 years. We help people who have eye problems. Our custom tinted soft contact lenses change lives.

Asking whether there are commission fees when you withdraw money in a certain country

Asking whether there are commission fees when you withdraw money in a certain country

Challenges of the Open Source Component Marketplace in the Industry

GUIDE TIL BREVSKRIVNING

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.

How Al-Anon Works - for Families & Friends of Alcoholics. Pris: kr. 130,00 Ikke på lager i øjeblikket Vare nr. 74 Produktkode: B-22.

Forslag til implementering af ResearcherID og ORCID på SCIENCE

IPv6 Application Trial Services. 2003/08/07 Tomohide Nagashima Japan Telecom Co., Ltd.

Trolling Master Bornholm 2015


Differential Evolution (DE) "Biologically-inspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark

Transkript:

Oil painting by Abel Grimmer (1570 1619) The Babel of Software Development: Linguistic Diversity in Open Source Bogdan Vasilescu Alexander Serebrenik Mark van den Brand Eindhoven University of Technology @b_vasilescu, @aserebrenik, @MarkvandenBrand SocInfo 2013, Kyoto, Japan

Warning Equations inside

OSS Communities Highly interactive Heterogeneous Decentralized Self-directed Knowledge-intensive

OSS Communities Highly interactive Decentralized Heterogeneous Self-directed Knowledge-intensive

OSS Communities Developers donate their knowledge for the benefit of the community Highly interactive Decentralized Heterogeneous Self-directed Knowledge-intensive

OSS Communities Different skill sets and skill levels (Giuri et al., 2004) Different activities (Vasilescu et al., 2013) Mix of novices and experts (Dabbish et al., 2012) Highly interactive Decentralized Heterogeneous Self-directed Knowledge-intensive

OSS Communities Different skill sets and skill levels (Giuri et al., 2004) Different activities (Vasilescu et al., 2013) Mix of novices and experts (Dabbish et al., 2012) Highly interactive Decentralized Heterogeneous Self-directed Knowledge-intensive

Knowledge of programming languages I speak I speak... I speak... I speak I speak and I speak...

High turnover What happens when Purple Minion leaves the community? Does knowledge of disappear? Is the community at risk? Maintain or migrate legacy code? Poopaye!

High turnover What happens when Purple Minion leaves the community? Does knowledge of disappear? Is the community at risk? Maintain or migrate legacy code? Intuitively healthier

This talk: first steps How to quantify this risk of not finding developers with knowledge of certain programming languages?

Idea Who else speaks in the community? Hard to assess (recall Decentralized, Self-directed) Less suitable for real-time health monitoring Hard to maintain information (recall High Turnover) What if nobody? Poopaye!

Idea has worked on Who else speaks in the community? Not sufficient Specialization Territoriality (Posnett et al., 2013)! (Robles et al., 2006) (Vasilescu et al., 2013) Besides, What if nobody? Poopaye!

Idea has worked on Who else speaks in the community? might understand Better, but similar drawbacks as Who else speaks in the community? Does not answer How hard is it in general to find replacement CoBOL developers? I have some experience with. I might understand Poopaye!

Idea has worked on Who else speaks in the community? might understand Mine expertise from history of contributions + Approximate what else they might understand: universal measure of intelligibility of programming languages I have some experience with. I might understand Poopaye!

Ingredients Linguistic diversity (natural languages) Crowdsourced knowledge stackoverflow.com

Linguistic diversity Greenberg (1956) probability that two random individuals do not understand each other http://education.nationalgeographic.com/education/mapping/interactive- map/? ar_a=1&ls=840007%26f%3d491%26t%3d1%26lg%3d5%26b%3d0%26bbox

Linguistic diversity probability that two random individuals do not understand each other I speak I speak I speak Simple model everyone speaks exactly one language languages are independent A = 1 L p 2 p = S P L = A, B,C { } P(L) = A, B,C { } A C B

Linguistic diversity probability that two random individuals do not understand each other I speak I speak I speak Related languages model everyone speaks exactly one language languages are (partly) mutually intelligible,m L B =1 p p m mi(, m) 0 mi(, m) 1 mi(, ) =1 L = A, B,C { } P(L) = A, B,C { } A p = C B S P

Linguistic diversity probability that two random individuals do not understand each other I speak I speak I speak and Polyglot related languages model everyone speaks at least one language languages are (partly) mutually intelligible F =1 s,t P(L) p s p t s,m t mi(, m) s t { A, B, C} P( L) = { A, B, C, AB, AC, BC ABC} L =, A p s = S s AB ABC AC P B BC C

Risk of not finding developers that speak a programming language Greenberg (1956) Linguistic diversity F =1 s,t P(L) p s p t s,m t mi(, m) s t Our measure risk( ) =1 s P(L) p s max k s mi (k)

Risk of not finding developers that speak a programming language Greenberg (1956) Linguistic diversity F =1 s,t P(L) p s p t s,m t mi(, m) s t Aggregate measure Our measure One language risk( ) =1 s P(L) p s max k s mi (k)

Risk of not finding developers that speak a programming language Greenberg (1956) Linguistic diversity F =1 s,t P(L) p s p t s,m t mi(, m) s t If polyglot, equally probably to speak any of the languages Our measure risk( ) =1 If polyglot, the language most intelligible to matters the most s P(L) p s max k s mi (k)

Risk of not finding developers that speak a programming language Greenberg (1956) Linguistic diversity F =1 s,t P(L) p s p t s,m t mi(, m) s t Symmetric Our measure Asymmetric risk( ) =1 s P(L) p s max k s mi (k) Swedes have more difficulty understanding Danish than Danes understanding Swedish (Moberg et al., 2004)

Ingredients Linguistic diversity (natural languages) Crowdsourced knowledge stackoverflow.com

5,931,622 questions 2,458,712 users

5,931,622 questions 2,458,712 users

Users collect tags

Mutual intelligibility of programming languages Jon Skeet: C#, Java, ASP.net, XML, Alexander Serebrenik: Prolog, SQL, C++, Bogdan Vasilescu: Python, > 400,000 mi Association rule mining ( k) = conf ( τ τ ) = nboth k nleft C# Java

160 popular languages Are this likely to speak <column> People who speak <row> http://www.win.tue.nl/~bvasiles/languages/list.html

160 popular languages Are this likely to speak <column> People who speak <row> http://www.win.tue.nl/~bvasiles/languages/list.html

Assembly dev s are versatile; assembly itself is exotic Are this likely to speak <column> People who speak <row> http://www.win.tue.nl/~bvasiles/languages/list.html

Cobol dev s are versatile but extremely scarce Are this likely to speak <column> People who speak <row> http://www.win.tue.nl/~bvasiles/languages/list.html

Asymmetry present also in more obvious pairs Are this likely to speak <column> People who speak <row> http://www.win.tue.nl/~bvasiles/languages/list.html

Case study: Emacs 1985-2012: C, Emacs Lisp, C++, Java, Lisp, Python, M4, (26) How to quantify this risk of not finding developers with knowledge of certain programming languages?

Case study: Emacs 1985-2012: C, Emacs Lisp, C++, Java, Lisp, Python, M4, (26) solid black: risk measure dashed red: %community that does not speak language dotted blue: red - black (intelligible by developers speaking other languages) Unix Shell (sh) Driver: % non speakers Exotic language: few speak it, not intelligible by developers speaking other languages

Case study: Emacs 1985-2012: C, Emacs Lisp, C++, Java, Lisp, Python, M4, (26) solid black: risk measure dashed red: %community that does not speak language dotted blue: red - black (intelligible by developers speaking other languages) Emacs Lisp Driver: % non speakers Common language: most speak it

Case study: Emacs 1985-2012: C, Emacs Lisp, C++, Java, Lisp, Python, M4, (26) solid black: risk measure dashed red: %community that does not speak language dotted blue: red - black (intelligible by developers speaking other languages) Python Exotic language But intelligible by speakers of other languages

Case study: Emacs 1985-2012: C, Emacs Lisp, C++, Java, Lisp, Python, M4, (26) solid black: risk measure dashed red: %community that does not speak language dotted blue: red - black (intelligible by developers speaking other languages) C Fairly common language Also intelligible by speakers of other languages