开源项目九死一生,但很多程序员坚持开源??

news2024/10/5 13:57:37

大家好,欢迎来到停止重构的频道。

本期我们讨论一个开放问题。

为什么流行的开源项目只是凤毛麟角,且很多有名的开源项目都是背靠大公司的。

但是,为什么还有很多个人开发者愿意开源项目呢?

欢迎大家把自己的想法或开源项目发在评论区,或者给一些想要开源项目的小伙伴一些建议 。

我们按这样的顺序讨:

1、  绝大多数开源项目的现状

2、  开源终归是愿不愿意分享的问题

3、  我们技术群里小伙伴分享的开源项目

4、  给准备做开源项目的小伙伴的一些建议

绝大多数开源项目的现状

从宏观角度讲,开源能让更多的想法和思考得到碰撞,延续前人的成果也更加容易,软件世界会更加缤纷。

如全文搜索引擎elasticSearch和solar都是基于开源的Lucene Ubuntu、Fedora系统都是基于开源的Linux。

开源大大促进了软件行业的发展,很多人也高举拥抱开源的口号。

但是绝大多数的开源项目都是没人关注、没人用的,即使你的开源项目足够优秀或足够好。

而且这跟国内外的环境关系不大,国内也有比较成功的开源项目,如SRS、Mycat、flv.js等。

 

github上有几亿个项目,没人关注、没人用就是绝大多数开源项目的现状,它可能顶多是求职简历上一条微不足道的亮点。

 

至于这种现状产生的原因有很多,最重要的是很多开源项目的质量是不够的,不礼貌地说就是垃圾。

所以在往期《开源项目不等于降低成本》中讨论过,使用开源项目的试错成本是很大的。

 

这种现状让开源项目的推广实质上还是口口相传,流行度、用户基数成了开源项目最重要的指标,也是Apache基金会等组织评估开源项目的门槛指标。

所以流行的项目会越流行,新项目则需要很长的时间、或花很大的推广成本才能积累用户,即使项目足够优秀,很多时候也很难熬过一开始的至暗时刻。

开源终归是愿不愿意分享的问题

但纵使是这样,仍然会有很多开发者发布维护自己的开源项目,包括我们停止重构。

很多人会质疑重复造轮子、项目的价值 甚至有时候会遭到恶意评价。

我们也跟很多朋友讨论过个人开源项目的意义。正如《艺术哲学》这本书说的一样,任何杰出的艺术品或艺术家都不是孤立横空出现的,而只是时代或群体里最具代表、杰出的。

所以失败的、被埋没的开源项目,也一定会给予一些人灵感而再创造,而且不发布公开怎么知道行不行呢?即使只有几个关注者也能避免闭门造车。

 

当然,无论怎么争辩,都无法改变开源项目大概率无人问津的事实,付出可能会颗粒无收。

那么,就没人做开源项目了吗?归根结底,这不是一个值不值的问题,而是愿不愿意的问题。

你是否愿意分享你的创造、你的所思所为,我们是愿意的,也是这么做的。

 

我们技术群里小伙伴分享的开源项目

我们的技术群里也有小伙伴分享自己的项目。

首先是我们停止重构自己的开源项目,目前是三套开源框架,包括前端网页、后端、云计算 。前端和后端框架将会在不久推出2.0低代码版本,云计算框架也会推出一个通用云计算任务系统。

 

接下来是我们技术群里小伙伴分享的项目,也帮忙推广一下。

首先是一个前端工具Glassmorphism,一款生成毛玻璃CSS样式的工具,作者做了完整使用视频,感兴趣的小伙伴可以关注一下。

虽然工具比较简单,但是这种可视化的样式修改需求十分普遍,下次我们做相关模块的时候会认真参考一下。

 

下一个是go语言的后端框架Aurora 以及数据库操作框架GoBatis,感兴趣的小伙伴可以关注一下。

 

最后是几个初中生的开发者群体BUGDUCK,他们推出了前端框架tntjs、前端动画引擎newcar,相信后面会做出更棒的东西,毕竟他们现在只有十几岁 我十几岁的时候还只知道玩冒险岛。

 

还有一些同是创业阶段的小伙伴,他们的项目还在最初始的阶段,还不能分享。

给准备做开源项目的小伙伴的一些建议

接下来我们想给想做开源项目的小伙伴一些建议。当然我们自己也做得很不好,但至少目前我们还在坚持做开源项目。

我们建议开源项目是从实际项目或实际问题而来的,而不是某个知名工具的换皮产品,这样更能得到用户的关注。

开源项目应该持续更新,保持项目活跃。

不要像我们一样,迭代了四五年都十分成熟了再公开。

开源项目的推广也很重要,需要凝聚用户漏斗,形成良性循环。

我们也是刚摸索,没什么实用的经验分享,但是可以分享一本书叫《影响力》,可以帮助大家对推广扩展思路。

 

总结

最后,看过我们之前架构相关视频的小伙伴可能会感觉我们表里不一 ,一边说着实际项目要谨慎选用开源项目,现在又在变相鼓励开源项目。

这大概不算是表里不一,只是想法和做法不一致,因为很多的人和事教会了我们。

想法是必需大胆、积极、非常规的,但做法是必需谨慎、小心的。

我们在每一个实际项目都会尝试新的想法,但一定会保证它在可控范围内,我们认为稳妥的创新并一定是模仿,而是不断地局部推陈出新,久而久之,必然愚公移山、精卫填海。

聊回开源项目,虽然很多人认为是重复造轮子、灯蛾扑火。

但是我们真心觉得,选择做开源项目的程序员,即使经验可能有限、设计有所局限,但一定都是优秀的程序员

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实现一个简单的前端脚手架

核心要点 前端脚手架概念实现前端脚手架 什么是前端脚手架? 随着前端工程化的概念越来越深入人心,脚手架应运而生。简单来说,「前端脚手架」就是指通过选择几个选项快速搭建项目基础代码的工具 前端脚手架可帮我们做什么? 可…

fine tune openAI model ( 微调chatgpt)

了解如何为自己的应用程序定制模型。 介绍 微调可以从API提供的模型中获得更多信息: 比 prompt 设计更高质量的结果能够在超过 prompt 范围的示例上进行训练更短的 prompt 节省了token更低的延迟请求 微调包括以下步骤: 准备并上传训练数据训练一个…

【异常解决】vim编辑文件时提示 Found a swap file by the name “.start.sh.swp“的解决方案

vim编辑文件时提示 Found a swap file by the name ".start.sh.swp"的解决方案 一、问题描述二、原因说明三、解决方案3.1 方案1 删除即可3.2 方案2 禁止生成swp文件 一、问题描述 vim编辑文件时提示 Found a swap file by the name “.start.sh.swp”,如…

周杰伦、张韶涵巡演重磅回归,联诚发LED屏幕燃爆全场!

灯光点亮,音乐响起,所有粉丝随着节奏开始疯狂摇摆呐喊。2023年,随着演出市场全面复苏,各大活动演出随处可见,众多歌手也重新回归舞台,开启世界巡回演唱会活动,周杰伦、张韶涵等重磅明星纷纷进行…

6 接口、多态、断言、项目【Go语言教程】

6 接口、多态、断言、项目【Go语言教程】 1 接口 1.1 概念 Golang 中 多态特性主要是通过接口来体现的。 interface 类型可以定义一组方法,但是这些不需要实现。并且 interface 不能包含任何变量。到某个自定义类型(比如结构体 Phone)要使用的时候,在根据具体情况…

Jupyter Notebook为什么适合数据分析?

Jupyter Notebook 是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前,数据挖掘领域中最热门的比赛 Kaggle 里的资…

数据结构与算法基础(王卓)(37):选择排序(简单选择、堆排序)

目录 简单选择排序 堆排序 堆的调整&#xff1a; 大根堆 小根堆 整个堆调整的完整工序如下&#xff1a; 根据按照操作对程序注解标注&#xff1a;&#xff08;看过了注解就知道程序他每一步是怎么操作的了&#xff09; 堆的建立 问题 简单选择排序 #include<iostre…

Feign踩坑源码分析--@FeignClient注入容器

一. EnableFeignClients 1.1.类介绍 从上面注释可以看出是扫描声明了FeignClient接口的类&#xff0c;还引入了 FeignClientsRegistrar类&#xff0c;从字面意思可以看出是进行了 FeignClient 客户端类的注册。 1.2.FeignClientsRegistrar 详解 最主要的一个方法&#xff1a;re…

喜报丨酷雷曼荣膺最佳创新品牌价值奖

2023年4月&#xff0c;“元力觉醒新浪VR 2022年度行业奖项”颁奖盛典成功举行&#xff0c;酷雷曼VR&#xff08;北京同创蓝天云科技有限公司&#xff09;荣获“最佳创新品牌价值奖”荣誉称号&#xff01; 本次大会由元宇宙产业的权威门户媒体新浪VR主办&#xff0c;中国民协元…

从入门到精通:网络爬虫开发实战总结

从入门到精通&#xff1a;网络爬虫开发总结 专栏&#xff1a;Python网络爬虫1.认识网络爬虫2.网络爬虫——HTML页面组成3.网络爬虫——Requests模块get请求与实战4.网络爬虫—Post请求(实战演示)5.网络爬虫——Xpath解析6.网络爬虫——BeautifulSoup详讲与实战7.网络爬虫—正则…

网络原理(五):IP 协议

目录 认识IP 地址 子网掩码 作用 动态分配IP 地址 NAT 机制 认识MAC地址 MAC地址如何工作 认识IP 地址 概念&#xff1a; IP地址&#xff08;Internet Protocol Address&#xff09;是指互联网协议地址&#xff0c;又译为网际协议地址。 作用&#xff1a; IP地址是I…

遗传算法(GA)

理论&#xff1a; 遗传算法是一种通过模拟生物进化的方式来寻找最优解的一类优化算法。这种算法主要依靠遗传、突变和自然选择的机制对问题求解进行高效的迭代搜索。 遗传算法的基本思想是将问题的解表示成一个个个体&#xff0c;然后根据适应度函数的定义来评估每个个体的适…

【数组排序算法】

目录 一、数组排序算法1、冒泡排序算法1.1、图形解释1.2、冒泡算法的脚本写法 二、直接选择排序1.1、动态图解1.2、直接选择排序算法的脚本编写 三、直接插入排序1.1、基本思想&#xff1a;1.2、动态图解1.3、直接插入排序的算法脚本编写 四、反向序列算法1.1、反向序列算法的脚…

linux:文件替换的三种方式sed、awk、perl

文章目录 背景sed语法问题1、加个空字符串2、下载gnu-sed awk语法举例 perl语法示例 总结 背景 linux 文件内容替换&#xff0c;网上看了下大致就这三种 sed、awk、perl&#xff0c;今天挨个使用一下看看怎么样 sed 语法 Linux sed 命令是利用脚本来处理文本文件。详细文档…

网络基础认知(上)

如今使用过计算机的人们都接触过网络&#xff0c;但是网络究竟是什么&#xff0c;计算机又是怎样通过网络来进行互相之间通信的&#xff0c;这还需要我们深入了解。 目录 网络发展 初识协议 什么是协议 为什么需要协议&#xff1f; 网络协议初识 协议分层 为什么网络协议要…

澳鹏与Reka AI强强联合,构建高质量的多模态LLM应用

近日&#xff0c;澳鹏Appen官宣与AI新兴公司Reka AI合作&#xff0c;以实现世界级数据服务与多模态语言模型的结合。 ChatGPT等创新应用的崛起让大型语言模型&#xff08;LLM&#xff09;实现了突飞猛进的发展。LLM可以助力企业提升运营效率&#xff0c;并为最终用户提供耳目一…

Java基础--->JVM(3)【垃圾回收】

文章目录 垃圾回收&#xff08;GC&#xff09;什么内存需要回收&#xff08;什么样的对象是垃圾&#xff09;&#xff1f;为什么要进行垃圾回收&#xff1f;内存溢出和内存泄露的区别&#xff0c;如何解决分区收集思想 Minor GC、Major GC、Full GC垃圾回收相关算法引用计数算法…

如何搭建产品操作手册

对于企业来说&#xff0c;拥有一份完备的产品操作手册无疑是至关重要的。操作手册不仅是新员工学习产品使用及维护的重要参考&#xff0c;也是产品售后服务与客户支持的必备文件。在手册编写上&#xff0c;应清晰明了地介绍产品的功能、配置及故障排除等信息&#xff0c;使用户…

统计学下的假设检验

由于本人才疏学浅&#xff0c;再加上时间仓促&#xff0c;难免有疏漏之处&#xff0c;恳请批评指正. 1,预备知识 数理统计&#xff1a;以概率论为基础&#xff0c;研究如何有效的去搜集、整理、分析带随机性影响的数据 总体与样本&#xff1a;研究对象的全体就称为总体 样本&a…

VTK交互-vtkBoxWidget2

VTK交互Widget widget包含两个重要的组成部分&#xff1a;Interaction和Representation. Interaction是一些名叫vtk*Widget的类&#xff08;比如vtkBoxWidget2&#xff09;。它包含了交互的所有选项和事件处理。 Representation是显示并与之交互的一类对象&#xff0c;以名叫v…