모 오픈소스에 기여하는 사례가 존나 많을 수 있겠지만, 

결과적으로 가장 중요한 건 실제 기능을 추가/수정/개선한 부분이 있어야 정말 기여했다고 말할 수 있지 않을까 싶긴 함.

예를들어서





머 이런 수정을 하면 깃헙 본인 첫페이지에 구글리서치 딱지를 붙일 수 있지만 모 별로 좋은 오픈소스 기여하기는 아니다 모 이런거지라 생각함니다.


나두 오픈소스 프로젝트에 "기여"라는 걸 해봐야지... 이런 목적 말구,


1. 실용적인 목적


자기가 쓰는 어플 있을텐데...

쓰다보면 버그 때문에 불편한 경우도 있구,

이런 기능이 있었음 좋겠다 하는 경우도 있음.

https://gall.dcinside.com/mgallery/board/view/?id=github&no=16576&_rk=JRL&page=1

이 글이 설명하는 데로 오픈소스에 기여하는 것이 뭐 오픈소스 해보면 좋겠지 정도보다 더 강한 동기도 있고, 그 어플을 이미 잘 알고 있어서 수정하기도 쉬워서 좋은 거 같음.

저는 파이토치를 예로 들겠음. 사실 오픈소스는 이것저것 들락날락 하는데 막상 많이 하진 않고, 고쳐도 PR 날리는 일은 더더욱 적어서..



문제 발견 

Deep generative ranking for personalized recommendation 논문을 재현하려고 했었음. 

이 논문 구현은 감마함수의 n차 도함수(Polygamma function)가 필요하다. 근데 PyTorch에서는 감마 함수의 N’th order derivative를 구현해놓지 않고 있었다(order of 1까지 구현되어 있었음).


문제 해결하기
그냥 pytorch 던 텐서플로우던 Cephes라는 Math calculation library를 복붙해온 거구나 깨닫고 거기서 Gamma함수도 배껴왔음.

배끼다보니  C++인걸 쿠다로 배끼는 과정에 실수가 있었어서 리뷰어한테 좀 조언을 듣고, 뭐 다 고침




 결론은 저걸로 처음 구현하려던 논문을 구현했는데 그 저자들이 약팔았다는 사실을 알게되었슴.


암튼 오픈소스 뭐 해야겠다 하고 두리번두리번거리기보단

오픈소스 프로젝트를 많이가져와서 써봐야

뭐가 불편하고 뭐가 좋은지 알게 되서 오픈소스 기여하기엔 더 좋은 것 아닐까 싶슴니다.