L은 OSS를 정상적으로 유지하는 규칙서를 의미합니다 | OSS의 기초
안녕, 너드들! 오픈소스 소프트웨어의 세계를 한 글자씩 파헤쳐 보는 '오-에스-에스(OSS)의 기초(ABC)'에 다시 오신 걸 환영합니다. 저는 테일러입니다. 오늘은 L, 즉 라이선스에 대해 알아볼 거예요. 네, 저도 알아요. 법적인 이야기가 딱히 흥미진진하진 않죠. 하지만 믿어주세요, 여러분이 꼭 알아야 할 중요한 내용이에요!
오픈소스 라이선스에 대해 한 가지 알아두세요 - 이건 역대 최대 규모의 소프트웨어 공유 파티를 위한 규칙서 같은 거예요. 이게 없다면 완전한 혼란이 벌어질 거예요. 누군가에게 차를 빌려주면서, 그 사람이 차를 핫 핑크색으로 칠해도 되는지, 엔진을 교체해도 되는지, 아니면 파괴 경주에 사용해도 되는지에 대한 규칙이 전혀 없다고 상상해 보세요. 라이선스가 없다면 소프트웨어도 기본적으로 그런 상태가 될 거예요!
이 라이선스들을 크게 두 가지 유형으로 나눠 보자. 첫째, 허용적인 라이선스들이다. 이건 자유로운 라이선스들이다. MIT와 아파치 라이선스는 "뭐든 마음대로 해도 돼, 근데 출처는 꼭 밝혀줘"라고 말하는 멋진 친구 같은 존재다. 상업용 제품에 코드를 사용하고 싶다고? 마음껏 해봐. 수정하고 싶으세요? 마음껏 하세요. 그 작은 저작권 표시만 그대로 유지해 주시면 됩니다.
그다음엔 카피레프트 라이선스가 있는데, 이건 넷플릭스 비밀번호를 공유하지만 엄격한 조건을 거는 친구 같은 거죠. 그중에서도 GNU 일반 공중 사용 허가서(GPL)가 대표주자입니다. 핵심은 "물론 이 코드를 사용해도 되지만, 수정해서 공유할 땐 반드시 오픈소스로 유지해야 한다"는 거예요. 마치 소프트웨어 공유 다단계 판매 같은 건데, 좋은 의미로 말이죠!
라이선스를 고르는 건 넷플릭스에서 볼 콘텐츠 고르는 것과는 달라요. 눈을 감고 마구 클릭할 수 있는 게 아니죠. 여러분의 코드가 대기업 프로젝트를 포함해 어디서든 사용되길 원한다면, MIT 같은 관대한 라이선스를 선택하세요. 하지만 오픈소스 정신을 지키고 여러분의 코드가 영원히 자유롭고 공개되길 원한다면, GPL이 딱 맞을 거예요.
하지만 여기서 문제가 생깁니다. 모든 라이선스가 서로 잘 어울리는 건 아니거든요. 마치 서로 다른 보드게임 규칙을 섞어보려는 것과 같습니다. 가끔은 잘 맞기도 하지만, 때로는 엉망이 되기도 하죠. GPL 코드를 다른 라이선스와 혼합하는 건 눈가리개를 하고 루빅스 큐브를 풀려는 것과 같습니다. 기술적으로는 가능하지만, 굳이 그런 고생을 할 필요가 있을까요?
몇 가지 오해를 바로잡자. 오픈소스라고 해서 아무나 마음대로 쓸 수 있는 건 아니다. 가장 관대한 라이선스에도 기본적인 규칙은 존재한다. 그리고 코드에 라이선스가 필요 없다고 생각한다면? 그건 마치 차량 등록 없이 차를 길거리에 내버려 두는 것과 같다. 기술적으로는 존재하지만, 아무도 건드리고 싶어 하지 않을 것이다.
라이선스의 정말 멋진 점은 오픈소스 운동 전체를 어떻게 형성해왔는지입니다. 이것들 덕분에 우리는 변호사가 매번 끼어들지 않아도 서로의 작업 위에 구축할 수 있습니다. 기업들이 두려움 없이 오픈소스 코드를 사용할 수 있는 이유이며, 개발자들이 자신의 작업이 오용되지 않을 것임을 알면서 공유할 수 있는 이유이기도 합니다.
OSS의 ABC 시리즈 열두 번째 이야기였습니다! 다음 시간에는 M, 즉 유지보수자(Maintainers)에 대해 이야기해 보겠습니다. 오픈소스 세계의 진정한 MVP인 그들은 프로젝트를 운영하고 버그를 잡아내는 핵심 인물들이죠. 그때까지 라이선스는 명확히, 저작권 표시는 꼼꼼히 챙기세요! 그럼 다음에 봐요!