Gitea: ์กฐ์ง, ์ €์žฅ์†Œ ๋ฐ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์—ฐํ•ฉ

์— ๋งŒ๋“  2017๋…„ 04์›” 26์ผ  ยท  42์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: go-gitea/gitea

https://owncloud.org/features/federation/ ์ฐธ์กฐ

๋‹ค์Œ ํด๋ผ์šฐ๋“œ์˜ ํŽ˜๋”๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ Gitea ์ธ์Šคํ„ด์Šค ๊ฐ„์— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, ์กฐ์ง ๋˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋น„์ฆˆ๋‹ˆ์Šค ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค๋ฅธ ํšŒ์‚ฌ์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๊ด€๋ฆฌ ๋ฐ ๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์ดˆ๋ณด์ž๊ฐ€ Gitea๋ฅผ ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Gitea์˜ "Mirror" ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

kinfeature kinproposal

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•! ์—ฌ๊ธฐ์— ActivityPub ๊ณต๋™ ํŽธ์ง‘์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ฝค ๋ฐ”์˜์ง€๋งŒ ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค... ์งˆ๋ฌธ์ด ํ•„์š”ํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ์ €์—๊ฒŒ ํ•‘์„ ๋ณด๋‚ด๊ฑฐ๋‚˜ irc.w3.org์˜ #social์—์„œ ์งˆ๋ฌธํ•˜์„ธ์š”.

๋ชจ๋“  42 ๋Œ“๊ธ€

์—ฐํ•ฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@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 ๋กœ๋“œ๋งต์— ์—ฐ๊ฒฐ(์ž‘์—…ํ•  ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์ž๊ธˆ ์ง€์›):

https://notabug.org/peers/forgefed/issues/87

์•„๋งˆ๋„ ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„์„ ์œ„ํ•ด 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 ๋ธ”๋ก์— ๋‹ค์Œ ํ•ญ๋ชฉ์„ ๋„ฃ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฅ์˜ IPNS ์‚ฌ์šฉ์ž ์ฃผ์†Œ
  • Bob์ด ๊ฐ€์ ธ์˜ค๋ ค๋Š” ์ปค๋ฐ‹์˜ IPFS ์ฃผ์†Œ
  • ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” Alice์˜ ์ €์žฅ์†Œ์— ์žˆ๋Š” ์ปค๋ฐ‹์˜ IPFS ์ฃผ์†Œ
  • ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ Bob์˜ ๋ฉ”์‹œ์ง€ ๋ฐ ์ œ๋ชฉ
  • Bob์˜ ๊ฐœ์ธ IPNS ํ”„๋กœํ•„ ํ‚ค๋กœ ๋ฐ์ดํ„ฐ ์„œ๋ช…

๊ทธ๋Ÿฐ ๋‹ค์Œ 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

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰