What is Modularity - Fedora 28 Server & Fedora 29
https://docs.fedoraproject.org/en-US/modularity/
What is Modularity
Modularity introduces a new optional repository to Fedora called Modular (often referred to as the "Application Stream" or AppStream for short) that ships additional versions of software on independent life cycles. This way users can keep their operating system up-to-date while having the right version of an application for their use case, even when the default version in the distribution changes.
What Problems does Modularity Solve?
Too fast vs. too slow
Different users have different needs. Developers want the latest versions possible, system administrators want stability for longer period of time. There are many Linux distributions out there, each targeting a different audience, for example Fedora vs. CentOS.
Fedora generally ships the latest stable versions of its component packages when it is released twice per year. That is convenient for desktop users and developers. Even though many people use Fedora on a server, it is sometimes necessary to have a stable version of certain packages for a longer time, mostly because of third-party applications.
At the same time, some people consider Fedora to be moving too slowly for them and want even newer runtimes on their system. Some upstreams release their software faster than twice a year.
On the other hand, CentOS targets long-term stability and releases a new version once every few years. This is convenient for server admins as there are fewer changes over longer periods of time. But some of the software gets old for modern applications and newer versions of runtimes might be needed.
In other words, it would be convenient to be able to choose some parts of the system to be moving slowly, and other parts to be moving faster. Can we do that?
Outdated containers
There are many containers out there. The majority of them are built manually, not actively maintained, not patched with security fixes, and still used by many people. This is especially true for the ones using software of a different version than the distribution their are based on provides.
If Fedora had multiple versions of software that is actively maintained and built, could we use it to produce containers? Could these containers get automatically rebuilt every time the packages get updated?
Complex packager workflows
Fedora contributors maintain their packages in multiple branches — one for each release. Even when the packages are the same. Leading to a series of manual steps associated with the build process.
Could we enable packagers to maintain packages in branches that would follow the package version instead of an arbitrary distribution release version? Having a single branch that builds across multiple releases would save some work for packagers.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通