USArmyResearchLab / Dshell

Dshell is a network forensic analysis framework.
Other
5.45k stars 1.14k forks source link

Why the software history was not kept? #87

Closed gustavopinto closed 8 years ago

gustavopinto commented 8 years ago

Hi there,

I'm a researcher studying software evolution. As part of my current research, I'm studying the implications of open-sourcing a proprietary software, for instance, if the project succeed in attracting newcomers. Dshell was in my list. However, I observed that the software history of when the software was developed as a proprietary software was not kept after the transition to Github.

Knowing that software history is indispensable for developers (e.g., developers need to refer to history several times a day), I would like to ask Dshell developers the following four brief questions:

  1. Why did you decide to not keep the software history?
  2. Do the core developers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
  3. Do the newcomers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
  4. How does the lack of history impacted on software evolution? Does it placed any burden in understanding and evolving the software?

Thanks in advance for your collaboration,

Gustavo Pinto, PhD http://www.gustavopinto.org

dev195 commented 8 years ago
  1. Dshell is a relatively small project that valued rapid turnaround in development. As such, there simply was no formal software history kept, and direct cooperation between experienced developers was sufficient to develop it to a releasable state.
  2. A lack of history has not so far presented a problem for core developers, as communication between developers, documentation in and outside of the source code, and the easily understood idiomatic expressions of the Python language were/are sufficient to maintain project coherency.
  3. A lack of history has so far not proven a significant problem for new developers. Given Dshell is a relatively small project, written in Python, the intent and function of the code can be assessed relatively quickly by inspection. Any remaining knowledge gaps or questions as to intent can be referred to core developers.
  4. In summary, the lack of history does not greatly affect development on this project for the reasons given above. Perhaps something to consider is that institutional knowledge, the combined knowledge of the many contributors to a project, can be an effective substitute for formal software history. Of course it is acknowledged that without this resource to draw on it may be far more difficult to understand the intent and function of a project, particularly one with an old or esoteric code base.
gustavopinto commented 8 years ago

Thank you, @dev195 !

gustavopinto commented 6 years ago

Hi @dev195,

thanks once again for answering our research inquiries. We were able to collect 35 responses and we drafted a research paper with the results. The paper was submitted and accepted for the 14th International Conference on Open Source Systems (http://oss2018.org/). You can find the paper here. Hope you enjoy reading the paper!

Thanks again,

Gustavo