【代码故事】VSCode知名主题material-theme仓库代码清空

大家好,我是前端之虎陈随易。

这是我的个人网站 https://chensuiyi.me。

出大事了

看到了一篇前端社区开源扛把子 Anthony Fu 的帖子。

Anthony Fu的帖子

经过一番了解,出大事了!

知名 VSCode 主题 material-theme 仓库清空了!

连带着所有提交的历史纪录,统统没了。。。

背景知识

在进一步的对这个事情报道之前,根据我查到的资料,我们先对 material-theme 简单了解一下。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是 material-theme 官网,可以看到,不仅是 VSCode,对于很多其他软件和工具,都提供了主题适配。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

根据官网显示,光是VSCode的用户,就有600万。Star数11k,5星好评,800左右的fork数。

那么,如此成功的项目,为什么会一夜之间把仓库全部清空呢?我们追寻蛛丝马迹,娓娓道来。

Anthony Fu的担忧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作为开源大佬,Anthony Fu 一直是我非常敬佩的开发者。

不仅是他的作品和项目,给众多开发者带来了难以估量的体验改进和效率提升。

他本人对于开源界和编程界的维护和担心,每次都首当其冲,第一个站出来。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

仓库的额外说明

在这个事情发生的第一时间,Anthony Fu 克隆了一份代码仓库,并做了补充说明。

恢复仓库?

作为一个有着800个fork的知名开源项目,就算代码被完全清空了,也还是存在着无数个备份,要想恢复,也是很简单的事情。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

针对代码恢复这个问题,Anthony Fu 有着他的思考和观点。

是的,如果贸然恢复仓库,由社区接手继续维护和更新,那么对于整个开源社区而言,在某些情况下,是不利于开源氛围的。

试想一下,如果是我们自己开源了这样一个仓库,因为某些原因,自己突然删除了仓库,接着马上就有社区接手继续维护,换做是谁都会不舒服。

辛辛苦苦,无数个日夜的更新与维护,成他人之嫁衣。

所以,我们需要知道,这清空仓库背后的原因。

删除原因

仅剩的2个issue

这是 material-theme 仓库 https://github.com/material-theme/vsc-material-theme 仅剩的2个issue。

第一个是 Anthony Fu 的,呼吁恢复仓库。

原文

这是第二个issue的原文。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是第二个issue的译文。

从这个说明中,我们也明白了事情发生的一些原因,有好有坏。

好的一面就是,该项目会继续维护。

坏的一面就是,该项目不会开源了。

同时呢,也会以一次性付费的形式,进行有偿使用,我觉得,这可以理解。

从以上说明中,我大概列举一下2点具体原因:

  1. 项目维护9年以来,消耗了大量的时间和精力,但却几乎没有多少盈利,反而要掏钱买域名,买服务器等。
  2. 9年以来,贡献者寥寥,绝大部分人,只想索取,不愿意贡献。

笔者的思考

我认为,事情的本质,很简单,就是没有赚到钱。

如果是我,只要做开源可以赚钱,没有人贡献代码,没有人一起维护,完全没问题,我可以贡献到老。

同时呢,这也是很多很多开源维护者,贡献者的窘境。

费尽精力,时间,减少了陪伴家人,孩子的时间,做了很多伟大又有用的事情,自己的回报却寥寥无几。

如果有人说,你觉得开源这么难,可以不做开源啊。

很多事情,都不是头脑简单地这么一刀切的,社会和人,都是很复杂的。

如果没有开源的力量,我们的社会和科技,压根不会发展到现在这个程度。

同样的,自己付出了精力和时间,做出了有用有价值的事情,也理应获得一些回报。

程序员是一个非常单纯的群体,单纯到很多时候误解了 开源 的含义。

开源 不等于 免费,这个问题我们在一开始就要搞清楚。

否则,当你的开源对现实世界产生影响,而不是只在自己的世界中意淫的时候,作为免费劳动力当你,是继续开源呢,还是停止维护呢?

基于这个问题,有很多开源项目,都提供了一些非常好的实践和案例。

在兼顾开源的同时,也通过开源赚到了或多或少,甚至是可观的收入。

所以,在此,我想跟每一个 单纯 的同行们说:请采取适当的策略,让自己产生的价值,变成价格

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

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

相关文章

开源AI智能名片微信小程序:以人性洞察与资源优化为驱动的社群营销新策略

摘要:随着科技的飞速发展,特别是人工智能(AI)技术的广泛应用,传统营销模式正经历着前所未有的变革。本文旨在探讨开源AI智能名片微信小程序如何凭借其独特的功能特性,结合人性洞察、需求解决、资源优化以及…

Kali Linux——网络安全的瑞士军刀

一、引言 在网络安全的领域中,Kali Linux 宛如一把强大而全能的瑞士军刀,为安全研究人员和专业人士提供了丰富的工具和资源。本文将深入探讨 Kali Linux 的特点、优势、常用工具以及实际应用场景,带您领略这一强大操作系统的魅力。 二、Kal…

驰骋BPM RunSQL_Init SQL注入漏洞复现

0x01 产品简介 驰骋BPM系统由济南驰骋信息技术有限公司研发,具有悠久的历史和丰富的行业经验。其工作流引擎CCFlow自2003年开始研发,是国内知名的老牌工作流引擎,在BPM领域拥有广泛的研究群体与应用客户群。统提供.net与java两个版本,且两个版本的代码结构、数据库结构、设…

【学习笔记】Matlab和python双语言的学习(整数规划和0-1规划)

文章目录 前言一、整数规划和0-1规划二、典型示例1.背包问题2.指派问题 三、代码实现----Matlab1.Matlab 的 intlinprog 函数2.Matlab 代码背包问题指派问题 四、代码实现----python背包问题指派问题 总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频…

案例精选 | 某省级妇幼保健院自动化安全运营中心建设成功实践

某省级妇幼保健院,是一所集医疗、保健、教学、科研、预防、康复于一体的省级三级甲等妇幼保健机构,专注于为全省妇女儿童提供全方位、高质量的医疗保健服务。医院拥有4个院区,总建筑面积10万平米,开放床位700张,年门诊…

【vue3|第21期】Vue3中Vue Router的push和replace方法详解

日期:2024年8月9日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

需求分析-系统架构师(四十六)

软件需求 软件需求:对系统在功能、行为、性能、设计约束等方面的期望。 分为 需求开发 和 需求管理 两大类。 需求分为 业务需求,用户需求,系统需求。 业务需求:企业或者客户对系统高层次的目标要求。 用户需求:用…

C#图片批量下载Demo

目录 效果 项目 代码 下载 效果 C#图片批量下载 项目 代码 using Aspose.Cells; using NLog; using System; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.…

git强制推送代码教程

git强制推送代码教程 首先说明情况,我的代码remote了两个git库,现在想要推送到其中一个,但是版本不对,被拒绝,因此下面将进行强制推送 首先检查远程库都有哪些 git remote -v2. 检查当前的分支 git branch当前分支前…

八股总结----计算机网络

1.UDP头部格式 UDP的头部比较简单,只有8个字节,这也是为什么UDP不能像TCP那样实现可靠传输的原因。源端口和目标端口表示数据传输的来源和去向,包长度表示数据报文的总长度(包含了头部和数据部分),方便接收…

stm32程序调试方式(OLED显示屏调试以及Keil调试模式)

文章目录 前言一、调试的方式二、OLED显示屏调试2.1 OLED简介2.2 OLED硬件电路2.3 OLED驱动函数介绍2.4 OLED显示屏应用案例代码 三、Keil调试模式总结 前言 提示:本文主要用作在学习江协科大STM32入门教程后做的归纳总结笔记,旨在学习记录,…

基于GeoTools使用JavaFx进行矢量数据可视化实战

目录 前言 一、JavaFx展示原理说明 二、GeoTools的Maven依赖问题 三、引入Geotools相关的资源包 四、创建JavaFx的Canvas实例 五、JavaFx的Scene和Node的绑定 六、总结 前言 众所周知,JavaFx是Java继Swing之后的又一款用于桌面应用的开发利器。当然&#xff0…

9.C基础_指针与数组

数组指针(一维数组) 数组指针就是" 数组的指针 ",它是一个指向数组首地址的指针变量。 1、数组名的含义 对于一维数组,数组名就是一个指针,指向数组的首地址。 基于如下代码进行分析: int a…

语言模型-神经网络模型(二)

神经网络模型语言模型 神经网络模型神经网络的分类神经网络模型和Ngram对比应用一-话者分离对比优劣 应用二-数字归一化应用三-文本打标 神经网络模型 释义: 与ngram模型相似使用,前n个词预测下一个词,输出在字表上的概率分布;过…

如何设置 Visual Studio Code 的滚轮缩放功能

Visual Studio Code (VSCode) 是一个强大的代码编辑器,提供了许多便捷的功能来提高开发效率。其中之一就是通过滚轮缩放字体大小。以下是详细的设置步骤: 步骤 1:打开设置页面 首先,启动 Visual Studio Code。在左上角点击 “文…

【机器学习基础】线性回归

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科,通过算法和模型让计算机从数据中学习,进行模型训练和优化,做出预测、分类和决策支持。Python成为机器学习的首选语言,…

集成视触觉传感器的机器人操作学习

强化学习是一种仿人学习的方法,其在不断与环境交互试错的过程中进行学习,提高自身的认知。其具有如下的优点,首先是数据依赖性低,强化学习通过与环境的交互来学习,减少了对标记数据的依赖性,可以大量的减少…

Linux 系统框架分析(一)

一、linux内核结构框图 对内核结构框图有个总体的把握,有助于理解为什么驱动要这样写,为什么写的应用程序所用的C库接口能够产生这么多的事情。 框图可以看出来,linux系统,包括五个系统 一、Linux内核结构介绍 Linux 内核是操作…

Spring及相关框架的重要的问题

Java框架 问题一:Spring框架中的单例bean是线程安全的吗? 看下图,不能被修改的成员变量就是无状态的类,无状态的类没有线程安全问题,所以在开发中尽量避免可修改的成员变量。 回答:不是线程安全的&#xf…

Oracle一对多(一主多备)的DG环境如何进行switchover切换?

本文主要分享Oracle一对多(一主多备)的DG环境的switchover切换,如何进行主从切换,切换后怎么恢复正常同步? 1、环境说明 本文的环境为一主两备,数据库版本为11.2.0.4,主要信息如下: 数据库IPdb_unique_n…