사소한 오픈소스 기여 경험들

오병진·6일 전
3

velog 글 트렌딩에 오픈소스 기여 경험 관련 글들이 올라와있어서
회고하는 겸 어떤 것들에 대해서 왜 기여했었나 작성해보려 합니다.

저도 다른분들처럼 무언가를 개발하다가 버그를 찾아서 오픈소스로 갔던 경험도
새로운 오픈소스가 나왔다길래 궁금해서 구경하다가 기여한 경험도 있는데요.

이에 대해서 한번 같이 공유해보려합니다.

openai/openai-agents-python

처음 해당 오픈소스가 공개되었을 당시에 구경하다가 기여하게 된 경우인데요.
변경된 코드를 보면 오픈소스 기여는 어려운게 아니구나와 동시에 유명한 기업들도 실수를 많이 하구나를 동시에 체감하게 될 거에요.

변경사항은 다음과 같은데요.

그저 코드를 두 줄 지웠을 뿐입니다.

https://github.com/openai/openai-agents-python/pull/52

modelcontextprotocol/typescript-sdk

해당 기여의 경우 아직 병합되지않았는데요.
에러의 원인이 터무니 없이 간단했어요.

mcp 서버를 열 때 env를 넣어주게되면 기본으로 넣어주는 env들이 안들어갔던거죠

{
  env: this._serverParams.env ?? getDefaultEnvironment(),
}

그래서 전 이 분기문을 아래처럼 수정하여 PR을 올려놓은 상태입니다.

{
  env: {
    ...getDefaultEnvironment(),
      ...this._serverParams.env,
  }
}

해당 PR의 경우 문제 원인을 찾기 어려웠던게 기억에 남네요
보통 일반적으로 문제가 생기면 자기 자신의 코드부터 점검하기때문에 가장 마지막에 가서야 오픈소스를 뜯어봤거든요.

MCP를 가지고 장난치다가 발견한 버그인데, 수정하기가 힘들었던 기억이 있네요.

https://github.com/modelcontextprotocol/typescript-sdk/pull/394

tursodatabase/limbo

해당 프로젝트는 sqlite를 rust로 rewrite하는 프로젝트인데요.
sdk를 갖고 사용해보려니 타입이 인식이 안되더라고요.

그래서 node_modules를 열어봤더니 index.d.ts는 멀쩡히 있어서
package.json 세팅 문제인가 싶더니 맞더라고요
types를 지정해놓지않은건데요.

그에 따라 PR을 올려놓은 상태고 현재 병합되지않은 상태입니다.

추가로 수정하고도 sdk가 작동하지않는 코드이기에 결국 사용하지못했습니다.

https://github.com/tursodatabase/limbo/pull/1460

profile
지나가는 사람입니다. 마저 지나갈게요 :D

0개의 댓글