검색 상세

커뮤니케이션 소프트웨어에서 오픈 소스 라이선스(GPLv2) 준수를 위한 소켓 통신 인터페이스 리팩토링 기법

Socket Communication Interface Refactoring Approach to Comply with Open Source Software License (GPLv2) in Communication Software

초록/요약

본 연구에서는 오픈 소스 소프트웨어를 사용하여 소프트웨어를 개발할 때 장애가 되는 라이선스 문제를 GPLv2 라이선스의 위반 사항을 중심으로 리팩토링 관점에서 개선 방안을 설명한다. 한정된 개발 일정으로 인해 최근 산업계에서는 오픈 소스 소프트웨어를 사용하여 소프트웨어를 개발하는 경우가 빈번히 발생하고 있다. 그러나 오픈 소스 소프트웨어는 그것을 이용하는 사용자에게 일정 의무를 부과하는 라이선스를 가지고 있다. 그러한 오픈 소스 소프트웨어 라이선스 중GPLv2 라이선스는 라이선시(Licensee)의 파생저작물까지 전부 공개해야 되는 조건을 가진다. 따라서 GPLv2 라이선스를 취득한 오픈 소스 소프트웨어를 사용하는 라이선시 입장에서는 비즈니스 로직(Business Logic)에 해당하는 코드의 공개범위를 최대한 줄일 필요가 있다. 이를 위해서 사용하는 방법은 소켓 통신, 파이프, 명령행 인자 등의 방법이 있는데 본 논문에서는 소켓 통신을 사용하여 독립된 프로그램으로 소스 코드의 구조를 변경하는 접근 방안을 제안한다. 또한 본 논문에서는 오픈 소스 소프트웨어 라이선스를 위반한 특정 패턴에 대해 개선이 가능하도록 리팩토링 기법을 제안한다. 본 논문에서 제안하는 리팩토링 기법을 검증하기 위해 전문가 8명을 섭외하여 GPLv2를 위반한 작은 규모의 소프트웨어를 대상으로 실험을 수행하였다. 이 실험이 효과적임을 증명한 뒤 실제 산업에서 개발한 소프트웨어를 대상으로 GPLv2 개선 작업을 수행하였다.

more

초록/요약

The following research explains improvement plans in a refactoring perspective where it is based on the use of open source software and the problems and violation faced of GPLv2 licenses when developing software. Due to limited SW development times, recently there are frequent software developments by using open source software in the industrial world. However, open source software imposes a license as an obligation to the open source software user. The licensee have terms where all derivative work has to be revealed. Therefore, the licensee who uses the open source software with acquiring the GPLv2 license needs to reduce the open range of codes as much as possible in a business logic. In order for this to happen, there are ways by using socket communication, pipes, command-line arguments and others, but this thesis proposes the changing the source code structure with socket communication as an independent program. In addition, the thesis also proposes the improvement of specific patterns that are violated by open source software licenses with the refactoring technique. To test the thesis of the refactoring technique 8 experts were selected to use the GPLv2 violation on a small-sized software. After proving the tests were effective, improvements were carried out on a developed software by a real industry on the GPLv2 subject.

more