Code siblings: Technical and legal implications of copying code between applications

TitleCode siblings: Technical and legal implications of copying code between applications
Publication TypeConference Paper
Year of Publication2009
AuthorsGerman, DM, Di Penta, M, Gueheneuc, Y-G, Antoniol, G
Secondary Title2009 6th IEEE International Working Conference on Mining Software Repositories (MSR)2009 6th IEEE International Working Conference on Mining Software Repositories
Pagination81 - 90
PublisherIEEE
Place PublishedVancouver, BC, Canada
ISBN Number978-1-4244-3493-0
Keywordsbsd, fossology, freebsd, linux, openbsd, source code
Abstract

Source code cloning does not happen within a single system only. It can also occur between one system and another. We use the term code sibling to refer to a code clone that evolves in a different system than the code from which it originates. Code siblings can only occur when the source code copyright owner allows it and when the conditions imposed by such license are not incompatible with the license of the destination system. In some situations copying of source code fragments are allowed - legally - in one direction, but not in the other. In this paper, we use clone detection, license mining and classification, and change history techniques to understand how code siblings - under different licenses - flow in one direction or the other between Linux and two BSD Unixes, FreeBSD and OpenBSD. Our results show that, in most cases, this migration appears to happen according to the terms of the license of the original code being copied, favoring always copying from less restrictive licenses towards more restrictive ones. We also discovered that sometimes code is inserted to the kernels from an outside source.

DOI10.1109/MSR.2009.5069483
Full Text
AttachmentSize
PDF icon 81CodeSiblings.pdf190.99 KB