Lama Cleaner —— 开源图像修复工具
Lama Cleaner 是基于 SOTA 深度学习模型的图像修复工具,完全支持本地部署,支持 CPU & GPU。 特性 完全免费、开源 支持自托管 (self-hosted) 提供多个 SOTA AI 模型 LaMa LDM ZITS 支持 CPU 和 GPU 提供多项高分辨率图像处理策略 可作为桌面 APP 运行 使用案例 移除人物 before after
tea 是 Gitea 的 CLI 前端命令行程序,已被 Manjaro 、Arch Linux 等多个 Linux 发行版采用。但网友 Artemis Everfree 在打包 tea 程序的时候,意外发现该程序的多个依赖项都没有明确的开源许可。
举个例子,在使用 Golicense(一个扫描 Go 程序的依赖性及许可的工具)进行扫描后,扫描结果显示:
🚫 gitea.com/noerw/unidiff-comments <license not found or detected>
这是一个 Go 的文件差异解析器 ,Artemis 进一步检查了这个 gitea.com/noerw/unidiff-comments 依赖,发现这个 unidiff-comments 包实际上只是 GitHub 上 godiff 项目的镜像,针对 Go 模块进行了单独打包。
而更搞的是:原版 godiff 仓库就是没有许可证的,而且已经六年没有更新了。unidiff-comments 的作者 noerw 也意识到自己 Fork 了一个无许可的项目,早在 2020 年就在原始仓库提过 Issue 让作者加一个开源许可证,但一直没有得到回应。
不过,在 Artemis Everfree 关于此事的博客引起热议之后,有网友联系到了原作者,原作者惊奇地评论道:“这是 7 年前的项目啊,当初实在是没想到有人会用我的代码,所以就没管许可证的事情。不过如果它能提供帮助,那我就添加一个 MIT 许可证好了。”
关于这个依赖项的问题暂时得到了解决,但这也反映了一些问题: Linux 发行版只关注软件包自身的许可证,但对该软件包的依赖树缺乏审查。要知道,GNU 自由系统发行指南上明确规定:
- 发行版的信息和源文件必须按照合适的自由许可证提供。
- 发行版不应该带有非自由软件的资源库,或安装非自由软件的指导。
- 发行版也不应该指向未承诺只包含自由软件的第三方资源库。
- 发行版的开发者尽力避免非自由软件,并承诺一旦发现有非自由程序就移除。
而此次众多的 Linux 发行版中存在着不满足许可条款的 go 软件包,里面包含大量无许可的代码,这显然不符合发行指南的要求。
当然问题肯定不止于 Go 包,只是静态编译依赖项的生态进一步加剧了 Linux 分发基础设施的脆弱性。
静态链接意味着将程序的依赖项直接嵌入到程序中,它与动态链接(或动态加载)相反,动态链接将依赖库保存在单独的文件中,这些文件在程序启动(或运行时)时加载。
静态链接会使依赖项成为程序的一个组成部分,不能轻易地被另一个版本取代。如果其中一个库易受攻击,则必须将整个程序重新链接到新版本。
长期以来,Linux 发行版(Debian / Fedora /Gentoo 等)都在反对静态链接、固定依赖和依赖捆绑,但收效甚微,因为 Go 和 Rust 这些编程语言完全依赖于静态链接,而这些语言的生态仍在不断发展壮大。这导致发行版每纳入一个新的 GO/Rust 软件,就需要对它自身以及爆炸性的依赖树逐一盘查许可,这对审查工作是非常沉重的负担。
另外,该事件在 Reddit 帖子的热议也暴露另一个问题 —— 大多数开发者对开源许可证的重要性没有明确的认知,对不同许可证之间的差异也只是一知半解,开源许可的科普之路任重而道远。
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。