티스토리 뷰

반응형

0. 들어가면서

음성인식 관련해서 좋은 모델은 아니지만, 구현하여 첫 머신러닝을 돌렸다는 자심을 을 가지고 오픈소스에 등록하려는 과정 속에서 오픈소스로 만들고 라이선스도 등록하고 필요한 과정들이 무엇이 있을까 검색을 하였고, 필요한 과정을 적어보려 한다. 물론 영어를 잘하면 아래의 사이트에 들어가서 읽어보는 것도 추천한다. 여기서는 필요한 내용만 요약해서 올리는 방향으로 진행을 하겠다.

 

https://opensource.guide/starting-a-project/

 

Starting an Open Source Project

Learn more about the world of open source and get ready to launch your own project.

opensource.guide

 

1. 오픈소스

프로젝트가 어떤 단계이든 상관 없이 다른 사람들의 피드백을 받을 준비가 되어 있다면 오픈소스로 공개할 수 있다. 단, 코드의 완성도와 관계없이 프로젝트를 오프소스로 공개할 때에는 README문서(목적과 사용법)와 LICENSE문서(사용 범위와 조건)를 포함해야 한다.

당연한 이야기 지만, GitHub에서 오픈소스를 운영한다면 위의 두 가지 문서를 최상위 디렉터리에 생성을 해야 한다.

README 만들기는 아래의 문서를 확인하자

https://docs.github.com/en/github/getting-started-with-github/create-a-repo#commit-your-first-change

 

Create a repo - GitHub Docs

To put your project up on GitHub, you'll need to create a repository for it to live in. You can store a variety of projects in GitHub repositories, including open source projects. With open source projects, you can share code to make better, more reliable

docs.github.com

LICENSE 만들기는 아래의 문서를 확인하자

https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository

 

Licensing a repository - GitHub Docs

Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software. We created choosealicense.com, to help y

docs.github.com

 

2, 라이선스 선택 (SELECT LICENSE)

오픈소스 라이선스는 다른 사람들이 영향 없이 프로젝트를 사용, 복사, 수정 및 기여할 수 있도록 해준다. 그리고 법정 문제에서 자신을 보호해 준다. 따라서 오픈소스 프로젝트를 할 때 반드시 라이선스를 포함시켜야 한다.

사실 라이선스 넣는 것은 1분도 안 걸린다.

 

라이선스의 종류는 크게 permissive 라이센스와 copyleft 라이선스로 나뉜다.

  • permissive 라이센스 - MIT, Apache 2.0 등이 있다. 라이센스 승계 조건 없이 사용, 수정, 공유가 가능하다.
  • copyleft 라이센스 - GPLv3 등이 있다. 동일한 라이센스로 재배포하는 조건 하에 사용, 수정, 공유가 가능하다.

우선 가장 많이 사용하는 MIT, Apache 2.0, GPLv3 관련 오픈 소스는 아래의 링크를 타고 들어가면 된다.

https://choosealicense.com/licenses/mit/

 

MIT License

A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

choosealicense.com

https://choosealicense.com/licenses/apache-2.0/

 

Apache License 2.0

A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without s

choosealicense.com

https://choosealicense.com/licenses/gpl-3.0/

 

GNU General Public License v3.0

Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preser

choosealicense.com

혹여나 위의 라이선스 말고 다른 라이선스를 이용하고 싶다면 아래의 링크를 타고 들어가자.

https://choosealicense.com/

 

Choose an open source license

Non-judgmental guidance on choosing a license for your open source project

choosealicense.com

그리고 GitHub에서 자체적으로 라이선스를 선택 할 수 있다. 오픈 소스 라이센서를 포함하려면 아래의 그림부분에서 설정을 하면 된다.

 

3-1. 라이센트 고르는 팁

나의 오픈소스가 많이 사용되길 바란다면, 내가 적은 코드 관련 커뮤니티에서 선호하거나 관련 기술의 오픈소스들에서 가장 많이 사용하는 라이선스를 쓰는 것이 좋다. 그리고 기업이 사용하기를 바란다면 특허에 관한 내용이 포함되어있는 라이센스인 Apache 2.0을 선택하는 것이 좋다. npm라이브러리 에서 가장 많이 사용하는 라이센스는 MIT 이기 때문에 Node,js를 사용한다면 MIT 라이센스를 하는 것이 좋다. 옾느소스의 커뮤니티가 기여한 내용이 계속 공개되기를 원한다면 GPLv3을 이용하는 것이 좋다.

 

 

4. README 작성

README 문서는 코드에 대한 설명이다. 따라서 필요한 부분을 정확하게 적어야 사람들이 이 프로젝트를 사용한다.

  • 프로젝트의 목적과 내용
  • 프로젝트를 시작하는 방법
  • 저작권, 라이센스 정보
  • 외부의 코드나 리소스의 정보(출처)

추가적인 내용은 아래의 링크를 참고해보자.

https://www.makeareadme.com/

 

Make a README

Learn how to make a great README for your programming project, and use the editable template to get started.

www.makeareadme.com

 

 

 

5. 프로젝트 이름 정하기

이름은 이해하고 기억하기 쉽게 선택해야 한다. 이때 가장 중요한 것은 같은 언어나 생태계에서 같은 이름이 없는가 확인을 하자. 특히 이름이 기존 제품의 상표권을 침해하지 않는지 꼭 확인을 해보자. 삭제 요구가 들어올 수도 있다.

 

사실 시작이 어렵지, 한 번만 만들어보면 어렵지 않다. 위의 것들만 한다면 오픈소스의 메인테이너가 될 수 있다. 오프소스를 운영한다는 게 단지 버그를 수정하고 기능을 추가하는 것이 아니라, 프로젝트를 알리고 소통하며 프로젝트 품질을 높일 수 있는 모든 활동을 의미한다. 이제 전 세계 개발자와 함께 의견을 나누고 다양한 경험을 쌓자!

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함