当前位置: 首页 > news >正文

开源:特殊的垄断

免责声明:本博客旨在分享我对开源策略的理解和体会,不代表任何组织或机构的立场或观点,也不构成任何商业或投资的建议或担保。本博客的内容可能存在错误或遗漏,也可能随着时间的推移而变得过时或不适用。请在使用或依赖本博客的内容之前,自行进行充分的调查和验证,并自行承担相应的风险和责任。如果你对本博客的内容有任何疑问或意见,请在评论区留言,我会尽力回复,但不保证及时性和有效性。

观点:激进开源=特殊的“垄断”

开源是一门生意,这是毫无疑问的。在我看来,目前市面上很多许可证,所谓“激进”的那些,如LGPL/GPL许可证,于商业利益而言不但没有亏损,倒是一种“别样的保护”。今天,我将用CGAL计算几何库开发者的开源策略为例来说明这一点。
CGAL的LICENSE
LGPL/GPL许可证,相比宽松型的许可证(如MIT许可证),其最大的特点就是传染性与强制开源。一个商业公司,将自己握有知识产权和版权的项目以激进的LGPL/GPL许可证发布到开源社区,意图是什么?
1.源代码对所有人可见,但是大家使用就要被传染和开源。其相同领域同水平竞争对手或其他初创公司来说,从这种激进的开源行为中是得不到任何好处的。这是一个不会损伤自己商业利益的选项。
2.进一步思考,这样做实际是给自己的品牌打了广告,而且打击闭源的竞争对手。潜在有需求的群体首先会看到和了解开源的我,而忽视我闭源的竞争对手,从而对其他闭源公司构成了打击。
3.最绝的就如CGAL开发者做的那样,如上图,他们进行了多重License。商业许可与开源并行不悖,相互策应。
4.由广大开发者与用户维护的一些文档与代码,实际省了核心开发者很多力气,还不需要付给他们额外的报酬。
因此,LGPL/GPL许可证绝对不是在做什么慈善,相反,这种激进开源可以理解为很强势的商业策略。
可以称为慈善和包容的是那些宽松许可证,作为学生等如果想要提升自己的技术,还不想自己的劳动成果被商业公司以这种形式白白套走,我的建议是自己做开源,或者给宽松许可证的开源项目贡献,在摸清背景之前不要给这种LGPL/GPL许可证项目打工。
水平有限,欢迎批评指正。

相关文章:

开源:特殊的垄断

免责声明:本博客旨在分享我对开源策略的理解和体会,不代表任何组织或机构的立场或观点,也不构成任何商业或投资的建议或担保。本博客的内容可能存在错误或遗漏,也可能随着时间的推移而变得过时或不适用。请在使用或依赖本博客的内…...

linux安装oracle client解决cx_Oracle.DatabaseError: DPI-1047

背景: 需要在linux上调用python,连接oracle数据,在执行脚本是出现如下错误: 由于未安装client,所有找不到对应的文件 [root@xx wxArticle]# python main.py Traceback (most recent call last):File "main.py", line 16, in <module>oracle_db = cx_Or…...

工业园区一般用多大规格的电表?

随着我国经济的快速发展&#xff0c;工业园区在各地区如雨后春笋般崛起。作为电力系统的重要组成部分&#xff0c;电表的选择与应用对于工业园区的稳定运行至关重要。那么&#xff0c;工业园区一般用的是多大规格的电表呢&#xff1f;下面&#xff0c;小编就来给大家揭秘一下&a…...

Debian12换镜像源

0 背景 用docker运行了一个node容器&#xff0c;发现连vim也没有&#xff0c;所以打算安一个vim 1 查看操作系统 find / -name *release* #查看release信息2 更换镜像源 2.1 从网上找个国内镜像源 确定好操作系统版本后&#xff0c;从网上搜一下对应的数据源。这里提供一个…...

deeplog中输出某个 event 的概率

1 实现之后效果 # import DeepLog and Preprocessor import numpy as np from deeplog import DeepLog import torch# Create DeepLog object deeplog DeepLog(input_size 10, # Number of different events to expecthidden_size 64 , # Hidden dimension, we suggest 64…...

流媒体中relay和forword的区别

在流媒体中&#xff0c;"relay"&#xff08;中继&#xff09;和 "forward"&#xff08;转发&#xff09;是两种常见的传输方式&#xff0c;用于将流媒体从一个源传递到目标接收器。它们的区别如下&#xff1a; Relay&#xff08;中继&#xff09;&#xff…...

git创建本地分支并提交到远程

创建本地分支 git branch local_branch_name切换到本地分支 git checkout local_branch_name提交代码 git add . git commit -m "commit_message"添加远程信息 git remote add origin remote_git_address提交到远程 git push origin local_branch_name:remote_b…...

Selenium定位元素的方法css和xpath的区别

selenium是一种自动化测试工具&#xff0c;它可以通过不同的定位方式来识别网页上的元素&#xff0c;如id、name、class、tag、link text、partial link text、css和xpath。 如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702&#x…...

【目标检测】SSD损失函数详解

文章目录 定位损失 L l o c L_{loc} Lloc​偏移值的计算smooth L1 loss 置信率损失 L c o n f L_{conf} Lconf​ 最近看看这个古早的目标检测网络&#xff0c;看了好多文章&#xff0c;感觉对损失函数的部分讲得都是不很清楚得样子&#xff0c;所以自己捋一下。 首先&#x…...

C【整数正序分解】

// 整数正序分解 #include <stdio.h> #include <stdlib.h>int main() {int x;scanf("%d", &x);// 13425/10000->1(int一个d)// 13425%10000->3425(这是x)// 10000/10-.1000(这是mask)int mask 1;int t x;while (t > 9){t / 10;mask * 10;…...

基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点&#xff0c;而且Java是开源的&#xff0c;拥有全世界最大的开发者专业社群&#x…...

Day24力扣打卡

打卡记录 寻找峰值&#xff08;二分法&#xff09; class Solution { public:int findPeakElement(vector<int> &nums) {int left -1, right nums.size() - 1; // 开区间 (-1, n-1)while (left 1 < right) { // 开区间不为空int mid left (right - left) / …...

5G-A 商用加速,赋能工业互联网

2019 年 6 月&#xff0c;中国工业和信息化部发放 5G 商用牌照。同年 10 月&#xff0c;三大运营商公布 5G 商用套餐&#xff0c;11 月 1 日正式上线 5G 商用套餐&#xff0c;标志中国正式进入 5G 商用新纪元。今年是 5G 商用的第五年&#xff0c;在当前数字经济蓬勃发展的催化…...

代码随想录day2

目录 vscode 自定义代码模板Reference vscode 自定义代码模板 select User snippets from Settings on the bottom left corner. select a certain language for example: cpp create your own snippets 格式如下&#xff0c;防着写 第一行"cpp template",模板…...

UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本&#xff1a;Software Ideas Modeler 14.02 更新时间&#xff1a;2023年10月9日 工具简介 轻量级建模工具&#xff0c;支持UML、BPMN、SysML。 平台&#xff1a;Windo…...

kubectl 资源管理命令-陈述式

目录 一、kubectl陈述式资源管理&#xff1a; 二、kubectl陈述式对象管理&#xff1a; 1.基础命令使用&#xff1a; 1.1 帮助手册&#xff1a; 1.2 查看版本信息&#xff1a; ​编辑 1.3 查看资源对象简写: 1.4 查看集群信息: 1.5 配置kubectl自动补全: 1.6 node节点查看日志…...

【紫光同创国产FPGA教程】——【PGL22G第九章】HDMI环路实验例程

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 适用于板卡型号&#xff1a; 紫光同创PGL22G开发平台&#xff08;盘古22K&#xff09; 一&#xff1a;盘古22K开发板&#xff08;紫光同创PGL22G开…...

IDEA Plugin插件开发相关踩坑

1 前言 最近在研究IDEA插件开发&#xff0c;踩了不少坑&#xff0c;特意在这里记录一下…… 2 Java相关类找不到 照着网上一些资料&#xff0c;想要实现代码审计自动提示功能&#xff0c;需要继承AbstractBaseJavaLocalInspectionTool 结果import一片爆红&#xff0c;找不到相…...

汽车标定技术(八)--MPC57xx是如何支持标定的页切换

目录 1.页切换的概念 1.1 标定常量的理解 1.2 页切换 2.MPC57xx的Overlay模块 3.小结 1.页切换的概念 在汽车标定测量中&#xff0c;有一个概念我想很多人都听过&#xff0c;但是实际上在项目里没有用到过&#xff0c;那就是今天要讲的页切换概念。在讲页切换的时候&#…...

Ubuntu中增加交换内存

前言 在运行一些代码编译或者clang-format会占用大量的内存&#xff0c;此时可能会出现电脑卡死的情况&#xff0c;在ubuntu中可以通过增加交换内存来临时解决这个问题&#xff0c;相对于硬件改动成本更低&#xff0c;但是性能不如物理内存。 实践 查看当前的交换内存大小 …...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...