ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ - ΠΠ°ΡΡΠΎΠ΄ΠΎΠ½ 3.0, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΡΠΎΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ. ΠΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π²ΡΠ·Π΅Π», ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΡΠ°ΠΊΡΠ² ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π° ΡΡΠ»ΡΠ³Π° Π·Π° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅. Mastodon ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΠΊΡΠΌ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ActivityPub.
ΠΠΎΠ΄ΡΡ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Ruby Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Ruby on Rails, Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ React.js ΠΈ Redux. ΠΠ·Ρ
ΠΎΠ΄Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ AGPLv3. ΠΠΌΠ° ΠΈ ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΈ ΡΡΠ°ΡΡΡΠΈ. Π‘ΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° PostgreSQL ΠΈ Redis.
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ API Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π·Π° Android, iOS ΠΈ Windows, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π±ΠΎΡΠΎΠ²Π΅).
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°
OStatus, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° StatusNet ΠΈ GNU Π‘ΠΎΡΠΈΠ°Π»Π½ΠΎ. ΠΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ActivityPub Π²ΠΌΠ΅ΡΡΠΎ OStatus. Π£Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΈΠ»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π²Π³ΡΠ°Π΄Π΅Π½ Π°ΡΠ΄ΠΈΠΎ ΠΏΠ»Π΅ΠΉΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ
Π°ΡΡΠ°Π³ΠΎΠ²Π΅, βΠ½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈβ ΡΠ°Π³ΠΎΠ²Π΅ Π·Π° ΠΈΠ·ΡΡΠΈΡΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΠΏΡΠΈΠΈ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΠ°ΡΠ½Ρ. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π²ΡΡΠ°ΠΊΡΠΎΡΠ½Π° Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅ΠΉΠ». Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Ρ
Π°ΡΡΠ°Π³ΠΎΠ²Π΅ ΠΈ Π΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΡΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΡΡ
Π½ΠΎΡΠΎ ΡΡΡΡΠ΅Π½Π΅. ΠΠΎΠ±Π°Π²Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΏΠ°ΠΌ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru