What is Copilot?
Copilot을 처음 써본 개발자들은 말합니다.
"아니 생각 보다 괜찮은데?"
(반농담) "나보다 코딩 더 잘짜주는거 같은데?"
Copilot 간단 소개
MS 투자로 발매된 Copilot은 *OpenAI의 *Codex로(*GPT-3기반) 구동되고 있는
실무에서도 사용할수 있는 코드를 자동 생성해주는 AI 코딩 프로그램입니다.
Copilot AI는 GitHub을 통해 학습을 하고 그것을 토대로 자동 코드생성, 보완 서비스를 제공하고 있습니다.
올해 초까지 베타버전을 제공하다가 22년 6월 22일부로 유료 서비스를 실시했습니다.
(GitHub를 통한 학습이 문제가 되고 있는데 뒷부분에서 다루도록 하겠습니다!)
Copilot은 자동 코드생성을 2가지 방법으로 제공 해주는데요
함수명을 이용한 코드 자동 생성
이렇게 최소값을 찾는것을 의미하는 함수명만 입력 해줘도
function getLowestNumber(
와..이렇게 코드를 바로 자동완성 완성해줘요
function getLowestNumber(arr) {
var lowest = arr[0];
for (var i = 1; i < arr.length; i++) {
if (arr[i] < lowest) {
lowest = arr[i];
}
}
return lowest;
}
(cf. Nomad Coders - https://www.youtube.com/watch?v=x_Yw2f161CU)
어떤 기능이 필요한지 Command로 작성
예를 들어 유저 생성이 필요하다 하는 경우에
create to user
AI로부터 학습된 user를 생성하는 코드들을 자동으로 완성해주거나 여러 제시안들을 줘서 선택할수 있도록 합니다.
이 부분에서는 정말 놀랐었는데..
"미쳤다 정말...AI에게 개발자들이 위협받을 수 있는 초입단계가 시작됐구나"
라는걸 느꼈습니다
OpenAI의 CEO인 Sam Altman은 AI로 인해 컴퓨터 앞에서 일을 하는 것이
물리적으로 일하는 것보다 더 빨리 대체 될수도 있다는 트윗을 남겼습니다..ㅎㄷㄷ
https://twitter.com/sama/status/1404100794245214215
물론 지금 당장은 Copilot이 코드를 이해하고서 완벽한 코딩을 생성해내는것은 아니지만..
이게 시작이라고도 생각합니다..
what's wrong with copilot?
그럼 이렇게 좋아보이는 Copilot에는 무슨 문제가 있을까요?
바로 Copilot AI가 학습하는 방법에 문제가 있습니다.
앞서 Copilot은 MS가 인수한 Github의 모든 코드를 대상으로 학습한다고 말씀드렸는데요
물론 Github에 올라와있는 코드들은 '오픈소스'이기 때문에 자유롭게 사용하는것까지는 괜찮지만
다음 2가지 에서 문제점이 제기 되고 있습니다.
Copilot에서 학습을 위해 사용된 수많은 오픈소스들
오픈소스에는 '라이선스'라는 것이 적용되어 있고
라이선스에는 사용자가 해당 오픈소스를 사용했을때 준수해야할 의무사항이 명시되어있습니다.
MS에서는 저작자가 있는 코드를 어떠한 의무사항 준수도 없이
AI 학습에 사용하고 있으며 현 시점에서는 유료 서비스까지 진행하고 있죠..
오픈소스 사용에 대한 MS측의 주장
위 문제에서 MS가 주장하는것은
Github의 소스코드는 fair use 로서 사용하는것이다! 라는 부분입니다.
fair use는 미국 저작권법상의 개념으로 간단하게 설명드리면
라이선스가 있는 소프트웨어라고 하더라도 학문이나 연구등의 목적으로 사용되는 경우에는 fair use로 사용이 가능하여
작성자의 허가가 필요하지 않고 라이선스의 모든 의무를 무시할 수 있는 개념입니다.
fair use라고 하더라도 존재하는 문제점
MS측에서는 0.1%의 확률이라고는 하지만
Copilot이 생성한 코드가 Github에 올라가 있는
저작권자의 라이선스가 적용된 코드를 생성해주는 경우도 있다는것입니다.
라이선스 내용이 제거 된 상태로 자동생성된 코드이기 때문에
사용자는 아무런 의심없이 자신의 프로젝트에 사용하게 되고
만약 이런 코드들이 상용 프로젝트에 다수 포함 된 상태로 서비스가 배포되고
추후에 저작권자에게 라이선스 의무사항 미준수로 소송을 당하게 되면 그 책임은 누구에게 있는가도 문제입니다.
아직 논란이 진행형인 상황인 만큼 아무래도 상용 프로젝트를 배포하는 기업에서는 아직은 Copilot을 무조건 사용해도 된다라고 하기에는 잠재적 Risk가 있는 부분이 아닐까 싶습니다..
(개인적으로는 Copilot이 유료서비스를 하고 있는지금 과연 fair use라고 볼수 있는가? 라는 의문점이 있습니다)
추가설명
1) OpenAI
- 일론머스크와 샘 알트만이 공동설립한 비영리 기관으로 AI가 인류에 공헌하는 것을 목표로 함.
- 19년도에 MS의 10억달러 투자와 capped profit(제한된 이익법인) 으로 변경
2) Codex
- GPT-3를 기반으로 만들어졌으며 Github의 모든 코드로 AI학습
3) GPT-3 (Generative Pre-trained Transformer 3)
- 언어(텍스트) 예측 인공지능
- 인터넷의 모든글들을 크롤링하는 'Common Crawl' 라는 Web을 통해 웹사이트, 블로그,댓글등으로 학습시킴
- 단순분석하는 단계로 사고력이나 기본적인 논리는 아직 없음
- 코딩도 학습할수 있으나 개발자의 더블체크가 필요 -> 이것을 발전시킨것이 Codex
- 활용방법 예
: 내가 썼던 모든글들을 GPT3에 주입하면 내 대신 과제나 글, 작가라면 소설등을 마치 나인것처럼 작성해줄수 있음
주요 참고자료
'오픈소스(Open Source)' 카테고리의 다른 글
BUSL-1.1 오픈 소스와 상업적 라이선스의 절충안 (1) | 2024.09.06 |
---|---|
각종 Google SDK 들은 오픈소스일까? 의무사항이 따로 있나? (0) | 2023.02.03 |
GPL 계열 라이선스 vs 그 외 라이선스 별 충돌 정리 (0) | 2022.11.08 |
Copyleft 계열의 오픈소스 주요 의무사항 Checklist (0) | 2022.10.14 |
다수의 오픈소스 컨설팅 경험을 바탕으로 오픈소스(Open Source)에 대한 포스팅을 주기적으로 업로드 예정입니다. (0) | 2022.10.13 |