基础软件国产化闲谈

article/2025/1/15 6:42:05

现代软件是高度国际化的,在互联网上,传播、发布易如反掌。我们天天用着Photoshop P图,用 Apache2 之类的开源产品搭网站,顺便搭一搭MySQL 或者芒果。程序猿用各种IDE及编译器、解释器写程序、做产品,团队从开源网站签出消息队列,半天时间就能够部署到自己的项目中。
Open Source
这太习以为常了,以至于,渐渐地成为理所当然的事情,我们普通人更不会不去关心这些东东都是哪个国家的。事实上,很多时候真的说不清楚,开源项目有各个国家的团队参与,充其量只能统计一下核心团队里都有哪些人而已。那么,为什么还要再扯国产化这个蛋疼的话题呢?

软件国产化讲的是“基础软件国产化”

“软件国产化”这个土里土气,略带运动、口号气味的词,很容易和一些围绕国产软件的不愉快事件联系起来,也难以博得新世代Geek们的眼球。但抛开运动不说,软件国产化其实是一个概念,更准确的,应该定义为“基础软件国产化”。
基础软件,大致包括操作系统、编译器、解释器、底层驱动、各级SDK、供开发人员使用的各类工具软件、DBMS、中间件等等,这些软件用于生产、支持真正的行业应用。至于行业应用,国产化很高了,从医院的叫号到微信微博,哪个不是国产?讨论这些没有意义。
基础软件,与传统制造业做类比,好比车床,属于“重工”的范畴。
重工
重工,引用百度百科的定义,“重工业指为国民经济各部门提供物质技术基础的主要生产资料的工业。”说的白一点,就是制造工具的工业。那么,基础软件对于IT来说,国产化到底有什么意义,相信在很多国产软件上马的檄文里都能找到非常高大上的解释,这里楼猪不打算说那些。楼猪要说的是,基础软件国产化对高技术行业(远不止IT)从业人员的发展意义重大。

基础软件是孕育大师的舞台

基础软件,具有复杂性、渐进性、持久性三个特点。

  • 复杂性
    基础软件所完成的工作一般体系性强,软件构成复杂度高,无不涉及到各个领域的顶尖技术。这些领域的顶尖软件开发商,掌握了大量专利算法、行业标准,这些开发商门下的科学家团队本身又是理论前沿的专家学者。软件很容易被盗版,但基础软件的核心技术很难被复制。即使把源代码拿出来另立门户,也会因为离开庞大的团队文化圈子而迅速凋零——没有这群人,就干不了这档子事。
  • 渐进性
    基础软件需求比较明确,一般突变比较少。这个特点客观上因为开发工作的模式创新比较缓慢,主观上是软件厂商有实力影响行业标准、产品走向,他们很有计划的推进着一个个里程碑。这些基础产品的发展是渐进的、缓变的。以大家熟知的Photeshop、Office、Visual Studio系列为例,从windows 3.2时代到windows10时代,其操作模式、使用习惯是慢慢发展的。
  • 持久性
    基础软件的生命周期很长,往往可以持续几十年。微软的visual Studio如果从Dos时代的Visual Basic 1.0计算,差不多有30年了。如果没猜错,像Qt 这样的中间件也有20年了。这些工具是不断进步、高度延续的,很多特性都在几年前有了规划,很多特性经过几年的争吵才从分支中删除。

这三个特性,恰好是为大师准备的舞台。

大师

  • 雇佣人:基础软件领域需要大师
    大师对技术的全局掌握,以及深厚的理学知识,确保他们能够带领团队驾驭高度复杂的软件架构和算法本质;这些领域的复杂性,使得公司董事们愿意花钱养活这些大咖。如果一家公司不做基础软件,从成本考虑,也没有必要养活一个资深技术团队。这些人可不是省油的灯,没有可观的收入,是会跳槽的。
  • 培养人:大师的成长离不开基础软件行业
    一个人的成长,无论哪个行业,都遵循比较一致的规律。没有时间、阅历的积累,很难成长为大师。渐进性,使得从业团队能够精心,老中青组合稳定的在一个领域不断成长,不会被一些突变的需求弄乱脚步;持久性,使得年轻人可以静心,较为清晰的看到未来走向,不至于困惑。能够支持一个人做技术做到60岁的公司,一般都是掌握行业标准的一流企业。

基础软件和开源社区紧密绑定

一个基础软件一塌糊涂的地方,对开源社区的贡献肯定也很差。这句话很可能是真实的。

  • 开源项目的背后是基础软件巨头
    去拜访一下Apache、PostgreSQL这些团队的核心成员,会发现他们背后都有基础软件公司的影子。PostgreSQL的核心贡献者Tom Lane是RedHat公司的专家,而Apache项目的注资方就有Adobe。开放地理信息系统OpenStreetMap支撑了庞大的工具链和生态体系,背后有苹果、NASA(这个不是公司)等巨人的支持。
  • 开源社区的大咖收入多来自基础软件企业
    再有理想,吃不饱肚子是不行的。开源项目有几个来源。一些来自商业软件营销模式变化后,公司主动开源,这些工程师自然而然成为核心维护团队;一些来自民间,但被公司招安,而后衣食无忧的继续干;还有一些中小规模的开源项目为个人作坊维护,但这些作坊匠其实很多是大公司的雇员。
  • 很多开源项目源于基础软件开发过程
    一个人不可能有无限的精力,在下班时间干着和上班完全不同的事情,却又都干得很好。绝大多数人很难干着一份律师执业,在8小时外维护好一个开源系统。一般来说,好的开源项目很多源自工程师的日常工作积累,这些积累和公司的走向是趋同的,而且是共生的。一旦脱离了公司的开发工作,离开了圈子,工程师本人一般也会失去维护开源项目的动力。

基础软件改善行业环境

一个人,从读书开始,到踏入社会,付出的精力是很多的。一个人选择了一门职业,为之努力,无论坚持了几年才放弃,绝大多数人上班的第一天都是兴奋、向上的。 但很多人由于缺少合适的土壤,最终会惨淡放弃。放弃不可怕,可怕的是,IT行业很多毕业生都不相信能够干到老了。事实上,他们绝大多数没法干到老:主要原因是精力不够。

一个人的事业发展,经验、薪水大致能够持续增长,但精力不是平稳的曲线,而是曲折的。
事业曲线
20岁毕业的小伙子,通宵加班也扛得住。30岁,家里有了孩子,很快就干不动了。如果30岁的人,还要全拼体力的话,他离开这个行业的可能性就会很高。这种拼体力的领域,比如消费类相关的IT开发工作,讲究的就是短平快。不加班,怎么行?工具链浮在顶层,新架构、新工具层出不穷却又各有缺陷,要求从业者全身心投入,上班干活下班学习——这种学习是短期的,由于变化太快,学习的成果退化也很快。所以这些行业青睐年轻人。

基础软件领域的特点,复杂性、渐进性、持久性,给予25-35岁年龄阶段的人更加平稳的过渡期,并在度过25-35岁这十年后,在经验、眼界上开始发光发热。从事基础软件领域的公司,更重视人才的培养,也懂得留住人才的重要性。这些公司会引导员工制定客观科学的发展规划,获得长期的收益,在这些公司工作,环境会大大改善。

后记

基础软件国产化,是与各种因素盘根错节交织存在的。基础学科的落后,使得科研根基薄弱,企业难以在行业上抢占制高点(如制定视频格式标准、互联网协议),从而没有能力左右行业发展方向,也就大大缩减了利润空间。没有了利润空间,企业就会疲于生存,从而没有能力投入到基础软件研发中去。不管如何,基础软件国产化与开源社区的成熟一样,都成为最应该做却很难做成的事情。


http://chatgpt.dhexx.cn/article/4wV6M5TO.shtml

相关文章

什么是基础软件?

人类从农业社会进入到工业社会的标志是:蒸汽机的使用。 从工业社会进入信息化社会的标志是:电脑及手机等移动终端的广泛使用。 进入现代社会的近十年,特别是新冠的后疫情时代,我们每天开始使用的软件,从餐饮到出行、…

用小乌龟git解决冲突之后,再提交,出现自己没用动过的文件

用小乌龟git解决冲突之后,再提交,出现了拉取之后的别人修改的文件,而自己本地并没有动过的文件. 如果直接提交自己修改的文件,不管拉取下来的文件,就会把别人的文件给弄丢. 这时要解决完冲突之后把刚刚拉取下来的别人的文件一起提交,不然会把别人修改的这些文件弄丢. 如果不用…

TortoiseSVN小乌龟GIT之使用教程

写在前面 TortoiseSVN是一款免费的软件版本管理工具,通过这个工具可以更好的管理软件的每次更新,版本回顾,版本对比 一、准备工作 电脑操作系统:window 10,其他的也可以 软件工具: 1、TortoiseSVN-1.10.3.…

gitup,小乌龟git仓库工具的使用

1.安装git软件,安装小乌龟工具,安装小乌龟工具的汉化版,都是下一步式傻瓜安装,汉化安装完成,右键文件夹,设置为中文 2.把需要保存的文件,提交到暂存区,并提交到本地git仓库&#xff…

【git】小乌龟和git冲突

1.安装好小乌龟git后,用小乌龟的pull 从github上pull或者push项目,遇到错误: disconnected no supported authentication methods available(server sent: publickey) 或者是 git did not exit cleanly (exit code 1) 亦或者是 git did not e…

Git 小乌龟的详细使用

1、安装 首先去TorToiseGit官网下载安装,这个很简单,可自行百度。 不喜欢英语版本的小伙伴也可以自行下载一个汉化插件。 2、使用 安装后就可以使用了。 我们可以在自己的云服务上获取 URL 克隆项目代码 右击选择 Git clone / 更换 URL …

win10下乌龟git安装和使用

目录(?)[] 一、安装git for windows 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了 图太多就不继续了~~安装完之后最好重启一下。 安装完成之后右键如果出现这几个东西,那么git你就安装完成了。 …

git小乌龟的使用

初次使用小乌龟,这里记录一下小乌龟的使用,也分享一下使用教程。这里使用的仓库是coding仓库 博客使用sm图床 小乌龟安装汉化 下载点击这里 小乌龟官网下载点击这里 解压后,先安装msi文件,然后在安装中文包 在此处设置中文 新…

git安装以及git小乌龟使用

一、下载git 打开git官网地址:https://git-scm.com/进行下载 下载完安装,一直next就好,如果愿意就可以改下安装路径,改在d盘。 具体可以参考:git安装教程 二、安装完下载小乌龟以及语言包 下载地址:小乌龟…

git与乌龟壳git

文章目录 Git是什么?集中式vs分布式创建git版本库往仓库添加文件暂存区与工作区移出缓存区的文件修改文件版本回退撤销修改删除文件 详情 Git是什么? 引用廖雪峰的话: Git是目前世界上最先进的分布式版本控制系统(没有之一&…

小乌龟git

一.概念 分布式版本控制系统。诞生于Linux社区,有兴趣可以去了解下git的前世今生。与集中式版本控制有明显区别。集中式:集中管理的服务器,保存所有的修订版本,协同工作的人通过客户端连接服务器,取出最新文件或者提交更新。分布式…

3.4 小乌龟git使用说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装二、使用步骤1、设置语言2、添加你的git 用户名和邮箱3、创建git空项目3.1 方法1 本地创建3.2 方法2 远程 clone一个项目 4、项目修改完提交4.1 提交到…

git小乌龟

git可视化软件# (一) 软件安装# 注册gitee账号: Gitee - 基于 Git 的代码托管和研发协作平台 360软件管家内可以安装 git 和 git可视化工具 小乌龟git (二) 创建本地仓库# 新建文件夹, 比如gitdemo1双击进入文件夹右键 > git 在这里创建版本库 (三) 创建远程仓库# 以码…

TortoiseGit乌龟git添加公钥密钥和私钥认证,实现乌龟git同步免密码输入

1.打开GIT GUI 2.选择HELP中的Show SSH Key 3.复制Key 4.打开远程库,登录自己的账号,点开个人中心 5.粘贴内容到这里,然后添加 6.找到安装的TortoiseGit下的PuTTYgen,并打开 6.选择load那个id_rsa文件(在第二步默认生成…

TortoiseGit--小乌龟git项目中的使用简介

(一)TortoiseGit的key配置方法: 在“开始”菜单,选择“TortoiseGit >PuttyGen”,如图1所示。 单击“Load”按钮,如图2所示。 选择用户的公私钥目录下的“id_rsa”文件,然后单击“打开”按钮…

使用Tortoise小乌龟 git 拉取代码 报错128处理

问题描述: 使用Tortoise小乌龟 git 拉取代码 报错128处理 解决方案: 1.新建文件夹---右键 -- TortoiseGit -- 设置 2.网络 -- SSH 客户端为 git 的 ssh.exe 3.代理服务器设置(拉取代码的服务器地址,用户名,密码&am…

小乌龟git clone时报错Permission denied的一种特殊情况

我们在使用小乌龟将仓库克隆到本地时,有时会报Permission denied错误,翻译过来的意思是拒绝访问 别的文章都有写配置SSH公钥,或者将SSH改为HTTP,即服务器端拒绝访问,此处不再赘述 本文最主要的目的在于添加一种新的错误…

小乌龟Git回滚重置及合并指定提交

1.Revert change by this commit 意思是回滚这次提交的变化。 效果: 1、工作区的代码完全被回滚到上一次提交的状态(自己修改的内容会消失) 2、之前提交的节点(记录)还会存在 用处:放弃这次提交&#xff0c…

安装小乌龟git

git发布流程有这几个区域: 下载安装包: https://download.tortoisegit.org/tgit/ 我下载的是最新版 下面是下载汉化包64位的 安装乌龟包的时候,无脑下一步 安装乌龟汉化包的时候也是无脑下一步 上传文件: 右键克隆 如果推送失败…

Git小乌龟(TortoiseGit)使用详情

项目可能大概也许maybe要用到Git小乌龟,正好水篇文章 下载及安装 首先没有下载Git的先下载, 官网下载地址,安装时直接一直next就行 然后是小乌龟的下载,官网下载地址,不知道为啥被识别成风险网站了。。。安装时也是…