{"id":181863,"date":"2026-06-02T14:48:37","date_gmt":"2026-06-02T12:48:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai"},"modified":"2026-06-02T14:48:37","modified_gmt":"2026-06-02T12:48:37","slug":"problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai","title":{"rendered":"Copyright issues arise when rewriting ScanCode in Rust using AI","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The accompanying open-source tool ScanCode Toolkit, designed for scanning code for intersections with third-party copyrights, identifying used licenses, and detecting unresolved vulnerabilities, has criticized a project that created an AI version of ScanCode, rewritten from Python to Rust (the name of the clone is not mentioned, but it appears to be about the Provenant project). It is claimed that the rewritten project has infringed on the ScanCode trademark and removed mentions of copyrights and licenses. The allegations are explained by the fact that the rewritten clone continues to use the key algorithms of ScanCode, preserving the project architecture and code structure. <\/p>\n<p>According to the ScanCode maintainer, the successful creation of the clone was facilitated by the availability of a comprehensive automated test suite, including over 90,000 tests, of which 40,000 are dedicated to detecting the use of various licenses in code. The authors of the rewritten version claimed a significant increase in performance (by 10 to 100 times), but according to the ScanCode maintainer, the cost of this acceleration was an incomplete pass of the test suite, as well as a decrease in the correctness of operation and completeness of provided information (the clone produced incorrect results and did not find all information during analysis). <\/p>\n<p>While in specialized performance tests, the Rust port significantly outperformed ScanCode, during the standard test suite the clone turned out to be slower, even though it skipped some checks. After optimizations were made to ScanCode, such as caching, ScanCode's performance when scanning code became as good as that of the Rust clone, while fully maintaining operational accuracy.<\/p>\n<p>The authors of the clone are also accused of violating copyrights and the Apache 2.0 license under which the ScanCode code is distributed. It is noted that four main requirements of the license were violated during the rewriting process: leaving the original file with a notice (NOTICE), preserving mentions of copyrights, highlighting made changes, and renaming the derivative work. After being notified, the authors of the clone added a NOTICE file and renamed their project, but the other two violations remain unaddressed.<\/p>\n<p>The accompanying ScanCode believes that the community should develop criteria for distinguishing between what should be considered a derivative work when using AI and what constitutes an independent implementation. In his view, after rewriting code in another language while maintaining algorithms and structure, the result continues to be a derivative work, even if variable names have been changed and comments have been modified or removed in the process. The claims of the authors of the Rust port regarding an independent reworking, merely inspired by the ScanCode project, are incorrect in this case, as the work aims to create the appearance of original development, which is even worse than direct copying since such manipulations are harder to detect. <\/p>\n<p>A significant problem with code generation through AI is the lack of tracking the origin of the code used to obtain results. By default, AI agents that use code from open projects ignore author information unless specific means for detecting and preserving metadata about licenses and authorship are implemented. The attribution issue affects not only the work of rewriting code from one language to another but also code generation in general \u2014 in this case, the result may quite accurately replicate patterns from existing open code used in the model training process.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65602\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ScanCode Toolkit, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0440\u0430\u0441\u043a\u0440\u0438\u0442\u0438\u043a\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0435\u043a\u0442, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0438\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 AI \u043a\u043b\u043e\u043d \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 ScanCode, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0441 Python \u043d\u0430 Rust (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u043e\u043d\u0430 \u043d\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f, \u043d\u043e, \u0441\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c, \u0440\u0435\u0447\u044c \u043f\u0440\u043e \u043f\u0440\u043e\u0435\u043a\u0442 Provenant). \u0423\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181863","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ScanCode Toolkit, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0438 ScanCode \u043d\u0430 Rust \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 AI | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ScanCode Toolkit, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai\" \/>\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=\"2026-06-02T12:48:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-02T12:48:37+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\udd47Copyright compliance issues in rewriting ScanCode in Rust using AI | ProHoster","description":"The accompanying open-source tool ScanCode Toolkit is designed to scan code for intersections with external copyrights, identify licenses used, and detect unaddressed issues.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai","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\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0438 ScanCode \u043d\u0430 Rust \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 AI | ProHoster","og:description":"\u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ScanCode Toolkit, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/problemy-s-soblyudeniem-avtorskogo-prava-pri-perepisyvanii-scancode-na-rust-pri-pomoshhi-ai","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":"2026-06-02T12:48:37+00:00","article:modified_time":"2026-06-02T12:48:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181863","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=181863"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181863\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=181863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=181863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=181863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}