国内开源环境漫谈

news/2024/7/27 15:08:50/文章来源:https://blog.csdn.net/weixin_64096908/article/details/135567442

我国开源软件产业相较于欧美发达国家而言起步相对较晚,开源项目很少超过五年,开发者较年轻。国外很多开源项目都是10年以上的规划与投入。在开源社区发展初期、发展期、协作期、结晶期与流行期的五个阶段中,中国的开源社区平台大多处于前三个阶段,仅有极少数开启了商业化良性互动。

开源社区

开源社区在推动开源软件发展的过程中起着巨大的作用。那么开源社区是什么呢,简单来说开源社区是一个资源集聚的大平台,提供与开源软件的信息、资源、交流、开发相关的平台,为全球的网络成员(开发者与使用者)提供一个自由学习交流的空间,技术建设、沟通交流的必要途径,还承载着开源项目孵化、商业运作等职能。简单来说就是围绕某项技术/产品需求,开发者和企业及开发者之间相互产生内容互动的平台。​

开源生态​

树木要想茁壮繁茂,森林要想葱郁成林,离不开整个生态环境的发展。激发社区生命力,不能仅靠某一家企业突飞猛进式的努力,产业各方基于开源协作的创新模式推动产业生态构建,共建多样性、包容性的开源生态。

商业模式

在开源软件领域中,常见的公认的盈利(商业)模式一共有七种。​

1、多种产品线:比如 MySQL 产品就同时推出面向个人和企业的两种版本,个人完全免费,企业版支持收费。​

2、技术服务支持:通过提供技术文档、培训、二次开发支持等技术服务而获得收入。​

3、应用服务托管:托管服务的应用服务提供商。​

4、软、硬件一体化:比如 IBM等服务器供应商巨头,通过捆绑免费的 Linux 操作系统销售硬件服务器。​

5、附属品:比如开放源代码软件的参考资料。​

6、品牌战略:利用先天的传播优势,以极低的成本建立和传播品牌。​

7、市场策略:这种模式,是一种快速抢占市场的营销策略,主要是为以后增强版产品的销售打下基础。 比如微软宣称部分的公开 Office 的源代码。​

开源规范

“国外一开源,国内就自主”。相当一部分公司从开源社区拿来东西编改加以优化,就开始标榜“完全自主知识产权”、“自主研发”,变成了“民族骄傲”和“新锐国货”,在资本的推波助澜下摇身一变成为行业独角兽,甚至上市套现。这种乱象导致软件产品同质化严重,原本可以用来哺育国产软件茁壮成长的资源被低端产品无序竞争白白消耗掉。​

怎么解决以上问题呢,我觉得从三方面入手:​

1)推进开源自主,把握开源软件产业发展的主动权。​

2)加强模式创新,增强开源产业生态的发展活力。​

3)优化发展环境,增强开源软件产业生态的发展后劲。​

总结​

目前我国开源社区平台主要有开发者社区、代码托管平台、开源基金会、开源组织。从现状上看,我国的开源软件发展时间较短,处于起步阶段,未来3-5年将会是这一产业高速发展时期,处于各发展成熟期的软件产业都有望加入到开源阵营中来,为国内的软件产业发展带来更强增长动力。

最后,祝愿国内的开源事业越办越好,越做越强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925301.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个简易的PHP论坛系统

一个简易的PHP论坛系统 php课程设计,毕业设计 预览 技术 bootstrap 4.x jquery css php mysql 5.7 目录结构 登录 管理员 admin/123456 测试用户 user1/123456 更多文章和源码获取查看

大型语言模型综述/总结 LLM A Survey of Large Language Models

A Survey of Large Language Model AbstractINTRODUCTIONOVERVIEW背景LLM的新兴能力LLM的关键技术GPT 系列模型的技术演进 大语言模型资源公开可用的模型检查点或 API常用语料库代码库资源 预训练数据收集架构 论文标题:A Survey of Large Language Model 论文地址&…

初识C#语言

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、C#语言以及特点C# 强大的编程功能 二、C# 与 .NET三、.NET 与 .NET Framwork.Net 框架(.Net Framework).NET 与 .NET Framework 总结…

C++核心编程(包含:内存、函数、引用、类与对象、文件操作等)【持续更新】

🌈个人主页:godspeed_lucip 🔥 系列专栏:C从基础到进阶 C核心编程🌏1 内存分区模型🎄1.1 程序运行前🎄1.2 程序运行后🎄1.3 new操作符 🌏2 引用🎄2.1 引用的基…

解决英特尔无线网卡WiFi或者蓝牙突然消失问题

winR,输入“devmgmt.msc”,检查设备管理器中的无线网卡驱动是否安装好。 访问https://www.intel.cn/content/www/cn/zh/download/19351/windows-10-and-windows-11-wi-fi-drivers-for-intel-wireless-adapters.html下载对应系统版本的英特尔无线网卡WiFi…

Edge 浏览器如何设置自动刷新

Edge 浏览器设置自动刷新有两种方式 安装Edge浏览器自动刷新扩展更改页面的源代码文件 目录 方式一:Edge 自动刷新扩展实现(推荐) 方式二:更改页面的源代码文件 实现页面自动刷新(不推荐) 方式一&#xff…

国科大-自然语言处理复习

自然语言处理复习 实体关系联合抽取流水线式端到端方法 检索式问答系统流水线方式信息检索(IR)阶段阅读理解(RC)阶段基于证据强度的重排基于证据覆盖的重排结合不同类型的聚合 端到端方式Retriever-Reader的联合学习基于预训练的R…

Visual Studio 新特性:对 include 指令进行智能诊断

今天,我们很高兴地宣布新功能:#include 语言智能诊断。 此功能自 Visual Studio 2022 v17.9 预览版2 中可用。通过此新功能,您可以获取到有关每个 include 的引用和生成时间的详细信息,从而更好地了解 #include 指令的行为。 &g…

C++力扣题目222--完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最…

springCould中的Stream-从小白开始【12】

🥚今日鸡汤🥚 见过一些人,他们朝九晚五😭,有时也要加班,却能把生活过得很😎有趣。他们有自己的爱好,不怕独处。他们有自己的坚持,哪怕没人在乎。🤦‍♂️ 开心…

电脑/设备网络共享给其他设备上网

文章目录 一、概述二、设置网络共享2.1 电脑可以上网,通过网络共享让其他设备也可以上网2.2 手机如何使用USB数据线共享网络给电脑 一、概述 现在有如下几种情况: 设备本身不能上网,需要通过电脑上网 笔记本WIFI连热点上网,然后…

【贪心】重构字符串

/*** 思路:如果s长度小于2,直接返回s,假设字符串s的长度为n。* n为偶数,如果字符串中的某个字符数量超过 n/2 则肯定会存在相邻的字符。* n为奇数,如果字符串中的某个字符的数量超过 (n1&am…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 第1章 HTML5+CSS3初体验 项目1-1 三栏布局页面

项目展示 三栏布局是一种常用的网页布局结构。 除了头部区域、底部区域外,中间的区域(主体区域)划分成了三个栏目,分别是左侧边栏、内容区域和右侧边栏,这三个栏目就构成了三栏布局。当浏览器的宽度发声变化时&#x…

十四.变量、异常处理

变量、异常处理 1.变量1.1系统变量1.1.1系统变量分类1.1.2查看系统变量 1.2用户变量1.2.1用户变量分类1.2.2会话用户变量1.2.3局部变量1.2.4对比会话用户变量与局部变量 补充:MySQL 8.0的新特性—全局变量的持久化 2.定义条件与处理程序2.1案例分析2.2定义条件2.3定义处理程序2…

设计模式-- 3.适配器模式

适配器模式 将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 角色和职责 请求者(client):客户端角色,需要使用适配器的对象,不需要关心适配器内部的实现,…

坑记(HttpInputMessage)

一、背景知识 public interface HttpInputMessage extends HttpMessage Represents an HTTP input message, consisting of headers and a readable body.Typically implemented by an HTTP request on the server-side, or a response on the client-side.Since: 3.0 Author:…

【JaveWeb教程】(26) Mybatis基础操作(新增、修改、查询、删除) 详细代码示例讲解(最全面)

目录 1. Mybatis基础操作1.1 需求1.2 准备1.3 删除1.3.1 功能实现1.3.2 日志输入1.3.3 预编译SQL1.3.3.1 介绍1.3.3.2 SQL注入1.3.3.3 参数占位符 1.4 新增1.4.1 基本新增1.4.2 主键返回 1.5 更新1.6 查询1.6.1 根据ID查询1.6.2 数据封装1.6.3 条件查询1.6.4 参数名说明 1. Myb…

Redis集群Cluster和分片

1.Cluster集群介绍 背景 Sentinel解决了主从架构故障自动迁移的问题但是master主节点的写能力和存储能力依旧受限使用Redis的集群Cluster就是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器 什么是集群Cluster 是一组相互独立的、通过告诉网络…

ssm基于Java的药店药品信息管理系统的设计与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…

布隆过滤器四种实现(Java,Guava,hutool,Redisson)

1.背景 为预防大量黑客故意发起非法的时间查询请求,造成缓存击穿,建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数(哈希函数)来记录与识别某个数据是否在一个集合中。如果数据不在集合中…