오프라인 모임 준비 checklist

OpenChain Korea Workgroup 오프라인 모임 준비에 필요한 체크리스트를 정리합니다.

안녕하세요. 지난 3월 28일은 모두에게 기억에 남을 시간을 가졌습니다. 바로 3년 만에 COVID를 지나고 처음 갖는 오프라인 모임이었는데요. 너무 오랜만에 오프라인 모임을 가지면서 생각보다 장소 제공에 많은 잡다한준비가 필요하다는 것을 알게 되었습니다.

다음에 언젠가 이런 오프라인 모임을 가지게 될 텐데, 이번 경험을 떠올려 오프라인 모임 준비 체크리스트를 작성해 보았습니다.(다음 모임 주최자가 또 제가 될 수도 있잖아요..?앗, 말조심!)

모임의 준비

모임을 가지기 전에 하면 좋을 작업 목록입니다. Planning Sub-group에서 해야 할 작업도 포함됩니다.

  • 모임의 일시 정하기
  • 발표자 모집
  • 사전 참가 신청받기 - 구글 설문 추천(얼마나 큰 장소가 필요할지 가늠, 출입 등록에 필요한 정보 수집)
  • 외부인 출입 방법 확인, 필요시 사전 등록
  • 외부인 주차 방법 확인
  • 외부인 방문 시 전자기기 소지 가능 여부 확인
  • 외부인 방문 시 사용 가능한 무선 인터넷 확인
  • 참가자 명찰 제작(이름, 소속을 서로 알기 쉽게)
  • 공간 안내 슬라이드 제작
  • 공간 방문에 대한 안내 메일 발송
  • 공간 확인 및 세팅 물품 확인 (책상, 의자, 발표자 노트북, 마이크, 음향, 빔프로젝터, 레이저포인터 등등)
  • 다과, 굿즈 등 필요한 경우 예산 준비

모임 당일

모임 당일, 행사 시작 전에 해야 할 작업 목록입니다.

  • 행사 안내문 설치(주변 다른 임직원에게 안내용)
  • 마이크, 음향, 빔프로젝터 사용법/연결 확인
  • 발표 노트북 준비
  • 공간 세팅, 필요시 의자 추가
  • 와이파이 안내 (프린트물 준비해서 공간에 세팅)
  • 참가자 명찰 배부 공간(책상) 마련
  • 필요시 다과 준비
  • 필요시 회사 소개 자료 비치
  • 입실 및 자리 안내

행사 종료 이후

행사 종료 이후에 해야 할 작업 목록입니다.

  • 퇴실 안내(출입증 반납, 주차 정산)
  • 행사 안내문 철거
  • 공간 정돈

여기까지 기억에 남은 것들을 바탕으로 작업 목록을 정리해 보았는데요. 부디 이후 행사 준비에 도움이 되기를 바랍니다. 또 이후 행사에서 새롭게 배우는 점이 있다면 다시 목록을 업데이트하겠습니다.

감사합니다.

기업의 효과적인 오픈소스 관리 방안 (2) OpenChain Korea Work Group

이전 글에서는 기업의 효과적인 오픈소스 관리 방안으로 글로벌 협력을 위한 OpenChain Project를 소개했습니다. 이번에는 한국 기업이 오픈소스를 효과적으로 관리하기 위한 협업 커뮤니티인 OpenChain Korea Work Group에 대해 소개하려고 합니다.

OpenChain Korea Work Group

OpenChain Korea Work Group(KWG)은 Linux Foundation의 OpenChain Project의 하위 그룹입니다. 이 그룹은 오픈소스 정신인 협업과 공유를 통해 모두가 효과적으로 오픈소스 관리에 성공하기 위한 방법을 고민하고 공유하는 모임입니다. KWG에는 한국의 주요 ICT 기업의 오픈소스 담당자들이 참여하고 있습니다.

Untitled

OpenChain KWG 정기 미팅

오픈소스 관리를 위한 정책과 프로세스를 이미 구축한 대기업들도, 현대의 거대하고 복잡한 소프트웨어 공급망을 고려한다면 오픈소스 라이선스나 보안 취약점 리스크에서 벗어나기 어렵습니다. 결국, 소프트웨어 공급망 내 모든 기업의 오픈소스 관리 수준을 높이는 것이 중요합니다. 이를 위해서는 오픈소스 관리 방법에 대한 이해도가 높은 기업이 먼저 노하우를 공유하고, 다른 기업에서 쉽게 참여할 수 있도록 안내하는 길잡이가 필요합니다.

기업이 보유한 오픈소스 관리 자산을 경쟁사와 공유한다고 해도 매출에 악영향을 끼치지 않습니다. 반면, 경쟁사의 오픈소스 관리 정책을 알아내더라도 이를 기업의 이익과 연결할 수 없습니다. 기업들이 서로 오픈소스 관리 Best Practice를 공유한다면, 각 기업은 적은 비용과 리소스 투입으로도 큰 효과를 얻을 수 있습니다. 이러한 아이디어에 공감하여, LG전자, SK텔레콤, 카카오, 현대자동차, 삼성전자의 오픈소스 담당자들이 참여한 첫 번째 OpenChain KWG 모임이 2019년 1월에 개최되었습니다.

17차 미팅 (오프라인)

모임은 매 분기 진행하고 있으며, 코로나 기간 동안 온라인으로 진행되었습니다. 그러다가, 지난 2023년 3월 28일에는 3년 만에 오프라인 모임을 개최했습니다. 19개 기업/기관에서 50여 명의 오픈소스 담당자가 참석했습니다. 이번 오프라인 모임은 라인플러스에서 준비해 주었습니다. 쾌적한 장소와 음료, 그리고 기념품 등을 제공해주신 라인플러스의 오픈소스 매니저 이서연, 김동혁 님께 감사드립니다! ^^

featured_kwg

이번 모임의 첫 번째 부분에서는 OpenChain Project의 국내외 최신 동향과 보안 보증 규격에 대한 발표가 있었으며, AI 기술에 대한 법적 이슈 및 사례 연구에 대한 발표도 있었습니다. 두 번째 부분에서는 기업의 오픈 소스 관리를 위한 도구를 오픈 소스로 개발하여 공유하는 세션 발표가 있었습니다. 자세한 발표 내용은 이어지는 소개에서 다루겠습니다.

1부 : 세션 발표

OpenChain Global Updat (Linux Foundation, Shane Coughlan)

Linux Foundation의 OpenChain Project General Manager Shane Coughlan은 직접 참석하여 OpenChain Project의 Global Trend를 소개했습니다.

Untitled

오픈소스 컴플라이언스를 위한 표준인 ISO/IEC 5230뿐만 아니라 보안을 위한 표준인 ISO/IEC 18974도 개발 중입니다. 이 표준은 곧 공식 ISO 표준으로 등록될 예정이며, 기업이 준수해야 할 Self-Checklist도 공개되어 있습니다. 이러한 자료들을 활용하여 기업은 효율적인 오픈소스 리스크 관리를 수행할 수 있습니다.

Shane은 KWG 멤버들을 위한 기념품도 가져와서 큰 호응을 얻기도 하였습니다. (Thank you, Shane 😊 )

Untitled

OpenChain 보안 표준 소개 (SK텔레콤, 장학성)

ISO/IEC 5230은 오픈소스 컴플라이언스를 위한 국제 표준입니다. 이 표준은 2020년에 ISO에 등록되었으며, 세계의 많은 기업이 이 표준을 준수하여 오픈소스 컴플라이언스 관리를 훌륭하게 수행하고 있습니다. 기업이 오픈소스를 관리해야 하는 이유는 라이선스 컴플라이언스 뿐만 아니라 보안 취약점에 대한 리스크도 존재하기 때문입니다. OpenChain Project에서는 보안 취약점 관리를 위한 표준, ISO/IEC 18974, OpenChain security assurance specification을 만들었습니다. 저는 이 표준이 어떤 내용으로 구성되어 있는지를 간단히 요약하여 소개하였습니다.

Untitled

이 보안 표준은 ISO/IEC 5230과 동일한 포맷으로 구성되어 있습니다. 라이선스 컴플라이언스 대신 보안 취약점 관리를 위해 수행해야 할 요구 사항을 정의합니다. 기업은 라이선스 컴플라이언스 이외에도 보안 취약점 관리를 위한 정책과 프로세스를 구축해야 합니다. 또한, 발견된 보안 취약점에 대응할 수 있는 절차를 마련해야 합니다.

Untitled

ETRI의 박정숙 님은 최근 제기된 Stable Diffusion 관련 소송을 분석하여 AI 법률 이슈를 소개하였습니다. 발표 자료는 여기에서 확인할 수 있습니다.

Untitled

박정숙님은 AI 관련 법률 제정 현황을 분석하고, 이를 기반으로 AI 관련 오픈소스 컴플라이언스 대응 방안을 모색하여 공유해주셨습니다.

Untitled

2부 : Mini Summit - 오픈소스 관리 자동화 도구

2부에서는 오픈소스 관리를 자동화하기 위한 각 기업의 Best Practice를 공유하는 세션 발표가 있었습니다.

도구 별 의존성 분석 방식 (카카오, 임현지)

카카오 임현지님은 오픈소스 분석 도구의 의존성 분석 방식을 비교 분석하여 발표하셨습니다. 발표 자료는 여기에서 확인할 수 있습니다.

Untitled

대표적인 오픈소스 분석 도구인 FOSSA, FOSSLight, ORT (OSS Review Toolkit), OLIVE Platform 별로 의존성 분석 방식을 파악하여 공유하였습니다.

Untitled

소리소리 OSORI (LG전자, 김소임)

LG전자 김소임님은 OSORI 프로젝트에 대해 소개하는 세션 발표를 하였습니다.

Untitled

OSORI는 오픈소스 정보 데이터를 공개하여 누구나 쉽게 오픈소스 정보를 확인하고 필요한 의무 사항을 준수할 수 있게 하기 위한 오픈소스 프로젝트입니다. LG전자, 삼성전자, 카카오가 보유한 오픈소스 프로젝트에 대한 주요 정보, 라이선스 종류, 이에 따른 주요 준수 사항 및 제약 사항을 항목별로 테이블을 구성한 정보를 데이터베이스화하기 위한 스키마를 정의하였고, 앞으로 데이터 정제, 운영 Policy 정립, 가이드 페이지 구축 등의 로드맵을 소개하였습니다.

Untitled

FOSSLight Roadmap (LG전자, 김경애)

FOSSLight는 LG전자에서 자체 개발하여 사용하고 있는 오픈소스 관리 통합 시스템을 누구나 사용할 수 있도록 2021년 오픈소스로 공개한 프로젝트입니다. LG전자의 김경애 님은 2023년 FOSSLight Roadmap을 소개하였습니다.

Untitled

FOSSLight Project는 2023년 보안 취약점 기능을 개선하고, SBOM 기능 강화, UX개선 등의 로드맵을 가지고 있습니다.

Untitled

요즘 OLIVE 써봤니? (카카오, 황은경)

OLIVE Platform은 카카오에서 개발한 오픈소스 라이선스 검증 서비스이며, 카카오 계정 뿐만 아니라 GitHub, Google, Facebook 등의 계정만 있으면 누구나 무료로 사용할 수 있습니다.

카카오의 황은경 님은 OLIVE Platform의 주요 기능을 소개하였습니다.

Untitled

OLIVE Platform은 소스 코드 노출이 우려되는 경우에도 안심하고 사용할 수 있는 OLIVE CLI 기능이 추가되어 보안에 민감한 금융권에서도 도입될 수 있었습니다.

Untitled

onot, 이제 제법 쓸만해졌어요! (카카오, 한현민)

onot은 SK텔레콤과 카카오가 공동 개발한 오픈소스 프로젝트 입니다. SPDX 규격으로 작성된 SBOM을 오픈소스 고지문으로 자동 변환하는 도구입니다. 카카오의 한현민 님은 최근 onot에 추가된 신규 기능에 대해 소개하였습니다. 발표 자료는 여기에서 확인할 수 있습니다.

Untitled

onot은 Package 정보뿐만 아니라 File 정보도 추출하게 되었고, Multi License 표기도 지원하게 되었습니다. RDF/xml 형태의 SPDX 문서도 오픈소스 고지문을 생성할 수 있으며, 특히 Windows PC에서의 GUI와 같은 보다 편리한 사용 환경을 지원하게 되었습니다.

Untitled

글을 마치며

3년여만에 오프라인으로 모인 모임은 짧은 시간이 아쉬울 정도로 알찼습니다. 멋진 장소와 기념품, 추첨 상품까지 준비해준 라인플러스 이서연 님, 김동혁 님께 다시 한번 감사드립니다.

Untitled

기업들은 오픈소스 관리 업무에서 비슷한 어려움을 겪게 되는데, 이를 어떻게 극복하고 효율화하였는지를 공유하는 것은 서로에게 큰 도움이 됩니다. OpenChain Korea Work Group은 이러한 공감을 갖는 기업의 담당자가 자발적으로 참여하는 모임입니다. OpenChain Korea Work Group은 기업/기관에서 오픈소스 관리 업무를 담당하시는 누구나 참여할 수 있습니다. : 가입 방법

끝으로, OpenChain KWG는 분기마다 정기 미팅을 개최하고 있습니다. 다음 모임은 카카오에서 만날 수 있을 것 같습니다.

그때까지 모두 행복하세요! 😃

기업의 효과적인 오픈소스 관리 방안 (1) 글로벌 협력을 위한 OpenChain Project

기업이 개발하는 제품 소프트웨어의 93% 이상이 오픈소스를 사용한다고 할 정도로 현대 소프트웨어 개발에 오픈소스를 사용하는 건 거의 필수적입니다. 그런데, 사용하는 오픈소스의 53%는 라이선스 컴플라이언스 이슈가 있고, 81%는 보안 취약점을 갖고 있다는 보고가 있습니다. 복잡한 현대 소프트웨어의 개발환경과 방대한 Software Supply Chain을 고려한다면, 기업이 오픈소스로 제품을 개발하면서 라이선스 컴플라이언스와 보안 취약점 리스크 최소화를 위한 오픈소스 관리 노력이 필요한데요, Linux FoundationOpenChain Project는 이러한 노력을 커뮤니티 차원에서 여러 기업이 공유와 협업으로 함께 하기 위한 Project입니다.

2023년 3월 27일, OpenChain Project의 General Manager인 Shane Coughlan이 SK텔레콤을 방문하여 OpenChain Project의 주요 활동, 오픈소스 관련 국제 표준 및 글로벌 동향에 관해 설명하는 시간을 가졌습니다.

Untitled

이 자리에는 SK텔레콤 OSRB와 SK그룹 오픈소스 협의체 멤버(SK플래닛, SK쉴더스, SK(주), Supex추구협의회 등)가 참여하여 다양한 의견을 나누었는데요,

Untitled

이날 Shane은 OpenChain Project에 대해 소개하고, 어떻게 글로벌 협력을 통해 Software Supply Chain에서의 오픈소스 관리 이슈를 공동으로 해결해 가는지 설명하였습니다. 이 글에서는 주요 내용을 소개하려고 합니다.

OpenChain Project Global Community

Software Supply Chain 이슈 관리를 위해 OpenChain Project를 통해 여러 글로벌 기업이 협력하고 있습니다. : https://www.openchainproject.org/community

Platinum Members

Untitled

Community Structure

OpenChain Project에는 다수의 Work Group이 있으며, 각 Work Group에서는 오픈소스 관리를 위한 표준을 만들고 자동화 도구를 함께 개발하고 있습니다. 또한 국가별로 Work Group이 결성되어 있습니다.

Untitled

OpenChain Standard

ISO/IEC 5230:2020, ISO/IEC 18974

가장 가시적인 결과는 오픈소스 관리를 위한 최초의 국제 표준을 개발한 것입니다. 2020년 12월, ISO/IEC 5230이 오픈소스 컴플라이언스를 위한 유일한 국제 표준으로 등록되었습니다. ISO/IEC 18974는 오픈소스 보안 보증 컴플라이언스를 위한 사실상의 표준이며, 2023년 하반기에 ISO 표준으로 공식 등록될 예정입니다.

이들 표준은 기업이 오픈소스를 관리하는데 꼭 필요한 핵심 요구사항을 정의하고 있습니다. 기업은 이 표준의 요구사항을 준수함으로 Software Supply Chain 내에서 오픈소스 관리가 이뤄지고 있음을 투명하게 나타낼 수 있습니다.

Untitled

Self-Certification

OpenChain Project에서는 Self-Certification을 위한 Checklist도 제공하는데요. 기업은 Checklist 항목을 하나하나 준수해 가면서 기업의 오픈소스 관리 수준을 높일 수 있습니다.

Untitled

Adoption of OpenChain ISO/IEC 5230:2020

Checklist의 모든 항목을 준수하는 기업이라면, ISO/IEC 5230 준수 기업으로 선언할 수 있게 됩니다. ISO/IEC 5230을 채택하였다고 선언한 기업 리스트는 다음과 같습니다. LG전자, 카카오, 삼성전자, 네이버, SK텔레콤, NCSOFT, 현대자동차그룹 등 여러 국내 기업도 볼 수 있습니다.

Untitled

Other Interesting Items

Online Webinar

OpenChain Project에서는 오픈소스 관리에 대한 온라인 웨비나를 계속하고 있습니다.

Untitled

Training Courses

오픈소스 라이선스 컴플라이언스를 위한 Free Training Course가 제공되고 있으며, 이수 시 Badge도 취득할 수 있습니다.

Untitled

이러한 Training Course는 여러 기업이 소속 직원 혹은 Supplier에게 이수를 요구하는 등 다양하게 활용되기도 합니다.

Untitled

Update on China and Japan

China

중국에서도 OpenChain Project와의 협력이 활발히 일어나고 있습니다. 특히 CAICTCESI와 같은 중국 정부 기관과도 협력 방안을 논의하고 있습니다.

OpenChain China Work Group에는 Huawie, Honor 및 OPPO와 같은 기업도 활발히 참여하고 있으며, 약 250명의 멤버로 구성되어 있습니다.

2023년 2분기부터 매 분기 OpenChain과 CAICT가 공동 주관하는 이벤트가 예정되어 있으며, OIN과 함께하는 Asian Legal Network (ALN)도 다시 시작하기로 하였다고 합니다.

Japan

OpenChain Japan Work Group은 약 190명의 멤버가 참여하고 있습니다. Fujitsu, Hitachi, NEC, Panasonic, Sony, Toshiba 및 Toyota가 지속적으로 지원하고 있으며, 격월로 커뮤니티 이벤트가 개최됩니다.

TODO Group과 협력하여 2주마다 OSPO 이벤트도 개최하고 있습니다.

Korea market - challenge and opportunities

Current situation

OpenChain Korea Work Group은 규모나 열정 측면에서 일본에 이어 세계에서 두 번째로 영향력 있는 훌륭한 Work Group입니다. SK텔레콤, LG전자, 삼성전자, 현대자동차 등 주요 기업이 참여하고 있으며, NIPA에서도 후원 등의 방식으로 참여하고 있습니다.

그러나 글로벌 경기 침체에서 한국도 자유롭지 못하다는 위기는 있습니다. 또한, OpenChain Board에 한국 기업 멤버가 없다는 점도 아쉽습니다.

Opportunities

OpenChain Korea Work Group이 지금처럼 커뮤니티 미팅과 활동을 지속한다면 기회는 계속될 것입니다. 가능하다면, 일본과 중국처럼 정부의 오픈소스 정책에 OpenChain 표준을 포함시키기 위해 노력하고 이를 위해 정부 기관의 참여를 촉진하면 좋을 것입니다.

끝으로, OpenChain Board에 한국 기업이 참여한다면, OpenChain Project의 전략적 다양성이 증대되고, 글로벌 Supply Chain에서의 영향력을 키울 수 있을 것입니다.

글을 마치며

OpenChain Project는 기업의 오픈소스 관리 영역도 오픈소스의 공유와 협업 방식을 적용하여 모두 함께 적은 비용과 리소스로 높은 수준의 리스크 관리 practice를 달성하기 위한 커뮤니티입니다. 이러한 취지에 공감하는 기업들이 모여 있는 곳이 OpenChain Korea Work Group입니다. OpenChain Korea Work Group에는 100명에 가까운 기업의 오픈소스 담당자들이 메일링리스트에 가입하여 활동하고 있습니다. 마침 코로나 이후 3년만에 오프라인 모임이 3월 28일에 있었습니다. 다음 글에서 이에 대해 자세히 다루겠습니다.

Shane과의 미팅 세션 이후에는 SK텔레콤 Tech HR팀의 후원으로 맛있는 점심을 즐겼습니다. (상기님 감사합니다~ ^^ )

Untitled

감사합니다.

Anaconda 꼭 사서 쓰세요. 아니라면 conda-forge!

Anaconda를 상용 목적으로 사용하려면 유료 버전을 구매해야 합니다. 200인 이상 기업의 개발자가 Anaconda를 사용하는 것은 상용 목적에 해당합니다.

안녕하세요.

Python 개발 환경 만들면서 Anaconda 많이 사용하시지 않나요? Python은 간단한 업무 자동화부터 데이터 분석, 인공지능 학습, 모델링 작업 등에 많이 사용되고 있는데요, 여러 Python 프로젝트 개발을 수행하다 보면 package 버전이 충돌하는 불편함이 생길 수 있습니다. Anaconda는 개발 프로젝트별로 가상 환경을 제공하여 버전 충돌을 방지할 수 있다는 장점이 있으며, 홈페이지에서 쉽게 다운받아 설치가 간단하여 널리 사용되고 있습니다.

https://www.anaconda.com/

그런데 Anaconda는 사서 쓰셔야 합니다.

2020년 9월, Anaconda사는 서비스 약관(Terms of Service)를 변경하여 200명 이상의 직원이 있는 기업 또는 정부 조직이 Anaconda Repository를 사용하는 경우 유료로 구매하게 하였습니다.

따라서, 200명 이상의 기업에서 근무하는 개발자라면 Anaconda 웹사이트에서 Pro 이상의 라이선스를 구매해야 합니다.

https://www.anaconda.com/pricing

조금 자세히 살펴보면, 일반적으로 Anaconda 설치를 위해서는 Anaconda 홈페이지에서 Anaconda Distribution을 무료로 다운 받을 수 있습니다.

https://www.anaconda.com/products/distribution

이를 설치하면 conda package manager와 더불어 Python 및 150여개의 package가 함께 설치되어 손쉽게 개발 환경을 구성할 수 있습니다.

Anaconda사는 Anaconda Repository를 호스팅하며 8천 개 이상의 오픈소스 package를 제공하고, 사용자는 conda install PACKAGENAME 명령어로 이들 package를 안정적으로 설치/관리 할 수 있습니다.

https://repo.anaconda.com/

그런데, 바로 이 Anaconda Repository서비스 약관이 2020년 9월에 변경된 것이고, commercial activity 목적일 때에는 Anaconda Repository의 무료 사용이 불가능해졌습니다.

많은 개발자가 Anaconda Distribution을 쉽게 다운받아서 사용하지만 이 과정에서 Anconda Repository를 사용하게 되는데요, 200명 이상 기업의 개발자라면 ‘의도하지는 않았지만’ Anaconda의 서비스 약관을 위반하게 되는 것이고, 이를 방지하기 위해서는 꼭 Anaconda Pro 이상을 구매하셔야 합니다.

참고로, Miniconda는 Anaconda와 마찬가지로 conda package manager와 Python 및 최소한의 dependency를 설치하는 소프트웨어 패키지인데요, Miniconda를 사용하면서도 마찬가지로 Anaconda Repository에 Access하여 package를 다운 받아 사용하게 되며, Anaconda와 동일하게 유료 구매 대상으로 간주될 수 있습니다.

https://docs.conda.io/en/latest/miniconda.html

결국, 200인 이상 기업의 개발자가 Anaconda Distribution을 무료로 다운받아서 사용하더라도 당장 비용이 청구되거나 기능이 막히지는 않겠지만, Anaconda의 안정적인 발전을 위해서도 200인 이상의 기업 개발자는 자발적으로 구매하여 사용하는 것이 좋을 것 같습니다. (물론 어느 순간 회사로 라이선스 위반 통지 및 비용 청구서가 날아올 수도 있습니다. ^^)

대안은 있습니다. ‘conda-forge’

Anaconda사는 conda라는 package manager를 오픈소스로 공개하여 관리하고 있습니다. conda 자체는 BSD-3-Clause 라이선스로 공개된 오픈소스여서 기업이 무료로 사용하는 데 문제되지 않습니다.

https://github.com/conda/conda

conda는 package 설치/관리를 위해 설치할 package를 찾기 위한 저장소 위치가 필요한데요, 이를 channel이라고 칭합니다. 기본 channel이 바로 Anaconda Repository입니다. 그런데, commuinity 기반의 repository가 또 있습니다. 바로 conda-forge인데요,

https://conda-forge.org/

conda를 설치하고 channel에 conda-forge를 추가할 수 있습니다.

conda config --add channels conda-forge
conda config --set channel_priority strict

이렇게 하면 Anaconda Repository를 사용하지 않기 때문에 위에서 설명한 서비스 약관을 위반하지 않고 conda를 사용할 수 있습니다.

Anaconda사의 CEO인 Peter Wang은 Miniconda를 다운 받아서 conda config를 conda-forge로 변경할 경우, 무료로 사용할 수 있다고 직접 밝힌 바 있습니다.

https://www.reddit.com/r/Python/comments/iqsk3y/comment/g4xuabr/

Anaconda Repository를 가리키는 defaults channel을 아예 삭제해 버리면 보다 확실하게 Anaconda Repository 사용을 제한할 수 있습니다.

conda config --remove channels defaults

원하는대로 channel이 변경되었는지는 아래 명령어로 확인할 수 있습니다.

### 변경 전
% conda config --show channels
channels:
  - defaults

### 변경 후
% conda config --show channels
channels:
  - conda-forge

Miniforge는 설치 시 channel에 conda-forge를 추가합니다.

한 걸음 더 나아가서 Miniforge는 conda 설치를 위한 최소의 installer를 제공하는 오픈소스 프로젝트로, 기본 설치 시 channel에 conda-forge를 추가합니다. 또한, Miniforge는 Apple M1을 포함한 다양한 CPU 아키텍처를 지원한다고도 알려져 있습니다.

https://github.com/conda-forge/miniforge

따라서, Anaconda 대신 Miniforge를 설치한다면 비교적 수월하게 라이선스 위반 없이 conda package manager로 개발 환경을 구성할 수 있는 것으로 보입니다.

한 가지 특이한 점은 conda-forge 운영에는 막대한 호스팅 비용이 필요한데 이를 Anaconda사가 지불하고 있다는 점입니다. Anaconda사는 conda-forge를 계속 무료로 유지하기 위해서라도 Anaconda Repository의 서비스 약관 변경을 통한 수익이 필요했다고 설명합니다.

결론적으로 개발 편의성과 안정성을 고려하여 가급적 Anaconda Pro를 구매하여 사용하는 것이 좋겠습니다. 구매 전까지 라이선스 이슈 방지를 위해 Miniconda + conda-forge 조합, 혹은 Miniforge를 대안으로 고려할 수 있을 것 같습니다. 🙂

혹시 틀린 내용이 있다면 알려주시면 감사하겠습니다. ^^

감사합니다.