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% ﬁnd software history important to their development activities and 61% need to refer to history at least several times a day.” More beneﬁts: 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.)
Extracting just the subfolder would have been difﬁcult, and older versions would not have built First get something working, and then disentangle it from your own proprietary code, conﬁguration, etc. Entangled with proprietary code Contains sensitive information Housekeeping needed License and legal reasons
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
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
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 sufﬁcient to maintain project coherency
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
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
the software history? How to improve tools to migrate code between repositories and to disentangle source code How to ﬁnd sensitive information in the software history? How to estimate the cost of releasing the history? When do developers need to understand the software history?