An exploratory study of the evolution of software licensing
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Distinguishing copies from originals in software clones
Proceedings of the 4th International Workshop on Software Clones
A sentence-matching method for automatic license identification of source code files
Proceedings of the IEEE/ACM international conference on Automated software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
Finding software license violations through binary code clone detection
Proceedings of the 8th Working Conference on Mining Software Repositories
Social interactions around cross-system bug fixings: the case of FreeBSD and OpenBSD
Proceedings of the 8th Working Conference on Mining Software Repositories
Software bertillonage: finding the provenance of an entity
Proceedings of the 8th Working Conference on Mining Software Repositories
Proceedings of the 8th Working Conference on Mining Software Repositories
License risks from ad hoc reuse of code from the internet
Communications of the ACM
REPERTOIRE: a cross-system porting analysis tool for forked software projects
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
A case study of cross-system porting in forked projects
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Tuning research tools for scalability and performance: The NiCad experience
Science of Computer Programming
Empirical Software Engineering
Hi-index | 0.02 |
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.