17
March 28, 2011 The Reproduction of Remix Culture in Programming: Source Code Reuse without Components Susan Elliott Sim ! Assistant Professor ! Fun Fact ! Eco-tourist on shark research vessel on Great Barrier Reef About Me 1 2

About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

March 28, 2011

The Reproduction of Remix Culture in Programming: Source Code Reuse without Components Susan Elliott Sim

! Assistant Professor

! Fun Fact! Eco-tourist on shark research vessel on Great Barrier Reef

About Me

1

2

Page 2: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

My Approach

! Interdisciplinary and problem-driven! Ph.D. in computer science (software engineering)! Draws heavily on literature from science and technology studies

! Mixed methods! Use both qualitative and quantitative empirical methods! Career spans 26 empirical studies, including 7 experiments with >100 participants,

surveys of >400 respondents, and 7 field sites on 3 continents.

! Products are data, tools, and critical essays

Research Themes

! What are the boundaries and exclusions in software development?! How people accomplish software development

! Study by using empirical methods and by building provocative software tools

! Examples! Code retrieval on the web! Agile software process! Legitimation of requirements expertise

3

4

Page 3: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Code Search on the Web

! Close reading of results from a series of studiesMedha Umarji, Susan Elliott Sim, and Cristina V. Lopes. 2008. Archetypal Internet-Scale Source Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy.

Susan Elliott Sim, Medha Umarji, Sukanya Ratanotayanon, and Cristina V. Lopes. 2012. How Well do Search Engines Support Code Retrieval on the Web? ACM Transactions on Software Engineering and Methodology.

Susan Elliott Sim, and Kavita Philip. 2008. Software Source Code Mashups as Transnational Circuits of Know-How. Paper read at CSCW 2008 Workshop: Tinkering, Tailoring, and Mashing: The Social and Collaborative Practices of the Read-Write Web, 9 November 2008, at San Diego, CA.

! Plus results from work in progress

Overview

! Claim: Popular culture is influencing how people develop software.! Argument:

! Software reuse idealizes rationality and control.! Remix culture is becoming mainstream.! Remix practices that are appearing in software reuse violates existing ideals.

! Implications: Rethinking is needed in software development, business, and intellectual property.

5

6

Page 4: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Software Reuse

! Idea: Build software from from existing software rather than building from scratch! McIlroy et al. (1968) “Mass Produced Software Components”! Brooks (1995) Buy vs. build as a promising attack on essential difficulties

! Accepted practice to use libraries and APIs! Cloud computing and software services are current state of the art

Johannes Sametinger, Software Engineering with Components, Springer-Verlag, 1997.

Practices and Tools for Software Reuse! Methods: Component-Based Software Engineering! Standardized Taxonomies and Ontologies! Repositories and Search! Contracts and Regulated Marketplaces

7

8

Page 5: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

9

10

Page 6: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Culture in Software Development

! Methodical and amethodical software development ! Truex et al. analyzed texts on methods for software development

! Historically, method was “how we did it,” but gradually amended with “and how you ought to do it”

! Postmodern analysis- privileged and marginal! Reader response theory- intertextuality

Duane Truex, Richard Baskerville, and Julie Travis, “Amethodical Systems Development: The Deferred Meaning of Systems Development Methods,” Accounting, Management & Information Technology, 10, pp. 53–79, 2000.

Privileged Methodical Text

1. Software development is a managed controlled process.

3. Software development is a linear, sequential process.

5. Software development is a replicable, universal process

7. Software development is a rational, determine, and goal driven process.

Marginalized Amethodical

2. Software development is random, opportunistic process driven by accident.4. Software development processes are simultaneous, overlapping and there are gaps.6. Software development occurs in completely unique and idiographic forms.8. Software development is negotiated, compromised, and capricious.

11

12

Page 7: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Things to Notice

! Component boundaries are not contested! Ownership coincides with authorship

! Ensured by licensing

! Provenance is tracked! To ensure license compliance

Remix Culture

! The set of ethics and norms that places the collective rather than the individual as primary in the production of creative works.

! “Creativity and innovation always builds on the past.” Lawrence Lessig! Not simple copying (unauthorized or other), but collage, bricolage, and assemblage

! Participation blurs producer/consumer, subject/object distinctions! Examples

! Digital video and audio remixing

13

14

Page 8: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Clip: Rip! A Remix Manifesto

! http://films.onf.ca/rip-a-remix-manifesto/

If you look at individual forms of configurable culture, let’s say making a mashup or modifying a video game or creating machinima, which is when you take video game characters and you make a movie out of them, each of those forms might only have 2%, 5%, 10% of the population engaged in them, but when you add it all up, the majority of us... are engaging in some form in configurable culture.

-Aram Sinnreich in an interview with PRI

Aram Sinnreich, Mashed Up! The Rise of Configurable Culture, 2010.

15

16

Page 9: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Source Code Remixing?

The development of the Science Activity Planner “included many Web ‘shopping trips’ to search for open source components that fit customer requests”J.S. Norris and P.-H. Kamp, "Mission-Critical Development with Open Source Software: Lessons Learned," IEEE Software, vol. 21, pp. 42-49, 2004.

17

18

Page 10: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

[I was] Looking for a base-64 encode/decode function implemented in C++. Google searches didn't turn up anything useful. Because I was writing a web server; I knew that Apache would be doing something similar; so I went straight to the source code and dug through by hand to find the function I needed.

Pervasiveness of Remixing

! How often do you search for source code on the web?

! In a field study, 223 searches for source code were observed.! Nearly all were for examples! One person conducted 40

searches in two days looking for a component (and still wasn’t done)

0

10

20

30

40

50

Never

Once per month

Once per week

Every day

Many times/day

19

20

Page 11: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

From Reuse to Remix (2006 vs. 2010)

20

40

60

80

100

Reference Examples

Code to Reuse As-Is

Goal

20

40

60

80

100

Target

A few lines o

f code

Component

Umarji, Sim, and Lopes, 2008 and study in progress.

Novel Software Reuse Practices

! Amethodical! Does not follow prescribed method, relies on chance and happenstance

! Snippets! Does not respect component boundaries! Usually a few lines of code

! Copy, paste, and modify! Not download and call

! Collective! Repositories without gatekeepers

! Know-how, rather than property! Licenses?

21

22

Page 12: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Changing Culture for Software

! Contributors diversify! Recognized experts, professionals, hobbyists, commenters! Crowdsourcing of questions

! Source code can be found in articles, podcasts, uploaded slide decks, how-tos, tutorials, and other documentation! Not just in repositories

! Wider variety of source code available! Not just components

! Forums and IRC for building community! Conferences and unconferences offline

What about tools?

! Smaller units as first class citizens

! Component boundaries are contested

! Leverage social computing

23

24

Page 13: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

25

26

Page 14: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Effectiveness of Search Tools

0

0.175

0.350

0.525

0.700

Google Koders Krugle GCS SourceForge

P@10

0

0.175

0.350

0.525

0.700

Google Koders Krugle GCS SourceForge

BlockSubsystem

Susan Elliott Sim, Medha Umarji, Sukanya Ratanotayanon, and Cristina V. Lopes. 2012. How Well do Search Engines Support Code Retrieval on the Web? ACM Transactions on Software Engineering and Methodology.

Software Reuse

components

repositories

controlled and planned

architectures

correctness and consistency

professional software developers

Snippet Remixing

how-to and executable know-how

web pages, forums, email

ad hoc

combinations

reputation and appearance

learners and end-user programmers

27

28

Page 15: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Privileged Methodical Text

1. Software development is a managed controlled process.

3. Software development is a linear, sequential process.

5. Software development is a replicable, universal process

7. Software development is a rational, determine, and goal driven process.

Marginalized Amethodical

2. Software development is random, opportunistic process driven by accident.4. Software development processes are simultaneous, overlapping and there are gaps.6. Software development occurs in completely unique and idiographic forms.8. Software development is negotiated, compromised, and capricious.

Implications

! Software development! Business! Intellectual Property

29

30

Page 16: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Software Development

! Amethodical practices need to be acknowledged! Practitioners: Stop driving copy-and-paste programming into a dark corner.

Embrace it and create techniques for doing it well.! Research: Strict adherence to methodical practices risks alientation from

professionals and decreasing relevance.! Most research on snippet remixing is being done by in human-computer

interaction rather than software engineering

Intellectual Property

! Has many commonalities with music and video remixing! De minimus

! What is the smallest possible unit that can have intellectual property?

! Authorship! Who created the software?! How to acknowledge and trace provenance at the snippet level?

31

32

Page 17: About Mepattis/INF-44/Sim.pdfSource Code Searching. Paper read at 4th International Conference on Open Source Systems, 8-10 September 2008, at Milan, Italy. Susan Elliott Sim, Medha

Overview

! Claim: Popular culture is influencing how people develop software.! Argument:

! Software reuse idealizes rationality and control.! Remix culture is becoming mainstream.! Remix practices that are appearing in software reuse violates existing ideals.

! Implications: Rethinking is needed in software development, business, and intellectual property.

Questions?

34

33

34