https://owncloud.org/features/federation/ ์ฐธ์กฐ
๋ค์ ํด๋ผ์ฐ๋์ ํ๋๋ ์ด์ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ณด๊ณ ์ถ์ต๋๋ค. ์ฌ๋ฌ Gitea ์ธ์คํด์ค ๊ฐ์ ๋ฆฌํฌ์งํ ๋ฆฌ, ์กฐ์ง ๋๋ ์ฌ์ฉ์๋ฅผ ๊ณต์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ด๊ฒ์ ๋น์ฆ๋์ค ์ฌ์ฉ์๊ฐ ์์ ์ ํ๋ก์ ํธ๋ฅผ ๋ค๋ฅธ ํ์ฌ์ ๊ณต์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ด๋ฆฌ ๋ฐ ๊ด๋ฆฌ ์ค๋ฒํค๋๋ฅผ ์ค์ฌ์ค๋๋ค.
์ด๋ฅผ ํตํด ์ด๋ณด์๊ฐ Gitea๋ฅผ ์ฝ๊ฒ ์์ํ ์ ์์ต๋๋ค.
Gitea์ "Mirror" ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฐํฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ํ๊ธฐ์ ์ถฉ๋ถํ ๊ฒ์ ๋๋ค.
@kolaente ์ฐํฉ ๊ธฐ๋ฅ์ ์ฌ์ฉ์์๊ฒ ๋ช ์์ ์ผ๋ก ์๋ฏธ๋ฅผ ๋ถ์ฌํฉ๋๋ค. ์ ์ฅ์๋ฅผ ๊ณต์ ํ๋ ค๋ฉด ๋ฏธ๋ฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๋ก์ ํธ ๊ด๋ฆฌ์๊ฐ ๋ค๋ฅธ git ์ธ์คํด์ค์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
#184๋ ์ฐธ์กฐํ์ญ์์ค(์ด๊ฒ๊ณผ ์ค๋ณต๋ฉ๋๊น?)
@strk ์ข ๋ฅ, ํ์ง๋ง ๋๋ ์ด๊ฒ์ด ๋ ๋์๊ฐ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@strk ์ผ์ข ์. ๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ์๋ pull ์์ฒญ๋ฟ๋ง ์๋๋ผ ์กฐ์ง์ ์ํ ์ฐํฉ ๊ธฐ๋ฅ์ ์์ ํ ํตํฉ์ด ํฌํจ๋ฉ๋๋ค.
์๊ฒฉ ์ฌ์ฉ์์ ๊ถํ์ ์๋ฏธํฉ๋๊น?
"์ฐํฉ"์ ์ฌ๋ฌ ๋ค๋ฅธ ์์ ๋จ์๋ก ๋๋๋ ๊ฒ์ด ์ ์ฉํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ตฌํํ๊ฑฐ๋ ๋จ์ผ ํฐ์ผ์ด ๋๋ฌด ์ปค์ง ์ ์์ต๋๋ค.
@strk ๋๋ ์ด๊ฒ์ ๋ง์ ํฐ์ผ์ผ๋ก ๋๋๋ ์์ด๋์ด์ ๋์ํฉ๋๋ค. ์ด ํฐ์ผ์ ์ฌ์ฉ์ ์ฐํฉ ํฐ์ผ์ผ ์ ์์ง ์์ต๋๊น? ๊ทธ๋ฌ๋ ๋ค๋ฅธ ํ๋ซํผ์ ์ฌ์ฉ์์ ๋ํ ์ธ์ฆ์ ์ํ์ง ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ ์ํฉ๋๋ค. ์ฌ์ฉ์๋ ์ฌ์ฉ์์ Gitea ์ธ์คํด์ค์์ ์ด๋๋ฅผ ๋ฐ์ต๋๋ค. ๊ทธ๋ ์์ ์ ์ธ์คํด์ค์์ ์ ์ฅ์ ๋๋ ์กฐ์ง์ ์ก์ธ์คํฉ๋๋ค.
ํ๋๋ ์ด์
์ ๋๊ตฐ๊ฐ์๊ฒ ๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด ๋ค์์ ์ํํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ทธ ์ฌ๋์ ์๋ณํฉ๋๋ค(์ ์ฒด ์ฃผ์). ๋น์ ์ด ์ธ๊ธํ owncloud ๋๋
owncloud๊ฐ "
๊ทธ๊ฒ์ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ. Friendica/GNUSocial ๋ฐ ๊ธฐํ OStatus ๊ตฌํ
์ฐ๋งน์ "
Webfinger ํ์ค(๋ค๋ฅธ
ํ๋กํ ์ฝ). ๋ค๋ฅธ ์ปค๋ฎค๋ํฐ(IndieWeb ์ปค๋ฎค๋ํฐ, indieweb.org ์ฐธ์กฐ)๋ ๋ค์์ ์ฌ์ฉํฉ๋๋ค.
OpenID ๋ฒ์ 2.0๊น์ง ์ฌ์ฉ๋๋ฏ๋ก ์ฌ๋์ ์๋ณํ๊ธฐ ์ํ ์น ์ฃผ์.
์๋ก์ด OpenID(OpenID-Connect)๋ Webfinger๋ฅผ ๋ค์ ์ฌ์ฉํฉ๋๋ค.
webfinger ํ์ค์ด ์ข์ ํด๊ฒฐ์ฑ ์ด ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง ์ฌ์ฉ์์ git ์ด๋ฉ์ผ๊ณผ๋ ์ถฉ๋ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ๋ฑ์ ์ด๋์ ์์ต๋๊น?
์คํ๋ ค Webfinger์ ๋ํด ์ซ์ดํ๋ ๊ฒ์ ์ ์ด๊ฐ ํ์ํ๋ค๋ ๊ฒ์
๋๋ค.
๋๋ฉ์ธ ๋ฃจํธ(OpenID URL์ด ์๋).
"์ด๋ค ํ์ค์ ์ ํํ๊ณ ์ถ์ต๋๊น?"์ ๊ด๋ จํ์ฌ W3C์ ์ฌํ ์ฐํฉ ์์ ๊ทธ๋ฃน์์ ํ์ฌ ์๋ฃ ์ค์ธ ActivityPub ์ ์๋ ค๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ์ด๋ฅผ ๊ตฌํํ๋(๋๋ ํ์ฌ ์์ ์ค์ธ) ์ผ๋ถ ํ๋ก์ ํธ๋ pump.io, Mastodon ๋ฐ MediaGoblin์ ๋๋ค.
๊ทธ๋ค์ ๊ณ ์ ๋ .well-known ๊ฒฝ๋ก์ ๋ํ ์์ด๋์ด๋ฅผ ์ซ์ดํ๊ธฐ ๋๋ฌธ์ WebFinger๋ฅผ ์ฌ์ฉํ์ง ์์ง๋ง ์ํธ ์ด์ฉ์ฑ์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ง์ ํ ๊ฒ์ ์ฒด์ธ์ ๊ฐ ๋ ๊ฒ์ ๋๋ค. keybase.io๋ ์ต๊ทผ์ ํด๋ผ์ด์ธํธ ์ธก ์ํธํ git๊ณผ ํจ๊ป ๋์๋๋ฐ, ๊ทธ๊ฒ๋ ํฅ๋ฏธ๋กญ์ต๋๋ค.
ActivityPub ์ด ์ด์ ์๋ฃ๋์์์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
AP์ ๋ํ ์ง์์ ์ถ๊ฐํ๋ฉด Gitea๊ฐ Mastodon, PeerTube, NextCloud ๋ฐ HubZilla์ ๊ฐ์ ์ ์ ๋ ๋ง์ ์ฐํฉ ์๋ฒ์ ํธํ๋์ด GitLab๊ณผ์ ํ์ํ ์ฐจ๋ณํ ์์๋ ๋ฌผ๋ก ๋ฒ์๊ฐ ์๋นํ ๋์ด์ง๋๋ค.
๋ํ ๋๋ถ๋ถ์ AP๊ฐ ํ์ค์ํ ๋ฐฉ์์ผ๋ก ํ์ฉํ๋ ์ปค๋ฎค๋ํฐ ํ ๋ฆฌํ์คํธ ์ํฌํ๋ก๋ฅผ ์ํด ์ฌ๊ธฐ์ ์๊ธฐ ๋๋ฌธ์ ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ์ํ ์ต๊ณ ์ ํธ์คํ
์ผ๋ก์ GitHub๋ฅผ ํ์์ํฌ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ์์ ์ํํธ์จ์ด ์ปค๋ฎค๋ํฐ์ ์๋น ๋ถ๋ถ.
์ด์จ๋ , ์ ํฌ๋ง์ ์ด๊ฒ์ด ๊ตฌํ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ๋ช ์ ์ธ ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค!
์ด๋ฏธ ์ฑํ ๋ด์์ ์ธ๊ธํ๋ฏ์ด, ActivityPub in go๋ go์ ๊ฐ์ ์ ์ ์ธ์ด๋ก ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ PITA์ ๋๋ค.
@tboerger ํฅ๋ฏธ๋กญ์ต๋๋ค. ActivityPub ์ฌ์์ ์์์ด ๋ง์ OO์ด์ง๋ง ๊ตฌ์กฐ์ฒด ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์ฌ Go์์ ๋ชจ๋ธ๋งํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ผ ํ์ง๋ง ๋ด๊ฐ ์๋ ํ Rust์๋ serde
๊ฐ์ ๊ฒ์ด ์์ต๋๋ค(https://docs.serde. rs/serde_json/value/index.html), ์์
์ ์๋นํ ๋จ์ํํ์ง๋ง Go์์ ActivityPub์ ๊ตฌํ ํ๊ธฐ ์ํ ์ฝ๊ฐ์ ๋
ธ๋ ฅ ์ด ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ json-ld
๊ตฌ๋ฌธ ๋ถ์์ ๊ตฌํํ์ ๋ฟ๋ง ์๋๋ผ ActivityStreams์ ํต์ฌ ์ดํ๋ฅผ ์ ์ํฉ๋๋ค.
์ฌ๊ธฐ์ ์ด๋ค ํน์ ํ ์ฑ๊ฐ์ฌ์ ์๊ฐํ๊ณ ์์ต๋๊น?
@MatejLach ๋ ๋ค๋ฅธ ํ๋ก์ ํธ https://github.com/go-fed/activity
gogs ์ ์ฅ์์ ๊ด๋ จ ์ ์:
https://github.com/gogs/gogs/issues/4437
Gitlab์ ์ ์ฅ์์์:
https://gitlab.com/gitlab-org/gitlab-ee/issues/4517
์๋ ! ์ฌ๊ธฐ์ ActivityPub ๊ณต๋ ํธ์ง์๊ฐ ์์ต๋๋ค. ์ง๊ธ์ ๊ฝค ๋ฐ์์ง๋ง ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค... ์ง๋ฌธ์ด ํ์ํ๋ฉด ์ธ์ ๋ ์ง ์ ์๊ฒ ํ์ ๋ณด๋ด๊ฑฐ๋ irc.w3.org์ #social์์ ์ง๋ฌธํ์ธ์.
@jas99๊ฐ ์ธ๊ธํ https://github.com/go-fed/activity ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ด๋ จ๋ ์ง๋ฌธ/์ฐ๋ ค/์ฝ๋ฉํธ๊ฐ ์๋ ๊ฒฝ์ฐ Mastodon์์ ์ ์๊ฒ ์ฐ๋ฝํ๋ ๊ฒ์ ์ฃผ์ ํ์ง ๋ง์ญ์์ค. ๋๋ ๋ถ๋ช ํ ๊ฒฐ์ ์ ๊ฒฐ๊ณผ์ ๊ธฐ๋๊ถ์ด ์์ง๋ง go+ActivityPub ๊ต์ฐจ๋ก์์ ์ผํ ๊ฒฝํ์ ๋ํ ์์งํ ์ ๋ณด๋ฅผ ๊ธฐ๊บผ์ด ์ ๊ณตํ๊ณ ์ถ์ต๋๋ค. ๋๋ Go์์ ActivityPub์ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐํ๋ฅธ ์ ๋ฒฝ์ด๋ผ๋ @tboerger ์ ๋ง์ ๋์ํฉ๋๋ค.
index
๋ผ๋ ์ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ ๋๋ฉ์ธ index.gitea.io๋ฅผ ์ค์ ํ์ฌ ๊ทธ๋ ๊ฒ ํ ์ ์์๊น์?
์ธ๋ฑ์ค ์๋ฒ๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น? @lunny
ActivityPub ํ๋กํ ์ฝ์ ์ผ๋ฐ์ ์ธ ๊ตฌํ์ ๋ํด ๋ ผ์ํ๋ ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ง ์ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค(์ฆ, ๋์ฌ์ ๋ํด ๋์ผํ ํ์ฅ ์ฌ์ฉ ๋ฑ). ์ด๋ฅผ ํตํด ํ๋๋ ์ด์ ์ด ์ํํ๊ฒ ๋ ผ์ํ ์ ์๋ ๋ค์ํ ์์ ๋ฏธ๋์ด ํ๋ซํผ์ ์ฌ์ฉ์์ฒ๋ผ gitea, gogs ๋ฐ gitlab ์ฌ์ฉ์๊ฐ ์ํํ๊ฒ ํจ๊ป ์์ ํ ์ ์์ต๋๋ค.
์ด๊ณณ์ด ์๋๊น์? -> https://github.com/git-federation/gitpub
@jaywink ์ข์ ์๊ฐ์ ๋๋ค!
์ด๊ฒ์ ๋๋ผ์ด ๊ฒ์ ๋๋ค! @JonasFranzDEV๊ฐ ์ ์ํ ๊ฒ์ฒ๋ผ Nextcloud (/Owncloud)๋ ์ด๊ฒ์ด ์ด์์ ์ธ ๊ตฌํ๊ณผ ์ด๋ป๊ฒ ์๋ํ ์ ์๋์ง์ ๋ํ ์๋ฒฝํ ์๋ผ๊ณ ์๊ฐํฉ๋๋ค.
Nextcloud๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ์ธ์คํด์ค์ ์ฌ์ฉ์์ ํด๋๋ฅผ ๊ณต์ ํ๋ ค๋ ๊ฒฝ์ฐ ์ฝ๊ฒ ๊ณต์ ํด๋๋ฅผ ๋ ์ธ์คํด์ค์ ๊ฑธ์ณ ์ค์ ํ ์ ์์ต๋๋ค.
๋ด Gitea ์ธ์คํด์ค์์ ํธ์คํ ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํด ๊ทธ๋ ๊ฒ ํ ์ ์๋ค๋ฉด ๋ค๋ฅธ ์ฐํฉ ์ธ์คํด์ค์ ์ฌ์ฉ์์๊ฒ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ฉด ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ฌธ์ ๋ฑ๊ณผ ์ํธ ์์ฉํ ์ ์๋ ์์ ํ ๊ธฐ๋ฅ์ผ๋ก Gitea ์ธํฐํ์ด์ค์ ํ์๋ฉ๋๋ค( ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ค๋ฅธ ์ธ์คํด์ค์์ ํธ์คํ ๋์๋ค๋ UI), ๊ฝค ๋๋์ต๋๋ค.
Gitea์ ๋ค๋ฅธ ์คํ ์์ค ์์ฒด ํธ์คํ ํ๋ก์ ํธ(์: GitLab CE) ๊ฐ์ ๊ณต์ ํ์ค์ ์ฑํํ๊ธฐ ์ํด ๋ ผ์ ์ค์ธ ๋ชฉํ๋ ํ์คํ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ, ์ด๊ฒ์ด ์ฑํ๋์ด Gitea, Gogs, GitLab ๋ฑ์ ์ฐํฉ์ ํ์ฉํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๋น๊ณต๊ฐ ํ๋ก์ ํธ๋ฅผ ์ํด GitHub์์ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ์ ํฐ ์์ค ์์ด ๊ฐ๋จํ์ง๋ง ๊ณต๊ฐ ์คํ ์์ค ํ๋ก์ ํธ์ ๊ฒฝ์ฐ GitHub์ ํฐ ์ด์ ์ด ์ปค๋ฎค๋ํฐ๋ผ๋ ์ ์ ์ธ์ ํด์ผ ํฉ๋๋ค. GitHub์์ ์ค์ ๋ก ๋ง์ ํ๋ก์ ํธ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ธ๊ธฐ ์๋ ํ๋ก์ ํธ๋ฅผ ์ฐํฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ์ฌ์ฉ์ ํ๋ ํผ๋(์ฆ, ๋ค๋ฅธ ์ธ์คํด์ค์์ ์น๊ตฌ๋ฅผ ํ๋ก์ฐํ๊ณ ํ๋์ ํ๋ก์ฐํ ์ ์๊ณ ํ๋ก์ ํธ๋ฅผ ์ข์ํ๊ณ ๊ฐ์ธ ์ ๋ณด ์ค์ ์ ๊ณ ๋ คํ๋ ๋ฑ)๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด ํ๋ฅญํ ๊ฒ์ ๋๋ค.
์ฐํฉ ํ ๋ฆฌํ์คํธ๋ ์ด์ ๋ํ ํ๋ฅญํ ์ฒซ ๋จ๊ณ๊ฐ ๋ ๊ฒ์ด๋ฉฐ(#184) ํ์ฌ ๊ฐ์ฅ ์ค์ํ ๋๋ฝ ๊ธฐ๋ฅ์ผ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ ๋ง์ง๋ง ๋๊ธ ์ดํ 11๊ฐ์.. ์์ง ๊ณํ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋ณด๋ค ํฉ์๋ ์ด๋ค ์ข ๋ฅ์ ํ์ค์ด ์์ ๋
ํ์ฌ ๋ ผ์๋ ์์กฐ๋ ํ๋ก์ ํธ์ ์ผ๋ถ๋ก ์งํ ์ค์ด๋ฏ๋ก ๋ ์์ธํ ์๊ณ ์ถ๋ค๋ฉด ๋ค์์ ๋ฐ๋ฅด์ญ์์ค: https://github.com/forgefed/forgefed
@lafriks ๊ฐ ์ธ๊ธํ๋ฏ์ด ์ผ๋จ ํฉ์๋ ํ์ค์ด ์์ผ๋ฉด ๋ค์ํ ํ๋ก์ ํธ์์ ์ด๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
์์กฐ๋ ํ๋ก์ ํธ์ ์ฌ๋ฐ๋ฅธ URL์ ์ด์ https://notabug.org/peers/forgefed ์ ๋๋ค.
github์ด ํ์ฌ ์ ์ฒด ๊ตญ๊ฐ์์ ppl ๊ณ์ ์ ์ ๊ฑฐํ๊ณ ์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ์ด๊ฒ์ด ์ง๊ธ ๊ฐ์ฅ ์ค์ํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
ForgeFed์๋ ์ด์ ํ ๋ก ํฌ๋ผ ๋ ์์ต๋๋ค. Gitea์ ๋๊ตฐ๊ฐ๋ฅผ ์ฐธ์ฌ์ํค๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด๊ฒ์ ๋ํด +1. ๋ก์ปฌ ์์ฒด ํธ์คํ ์ธ์คํด์ค์์ ์์ ํ์ง๋ง ๊ทธ ์ ํ์ผ๋ก ์ธํด ๊ฒฉ๋ฆฌ๋์ง ์๋ ๊ฒ์ด ์ง์ ์ผ๋ก ๋ ์ธ๊ณ์ ์ต๊ณ ๊ฐ ๋ ๊ฒ์ ๋๋ค.
ForgeFed ์์ ๊ทธ๋ฃน ์ ์๊ฒฌ์ ์ ๊ณตํ ํ์ฌ ์์กฐ์ ๊ฐ๋ฐ์๊ฐ ์ ์คํ ํ์ํฉ๋๋ค. https://talk.feneas.org/t/working-group-instructions/196
Microsoft๊ฐ Github์์ ๋๊ท๋ชจ ๋ง์ด๊ทธ๋ ์ด์ ์ ์์ํ๊ธฐ ์ ์๋ ์ด๊ฒ์ด ํฌ๋ฌ ๊ธฐ๋ฅ์ด ์๋์์ ๊ฒ์ ๋๋ค... ์ด์ ๊ทธ๋ ์ต๋๋ค. ๋ด๊ฐ ์ฐ๊ตฌํ๊ณ ์๋ OS ํ๋ก์ ํธ์ ๋ํ ์ ์ฅ์์ ์๊ฐ ์ ์ ์ค์ด๋ค๊ณ ์์ต๋๋ค. ํ์ฌ Github์ ์์ต๋๋ค(์ฌ๊ธฐ์ ๋ฏธ๋ฌ๋ง๋ ์๋ ์์).
๋๋ Github ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์ด๋ ฅ์์ฒ๋ผ ์ฝ์ ์ ์๊ณ ์ํํธ์จ์ด ์ธ๊ณ๊ฐ ์ปค๋ฆฌ์ด ๋ชจ๋ฐ์ผ์ธ ์ด์ ์ค ํ๋๋ ์ฌ๋์ด ๊ท์คํ ๊ธฐ์ ์ ์ค์ค๋ก ๊ฐ๋ฅด์น ์ ์๊ณ ์ฝ๊ฒ ์์ฐํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์ฝ์์ต๋๋ค(๊ณต๊ฐ github ํ์คํ ๋ฆฌ). ๋ ๋์ ์์ ๋ฑ์ ๋ฐ์ ์๊ฒฉ์ด ์์ต๋๋ค. ๊ธฐ์ฌ ๊ธฐ๋ก์ด ์์ญ ๊ฐ์ ๊ฐ์ธ ์๋ฒ์ ๋ถ์ฐ๋์ด ์์ผ๋ฉด ํจ์ฌ ๋ ๊ฐ์์ ์ด๊ฑฐ๋ ์ ์ฉํ์ง ์์ต๋๋ค.
๋ํ ์ด๋ฌํ ์๋ฒ ์ค ํ๋๊ฐ ์ธ์ ๋ ์ง ๋ค์ด๋ ์ ์์ผ๋ฉฐ ๊ธฐ๋ก์ ํด๋น ๋ถ๋ถ์ ์ด์ ์ฌ๋ผ์ก์ต๋๋ค. ์ฐํฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ ํ ๊ตฌํ์ ๋ด๊ฐ ์์ญ ๊ฐ์ ์ธ์คํด์ค(๋ด ์ธ์คํด์ค์์)์ ๋ํ ์์ญ ๊ฐ์ ํ๋ก์ ํธ์ ์ฐธ์ฌํ ์ ์์์ ์๋ฏธํ๋ฉฐ ๋ชจ๋ ์ค๋จ๋๋๋ผ๋ ์ฌ์ ํ ๋ด '์ฐํฉ git ํ๋กํ'์ ๋ณด์ ํ๊ฒ ๋ฉ๋๋ค.
ForgeFed ๋ก๋๋งต์ ์ฐ๊ฒฐ(์์ ํ ์ฌ๋๋ค์ ์ํ ์๊ธ ์ง์):
์๋ง๋ ๊ฐ๋จํ ๊ตฌํ์ ์ํด gitea๋ ๋ก์ปฌ ์ ์ฅ์ ํ์ผ์ ํธ์คํ
ํ๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ipfs ๋
ธ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค( ipns ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ์์ ์ต์ ๋ฒ์ ์ ๊ฐ๋ฆฌํด). ๊ทธ๋ฐ ๋ค์ ๋ค๋ฅธ gitea ์ธ์คํด์ค๋ฅผ ์ฐพ๊ณ ipns ํด์ ๋ฐ ์๋น ๋ฐ์ดํฐ(๋ณ, ์ด๋ฆ)๋ฅผ ์ป๊ธฐ ์ํด ๊ฐ๋จํ ๊ฐ์ญ ํ๋กํ ์ฝ์ ๊ตฌํํ ์ ์์ต๋๋ค.
ipfs๋ฅผ ์ฌ์ฉํ๋ฉด ํ ์ธ์คํด์ค์ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ธ์คํด์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณด๊ฑฐ๋ ๋ถ๊ธฐํ๋ ค๋ ๊ฒฝ์ฐ ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ผ๋ถ๋ฅผ ํธ์คํ
ํ๋ ๋ฐ ๊ธฐ์ฌํ๊ณ ๋คํธ์ํฌ ์ ์ฒด์์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์๋ค๋ ์ด์ ์ด ์์ต๋๋ค.
ipfs/ipns๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณํ ํ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ, ํ ์์ฒญ, ๋ฐ์ด์ค ๋ฑ๊ณผ ๊ฐ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐํฌํ๋ ๋ฐ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๊ฐ ๋ ธ๋๋ ์ธ์คํด์ค๊ฐ ๊ด์ฌ์ ๊ฐ๋ ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ฌ์ฉ์์ ๋ํ ์ด๋ฆ ๋ฐ ipns ํด์๋ง ์ ์ฅํ๋ฉฐ ์์ฒญํ๋ ๊ฒ์ ๊ฐ๋จํฉ๋๋ค. ์ ์ ์๋ ์ฌ์ฉ์์ ํ๋กํ ๋ฐ์ดํฐ.
ipfs์๋ ์ด๋ฏธ go ๊ตฌํ ์ด ์์ผ๋ฉฐ ์๋ฅผ ๋ค์ด ์ด์ ๊ฐ์ ๊ฒ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์๋ ํผ์ด ํฌ ํผ์ด ์คํ ๋ฆฌ์ง์ ๋ํ ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค. ๊ทํ๊ฐ ์ค๋ช ํ๋ ๋ด์ฉ์ ๋น๋ฉดํ ๋ฌธ์ ์ ๊ด๋ จ์ด ์๊ฑฐ๋ ํ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. Git ์คํ ๋ฆฌ์ง ํ์ ๋ฐ ์ ์ก ํ๋กํ ์ฝ์์ ๋ฒ์ด๋๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๊ธฐ์ ์ด์ ์ด ์๋ ๊ฒฝ์ฐ ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ด์ด์ผ ํ ์๋ ์์ต๋๋ค(์ ๋ ํ์คํ ๊ทธ๋ ์ง ์์ต๋๋ค).
์ฌ๊ธฐ์๋ ํผ์ด ํฌ ํผ์ด ์คํ ๋ฆฌ์ง์ ๋ํ ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค.
gitea๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ P2P ๊ณต์ ๋ฅผ ํตํด ํฐ ์ด์ ์ ์ป์ ์ ์์ผ๋ฏ๋ก ์ธ์คํด์ค๊ฐ ๋ค์ด๋๋ ๊ฒฝ์ฐ ์ธ๊ธฐ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ค๋ณต๋ ์ ์์ต๋๋ค. ๋๊ตฐ๊ฐ ์์ ์ ์ธ์คํด์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ฏธ๋ฌ๋งํ ์ ์์ง๋ง ์ปค๋ฐํ ์ค์ ์์น๊ฐ ์์ผ๋ฉด ํ๋ก์ ํธ ๊ฐ๋ฐ์ด ๋จํธํ๋ฉ๋๋ค. git ํ๋กํ ์ฝ์ด IPFS์ ๊ณ์ธตํ๋ ๊ฒฝ์ฐ ๋จ์ผ ์ธ์คํด์ค์์ ํ๋ก์ ํธ๋ฅผ ๋ถ๊ธฐํ ๋ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํ์ฉํ๋ฏ๋ก ์ ์ฒด ๋ณต์ฌ๋ณธ์ ์ ์ฅํ ํ์๊ฐ ์์ต๋๋ค.
๋น์ ์ด ์ค๋ช ํ๋ ๊ฒ์ ํ์ํ์ง ์๊ฑฐ๋ ๋น๋ฉดํ ๋ฌธ์ ์ ๊ด๋ จ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ๋๋ ์ด์
์ด ๋งค์ฐ ์ ์ฉํ ์ด์ (๊ทธ๋ฆฌ๊ณ ์ฌ๋๋ค์ด ํ๋๋ ์ด์
์ ์ํ๋ ์ด์ )๋ ์ธ์คํด์ค ๊ฐ์ ํ์
์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์
๋๋ค. IPNS(InterPlanetary Name System)๋ ํน์ ๋ฐ์ดํฐ(์: ์ ์ฅ์ ๋ฐ ๊ฐ์ธ ํ๋กํ)๋ฅผ ์
๋ฐ์ดํธํ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ OpenID์ ๋์ผํ ๋์์ ํฉ๋๋ค. IPNS ์ฃผ์๋ ํด๋น ์ฌ์ฉ์๋ฅผ ํน์ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ํ์ ์์ด ๋ค๋ฅธ ์ธ์คํด์ค์์ ์ฌ์ฉ์๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
Alice๋ aliceland.net์์ gitea ์ธ์คํด์ค๋ฅผ ์์ฒด ํธ์คํ
ํ๊ณ ์์ต๋๋ค.
Alice๊ฐ ์ ๊ณ์ ์ ๋ง๋ค ๋ gitea๋ ๋น ํ๋กํ์ ๋ง๋ค๊ณ IPFS์์ ํธ์คํ
ํ ๋ค์ ํด๋น ํ๋กํ์ ๊ฐ๋ฆฌํค๋ ๊ณ ์ ํ IPNS ์ฃผ์๋ฅผ ์์ฑํฉ๋๋ค. Alice๊ฐ ์ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ด๋ค ์์ผ๋ก๋ ํ๋กํ์ ์
๋ฐ์ดํธํ ๋๋ง๋ค gitea๋ (๋ค์์) ์ IPFS ๋ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ ์ด์ ๋ ์ฝ๋๋ฅผ ๊ณ ์ ํด์ ํ๊ณ Alice์ IPNS ์ฃผ์๋ฅผ ์ฌ๊ธฐ์ ๋ค์ ํ ๋นํฉ๋๋ค.
์ด์ Bob์ด bobland.net์ ์ ์ฅ์ ๋ฏธ๋ฌ์์ aliceland.net์ผ๋ก ๋ณํฉ ์์ฒญ์ ์ ์ถํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
Bob์ด ์๋ Alice์ ์ ์ฅ์๋ฅผ bobland.net์ ํฌํฌํ ๋ Alice ์ ์ฅ์์ IPNS์ ๊ทธ๊ฐ ๋ถ๊ธฐํ ์ปค๋ฐ์ IPFS ์์น๋ฅผ ๊ธฐ๋กํ์ต๋๋ค.
Bob์ด ๋ณํฉ ์์ฒญ์ ์ด๋ ค๊ณ ํ ๋ ๊ทธ๋ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ bobland.net์ IPFS ๋ธ๋ก์ ๋ค์ ํญ๋ชฉ์ ๋ฃ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ Bobland.net์ IPFS ์ฃผ์๋ฅผ aliceland.net์ผ๋ก ๋ณด๋ด์ด ์ด๋ฅผ ์์ ํ ๋ฌด์ํ๊ฑฐ๋ ์ฃผ์๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ์ปค๋ฐ์ ํ์ธํ๊ณ ์ฃผ์ ์ค๋ ๋(๋ชจ๋ ์ฃผ์์ ๊ฐ๋ฆฌํค๋)์ ๋ํ IPNS ์ฃผ์๋ฅผ ์์ฑํ ๋ค์ ์๋ฆด ์ ์์ต๋๋ค. Alice๋ Bobland.net ์ธ์คํด์ค์ Bob์ด๋ผ๋ ์ฌ๋์ด IPFS๋ฅผ ํตํด 3๊ฐ์ ์ปค๋ฐ์ ๋ํ ๋ณํฉ ์์ฒญ์ ๋ณด๋์ต๋๋ค. ์ฃผ์์ ๋ํ IPFS๋ฅผ ํตํด ํธ์คํ
๋๊ณ IPNS ์ฃผ์๋ฅผ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฐ์ดํฐ(์: ์ฃผ์ ์ค๋ ๋)์ ๋ํด IPNS๋ฅผ ์ฌ์ฉํ๊ณ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ(์: ์ฃผ์ ๋ฐ ์ปค๋ฐ)์ ๋ํด IPFS๋ฅผ ์ฌ์ฉํ๋ ์ด ํจํด์ ๋๋ถ๋ถ์ ์ธ์คํด์ค ๊ฐ ์ฐํฉ์ ์ ์ฉ๋ ์ ์์ต๋๋ค.
Git ์คํ ๋ฆฌ์ง ํ์ ๋ฐ ์ ์ก ํ๋กํ ์ฝ์์ ๋ฒ์ด๋๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฐํฉ์ ๋ํ ์ด ์ ๊ทผ ๋ฐฉ์์ Git ํ์์์ ๋ฉ์ด์ง ํ์๊ฐ ์์ต๋๋ค. Git์ ๋จ์ํ ๊ณ์ธตํ๋์ด ifps์ ์ ์ฅ๋ ์ ์์ต๋๋ค (์ค๋ณต ์ ๊ฑฐ๋ ํ์ฉํจ). Git์ Merkle Tree ์์คํ ์ ๋ฐ๋์ IPFS์ ํตํฉ๋ ํ์๋ ์์ผ๋ฉฐ(๋ฉ์ง๊ธด ํ์ง๋ง) git ์ ์ก ํ๋กํ ์ฝ์ ์ฌ์ ํ โโ๋์ผํ ๊ฒ์ ๋๋ค. IPFS๋ ์ธ์คํด์ค ๊ฐ์ ํต์ ์ ์กฐ์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฅ ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ด โโ์ ์์ต๋๊น? ์ด๊ฒ์ ํน์ ํ ๊ฒ์ ๊ดํ ๊ฒ์ด๋ฉฐ ForgeFed๋ ์ด๋ฏธ ํ๋กํ ์ฝ์ ๋ํด ์์ ํ๊ณ ์์ต๋๋ค. ๋ ๋์ ์์ง, ๊ทธ๋ค๊ณผ ํจ๊ป ๊ฐ์ ธ์ต๋๋ค.
"ipfs/filecoin/blockchain์ ์ด๋ป์ต๋๊น?"์ ๊ฐ์ ์ฃผ์์ผ๋ก ๋ฌธ์ ๋ฅผ ์๋ ๊ฒ์ ๋ฌด๋กํ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
+1
GitLab์ ์ด ๊ธฐ๋ฅ์ ๋ํด์๋ ๋ ผ์ํ๊ณ ์์ต๋๋ค: https://gitlab.com/gitlab-org/gitlab/-/issues/6468
๋๋ ์ฐธ๊ณ ๋ก ๋ฉฐ์น ์ ์ gitea dev discord์ ๋ํด ํ์ ๋ณด์๊ณ , go-fed v1์ด ์๋ฃ๋๊ณ ๋ฌธ์ํ๋๋ฉด์ ForgeFed ๋ค์ ์๋ ์ฌ๋๋ค์๊ฒ ์ฌ์ ์ ์ฐ๋ฝํ๋ ค๊ณ ํ์ต๋๋ค. ์ธ์คํด์ค๋ฅผ ์ป๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค. ๋น๋ก ์์ ๋ ธ๋ ฅ์ ์๋์ง๋ง ActivityPub์ ์ฐํฉ๋ gitea์. ๋๋ gitea ์ฌ๋๋ค์ด ๋ค๋ฅธ ์ฐ์ ์์ atm์ผ๋ก ๋ฐ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ถํํ๋ ์ ๋ ForgeFed ์ง์์ ํ๋ณดํ๋ ๋ฐ ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค. :(
APConf2020์์ ๋์จ ActivityPub ์ปค๋ฎค๋ํฐ์ ์ฐ๋ฆฌ ์ค ์ผ๋ถ๋ gitea ์ธ์คํด์ค์์ ํ๋ฟ๋ฆฌ ๊ฒฝ๋ ๋ฌธ์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ์์ผ๋ฉฐ ์์ง ์ฐํฉํ ์ ์๋ค๋ ๊ฒ์ด ์ด์ํ๊ฒ ๋๊ปด์ง๋๋ค.
Git์ ์ด๋ฏธ ํ์ค์ํ ๋ฏธ๋ฌ๋ง์ ํ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ ์ผํ ๊ธฐ๋ฅ์ ์ด๋ฅผ ์กฐ์ ํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ฅ๋ฟ์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ForgeFed๊ฐ ํ๋ ์ผ์ ๋๋ค. IPFS๋ ์ฌ๊ธฐ์ ์์ ํ์๊ฐ ์์ผ๋ฉฐ ๋ฉ์ธ๋ท ์ถ์๊ฐ ์ผ๋ง๋ ๋น์ฐธํ๊ฒ ์งํ๋์๋์ง ๊ณ ๋ คํ ๋ Protocol Labs์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋๋ ๊ฒ์ด ์์ ํ์ง ํ์ ํ ์ ์์ต๋๋ค.
๊ธฐ์กด ์ด๋์ ํฐ๋ธ์ ๋ํด ํ๋ ฅํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค. ์์ ๊ทธ๋ฃน์ ํจ๊ป ๊ตฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ถ๊ฐ ํ ๋ก ์ ์ํด ์ด Matrix ์ฑ๋์ ์ ์ํ ์ ์์ต๋๋ค. #n oteworthy:tincan.community
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ! ์ฌ๊ธฐ์ ActivityPub ๊ณต๋ ํธ์ง์๊ฐ ์์ต๋๋ค. ์ง๊ธ์ ๊ฝค ๋ฐ์์ง๋ง ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค... ์ง๋ฌธ์ด ํ์ํ๋ฉด ์ธ์ ๋ ์ง ์ ์๊ฒ ํ์ ๋ณด๋ด๊ฑฐ๋ irc.w3.org์ #social์์ ์ง๋ฌธํ์ธ์.