项目是否应该开源, 这是一个值得深思的问题

【BLE系列-第六篇】GATT解析:属性、特征、描述符的逻辑关系 本文系统介绍了BLE协议中的ATT和GATT机制。ATT以"属性"为基本数据单元,包含UUID、Handle、权限和Value四个要素。GATT则在ATT基础上构建了服务、特征和描述符的层次结构:服务(UUID:0x2800/0x2801)通过声明属性标识,特征声明(UUID:0x2803)指向特征值(UUID:0x2Axx或自定义),描述符(UUID:0x2900~0x290F)提供附加信息。GATT复用ATT发现机制,通过定义特定UUID语义实现服务发现和特征管理。这种设计使BLE设 阅读详情

毫无疑问,开源哲学在编写代码和生产软件方面的优点。现代计算核心的许多软件包,从Linux操作系统到MySQL,都是使用开放共享和协作开发的模式创建的。四十年来,在开放哲学的滋养下,伟大的代码解决了任何关于开源思想是否有效的问题。

尽管开源有其巨大之处,但它也并非没有缺点。现在开源已经成为主流,让我们考虑一下它的一些缺点,与其说是哲学,不如说是日常现实。以下是开发人员在为开源项目做出贡献时可能会再三考虑的七个原因。

1、开源不适用于云

今天的许多开源许可证都产生于在云之前,当时用户通过下载并在桌面上运行软件来访问软件。自那以后,云公司已经找到了在保持其代码更改所有权的同时,释放开源风气的方法。一家大型云公司的一位开源经理颇为腼腆地告诉笔者,他们分发软件,因此不需要共享源代码。

正如Drupal(PHP语言编写的开源内容管理框架)公司CEO,在一次接受采访时所说,“云技术的快速应用实际上可能会阻碍开源活动”、“它将开源开发者的大量收入转向了云供应商”。

这里有几十个云供应商创建开源项目的特殊版本以在云中转售的例子。亚马逊Web服务和Elasticsearch的创建者之间的分歧就相当明显。当双方无法达成协议时,最后闹掰,彼此单干了,现在有两个有效版本的Elasticsearch代码库。

一些开源拥护者正在通过制定更严格的许可证或修正案(如公共条款)来抵制云合作选项。我们可能会看到未来的改进,但这些改进无助于原始开源许可证下的遗留系统。
在这里插入图片描述
“公共条款”许可条件v1.0如下:

本软件由许可方根据以下定义的许可证提供给您,但须满足以下条件。在不限制许可证中的其他条件的情况下,授予许可证下的权利不包括,许可证也不授予您销售软件的权利。就上述内容而言,“出售”是指行使许可证授予您的任何或所有权利,以收取费用或其他代价(包括但不限于托管或咨询 / 支持软件相关服务的费用)向第三方提供其价值完全或实质上来自软件功能的产品或服务。许可证要求的任何许可证通知或归属也必须包括本通用条款许可条件通知。

2、开源存在多样性问题

社区这个词在开源圈子里被广泛使用,但这并不意味着开源文化就是某种香格里拉。首先,开源开发者可能是一个激进的群体:粗鲁、分心、固执己见,甚至是彻头彻尾的卑鄙。众所周知,开源存在着多样性问题,一些知名人士,诸如自由软件运动的精神领袖斯托尔曼就被指控种族主义和性别歧视。

其次,当个人以相对匿名的方式参与开源项目,仅通过电子邮件或公告栏进行交流时,结构性不平等可能不太明显。但有时这种匿名会产生脱节的感觉,这会使协作过程不如想象中的那样令人愉快,也不那么包容。

3、社区建设和维护需要时间

许多企业公司将其产品的开源版本作为“社区版”发布。这是一个很棒的营销工具,也是收集想法的好方法,有时也是改进产品的代码。然而,围绕该项目建立一个真正的社区需要时间和资源。如果用户和潜在贡献者向在线社区公告栏发布问题,他们希望得到答案。是的,许多贡献都是本着开源的精神自由做出的,但培育社区仍然需要时间。当它运行良好时,结果可能是一个正在构建伟大代码的新兴团队,但在这一过程中通常有大量工作要做。这种权衡的一个结果是,较大的企业项目往往会主导该领域。他们可以通过小型公司无法管理的有偿角色为社区模式提供资金。

4、开源Mentors出奇的少

类似地,许多开发人员很乐意与任何人分享他们的代码,但这并不意味着他们想帮助其他人真正学习。让某人访问Git存储库需要几分钟的时间,但支持他们作为开发人员和共同贡献者的成长是一项重要的承诺。有些项目甚至在其出资人协议中包含了一项条款,即出资人不应期望获得入职或支持,甚至不应期望得到回答。

从本质上讲,为一个开源项目做出贡献就像是一个“大灌篮”:这里有大量的代码行和一个问题需要您解决。你会发现很少有评论来解释发生了什么。谢谢,祝你好运!

5、理想派也需要薪水

大多数开源开发者都是理想主义者,他们不受名声和财富的驱使,但他们仍然需要在屋顶下吃饭和睡觉。现实世界有许多物理限制,与开源的自由共享精神不兼容。对于数字世界来说,“匮乏”可能是一个陌生的字眼,但对于现实生命形式来说,这是一个非常真实的物质问题。

对于小型堆栈和激情项目而言,开源非常有效,因为在这些项目中,没有人期望得到报酬,但对于全职程序员支持的大型代码库来说,它可能不太适合。如果有太多用户选择免费版本,整个项目可能会崩溃。

6、没有什么是真正免费的

在开源环境中待久了,你可能会遇到缩写词TANSTAAFL(There Ain’t No Such Thing As a Free Lunch.),即“天下没有免费午餐”。理查德·史泰尔曼喜欢说,他想创建一个“像演讲一样自由,但不像啤酒那样免费”的软件

在用户下载并使用开源软件后,他们将开始发现其局限性。有时,代码只需要一些小的改进。有时,它根本没有提供正确的功能。没有人想抱怨杯子只有半满,尤其是当价格为零时。但是,在最后期限内填满剩余的半杯,可能会给开发商带来巨大的负担。即使当自由代码让你99%的时间达到目标时,最后的1%也可能是一个非常艰难的过程。

7、有些项目不应该是开源的

有位数据库开发人员告诉笔者,他从未真正考虑过开源项目。他的客户是一些拥有大量数据集的大公司。他们有预算,愿意付钱给他做这项工作。如果客户想阅读源代码,他非常愿意让他们阅读。但他不想经历拆分项目正式、开放版本的麻烦。

开放源代码版本适用于广泛的开发人员使用的代码,他们可以帮助共同开发代码。但在某些情况下,金钱交换,是组织软件研发工作的一种更简单、最终更可持续的方式。

fMRI原始数据分割的笔记 好记性不如烂笔头_fMRI小白入门笔记 阅读详情

相关推荐

推荐系统在音乐领域的实践:网易云音乐推荐算法解析

你是否有过这样的经历?打开网易云音乐,“私人FM”里总能推到你想听的歌;“每日推荐”的歌单,往往藏着你没听过但一入耳就爱上的曲目。这些“懂你”的推荐背后,是一套复杂却精密的推荐系统在运转。问题陈述:音乐推荐的难点远超一般商品——音乐是高度主观的艺术,用户兴趣易随心情、场景变化;小众音乐的“长尾效应”显著,如何让冷门好歌被发现?传统协同过滤依赖历史行为,面对新用户/新歌曲的“冷启动”问题束手无策;而单纯的内容推荐又难以捕捉用户的隐性兴趣。核心方案:网易云音乐采用“混合推荐策略”——融合协同过滤(CF)

AI天才研究院 2093

开源项目一片向好,是机遇还是挑战?

此外,维护者还需要进行良好的版权管理,确保所有使用的代码和资产都是合法的,并遵守适用的开源许可证。大型开源项目的兴起:越来越多的大型公司和组织开始将自己的软件开源,比如Google的Android操作系统、Facebook的React前端库等。开源社区的活跃度:开源社区有着独特的活跃度,开发者们可以通过各种方式参与到开源项目的开发中,包括提交代码、报告bug、提出建议等。阅读项目的文档和代码,了解项目的架构和设计。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 1540

功率半导体器件选型指南:从GTO、GTR到MOSFET、IGBT的原理与应用

功率半导体器件是电力电子系统的核心,如同电路中的智能开关,负责电能的转换与控制。其工作原理基于半导体材料的导电特性,通过控制信号精确管理电路的通断。这类器件的技术价值在于提升能效、减小体积并增强系统可靠性,广泛应用于变频器、逆变器、开关电源及新能源领域。理解不同器件如MOSFET的雪崩能量与IGBT的损耗计算,是进行高效、可靠电路设计的基础。本文聚焦于GTO、GTR、MOSFET和IGBT这四类经典全控型器件的特性对比与选型策略,帮助工程师在具体项目中做出经济可靠的选择。

cumo7370的博客 450

2024年,中国开源商业到底行不行?我的答案是,行!

全文摘要:2024,开源的温度刚刚好;中国开源商业化蜕变;“要做主流中的非主流开源项目”;ToB 行业不存在赛道级创新;要做时间的朋友这篇文章来自2024年一个群里的约稿,一个群友在中国做开源深度受伤之后,结论是在中国做开源商业是“害人害己”,我当时想反驳,但是那时候白鲸开源商业化刚刚开始,在商业战场上光吹牛不管用,show me the money 才有用,所以到年底总结一篇,看下2024年中国...

开源社KAIYUANSHE的博客 292

Dify 第 10 篇 Dify 知识库手把手案例

本文介绍了如何利用Dify平台构建《阿里巴巴Java开发手册》智能助手。首先详细讲解了知识库创建的完整流程,包括文档上传、分段设置(推荐父子分段+段落上下文)、索引方式选择(高质量+混合检索)等关键步骤。随后指导用户进行分段质量检查和召回测试,强调TopK和Score参数的调优策略。接着演示了Chatflow应用开发过程,通过知识检索节点和LLM节点的配置,实现从知识库智能获取答案的功能。最后展示了应用发布和实际使用效果,成功实现了基于知识库的问答交互。案例采用DeepSeek-R1大模型,并支持答案引用显

甘蓝的专栏 1725

智能硬件产品 App 全球发布 第 1 章:全球 App 发布战略设计

本章阐述智能硬件 App 全球发布战略,涵盖市场分析、竞争格局、用户画像及资源配置。通过制定可执行的全球化推广路径,整合地区法规合规、渠道分发策略与营销活动设计,助力团队快速进入主流商店并确立品牌影响力。同时构建可量化的 KPI 监控体系,指导项目进度追踪与效果复盘,确保产品迭代持续优化,降低运营总成本。

moton2017的博客 157

用开源做出来的必须开源吗_贵公司开源吗? 您的经理会问的6个问题

用开源做出来的必须开源吗 Christian Grail在OSCON 2016上发表了题为“如何说服您的经理使用开源”的演讲。 我认为应该说服用户,但要考虑员工,是说服您的经理在公司中开源项目。 您的经理会问的6个问题 “质量会不会受到影响?” 有一种看法认为,当我们仅依靠内部团队时,我们可以控制质量。 事实是,使用开放源代码,您拥有精益的精益代码,并且质量通常会更高,因为它始终...

cumo7370的博客 844

【图像超分】论文复现:Pytorch实现ESPCN

论文精读:由于ESPCN没有公布源码,我们选择github上一个高star的项目来复现。准备数据集,以及数据预处理搭建网络模型设置参数并训练测试训练好的模型用训练好的模型测试自己的数据本文我们使用pycharm链接服务器训练。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1万+

opensource.guide 开源项目增长指南:如何为你的项目找到第一批用户(Finding Users 实战全解)

> 本指南以 opensource.guide 仓库中《Kupata Watumiaji kwa Mradi Wako(Finding Users for Your Project)》一文([斯瓦希里语版](https://link.gitcode.com/i/29af429e1a506abbc131f8459e1e8f06)与[英语原版](https://link.gitcode.com/i/8

gitblog_00622的博客 826

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

AI游戏制作07——波次计时器,敌人按波次生成

AI游戏制作07——波次计时器,敌人按波次生成

qq_40572023的博客 48

opensource.guide 用户获取指南:如何为你的开源项目找到第一批用户

本篇文章基于开源指南项目 opensource.guide 的官方日文文档 [_articles/ja/finding-users.md](https://link.gitcode.com/i/d64d4aecbe7470404310f21ad615273b)(对应英文版 [finding-users.md](https://link.gitcode.com/i/ae131e4cae8b16341

gitblog_00016的博客 264

目前固态激光雷达在机器人领域的应用难点汇总

固态激光雷达在机器人领域面临性能与成本的双重挑战:探测性能上,动态范围不足(60-80dB)导致高/低反射物体识别困难,近距盲区(30-50cm)与长距精度(±3cm)矛盾突出;结构上视场角与点云密度难以平衡,多雷达拼接又带来同步误差。成本方面,核心元件(SPAD/OPA芯片)良率低(<50%)、校准工序复杂,单机成本超200美元。环境适应性上,粉尘附着、振动偏移(±2°)和光衰(1万小时衰减15%)制约可靠性。

start_up_go的博客 483

为开源项目寻找用户:opensource.guide《Finding Users for Your Project》实战指南

开源项目写好了代码、发布了仓库,只是万里长征第一步。真正让项目活起来的关键,是把它交到**真实用户**手里。本文基于 opensource.guide 仓库中的罗马尼亚语版指南 [_articles/ro/finding-users.md](https://link.gitcode.com/i/026261b6ad5600ae46537d64b3444041)(与英文原版 [_articles/f

gitblog_01171的博客 269

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

国际领先的人工智能团队值得我们学习和深思

‍来源:陈德旺科学网博客链接地址:http://blog.sciencenet.cn/blog-57940-1299162.html如其说,人工智能(AI)现今热潮是Hinton等图灵奖获...

人工智能学家 569

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# 真香了?看看这些开源项目就懂了|Gitee项目推荐

据说很多被迫使用 C# 的人最后都真香了?C# 确实有很多让人惊艳的地方,比如 C# 良好兼容了值类型/引用类型,在发展中逐步解决了其他高级语言没解决好的问题;充分利用栈空间,非常高效,做了一部分 C/C++ 擅长的事。C# 出现较晚,算是所有语言的集大成者。而学习编程语言,寻找多个开源项目进行实践,通过这种方式来学习 C# 必能事半功倍。 如果你还没感受到 C# 的惊艳之处,不妨看看下面几个 ...

ZicoChan的博客 2678

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

一次值得深思的面试

因为离家太远,所以最近准备离京回老家成都找份工作,平衡一下家庭与事业。因此在各大招聘网站上广撒网的投递了简历,鉴于自己的工作经验还是比较自信满满的,然后就是坐等面试。这几天陆陆续续的来及几个HR的简单电话面试,但是都不够专业,所以简单的聊天就可以让对方信服。但是就在昨晚的一次技术负责人的电话面试中,给我深深的上了一课。      对方是一家做银行中间件的公司,主要是给银行提供一些软件服务,因此对

走在架构师的路上 587

QQ for linux 腾讯值得深思

http://www.youkuaiyun.com/article/2014-03-21/2818898-优快云-OSTC-2014-Tencent-Chenlei-interview     一直梦想着,腾讯能开发一款linux版本的qq软件,或者是在服务器端开放接口。但是,出于商业目的和qq源码安全,这个问题一直搁置着,没有被解决。     想说,一个企业要想走的

UNLEARN 1643

微软抄袭我的开源项目,我该怎么办?

当时最大的痛点之一,就是镜像仓库一宕机,整个环境就可能瘫痪,尤其是在需要紧急扩容的时候。Peerd 的做法,看起来像是直接复制了 Spegel 的大量代码,却没有在代码内部保留任何原始来源的痕迹。作为维护者,我得尽量客观中立,但这段经历让我的回答变得异常艰难。更让我震惊的是,这个 Peerd 项目,虽然是 Spegel 的一个 Fork 版本(或者说,大量复制代码),由微软维护,但它使用的是。一次“黑色星期 K”,GitHub 镜像仓库挂了,我们的服务直接被流量打爆,想扩容却拉不到关键镜像,那叫一个惨。

十年互联网开发老兵,陪你一起学技术 937

Open Source Guides 实战:如何为你的开源项目找到第一批用户与持续增长的受众

本篇技术指南基于 [Open Source Guides](https://link.gitcode.com/i/dcd49f6b454e165e574d89dd2a68c1f1) 仓库中《Finding Users for Your Project》指南(Pidgin 语言版本,见 [_articles/pcm/finding-users.md](https://link.gitcode.com

gitblog_00536的博客 923

探索高效图数据管理:深入了解XX开源项目

探索高效图数据管理:深入了解XX开源项目 项目介绍 在大数据和语义网络的浪潮下,处理RDF(Resource Description Framework)数据变得日益重要。XX开源项目以其独特的设计思路和灵活的操作接口,成为了一个值得关注的图数据管理解决方案。通过Apache Maven构建,该工具实现了对RDF模型的基本操作,简化了开发者在处理复杂语义网数据时的挑战。 项目技术分析 XX项目基于...

gitblog_00790的博客 655

如何正确看待开源项目:程序员的目标与社会责任

开源不仅是一种技术开发模式,更是一种社会文化和责任的体现。程序员在学习和使用开源项目的同时,应树立明确的目标,平衡技术与伦理的关系。通过参与和推动开源项目,我们不仅可以提升自身的技术水平,还能为社会创造更多的价值。未来是开源的,愿每位程序员都能在开源的道路上实现自己的技术梦想,同时推动社会进步。

Geniusandmadness的博客 1052

探秘「无法下载的图片」:一个挑战常规的开源项目

探秘「无法下载的图片」:一个挑战常规的开源项目 在数字化时代,下载网络上的图片似乎是再简单不过的操作。然而,今天我们要介绍的项目——You Can't Download This Image,却提出了一个挑衅性的问题:真的无法下载吗?让我们一起揭开这个项目的神秘面纱。 项目介绍 You Can't Download This Image 是一款充满创意的开源项目,它设立了一个看似不可能完成的任务—...

gitblog_00604的博客 371

关于数据中台,这家外企的观点恰恰值得深思

数据中台并非舶来品,而是中国互联网巨头制造出来的概念。 事实上,在国内各行各业掀起一股所谓的数据中台热之际,国外用户却对之鲜有提及。但是,这并不代表国外市场对于数据价值不重视。恰恰相反,在欧美等数字化程度很高的市场里,DataOps理念已经深入人心。所谓DataOps并不仅仅是某种产品、服务或者解决方案,而是AI时代全新的企业数据管理模式,目的是快速发现和使用整个用户架构中全部数据所蕴含的价值。...

大数据在线 575

Frida反调试对抗系列(三)

前面介绍了不错的Frida魔改server项目 下面我们去实践一些app。地址:基础反检测 frida-server / Basic anti-detection frida-server - Releases · Ylarod/Florida。

A_fanyifan的博客 1285

写给想要做自动化测试的人,值得每个测试工程师深思!

接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚,在此分享一下个人体会。 想做自动化,首先得了解一下自动化测试的一些常见问题: 什么是自动化测试? 自动化测试,顾名思义,自动完成测试工作。通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。自动化测试,看上去很美,感

小野 536
上一篇: 应用数据库将代替共享数据库
下一篇: 不同寻常的设计模式
老贾的AI世界
博客等级 码龄7年 3335粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老贾的AI世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值