
오픈소스는 프로그램을 만든 사람이 그 원본 코드를 누구나 볼 수 있게 공개하고, 정해진 조건 안에서 자유롭게 가져다 쓰거나 고쳐 쓸 수 있도록 허용한 소프트웨어를 뜻한다. 홈페이지나 앱을 직접 만들려는 사람이 도구를 고르는 단계에서 가장 먼저 마주치는 말이기도 하다. 이 글은 오픈소스라는 말이 정확히 무엇을 가리키는지, 그리고 오픈소스 AI나 오픈소스 LLM처럼 파생된 표현들이 어떻게 다른지를 차례로 설명한다.
오픈소스가 뜻하는 구조
오픈소스의 핵심은 코드가 공개되어 있다는 점과, 그 코드를 다시 쓸 때 지켜야 할 조건이 함께 딸려 있다는 점이다. 조건은 만든 사람이 정한 사용 허가서, 흔히 라이선스라고 부르는 문서에 적혀 있다. 어떤 라이선스는 고친 코드도 다시 공개하라고 요구하고, 어떤 라이선스는 공개 없이 상업적으로 써도 된다고 허용한다. 그래서 오픈소스라는 말만으로는 무엇을 해도 되는지 알 수 없고, 그 프로그램에 붙은 라이선스 문서를 직접 확인해야 한다.
오픈소스라는 방식이 자리 잡은 배경에는 여러 사람이 코드를 함께 들여다보면 문제를 더 빨리 찾아내고 고칠 수 있다는 생각이 깔려 있다. 혼자 만든 프로그램은 만든 사람이 손을 놓으면 그대로 멈추지만, 코드가 공개되어 있으면 다른 사람이 이어받아 계속 고쳐 나갈 수 있다. 이런 구조 때문에 홈페이지나 앱을 만들 때 쓰는 기반 도구 중에는 오픈소스로 만들어진 것이 많다. 특정 회사 하나에 기술을 전부 맡기지 않아도 된다는 점이 오픈소스를 선택하는 이유로 자주 꼽힌다.
오픈소스 AI와 오픈소스 LLM은 무엇이 다른가
오픈소스 AI는 인공지능 프로그램 가운데 원본 코드나 모델을 공개 조건에 따라 가져다 쓸 수 있게 만든 것을 통틀어 가리키는 말이다. 이 가운데 글을 이해하고 만들어 내는 능력을 갖춘 프로그램을 따로 오픈소스 LLM이라고 부른다. 다만 인공지능 모델은 코드뿐 아니라 학습에 쓴 데이터와 학습을 마친 결과물인 가중치가 따로 존재해서, 코드만 공개했는지 가중치까지 공개했는지에 따라 실제로 쓸 수 있는 범위가 크게 달라진다. 그래서 오픈소스 AI라고 소개된 모델도 안을 들여다보면 공개 정도가 저마다 다르다는 점을 알아 두어야 한다.
오픈소스 LLM 순위를 찾는 사람이 많지만, 이런 순위는 어떤 기준으로 평가했는지에 따라 달라지고 새로운 모델이 나올 때마다 자리가 바뀐다. 그래서 특정 시점에 나온 순위표를 그대로 외워 두기보다, 평가를 진행하는 기관이나 커뮤니티가 운영하는 비교 사이트에서 그때그때 확인하는 방식이 더 오래간다. 순위를 볼 때는 전체 점수만 보지 말고, 자신이 만들려는 홈페이지나 앱에 실제로 필요한 능력, 이를테면 글쓰기나 번역이나 코드 작성 항목을 따로 살펴보는 것이 도움이 된다. 순위가 높다고 해서 모든 조건에서 가장 적합한 선택이 되는 것은 아니다.
실제로 막히는 지점
오픈소스 hwp나 오픈소스 hwp 앱을 찾는 경우처럼, 특정 문서 형식을 열고 편집하는 기능을 오픈소스 프로그램에서 완전히 그대로 구현하기는 쉽지 않다. 문서 형식을 만든 곳에서 그 구조를 전부 공개하지 않았다면, 오픈소스 쪽에서는 알려진 정보만으로 비슷하게 흉내 내는 수준에 머물 수 있다. 그래서 오픈소스 문서 프로그램을 쓸 때는 원래 형식으로 만든 문서를 열었을 때 모양이나 기능이 완전히 똑같이 보이지 않을 수 있다는 점을 미리 알아 두는 것이 좋다. 오픈소스 게임도 비슷한데, 게임을 이루는 그림이나 소리 자료는 코드와 별도의 저작물이라 코드가 공개되어 있어도 그 자료까지 자유롭게 쓸 수 있는지는 따로 확인해야 한다.
오픈소스를 둘러싼 흔한 오해 가운데 하나는 오픈소스이면 무조건 돈을 내지 않아도 된다는 생각이다. 코드 자체를 가져다 쓰는 데는 값을 매기지 않는 경우가 많지만, 그 코드를 이용해 서버를 운영하거나 서비스를 제공하는 데는 별도의 비용이 들어간다. 또 하나는 오픈소스이면 아무렇게나 가져다 써도 된다는 생각인데, 앞서 말한 라이선스 조건을 어기면 나중에 저작권 문제로 이어질 수 있다. 오픈소스는 자유롭게 쓸 수 있는 폭이 넓다는 뜻이지, 조건이 전혀 없다는 뜻은 아니다.
오픈소스 개발자 대회는 여러 사람이 정해진 기간 안에 오픈소스 프로젝트에 코드를 보태거나 새 프로젝트를 만들어 보는 행사를 가리킨다. 이런 대회는 처음 코드를 공개해 보는 경험을 쌓거나, 다른 사람이 만든 코드를 읽고 고치는 연습을 하려는 사람에게 도움이 된다. 홈페이지나 앱을 직접 만들어 보고 싶은 사람이라면 이런 대회에 나온 프로젝트를 살펴보는 것도 도구를 고르는 방법 가운데 하나가 될 수 있다.
오픈소스를 처음 접할 때 헷갈리기 쉬운 갈래를 나누어 보면 아래와 같다.
| 구분 | 무엇을 뜻하나 |
|---|---|
| 오픈소스 | 원본 코드를 공개하고 조건에 따라 재사용을 허용한 소프트웨어 |
| 오픈소스 AI | 인공지능 프로그램 가운데 코드나 모델을 공개 조건에 따라 쓸 수 있게 한 것 |
| 오픈소스 LLM | 오픈소스 AI 가운데 글을 이해하고 생성하는 모델 |
| 라이선스 | 그 코드를 어떻게 재사용해도 되는지 정한 조건 문서 |
무엇을 먼저 확인해야 하나
오픈소스 도구를 홈페이지나 앱 제작에 쓰기로 했다면, 가장 먼저 그 프로젝트에 붙은 라이선스 문서를 읽어 상업적으로 써도 되는지, 고친 코드를 다시 공개해야 하는지를 확인하는 것이 순서다. 다음으로는 그 프로젝트가 계속 관리되고 있는지, 즉 문제가 생겼을 때 고쳐 주는 사람이 있는지를 살펴보아야 한다. 오픈소스 AI나 LLM을 쓰려는 경우에는 코드뿐 아니라 학습을 마친 결과물인 가중치까지 공개되어 있는지, 그리고 그 결과물을 상업적으로 써도 되는지를 별도로 확인해야 한다. 이 순서를 거치지 않고 코드만 보고 바로 가져다 쓰면, 나중에 조건을 어겼다는 사실을 뒤늦게 알게 될 수 있다.
오픈소스라는 말은 하나의 정해진 상품이 아니라 공개와 재사용에 관한 여러 방식을 통틀어 부르는 이름이다. 홈페이지나 앱을 만들 때 오픈소스 도구를 쓰려 한다면, 그 도구에 붙은 라이선스 문서와 관리 상태를 프로젝트가 올라와 있는 곳에서 직접 확인하고 시작하는 것이 가장 확실한 방법이다.
· · · · · · · · · ·
스페셜타임스는 AI 기술의 도움을 받아 더 빠르고 다양한 뉴스를 독자에게 전달하기 위해 노력하고 있습니다.
