ΠΠ²ΡΠΎΡΡΡ Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ruby mimemagic, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° Π½Π°Π΄ 100 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ, Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π»ΠΈΡΠ΅Π½Π·Π° ΡΠΈ ΠΎΡ MIT Π½Π° GPLv2 ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΡΠ΅Π½Π·Π° GPLv2 Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°. RubyGems Π·Π°ΠΏΠ°Π·ΠΈ ΡΠ°ΠΌΠΎ Π²Π΅ΡΡΠΈΠΈ 0.3.6 ΠΈ 0.4.0, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ Π° Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ΄ GPL, ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎ-ΡΡΠ°ΡΠΈ Π²Π΅ΡΡΠΈΠΈ, Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ΠΈ ΠΎΡ MIT. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° mimemagic Π±Π΅ΡΠ΅ ΡΠΏΡΡΠ½ΠΎ ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° GitHub Π±Π΅ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΎ Π² Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.
Π’Π΅Π·ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΠΎΠ²Π΅Π΄ΠΎΡ Π° Π΄ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ mimemagic ΠΊΠ°ΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ GPLv2. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° mimemagic, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½ΠΈ (Π»ΠΈΡΠ΅Π½Π·ΡΡ Π½Π° MIT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°ΠΊΠ°Π²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°), ΡΠ° Π΄Π»ΡΠΆΠ½ΠΈ Π΄Π° ΠΏΡΠ΅Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ GPL. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ Π²Π»ΠΎΡΠ°Π²Π° ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΠΎ-ΡΡΠ°ΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΎΡ RubyGems.org. ΠΠΊΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΠΎΠΏΠΈΡΡΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° mimemagic ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ.
Π Π°ΠΌΠΊΠ°ΡΠ° Ruby on Rails, ΠΊΠΎΡΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π° mimemagic ΡΡΠ΅Π΄ ΡΠ²ΠΎΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΡΡΠΎ Π±Π΅ΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°ΡΠ°. Ruby on Rails Π΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΡΡΠ³Π»Π°ΡΠ½ΠΎ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° GPL ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΠ°Π½Π° Π³Π»ΠΎΠ±Π°Π»Π΅Π½ - Π°ΠΊΠΎ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π·Π°ΡΠ΅Π³Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ 172 ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΠΎΠ³Π°Π²Π°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, Π±ΡΡ Π° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 577 Ρ ΠΈΠ»ΡΠ΄ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠ°ΡΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° GPL Π»ΠΈΡΠ΅Π½Π·Π° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° mimemagic Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° freedesktop.org.xml Π² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° MIME ΡΠΈΠΏ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° shared-mime-info. ΠΠΎΡΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° GPLv2, Π° ΡΠ°ΠΌΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° mime Π΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° ISC, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ GPL. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° mimemagic ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT, Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° GPLv2 ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ GPLv2. ΠΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΠΊΡΡ Π½Π° shared-mime-info ΠΎΠ±ΡΡΠ½Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π° ΠΈ Π°Π²ΡΠΎΡΡΡ Π½Π° mimemagic ΡΠ΅ ΡΡΠ³Π»Π°ΡΠΈ Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π»ΠΈΡΠ΅Π½Π·Π°.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ XML ΡΠ°ΠΉΠ»ΡΡ Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ freedesktop.org.xml ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈΡΡ mimemagic Π·Π°ΠΌΡΠ°Π·ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΡΠΊΠΎΠΉ Π΄ΡΡΠ³ ΡΠ΅ ΡΡΡΠ±Π²Π° Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ²ΡΡΡΠΈ ΡΠ°Π·ΠΈ ΡΠ°Π±ΠΎΡΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅, Π°ΠΊΠΎ Π°Π²ΡΠΎΡΡΡ Π½Π° mimemagic Π½Π΅ ΠΈΡΠΊΠ° Π΄Π° Π²ΡΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΈ Π² Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ (ΡΠΎΠΉ Π΅ ΠΎΡΠΊΠ°Π·Π²Π°Π» Π΄ΠΎΡΠ΅Π³Π°), ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° mimemagic ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΡΠ΅Ρ
ΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° mimemagic, ΠΊΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libmagic ΡΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΎΠΏΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru