안경잡이개발자

728x90
반응형

  오픈 소스(Open Source)란 '공개된 소스코드'를 의미합니다. 특정한 소프트웨어를 개발한 개발자의 권리를 지키면서 누구나 소스코드를 확인할 수 있도록 합니다. 소스코드가 공개된다는 것은 어떤 의미일까요? 맞습니다. 공짜(Free)입니다.


  오픈 소스는 대학교 시절 온갖 컴퓨터 과제의 도우미와도 같은 존재였습니다. 정말 없는 오픈 소스가 없거든요. 가장 대표적인 오픈 소스로는 제가 강의에서 굉장히 자주 다루었던 부트스트랩(Bootstrap)이 있습니다.



  (부트스트랩: 가장 유명한 웹 디자인 프레임워크 중 하나) 부트스트랩은 세계적으로 가장 큰 오픈 소스 저장소인 Git Hub에서 확인할 수 있습니다.



  오픈 소스 활동은 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 행위, 컨트리뷰션(Contribution)하는 행위 등을 지칭합니다.


  컨트리뷰션은 말 그대로 기여한다는 의미이며 기능 추가, 보안 취약점 수정 등 뿐만 아니라 오타 수정, 번역, 의견 제시 등도 컨트리뷰션이라고 할 수 있습니다. 그렇기 때문에 사실상 누구나 컨트리뷰션을 할 수 있습니다.


  어떠한 이익도 없을 것 같은 오픈 소스 활동. 다시 말해 컨트리뷰션은 왜 할까요? 다양한 이유가 있지만, ① 오픈 소스 활동 자체는 공개된 기록으로 남기 때문에 구직 활동을 할 때 이력서에 활동 이력을 담을 수 있습니다. 그리고 ② 내가 작업한 새로운 기능을 다른 개발자들도 사용해보고, 이를 평가하여 개선시킬 수 있습니다.


  커미터(Committer)는 실제로 누군가 컨트리뷰션을 하면, 해당 내용을 리뷰하고 실제 프로젝트에 반영할지를 결정하는 사람입니다. 다시 말해 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 사람들을 의미합니다.


  그렇다면 왜 프로젝트를 오픈 소스로 공개하여 누구나 볼 수 있도록 하는 걸까요?


  ① 사회 공헌

  ② 소프트웨어의 품질 향상

  ③ 어쩔 수 없이


  맞습니다. 어쩔 수 없이 오픈 소스로 공개하는 경우도 있습니다. 이는 오픈소스 라이센스 때문인 경우가 많은데요. 오픈 소스 라이센스는 대체 무엇일까요? 실제로 오픈 소스를 활용하여 개발할 때는 저작권 및 라이센스를 명시해야 합니다.


※ 오픈소스 라이센스 ※


  대표적인 오픈소스 라이센스 몇 가지만 알아봅시다.


 ▶ MIT License: 무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무 없음

 ▶ Apache License: 무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무 없음

 ▶ GPL: 무료, 배포 가능, 소스코드 수정 가능, 2차 저작물 공개 의무 있음

 ▶ Beerware: 만나면 그냥 술이나 사주자

728x90
반응형