我与 IT 这三十年:2003,Linux 遇到法律阴影
2003 年Linux 的上升感还在但空气里多了一点阴影。前一年Linux 正在学会做生意。Red Hat 推出面向企业的 Advanced ServerUnitedLinux 试图联合几家发行版公司OpenOffice.org、Mozilla、GNOME、KDE 又让桌面 Linux 继续有想象力。到了 2003 年另一个问题开始变得更具体我们每天使用、修改、分发的这些开源软件到底意味着什么这不是一句哲学问题。它会落到许可证落到产品边界落到客户合同落到公司能不能闭源一部分代码落到工程师能不能随手把网上找到的代码放进项目里。这里需要修正一个时间线。Richard Stallman 并不是 2003 年由我当时所在公司接待来华。更准确的说法是1999 年他由 TurboLinux 公司邀请来到中国而 TurboLinux 是后来我进入的那家公司的前身。这个细节很重要。它说明自由软件运动和中国 Linux 热潮的交汇比我进入 Linux 公司更早也不是我个人经历中的“当年现场”。所以这一篇不写“我见到 Stallman”。这一篇写 2003 年 IT 历史里真正发生的变化SCO 诉 IBM 让 Linux 第一次被大规模放进法律争议里Red Hat Enterprise Linux 3 和 Fedora Project 让企业版与社区版路线更清晰自由软件、开源、商业化和合规这几件事开始缠在一起。自由软件不是“免费软件”很多人第一次听到 free software会自然理解成“免费软件”。但 Stallman 反复强调的 free不是价格上的 free而是自由上的 free。使用软件的自由研究软件如何工作的自由修改软件的自由分发原始版本和修改版本的自由。这个说法在今天看起来很基础在当时却会带来很多争论。因为国内很多人接触 Linux最开始确实是从“不要钱”进入的。操作系统授权太贵开发工具太贵服务器软件太贵。Linux 和一大批开源软件忽然摆在面前能装能用能看源码当然很有吸引力。可是“免费”只是入口。如果停在这里就很容易误解开源。自由软件真正改变程序员的是它重新定义了软件和使用者的关系。你不是只能等厂商修 bug也不是只能猜测系统内部发生了什么。理论上你可以读源码可以改可以重新编译可以把修改反馈给社区。哪怕你最终没有提交补丁知道这条路存在也会改变你看待软件的方式。这也是 Linux 对那代程序员最大的训练之一。它让人意识到软件不是黑盒系统不是神秘物权威也不是不可挑战的。GPL 让理想变成了规则自由软件如果只停留在口号很难保护自己。GPL 的重要性就在于它把理念变成了法律和工程规则。你可以使用、研究、修改、分发 GPL 软件但如果你分发修改后的版本通常也要遵守相应的源码开放要求。对很多商业公司来说这正是 GPL 最有争议的地方。工程师喜欢自由老板未必喜欢。销售喜欢说“我们基于 Linux 做了自己的系统”客户喜欢听“源代码可控”但产品负责人很快会问哪些代码可以闭源哪些修改必须开放动态链接算不算内核模块怎么算我们能不能把某个组件拿出来卖客户定制代码归谁这些问题没有“热爱开源”四个字那么简单。在 Linux 公司里许可证不是贴在 README 里的装饰。它会影响产品设计、交付方式和商业模式。你必须知道自己在用什么改了什么分发了什么承诺了什么。这也是很多程序员早年容易忽略的地方。写代码的时候总觉得能跑最重要。真正做产品以后才知道代码能跑只是第一步。它从哪里来能不能合法分发将来怎么维护出了问题谁负责都同样重要。自由软件不是一句“免费使用”它同时牵涉源码、许可证、社区、商业支持和法律边界。图为按年代氛围生成的示意图。开源和自由软件的分歧2003 年前后国内技术圈也会讨论 open source 和 free software 的差别。今天很多人把它们混着用当年也一样。但两者的出发点并不完全相同。自由软件更强调用户自由和道德立场开源更强调开发方法、工程效率和商业友好。前者问“用户是否拥有自由”后者问“开放源码是否带来更好的软件和更好的协作”。这不是纯粹的文字游戏。对公司来说“开源”更容易对外讲。它听起来中性务实适合商业合作。对一些理想主义者来说“自由软件”才是根本它提醒大家不要把源码开放仅仅变成一种开发策略。我当时并没有能力把这些问题想得很深。那时更多是听看参与一些零散讨论。真正理解它们之间的差别是很多年以后。等你经历过商业项目、客户交付、闭源产品、开源依赖、安全合规、法律审查才会明白这些看似抽象的词最后都会变成实际约束。软件世界里词很重要。因为词背后是利益是权利是边界。SCO 诉 IBM让 Linux 忽然有了阴影2003 年还有一件大事SCO 起诉 IBM。这场诉讼后来拖了很多年也成为 Linux 历史上最著名的法律事件之一。站在今天看Linux 已经成为服务器、云计算、手机、容器、AI 基础设施的底座SCO 的故事更像旧时代的一段插曲。但在 2003 年它带来的心理冲击很真实。Linux 能不能放心用企业客户会不会担心法律风险开源代码是不是也会卷进版权争议这些问题会被销售、客户、媒体反复提起。对 Linux 公司来说这不是遥远新闻。一个客户如果问“这个系统会不会有法律问题”工程师不能只回答“我们相信开源”。你要解释许可证解释代码来源解释发行版如何管理上游组件解释风险边界。即使很多问题不是一线工程师能最终回答的它也会改变大家对开源的理解。这件事让我很早意识到开源不是一个只有程序员参与的世界。它有代码也有法律有社区也有商业有理想也有风险控制。RHEL、Fedora 和路线分叉同样是 2003 年Red Hat 的路线也开始变得清晰。Red Hat Enterprise Linux 3 发布Fedora Project 也在这一年前后出现。简单说Red Hat 把企业级稳定发行版和社区创新发行版分开了企业客户要稳定、支持周期和商业服务社区需要更快的迭代、更开放的实验和更自由的参与。这个分叉后来影响很大。它说明 Linux 商业化不是简单卖一张盘而是要区分用户、节奏和责任边界。企业版要慢要稳要可支持。社区版可以快可以新可以承载实验。两者之间有联系但不能混为一谈。国内很多 Linux 公司当时也在面对类似问题只是资源、生态和市场条件完全不同。我们也想做桌面也想做服务器也想做政企项目也想做社区影响力。每一条路都对每一条路都需要投入。问题是一个公司很难同时把所有事情做好。这就是基础软件公司的残酷之处。方向都重要钱和人不够。1999 年那条前史Stallman 1999 年由 TurboLinux 邀请来到中国应该放在这条历史线的前面看。那时国内 Linux 热潮刚刚起来TurboLinux、红旗、蓝点、冲浪等名字陆续进入技术媒体和社区视野。TurboLinux 面向亚洲市场重视本地化也较早和中国高校、企业、社区发生联系。它后来成为我进入的那家公司的前身所以这条线对我来说不是抽象资料而是公司历史的一部分。这个前史能解释为什么 2003 年的开源讨论并不是凭空出现。自由软件的理念GNU/Linux 的命名争论GPL 的约束企业发行版的商业化早就在国内 Linux 圈里被谈论过。只是到了 2003 年SCO 诉 IBM 让这些问题突然不再只是理念和社区争论而是变成了企业客户会问、公司法务会看、销售和工程师都绕不开的现实。Stallman 那类人很少见。他不是来介绍一个产品也不是来讲一个融资故事。他讲的是自由是用户权利是许可证是软件不应该被完全锁进黑盒里。这种话放在商业公司里有时会显得不合时宜。公司要赚钱客户要交付产品要按期发布工程师要解决 bug。自由软件运动听起来太理想太硬甚至有点不近人情。但很多年以后再看我反而觉得这种“不近人情”有它的价值。产业会天然滑向方便、垄断和封闭。商业公司会说这是效率平台会说这是体验用户会因为省事接受很多限制。总要有人站在一个更硬的位置上反复提醒大家软件不只是商品它也会决定人和机器、人和知识、人和平台之间的关系。我未必完全同意自由软件运动的每一个主张。但我尊重那种坚持。对程序员的真正影响2003 年以后我对“开源”这两个字不再只是兴奋。它开始带着责任感。使用别人的开源代码要尊重许可证。修改开源软件要知道自己改了哪里。对客户交付系统要能说清楚组件来源。做公司产品要知道哪些地方可以开放哪些地方不能随便承诺。这对一个程序员是很重要的训练。它让你从“写代码的人”慢慢变成“对软件生命周期负责的人”。后来无论是在大厂还是在创业公司开源依赖都变得越来越多。今天一个普通 Web 项目可能间接依赖几百上千个开源包。AI 时代更是如此模型、推理框架、向量数据库、前端组件、Python 包、容器镜像全都离不开开源。如果没有早年在 Linux 公司里被这些问题撞过一下很容易把开源当成免费的仓库。但开源不是免费的仓库。它是一套协作方式也是一套责任关系。下一年脚本语言变成日常工具2003 年这条线写的是自由软件和开源观念。到了 2004 年我想写另一件更贴近日常开发的事Perl、PHP、Java以及我开始使用 Python。那几年做系统、网站、内部工具和自动化语言选择很杂但也正是这种杂让人更早理解“语言只是工具”。下一篇就写脚本语言和早期 Python。2003 年 IT 大事记SCO 起诉 IBM。这场围绕 UNIX、Linux 和知识产权的诉讼在 2003 年爆发给企业采用 Linux 带来过明显的法律阴影也让开源合规问题更受关注。Red Hat Enterprise Linux 3 发布。RHEL 企业版路线进一步成形Linux 商业化开始更清楚地走向订阅、稳定支持和企业客户服务。Fedora Project 出现。Red Hat 将社区发行版和企业发行版分开Fedora 后来成为社区创新和 RHEL 上游的重要角色。WordPress 第一版发布。2003 年WordPress 出现。它后来成为最重要的开源 CMS 和博客系统之一也深刻影响个人出版和网站建设。Skype 发布。2003 年Skype 面世P2P 通信和网络语音进入更多普通用户视野。iTunes Music Store 上线。Apple 在 2003 年推出 iTunes Music Store数字音乐分发开始进入新的商业秩序。参考资料Free Software FoundationWhat is Free Software?GNU General Public LicenseSCO v. IBM 背景资料Red Hat Enterprise Linux 3 发布资料Fedora Project 历史资料WiredChina’s OS RebellionTurbolinux 背景资料WordPress 官方历史Skype 背景资料AppleiTunes Music Store 新闻稿

相关新闻

3种实用方法:Magpie窗口超分辨率工具完整指南

3种实用方法:Magpie窗口超分辨率工具完整指南

3种实用方法:Magpie窗口超分辨率工具完整指南 【免费下载链接】Magpie A general-purpose window upscaler for Windows 10/11. 项目地址: https://gitcode.com/gh_mirrors/mag/Magpie 还在为老旧游戏在4K屏幕上模糊不清而烦恼吗?或者想要让那些不…

2026/10/11 16:28:37 阅读更多 →
三分钟掌握高效OFD转PDF的完整解决方案

三分钟掌握高效OFD转PDF的完整解决方案

三分钟掌握高效OFD转PDF的完整解决方案 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf 在数字化办公环境中,OFD转PDF成为许多用户面临的常见挑战。Ofd2Pdf作为一款开源免费的文档格式转换…

2026/10/9 10:09:29 阅读更多 →
Lumafly:终极空洞骑士跨平台模组管理解决方案

Lumafly:终极空洞骑士跨平台模组管理解决方案

Lumafly:终极空洞骑士跨平台模组管理解决方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 你是否曾因空洞骑士模组管理的复杂性而烦恼&#xff1…

2026/10/13 2:08:11 阅读更多 →

最新新闻

AI辅助量化策略开发:从零搭建ETF轮动回测框架

AI辅助量化策略开发:从零搭建ETF轮动回测框架

1. 为什么说现在是个人做量化的最好时机我接触量化交易差不多有七八年了,最早那会儿,个人想做一套自己的策略,门槛高得离谱。你得自己搭数据库、自己写回测框架、自己处理除权除息、自己搞行情接口,光是数据清洗就能耗掉大半个月。…

2026/10/14 8:10:50 阅读更多 →
M/o/Vfuscator 入门示例:用单条 mov 指令编译 prime.c,与 GCC 输出逐行对比

M/o/Vfuscator 入门示例:用单条 mov 指令编译 prime.c,与 GCC 输出逐行对比

编译器 【免费下载链接】movfuscator The single instruction C compiler 项目地址: https://gitcode.com/gh_mirrors/mo/movfuscator 点击查看 免费下载 本文以 movfuscator 仓库中的 overview/ 目录为例,展示如何用 M/o/Vfuscator 编译器(…

2026/10/14 8:10:50 阅读更多 →
openrig 装配指南:Node.js、tmux 与 Claude Code/Codex 本地工作台搭建

openrig 装配指南:Node.js、tmux 与 Claude Code/Codex 本地工作台搭建

1. 从 openrig 这个名字说起:它到底想解决什么问题第一次看到openrig这个词,我脑子里蹦出来的不是某个具体工具,而是一种"把散装零件拼成一台整机"的直觉。rig 在英文里本意是"装配、搭建",在工程语境里常指把…

2026/10/14 8:10:50 阅读更多 →
ECCV2020三维视觉技术路线图:点云处理与3D检测的范式跃迁

ECCV2020三维视觉技术路线图:点云处理与3D检测的范式跃迁

1. 这不是论文清单,而是一份三维视觉领域的技术路线图ECCV 2020那届会议我全程跟下来了,当时在苏黎世现场听oral报告时,就明显感觉到——三维视觉的范式正在悄悄转移。过去几年大家还在争论“点云该不该用MLP堆叠”,到了2020年&am…

2026/10/14 8:10:50 阅读更多 →
REA 接入前的技术核对:静态分析、后端和 MCP 分别检查什么

REA 接入前的技术核对:静态分析、后端和 MCP 分别检查什么

REA 接入前的技术核对:静态分析、后端和 MCP 分别检查什么 准备把 REA 接到 Agent 时,先区分三个问题:分析输入是什么,对应工作流需要什么依赖,Agent 是否真的连到了这项能力。它们出错时的表现可能相似,处…

2026/10/14 8:10:50 阅读更多 →
照片隐私保护:EXIF元数据清除工具与技术解析

照片隐私保护:EXIF元数据清除工具与技术解析

1. 为什么我们需要关注照片隐私问题上周帮朋友处理一张手机拍摄的证件照时,无意间用专业软件查看了它的EXIF信息,结果发现里面完整记录了拍摄时间、GPS坐标、手机型号甚至系统版本。这让我意识到——我们每天随手分享的照片,可能正在泄露大量…

2026/10/14 8:09:50 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →