Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyCon Korea 2018 작은 오픈소스 3년 운영기

517bdf0ab940120589baff0e8bb653a8?s=47 Ayun Park
August 21, 2018

PyCon Korea 2018 작은 오픈소스 3년 운영기

517bdf0ab940120589baff0e8bb653a8?s=128

Ayun Park

August 21, 2018
Tweet

Transcript

  1. 작은 오픈소스 3년 운영기 박아윤 iam@parkayun.kr

  2. 소개 현) 토큰넥스트, 대표 - 파이썬3 전) 넥슨 코리아, 데이터

    엔지니어 - 파이썬3 레이니스트, 소프트웨어 엔지니어- 파이썬2 소프트웨어 마에스트로, 3기 연수생- 파이썬2 스포카, 프로그래머 - 파이썬2, 3 애드크레딧, 테크니컬 리더 - 파이썬 2, 3 해킹방어대회, 해커 - 파이썬2
  3. 메인테인 - bson / ★ 246개 <- 이걸 주로 이야기

    합니다. - base65536 / ★ 51개 - initpy / ★ 45개 - hayeonsoo / ★ 33개 - pyprice / ★ 22개 - fclear / ★ 12개 전부 파이썬 프로젝트
  4. None
  5. None
  6. None
  7. None
  8. None
  9. Binary JSON

  10. >>> bson.dumps({“Life”: “is to short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is to short\x00\x00'

  11. Fast Additional data types ( UUID, MD5, Decimal, UTC datetime

    … ) Ordered fields
  12. 아무개 패키지를 사용하다가 버그 발생

  13. 디버깅을 계속 해보니 BSON이라는 패키지에서 이상한 점 발견

  14. 정보를 얻고자 BSON의 Github에 접속했으나 메인테인이 안되고 있는 상황을 파악

  15. None
  16. “잘 쓰고 있어요! 그런데 메인테인이 안되고 있네요. 그래서 제가 BSD

    라이센스로 포크했어요.”
  17. 왜 BSD 라이센스? 연속성과 더불어 가장 제약이 없기 때문에!

  18. Martin Kou 님으로 부터 회신 도착 “안그래도 바빠서 못하고 있었어요.

    대신 맡아준다면 저도 환영이에요.”
  19. >>> bson.dumps({“Life”: “is too short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is too short\x00\x00' 크기 타입

    키 벨류
  20. >>> bson.dumps({“Life”: “is too short”}) encode_document({“Life”: “is too short”}) ->

    IO 생성 encode_value(“Life”, “is too short”}) -> IO에 쓰기
  21. >>> encode_document({“Life”: “is too short”}) >>> encode_value(“Life”, “is too short”)

    String IO String IO{“Life”: “is too short”}
  22. 첫 커밋

  23. setup.py README LICENSE Continuous Integration

  24. Python3 호환성 작업 SIX (2 * 3) 리터럴 (b) BytesIO

    (CStringIO)
  25. 첫 PR

  26. >>> bson.dumps({“Life”: “is too short”}) b'\x1b\x00\x00\x00\x02Life\x00\x0c\x00\x00\x00is too short\x00\x00' 크기 타입

    키 벨류
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. 기능 작성 X PR도 대부분 버그 픽스

  38. 무엇을 어떻게 하지...

  39. 죽지 않는 프로젝트가 되게 하자! 이슈, PR은 계속 확인 머지하면

    바로 릴리즈 위 2개만 열심히 해서 0.3.3에서 0.5.6까지 릴리즈
  40. 남은 2가지 과제 레거시 코드 (문제는 없으나 더 잘 작성하고

    싶음) 이름 변경 (bson -> pybson, pymongo 충돌 문제)
  41. 그래서 우리는 오픈소스를 통해서 여러 다양한 개발자와 커뮤니케이션을 통해서 다양한

    코드와 구현 방법을 배울 수 있습니다.
  42. 그래서 우리는 오픈소스를 위해서 깃허브나 깃랩, 비트버켓에 접속하여 관심있거나 쓰고있는

    프로젝트에 기여를 해보는건 어떨까요?
  43. @daleobrien, @hildjj, @eklitzke, @michael-cfchan, @jchia, @msabramo, @jpaalasm, @mnuhn, @andreas, @nadirhamid,

    @stevei101, ???, @frewsxcv, @kived, @mmontagna, ???, @davidnoor, @Curzy, @buhman, @masipcat, @marfx000, @petri, @Bezbran, @mbjerkness, @xiaobin83, @kived, @awesomebytes, @borisrozumnuk, @ilius, @daviddavis and issue reporters Thank you very much
  44. Q & A