Lightning contribution
Lightning contribution
예전부터 open source contribution을 해보고 싶은 생각이 있었는데, 오픈소스 컨트리뷰션 아카데미라는 프로그램을 알게 돼서 멘토의 도움을 받아서 open source에 기여하는 경험을 할 수 있는 기회가 생겼다. 여러가지 프로젝트 중에 하나를 선택해야했는데, 나는 lightning ai라는 pytorch를 추상화하는 python package를 수정하는 프로젝트를 하게 되었다.
lightning ai 깃에 들어가보면 프로젝트가 잘 관리되고 있는 것을 볼 수 있다. 지금까지 개발 문화 경험을 많이 못해봤는데, 이 프로젝트를 보니 contributing 할 때 유의사항이라든지, doc이나 code style에 대한 convention에 대해서도 적어놓은 것을 보고 신기했다.
아래는 contributing 할 때의 유의사항을 읽고 요약한 것이다. 내가 읽으려고 요약해놓은 것이기 때문에 다른 사람들이 보기에 어려울 수도 있다.
About the project
- Main Core Value : One less thing to remember
- Lightning Design principle
- No PyTorch Interference
- Simple Internal Code
- Force User Decisions To Best Practices
- Simple External API
- Backward-compatible API
- good deprecation warnings.
- Gain User Trust
- Interoperability
Contribution
- Contribution types
- bug fixes
- bug issue
- title
- setup(config, code sample)
- how to reproduce the issue
- fix or recommend w/ test-driven approach
- minimal code convert w/ unit/integration test
- test your test case on master branch and fixed code
- PR
- bug issue
- new features
- issue
- motivation
- discuss about the scope
- PR
- testcode + functional code
- bug fixes
- Guideline
- Developments scripts(UNIX)
- Original code
- refer the 3rd party implementation
- coding style
- Use f-strings for output formation
- Use pre-commit
- Docs
- https://github.com/Lightning-AI/lightning/blob/master/docs/README.md
- test
- https://github.com/Lightning-AI/lightning/blob/master/tests/README.md
- Pull Request
- If your PR is not ready for reviews, but you want to run it on our CI, open a “Draft PR” to let us know you don’t need feedback yet.
- branch name
- type/issue-id_short-name (types : bugfix, feature, docs, or tests)
-
Reference