Slide 1

Slide 1 text

Leaving Behind the Software History When Transitioning to Open-Source: Reasons and Implications @gustavopinto @igorsteinmacher @gerosa_marco

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

The project deleted the software history and imported the source code all at once!

Slide 10

Slide 10 text

Mihai Codoban, Sruti Srinivasa Ragavan, Danny Dig, and Brian Bailey. Software history under the lens: A study on why and how developers examine it. In ICSME 2015, pages 1–10, 2015. “Software history is indispensable for developers. Of the 217 developers surveyed in this work, 85% find software history important to their development activities and 61% need to refer to history at least several times a day.” More benefits: Knowledge acquisition (Pham et al., 2013) End-users take advantage of the software history (Kuttal et al., 2014) Research (co-changes, defect prediction, mining, etc.)

Slide 11

Slide 11 text

Why one would remove the whole history? What are the reasons? and the implications?

Slide 12

Slide 12 text

We found 50 proprietary projects that made the shift to open source and deleted the history We could find only 8 projects that kept the history

Slide 13

Slide 13 text

We found 50 proprietary projects that made the shift to open source

Slide 14

Slide 14 text

We found 50 proprietary projects that made the shift to open source

Slide 15

Slide 15 text

We found 50 proprietary projects that made the shift to open source 1. Why did you decide not to keep the software history?

Slide 16

Slide 16 text

We found 50 proprietary projects that made the shift to open source 2. Do the core developers face any kind of problems with the lack of software history?

Slide 17

Slide 17 text

We found 50 proprietary projects that made the shift to open source 3. Do the newcomers face any kind of problems with the lack of software history?

Slide 18

Slide 18 text

We found 50 proprietary projects that made the shift to open source 4. How does the lack of software history impacted software evolution?

Slide 19

Slide 19 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries 41 answers in total

Slide 20

Slide 20 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries

Slide 21

Slide 21 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries

Slide 22

Slide 22 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries

Slide 23

Slide 23 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries

Slide 24

Slide 24 text

We found 50 proprietary projects that made the shift to open source 15 did not answered our inquiries

Slide 25

Slide 25 text

RQ1. Why some projects do not open the software history? Extracting just the subfolder would have been difficult, and older versions would not have built First get something working, and then disentangle it from your own proprietary code, configuration, etc. Entangled with proprietary code Contains sensitive information Housekeeping needed License and legal reasons

Slide 26

Slide 26 text

RQ1. Why some projects do not open the software history? The earliest commits may contain information we cannot share, so upon releasing we squashed the history Going through thousands of commits means no one will take on the heroic task of even open- sourcing the product Entangled with proprietary code Contains sensitive information Housekeeping needed License and legal reasons

Slide 27

Slide 27 text

RQ1. Why some projects do not open the software history? We cleaned embarrassing or inappropriate comments, brought the code up to OSS standards … Entangled with proprietary code Contains sensitive information Housekeeping needed License and legal reasons

Slide 28

Slide 28 text

RQ1. Why some projects do not open the software history? Made it much easier to get the lawyers at our parent company to agree to open source it Instead of reviewing the entire history, they could review just the current state Entangled with proprietary code Contains sensitive information Housekeeping needed License and legal reasons

Slide 29

Slide 29 text

RQ2. What are the challenges to deal with a history free project? None of the core developers has wanted or needed to go look back through the history Communication, documentation, and idiomatic expressions of the Python code are sufficient to maintain project coherency

Slide 30

Slide 30 text

RQ2. What are the challenges to deal with a history free project? We still use the non-git system internally and can refer to history if we need to I’m probably the person most likely to access it, and I’d estimate that I use it only a few times per year

Slide 31

Slide 31 text

RQ2. What are the challenges to deal with a history free project? For a fast-moving project, history from more than half a year ago is not particularly valuable for development I am not aware of any problems for newcomers The lack of software history does not greatly impact software evolution and understanding

Slide 32

Slide 32 text

Open challenges How to design tools to leverage and visualize the software history? How to improve tools to migrate code between repositories and to disentangle source code How to find sensitive information in the software history? How to estimate the cost of releasing the history? When do developers need to understand the software history?

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Leaving Behind the Software History When Transitioning to Open-Source: Reasons and Implications @gustavopinto @igorsteinmacher @gerosa_marco