{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T15:46:29Z","timestamp":1742917589136,"version":"3.40.3"},"publisher-location":"Cham","reference-count":23,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319577340"},{"type":"electronic","value":"9783319577357"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Component repositories play a key role in the open software ecosystem. Managing the evolution of these repositories is a challenging task, and maintainers are confronted with a number of complex issues that need automatic tools to be adressed properly.<\/jats:p><jats:p>In this paper, we present an overview of 10 years of research in this field and the process leading to the adoption of our tools in a FOSS community. We focus on the Debian distribution and in particular we look at the issues arising during the distribution lifecycle: ensuring buildability of source packages, detecting packages that cannot be installed and bootstrapping the distribution on a new architecture. We present three tools, <jats:italic>distcheck<\/jats:italic>, <jats:italic>buildcheck<\/jats:italic> and <jats:italic>botch<\/jats:italic>, that we believe of general interest for other open source component repositories.<\/jats:p><jats:p>The lesson we have learned during this journey may provide useful guidance for researchers willing to see their tools broadly adopted by the community.<\/jats:p>","DOI":"10.1007\/978-3-319-57735-7_14","type":"book-chapter","created":{"date-parts":[[2017,4,22]],"date-time":"2017-04-22T05:20:10Z","timestamp":1492838410000},"page":"139-150","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Adoption of Academic Tools in Open Source Communities: The Debian Case Study"],"prefix":"10.1007","author":[{"given":"Pietro","family":"Abate","sequence":"first","affiliation":[]},{"given":"Roberto","family":"Di Cosmo","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,4,23]]},"reference":[{"unstructured":"The mancoosi project (2011). http:\/\/www.mancoosi.org","key":"14_CR1"},{"doi-asserted-by":"crossref","unstructured":"Abate, P., Cosmo, R.D., Gesbert, L., Fessant, F.L., Treinen, R., Zacchiroli, S.: Mining component repositories for installability issues. In: 12th IEEE\/ACM Working Conference on Mining Software Repositories (MSR 2015), Florence, Italy, 16\u201317 May 2015, pp. 24\u201333 (2015)","key":"14_CR2","DOI":"10.1109\/MSR.2015.10"},{"key":"14_CR3","doi-asserted-by":"publisher","first-page":"93","DOI":"10.1016\/j.scico.2013.06.007","volume":"90","author":"P Abate","year":"2014","unstructured":"Abate, P., Cosmo, R.D., Treinen, R., Zacchiroli, S.: Learning from the future of component repositories. Sci. Comput. Program. 90, 93\u2013115 (2014)","journal-title":"Sci. Comput. Program."},{"issue":"10","key":"14_CR4","doi-asserted-by":"publisher","first-page":"2228","DOI":"10.1016\/j.jss.2012.02.018","volume":"85","author":"P Abate","year":"2012","unstructured":"Abate, P., Di Cosmo, R., Treinen, R., Zacchiroli, S.: Dependency solving: a separate concern in component evolution management. J. Syst. Softw. 85(10), 2228\u20132240 (2012)","journal-title":"J. Syst. Softw."},{"doi-asserted-by":"crossref","unstructured":"Abate, P., Schauer, J.: Bootstrapping software distributions. In: Proceedings of International Symposium of Component Based Software Engineering (CBSE) (2013)","key":"14_CR5","DOI":"10.1145\/2465449.2465461"},{"doi-asserted-by":"crossref","unstructured":"Argelich, J., Le Berre, D., Lynce, I., Marques-Silva, J., Rapicault, P.: Solving Linux upgradeability problems using boolean optimization. In: LoCoCo: Logics for Component Configuration, vol. 29 of EPTCS (2010)","key":"14_CR6","DOI":"10.4204\/EPTCS.29.2"},{"unstructured":"Di Cosmo, R., Mancinelli, F., Boender, J., Vouillon, J., Durak, B., Leroy, X., Pinheiro, D., Trezentos, P., Morgado, M., Milo, T., Zur, T., Suarez, R., Lijour, M., Treinen, R.: Report on formal mangement of software dependencies. Technical report, EDOS (2006)","key":"14_CR7"},{"key":"14_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/978-3-642-40615-7_8","volume-title":"Formal Methods for Components and Objects","author":"R Cosmo","year":"2013","unstructured":"Cosmo, R., Treinen, R., Zacchiroli, S.: Formal aspects of free and open source software components. In: Giachino, E., H\u00e4hnle, R., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2012. LNCS, vol. 7866, pp. 216\u2013239. Springer, Heidelberg (2013). doi:10.1007\/978-3-642-40615-7_8"},{"key":"14_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"502","DOI":"10.1007\/978-3-540-24605-3_37","volume-title":"Theory and Applications of Satisfiability Testing","author":"N E\u00e9n","year":"2004","unstructured":"E\u00e9n, N., S\u00f6rensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502\u2013518. Springer, Heidelberg (2004). doi:10.1007\/978-3-540-24605-3_37"},{"unstructured":"Galindo, J.A., Benavides, D., Segura, S.: Debian packages repositories as software product line models. Towards automated analysis. In: Proceedings of the 1st International Workshop on Automated Configuration and Tailoring of Applications. CEUR-WS.org (2010)","key":"14_CR10"},{"doi-asserted-by":"crossref","unstructured":"Gebser, M., Kaminski, R., Schaub, T.: aspcud: a Linux package configuration tool based on answer set programming. In: Drescher, C., Lynce, I., Treinen, R., (eds.) Proceedings Logics for Component Configuration. LoCoCo (2011)","key":"14_CR11","DOI":"10.4204\/EPTCS.65.2"},{"issue":"3","key":"14_CR12","doi-asserted-by":"publisher","first-page":"262","DOI":"10.1007\/s10664-008-9100-x","volume":"14","author":"J Gonzalez-Barahona","year":"2009","unstructured":"Gonzalez-Barahona, J., Robles, G., Michlmayr, M., Amor, J., German, D.: Macro-level software evolution: a case study of a large software compilation. Empir. Softw. Eng. 14(3), 262\u2013285 (2009)","journal-title":"Empir. Softw. Eng."},{"unstructured":"Janota, M.: Do sat solvers make good configurators? In: SPLC: Software Product Lines Conference, vol. 2 (2008)","key":"14_CR13"},{"key":"14_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1007\/978-3-642-13238-4_11","volume-title":"Component-Based Software Engineering","author":"G Jenson","year":"2010","unstructured":"Jenson, G., Dietrich, J., Guesgen, H.W.: An empirical study of the component dependency resolution search space. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 182\u2013199. Springer, Heidelberg (2010). doi:10.1007\/978-3-642-13238-4_11"},{"unstructured":"LaBelle, N., Wallingford, E.: Inter-package dependency networks in open-source software. CoRR, cs.SE\/0411096 (2004)","key":"14_CR15"},{"unstructured":"Le Berre, D., Parrain, A.: On SAT technologies for dependency management and beyond. In: SPLC 2008: Software Product Lines Conference, vol. 2 (2008)","key":"14_CR16"},{"doi-asserted-by":"crossref","unstructured":"Le Berre, D., Rapicault, P.: Dependency management for the Eclipse ecosystem. In: IWOCE 2009: International Workshop on Open Component Ecosystems. ACM (2009)","key":"14_CR17","DOI":"10.1145\/1595800.1595805"},{"doi-asserted-by":"crossref","unstructured":"Mancinelli, F., Boender, J., Di Cosmo, R., Vouillon, J., Durak, B., Leroy, X., Treinen, R.: Managing the complexity of large free and open source package-based software distributions. In: ASE 2006: Automated Software Engineering. IEEE (2006)","key":"14_CR18","DOI":"10.1109\/ASE.2006.49"},{"doi-asserted-by":"crossref","unstructured":"Marinescu, R.: Confessions of a worldly software miner. In: 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories, May 2015","key":"14_CR19","DOI":"10.1109\/MSR.2015.80"},{"doi-asserted-by":"crossref","unstructured":"Michel, C., Rueher, M.: Handling software upgradeability problems with MILP solvers. In: LoCoCo 2010: Logics for Component Configuration, vol. 29 of EPTCS (2010)","key":"14_CR20","DOI":"10.4204\/EPTCS.29.1"},{"unstructured":"Treinen, R., Zacchiroli, S.: Solving package dependencies: from EDOS to Mancoosi. In: DebConf 8: Proceedings of the 9th Conference of the Debian Project (2008)","key":"14_CR21"},{"unstructured":"Treinen, R., Zacchiroli, S.: Common upgradeability description format (CUDF) 2.0. Technical report 3, The Mancoosi Project, November 2009","key":"14_CR22"},{"unstructured":"Wookey, Abate, P.: Google summer of code on debian bootstrap (2012)","key":"14_CR23"}],"container-title":["IFIP Advances in Information and Communication Technology","Open Source Systems: Towards Robust Practices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-57735-7_14","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,11]],"date-time":"2023-07-11T14:07:01Z","timestamp":1689084421000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-57735-7_14"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319577340","9783319577357"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-57735-7_14","relation":{},"ISSN":["1868-4238","1868-422X"],"issn-type":[{"type":"print","value":"1868-4238"},{"type":"electronic","value":"1868-422X"}],"subject":[],"published":{"date-parts":[[2017]]},"assertion":[{"value":"23 April 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"OSS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"IFIP International Conference on Open Source Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Buenos Aires","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Argentina","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 May 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23 May 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"oss2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/oss2017.lifia.info.unlp.edu.ar\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}