포지의 연합이 필요하다
5 hours ago
3
- 오픈소스 협업은 단일 제공자에 크게 의존하는 구조보다, 코드 전송과 커뮤니케이션을 나눠 맡는 분산형 프로토콜 조합이 더 바람직하다는 문제의식 위에 놓여 있음
- 코드 협업은 원래 git과 이메일 조합으로 이뤄졌고, 이후 git과 GitHub 웹사이트 조합으로 옮겨갔으며, ForgeFed는 git과 ActivityPub, Tangled는 git과 AT protocol 조합으로 이어짐
- Tangled는 git 서버 사이 이벤트를 연합하는 구조로, 각 서버를 knot이라 부르며 서버가 달라도 저장소 협업, 서버 간 fork, 다른 서버에 있는 저장소로의 pull request를 지원함
- 코드 주변의 Authenticated Transfer에는 AT를 쓰고, issues, pull requests, 이벤트 타임라인, follows, stars를 함께 다루며 협업자 초대와 SSH 공개키 공유에도 활용함
- 직접 cgit 인스턴스를 운영하고 이메일로 패치를 보내는 흐름과 닮아 있으면서도, GitHub 모노컬처에서 벗어나 협업의 사회성과 재미를 유지하려는 방향이 드러남
포지 연합 필요성
- 오픈소스 협업의 상당 부분을 단일 제공자에 의존하는 구조는 바람직하지 않으며, 중앙집중형 시스템보다 분산형 프로토콜이 더 오래 버틴다는 관점을 바탕에 둠
- 코드 협업은 항상 두 가지 프로토콜을 함께 써 왔고, 하나는 코드 전송, 다른 하나는 커뮤니케이션을 맡아 왔음
- 초기 흐름은 git과 이메일 조합이었음
- 이후에는 git과 GitHub 웹사이트 조합으로 바뀜
- ForgeFed는 git과 ActivityPub 조합 가능성을 두고 있음
- Tangled는 git과 AT protocol 조합으로 구축 중임
- Tangled는 git 서버들 사이의 이벤트를 연합하며, 각 서버를 knot이라고 부름
- 어느 서버에 있든 저장소 협업 가능함
- 서버를 넘는 fork 지원함
- 자기 서버의 저장소에 push한 뒤, 완전히 다른 서버에 호스팅된 저장소로 pull request를 열 수 있음
- 이 방식은 직접 cgit 인스턴스를 운영하면서 이메일로 패치를 보내는 흐름과 여러 면에서 닮아 있음
Tangled가 맡는 역할
- Tangled는 코드 주변 이벤트의 Authenticated Transfer에 AT를 사용함
- issues와 pull requests 같은 이벤트 전달에 쓰임
- 이벤트 타임라인, follows, stars 같은 소셜 기능도 함께 다룸
- vouches도 곧 추가될 예정임
- AT는 협업자 초대와 SSH 공개키 공유에도 쓰이며, 그 밖의 부분은 기존 git을 그대로 사용함
- 오픈소스는 GitHub 같은 모노컬처에서 벗어날 필요가 있으며, 동시에 코드 협업의 사회성과 재미도 유지해야 함
- tangled alpha
- docs
- source
- discord
- bluesky
- twitter (x)
- feed
-
Homepage
-
Tech blog
- 포지의 연합이 필요하다