{"id":99575,"date":"2021-03-25T16:23:03","date_gmt":"2021-03-25T14:23:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails"},"modified":"2021-03-25T16:23:03","modified_gmt":"2021-03-25T14:23:03","slug":"ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails","title":{"rendered":"Resolving GPL violations in the mimemagic library resulted in a Ruby on Rails failure","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The author of the popular Ruby library mimemagic, which has over 100 million downloads, was forced to change the license from MIT to GPLv2 due to a discovered violation of the GPLv2 license within the project. Only versions 0.3.6 and 0.4.0, supplied under GPL, remain on RubyGems, while all older releases under the MIT license have been removed. Furthermore, the development of mimemagic has been halted, and the repository on GitHub has been archived.     <\/p>\n<p>These actions resulted in the disruption of projects that use mimemagic as a dependency and are licensed under terms incompatible with GPLv2. With the new version of mimemagic, developers of other projects, including proprietary ones (the MIT license allows such usage), are required to relicense their code under GPL. The situation was worsened by the fact that older versions under the MIT license are no longer available from RubyGems.org. If caching of packages is not enabled, attempts to build projects with past versions of mimemagic will lead to failure. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/en\/server\/dts-dronten\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2616\">server<\/a> The Ruby on Rails framework, which loads mimemagic as a dependency, is among those affected. Ruby on Rails is distributed under the MIT license and cannot include components under GPL. The problem has become widespread \u2014 while the direct change affected 172 packages, over 577,000 repositories have been impacted when considering dependencies.      <\/p>\n<p>The Ruby on Rails framework was also affected, loading mimemagic among its dependencies. Ruby on Rails is distributed under the MIT license and cannot include components under the GPL. The issue has become global \u2014 while the direct change affected 172 packages, over 577,000 repositories have been impacted when considering dependencies.       <\/p>\n<p>The violation of the GPL license in the mimemagic project is related to the inclusion in the code of the file freedesktop.org.xml, which is a copy of the MIME type database from the shared-mime-info library. The specified file is distributed under the GPLv2 license, while the shared-mime-info library is under the ISC license, which is compatible with GPL. The source code of mimemagic was provided under the MIT license, and supplying components under the GPLv2 license requires distributing the derivative product under a license compatible with GPLv2. The maintainer of shared-mime-info brought this issue to attention, and the author of mimemagic agreed to the requirement to change the license.    <\/p>\n<p>The output would involve parsing the XML file on the fly, without supplying freedesktop.org.xml as part of the library, but the accompanying mimemagic has frozen the project's repository, so this task will have to be urgently performed by someone else. If the author of mimemagic does not wish to bring their project back online (they currently refuse), a fork of mimemagic may need to be created and the dependency replaced in all related projects. Transitioning projects reliant on mimemagic to the libmagic library is also being considered.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54829\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u0432\u0442\u043e\u0440 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 Ruby-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 mimemagic, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 100 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0431\u044b\u043b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0441 MIT \u043d\u0430 GPLv2 \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 GPLv2. \u0412 RubyGems \u0431\u044b\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0440\u0441\u0438\u0438 0.3.6 \u0438 0.4.0, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u043f\u043e\u0434 GPL, \u0430 \u0432\u0441\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT \u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 mimemagic \u0431\u044b\u043b\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430, \u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 GitHub [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-99575","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u0432\u0442\u043e\u0440 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 Ruby-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 mimemagic, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 100 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0431\u044b\u043b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0441 MIT \u043d\u0430 GPLv2 \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 GPLv2.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f GPL \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 mimemagic \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0441\u0431\u043e\u044e \u0432 Ruby on Rails | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u0432\u0442\u043e\u0440 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 Ruby-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 mimemagic, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 100 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0431\u044b\u043b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0441 MIT \u043d\u0430 GPLv2 \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 GPLv2.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-03-25T14:23:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-25T14:23:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Resolving the GPL violation in the mimemagic library led to a failure in Ruby on Rails | ProHoster","description":"The author of the popular Ruby library mimemagic, which has over 100 million downloads, was forced to change the license from MIT to GPLv2 due to a violation of the GPLv2 license found in the project.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f GPL \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 mimemagic \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0441\u0431\u043e\u044e \u0432 Ruby on Rails | ProHoster","og:description":"\u0410\u0432\u0442\u043e\u0440 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 Ruby-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 mimemagic, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 100 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0431\u044b\u043b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0441 MIT \u043d\u0430 GPLv2 \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 GPLv2.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/ustranenie-narusheniya-gpl-v-biblioteke-mimemagic-privelo-k-sboyu-v-ruby-on-rails","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-03-25T14:23:03+00:00","article:modified_time":"2021-03-25T14:23:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99575","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-25 14:31:33","updated":"2026-02-09 21:38:08","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/99575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=99575"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/99575\/revisions"}],"predecessor-version":[{"id":159898,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/99575\/revisions\/159898"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=99575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=99575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=99575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}