[Flutter] 오픈소스 패키지 기여 회고

향신료·2023년 11월 2일
0
post-thumbnail

최근 어쩌다 보니 필요에 의해 오픈 소스 패키지에 작은 기여를 하게 되었다.


이러한 경험들은 개발자로서도 색다르기도 하였고 협업하는 과정에 대한 깨달음을 얻기도 하여서 이에 대한 생각과 경험을 담아 본문은 해당 기여 내용과 각 느낀 점을 적어가며 회고하는 글이 되겠다.






flutter_wechat_assets_picker


해당 패키지는 핸드폰의 이미지나 동영상 등의 정보를 가져오거나 카메라로 촬영하는 등의 기능을 제공하는 패키지이다.



기여 계기

당시 이미지를 가져오거나 사진을 찍는 등의 기능이 필요하여 가능한 적은 리소스로 제작하기 위해 이미지 가져오기에 대한 여러 패키지를 비교 후 사용하게 된 패키지였다.


다만, 다른 원하는 기능이 거의 다 부합하였지만 아쉽게도 한국어가 지원하지 않는 상태였다는 것이 문제였다.


한국어 지원에 관한 PR이 존재는 하였지만 일부분만 진행된 후 더 이상 진행된 바가 없는 상태였고, 이를 참조하여 이전 개발자가 올린 한국어 번역을 사용자가 부담을 느끼지 않는 방향으로 더욱 보완한 다음 PR 규칙을 따라 코드 점검 후 PR을 올리게 되었다.



배운 점


TalkBack/VoiceOver 테스트 요청

비장애인인 사람으로서는 예상조차 하지 못했던 TalkBack/VoiceOver를 패키지 개발자 쪽에서 요청해 주었다.

처음에는 해당 기능의 존재 자체는 알고 있었어도 개발과정에서 테스트할 생각은 전혀 하지 못했던 나 자신에게 새로운 충격과 편협적인 시각에 대한 부끄러움을 알게 해준 요청이었다.

시각 장애인들에 대한 대응을 고려조차 해본 적이 없었던 것을 깨달았고 이를 통해 내가 아닌 타인의 시각에서 보는 피드백의 중요성과 다양한 사용자를 위한 대응의 중요성을 배우게 되었다.




타 국가권에 대한 고려

iana 국가 코드를 따라 ‘kr’ 대신 ‘ko’로 사용하는 것은 어떻겠느냐는 코드 리뷰를 받았다.

이제껏 한국에서는 kr로만 사용하고 적용하는 것이 익숙하였기에 당연하게 국가 코드를 kr로 진행하였다, 생각해 보면 다른 나라에서는 어떤 코드를 사용하고 있는지조차 고려하지 않았던 것 같다.

이를 깨닫고 iana 국가 코드들을 찾아보니 다행스럽게도 대문자가 아닌 kr과 겹치는 코드는 없었지만 개발된 패키지의 개발자는 해당 기준에 따라 국가 코드를 적용한 것 같았기에, 해당 코드 리뷰를 따라 국가 코드를 ‘ko’로 변경 진행하며 너무나 당연하게 생각하고 있는 것들에 대한 생각의 한계를 깨트리고 동시에 고려할 수 있는 방법을 배울 수 있었다.





느낀 점

처음으로 아예 모르는 타인, 심지어 언어권이 다른 외국인과의 코드적인 의견을 나누며 상단의 배운 점에 적었던 정보들과 같이 내가 알지 못하고 고려하지 못한 정보를 듣는 등의 액션을 통해 생각의 폭이 조금이나마 커진 것 같다는 생각이 들었다.


또한 처음에는 떨리는 마음으로 PR 버튼을 눌렀을지언정 나중 가서는 패키지 개발자와 의견 및 테스트 피드백 등을 핑퐁 핑퐁 주고받으며 점점 두려움은 없어졌다.


해당 패키지에 대한 기여는 한국어 번역 지원으로 고차원적인 기능적 기여는 아니었지만, 이 경험은 오픈소스 기여에 대한 두려움을 없애고 타 언어권 개발자와도 교류할 수 있다는 생각을 심어준 아주 작으면서도 큰 경험이었다고 느낀다.











➕ 현재 확인 대기 중인 패키지



tutorial_coach_mark


해당 패키지는 튜토리얼 화면 제작을 간단하게 진행할 수 있는 패키지이다.



기여 계기

사이드 프로젝트를 진행하며 기능 설명을 원활하게 하기 위한 튜토리얼 화면에 대한 구현이 필요하여 사용하게 된 패키지이다.


해당 패키지를 사용하여 개발 후 디자인과 기획 측 동료분들에게 피드백을 받은 결과 애니메이션의 속도 조절에 대한 피드백이 넘어왔기에 확인해 보니 위젯 매개 변수만을 확인하면 개선이 필요한 애니메이션에 대한 속도 조절 기능이 보이지 않았다.


다만 패키지 예시 문서에서는 해당 매개변수에 대한 정보가 존재하였고, Changelog를 확인해 보니 업데이트를 진행하며 해당 기능에 대한 매개변수가 누락된 것으로 확인되어 이에 대한 기능 복구를 진행 후 PR을 올리게 되었다.





배운 점


읽기만이 아닌 실전으로

패키지 문서에는 적혀 있더라도 개발자의 누락 등 오로 인해 실제로는 구동 방법이 다르거나 OFF된 기능이 있을 수 있다는 것, 문서와는 다르게 실제 사용해 봐야만 알 수 있는 정보가 있기에 직접 사용해 보는 것이 가장 좋다는 것을 깨달았다.


이러한 경험을 통해 필요한 패키지가 생겨 비슷한 기능을 가진 여러 패키지를 비교하며 정해야 할 때 문서만을 통해 정하는 것이 아닌 실제로 사용 후 진행하는 것이 이후 개발의 속도의 지체를 막을 수 있겠구나를 배우게 되었다.


...이후 추가 업데이트 예정입니다



느낀 점



...이후 추가 업데이트 예정입니다

profile
드문드문 기초 정보를 올리는 블로그

0개의 댓글