{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T16:55:28Z","timestamp":1781110528633,"version":"3.54.1"},"reference-count":61,"publisher":"IGI Global Scientific Publishing","issue":"3","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2011,7,1]]},"abstract":"<p>A promising way to support software reuse is based on Component-Based Software Development (CBSD). Open Source Software (OSS) products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the \u201creuse mechanism\u201d: many OSS projects duplicate effort, for instance when many projects implement a similar system in the same application domain and in the same topic. One successful counter-example is the FFmpeg multimedia project; several of its components are widely and consistently reused in other OSS projects. Documented is the evolutionary history of the various libraries of components within the FFmpeg project, which presently are reused in more than 140 OSS projects. Most use them as black-box components; although a number of OSS projects keep a localized copy in their repositories, eventually modifying them as needed (white-box reuse). In both cases, the authors argue that FFmpeg is a successful project that provides an excellent exemplar of a reusable library of OSS components.<\/p>","DOI":"10.4018\/jossp.2011070102","type":"journal-article","created":{"date-parts":[[2013,1,9]],"date-time":"2013-01-09T15:56:53Z","timestamp":1357747013000},"page":"10-35","source":"Crossref","is-referenced-by-count":6,"title":["Software Reuse in Open Source"],"prefix":"10.4018","volume":"3","author":[{"given":"Andrea","family":"Capiluppi","sequence":"first","affiliation":[{"name":"Brunel University, UK"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Klaas-Jan","family":"Stol","sequence":"additional","affiliation":[{"name":"Lero (The Irish Software Engineering Research Centre), University of Limerick, Ireland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Cornelia","family":"Boldyreff","sequence":"additional","affiliation":[{"name":"University of East London, UK"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"2432","reference":[{"key":"jossp.2011070102-0","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.10.036"},{"key":"jossp.2011070102-1","doi-asserted-by":"crossref","unstructured":"Avgeriou, P., & Guelfi, N. (2005). Resolving architectural mismatches of COTS through architectural reconciliation. In X. Franch & D. Port (Eds.), Proceedings of the 4th International Conference on COTS-Based Software Systems (LNCS 3412, pp. 248-257).","DOI":"10.1007\/978-3-540-30587-3_34"},{"key":"jossp.2011070102-2","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-72486-7_2"},{"issue":"5","key":"jossp.2011070102-3","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1049\/sej.1991.0032","article-title":"Support for comprehensive reuse.","volume":"6","author":"V. R.Basili","year":"1991","journal-title":"IEEE Software Engineering Journal"},{"key":"jossp.2011070102-4","author":"L.Bass","year":"2003","journal-title":"Software architecture in practice"},{"key":"jossp.2011070102-5","doi-asserted-by":"crossref","unstructured":"Bowman, I. T., Holt, R. C., & Brewster, N. V. (1999). Linux as a case study: Its extracted software architecture. In Proceedings of the 21st International Conference on Software Engineering (pp. 555-563).","DOI":"10.1145\/302405.302691"},{"key":"jossp.2011070102-6","doi-asserted-by":"crossref","unstructured":"Capiluppi, A., & Boldyreff, C. (2008). Identifying and improving reusability based on coupling patterns. In H. Mei (Ed.), Proceedings of the 10th International Conference on Software Reuse: High Confidence Software Reuse in Large Systems (LNCS 5030, pp. 282-293).","DOI":"10.1007\/978-3-540-68073-4_31"},{"key":"jossp.2011070102-7","doi-asserted-by":"crossref","unstructured":"Capiluppi, A., & Knowles, T. (2009). Software engineering in practice: Design and architectures of FLOSS systems. In Proceedings of the 5th IFIP WG 2.13 International Conference on Advances in Information and Communication Technology (Vol. 299, pp. 34-46).","DOI":"10.1007\/978-3-642-02032-2_5"},{"key":"jossp.2011070102-8","unstructured":"Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., & Little, R. \u2026Stafford, J. (2010). Documenting software architectures: Views and beyond (2nd ed.). Reading, MA: Addison-Wesley."},{"key":"jossp.2011070102-9","doi-asserted-by":"crossref","unstructured":"de Jonge, M. (2002). Source tree composition. In C. Gacek (Ed.), Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools (LNCS 2319, pp.17-32).","DOI":"10.1007\/3-540-46020-9_2"},{"key":"jossp.2011070102-10","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.77"},{"key":"jossp.2011070102-11","doi-asserted-by":"crossref","unstructured":"Due\u00f1as, J. C., de Oliveira, W. L., & de la Puente, J. A. (1998). Architecture recovery for software evolution. In Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering (pp. 113-119).","DOI":"10.1109\/CSMR.1998.665766"},{"key":"jossp.2011070102-12","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-84800-044-5_11"},{"key":"jossp.2011070102-13","doi-asserted-by":"publisher","DOI":"10.1109\/32.895984"},{"key":"jossp.2011070102-14","author":"N. E.Fenton","year":"1991","journal-title":"Software metrics: A rigorous approach"},{"issue":"3","key":"jossp.2011070102-15","doi-asserted-by":"crossref","first-page":"587","DOI":"10.2307\/25148740","article-title":"The transformation of open source software.","volume":"30","author":"B.Fitzgerald","year":"2006","journal-title":"Management Information Systems Quarterly"},{"key":"jossp.2011070102-16","unstructured":"Freitas, M., Roitzsch, M., Melanson, M., Mattern, T., Langauf, S., & Petteno, D. \u2026Lee, A. (2002). Xine multimedia engine. Retrieved from http:\/\/www.xine-project.org\/home"},{"key":"jossp.2011070102-17","doi-asserted-by":"crossref","unstructured":"German, D. M., & Gonz\u00e1lez-Barahona, J. M. (2009). An empirical study of the reuse of software licensed under the GNU general public license. In Proceedings of the 5th IFIP WG 2.13 International Conference on Open Source EcoSystems: Diverse Communities Interacting (pp. 185-198).","DOI":"10.1007\/978-3-642-02032-2_17"},{"key":"jossp.2011070102-18","doi-asserted-by":"crossref","unstructured":"German, D. M., Gonzalez-Barahona, J. M., & Robles, G. (2007). A model to understand the building and running inter-dependencies of software. In Proceedings of the 14th Working Conference on Reverse Engineering (pp. 140-149).","DOI":"10.1109\/WCRE.2007.5"},{"key":"jossp.2011070102-19","doi-asserted-by":"crossref","unstructured":"German, D. M., & Hassan, A. E. (2009). License integration patterns: Addressing license mismatches in component-based development. In Proceedings of the 31st IEEE International Conference on Software Engineering (pp. 188-198).","DOI":"10.1109\/ICSE.2009.5070520"},{"key":"jossp.2011070102-20","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(02)00049-6"},{"key":"jossp.2011070102-21","unstructured":"Godfrey, M. W., & Lee, E. H. S. (2000). Secrets from the monster: Extracting Mozilla's software architecture. In Proceedings of the 2nd Symposium on Constructing Software Engineering Tools (pp. 15-23)."},{"key":"jossp.2011070102-22","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1007\/BF02766777","article-title":"Criteria for assessing the trustworthiness of naturalistic inquiries.","volume":"29","author":"E.Guba","year":"1981","journal-title":"Educational Communication and Technology"},{"key":"jossp.2011070102-23","doi-asserted-by":"publisher","DOI":"10.1287\/mnsc.1070.0748"},{"key":"jossp.2011070102-24","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2010.156"},{"key":"jossp.2011070102-25","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2010.05.008"},{"key":"jossp.2011070102-26","doi-asserted-by":"crossref","unstructured":"Hauge, \u00d8., \u00d8sterlie, T., S\u00f8rensen, C.-F., & Gerea, M. (2009, May 18). An empirical study on selection of open source software - Preliminary results. In Proceedings of the 2nd ICSE Workshop on Emerging Trends in Free\/Libre\/Open Source Software Research and Development, Vancouver, BC, Canada (pp. 42-47).","DOI":"10.1109\/FLOSS.2009.5071359"},{"key":"jossp.2011070102-27","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-72486-7_25"},{"key":"jossp.2011070102-28","doi-asserted-by":"crossref","unstructured":"Heinemann, L., Deissenboeck, F., Gleirscher, M., Hummel, B., & Irlbeck, M. (2011). On the extent and nature of software reuse in open source Java projects. In K. Schmid (Ed.), Proceedings of the 12th International Conference on Software Reuse: Top Productivity through Software Reuse (LNCS 6727, pp. 207-222).","DOI":"10.1007\/978-3-642-21347-2_16"},{"key":"jossp.2011070102-29","year":"2000","journal-title":"IEEE Std 1471-2000: IEEE recommended practice for architectural description of software-intensive systems"},{"key":"jossp.2011070102-30","unstructured":"Krikhaar, R. (1999). Software architecture reconstruction (Unpublished doctoral dissertation). University of Amsterdam, Amsterdam, The Netherlands."},{"key":"jossp.2011070102-31","doi-asserted-by":"crossref","unstructured":"Krikhaar, R., Postma, A., Sellink, A., Stroucken, M., & Verhoef, C. (1999). A two-phase process for software architecture improvement. In Proceedings of the IEEE International Conference on Software Maintenance (pp. 371-380).","DOI":"10.1109\/ICSM.1999.792635"},{"key":"jossp.2011070102-32","doi-asserted-by":"publisher","DOI":"10.1109\/52.469759"},{"key":"jossp.2011070102-33","doi-asserted-by":"crossref","unstructured":"Lang, B., Abramatic, J.-F., Gonz\u00e1lez-Barahona, J. M., G\u00f3mez, F. P., & Pedersen, M. K. (2005). Free and proprietary software in COTS-based software development. In X. Franch & D. Port (Eds.), Proceedings of the 4th International Conference on Composition-Based Software Systems (LNCS 3412, p. 2).","DOI":"10.1007\/978-3-540-30587-3_2"},{"key":"jossp.2011070102-34","doi-asserted-by":"crossref","unstructured":"Lehman, M. M. (1978). Programs, cities, students, limits to growth? Programming Methodology, 42-62.","DOI":"10.1007\/978-1-4612-6315-9_6"},{"key":"jossp.2011070102-35","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1980.11805"},{"key":"jossp.2011070102-36","author":"T. C.Lethbridge","year":"2001","journal-title":"Object-oriented software engineering: Practical software development using UML and Java"},{"key":"jossp.2011070102-37","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2009.33"},{"key":"jossp.2011070102-38","doi-asserted-by":"crossref","unstructured":"Lungu, M., Lanza, M., & G\u00eerba, T. (2006). Package patterns for visual architecture recovery. In Proceedings of the 10th European Conference on Software Maintenance and Reengineering.","DOI":"10.1109\/CSMR.2006.39"},{"key":"jossp.2011070102-39","author":"A.Macro","year":"1987","journal-title":"The craft of software engineering"},{"key":"jossp.2011070102-40","doi-asserted-by":"crossref","unstructured":"Mockus, A. (2007). Large-scale code reuse in open source software. In Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development.","DOI":"10.1109\/FLOSS.2007.10"},{"key":"jossp.2011070102-41","doi-asserted-by":"crossref","unstructured":"Orsila, H., Geldenhuys, J., Ruokonen, A., & Hammouda, I. (2008). Update propagation practices in highly reusable open source components. In Proceedings of the IFIP 20th World Computer Congress on Open Source Software (Vol. 275, pp. 159-170).","DOI":"10.1007\/978-0-387-09684-1_13"},{"key":"jossp.2011070102-42","doi-asserted-by":"publisher","DOI":"10.1145\/361598.361623"},{"issue":"2","key":"jossp.2011070102-43","first-page":"131","article-title":"Foundations for the study of software architectures. ACM SIGSOFT Software Engineering Notes, 17(4), Runeson, P., & H\u00f6st, M. (2009). Guidelines for conducting and reporting case study research in software engineering.","volume":"14","author":"D. E.Perry","year":"1992","journal-title":"Empirical Software Engineering"},{"key":"jossp.2011070102-44","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-662-03345-6","author":"J.Sametinger","year":"1997","journal-title":"Software engineering with reusable components"},{"key":"jossp.2011070102-45","doi-asserted-by":"crossref","unstructured":"Sartipi, K., Kontogiannis, K., & Mavaddat, F. (2000). A pattern matching framework for software architecture recovery and restructuring. In Proceedings of the 8th International Workshop on Program Comprehension (pp. 37-47).","DOI":"10.1109\/WPC.2000.852478"},{"key":"jossp.2011070102-46","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.66"},{"key":"jossp.2011070102-47","doi-asserted-by":"crossref","unstructured":"Senyard, A., & Michlmayr, M. (2004). How to have a successful free software project. In Proceedings of the 11th Asia-Pacific Software Engineering Conference (pp. 84-91).","DOI":"10.1109\/APSEC.2004.58"},{"issue":"12","key":"jossp.2011070102-48","doi-asserted-by":"crossref","first-page":"868","DOI":"10.17705\/1jais.00248","article-title":"Code reuse in open source software development: Quantitative evidence, drivers, and impediments.","volume":"11","author":"M.Sojer","year":"2010","journal-title":"Journal of the Association for Information Systems"},{"key":"jossp.2011070102-49","author":"I.Sommerville","year":"2004","journal-title":"Software engineering (International Computer Science Series)"},{"key":"jossp.2011070102-50","unstructured":"SourceForge. (2011). Email client. Retrieved from http:\/\/sourceforge.net\/directory\/?q=email%20client"},{"key":"jossp.2011070102-51","unstructured":"Swanson, E. B. (1976). The dimensions of maintenance. In Proceedings of the 2nd International Conference on Software Engineering (pp. 492-497)."},{"key":"jossp.2011070102-52","author":"C.Szyperski","year":"2002","journal-title":"Component software: Beyond object-oriented programming"},{"key":"jossp.2011070102-53","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2004.1270770"},{"key":"jossp.2011070102-54","doi-asserted-by":"crossref","unstructured":"Tran, J. B., Godfrey, M. W., Lee, E. H. S., & Holt, R. C. (2000). Architectural repair of open source software. In Proceedings of the 8th International Workshop on Program Comprehension (pp. 48-59).","DOI":"10.1109\/WPC.2000.852479"},{"key":"jossp.2011070102-55","unstructured":"Tran, J. B., & Holt, R. C. (1999). Forward and reverse repair of software architecture. In Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research."},{"key":"jossp.2011070102-56","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(81)90031-5"},{"key":"jossp.2011070102-57","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2007.09.001"},{"key":"jossp.2011070102-58","unstructured":"Wheeler, D. A. (n.d.). SLOCCount. Retrieved from http:\/\/www.dwheeler.com\/sloccount\/"},{"key":"jossp.2011070102-59","journal-title":"Lamp (software bundle)"},{"key":"jossp.2011070102-60","author":"R. K.Yin","year":"2003","journal-title":"Case study research: Design and methods"}],"container-title":["International Journal of Open Source Software and Processes"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=68148","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,2]],"date-time":"2022-06-02T01:08:54Z","timestamp":1654132134000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/jossp.2011070102"}},"subtitle":["A Case Study"],"short-title":[],"issued":{"date-parts":[[2011,7,1]]},"references-count":61,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2011,7]]}},"URL":"https:\/\/doi.org\/10.4018\/jossp.2011070102","relation":{},"ISSN":["1942-3926","1942-3934"],"issn-type":[{"value":"1942-3926","type":"print"},{"value":"1942-3934","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011,7,1]]}}}