开源简史与概览

Think

1.论述“自由软件”与“开源软件”的区别与联系?

2.GitHub Trending 是一个能够快速找到有趣的新项目的地方;而 OpenLeaderboard 也是一个能够发现有趣而有影响力项目的地方。尝试从这两个网站中找到感兴趣的若干项目,挖掘并分析出上榜原因。

3.中国开源码力榜是开源爱好者们记录的开源贡献榜单,找到一个感兴趣的开发者,记录一下他/她的故事。

4.了解黑客文化的起源,思考为什么黑客文化会成为一种文化,以及这种文化对开源的影响。

Note

操作系统是支持计算机基本功能的软件,例如调度任务、执行任务以及控制包括存储设备在内的一些外围设备。

过去的一段时间,大多数计算机系统仍庞大而昂贵,“Big Iron”是常用的俚语。

商业用户需要能轻松地共享数据和资源的操作系统。

20世纪90年代,基于各种原因,互联网在默默无闻中脱颖而出,其中最重要的原因是英国科学家 Tim Berners-Lee 在欧洲核子研究中心工作期间发明了万维网,而这个欧洲研究组织运营着世界上最大的粒子物理实验室。

内核将应用软件与计算机硬件连接起来,并且将管理系统硬件的业务从“用户空间”中抽象出来。

Linux操作系统是类Unix操作系统家族中的一员。

考虑到商业能力与软件密不可分的关系,这意味着开源的发展将推动商业能力向前发展。

“一切都取决于时机,孩子!”

“共享数据是走向社区的第一步。”

“说出你的想法。不要退缩。”

“这个孩子是谁?",“他的名字叫 Linux。”

-- Prodigy

Trial

1.自由与开源软件

自由软件(Free Software)和开源软件(Open Source Software)这两个概念经常被提及,它们都强调软件的源代码可以被用户访问和修改,但它们的核心理念和侧重点有所不同:

1. 自由软件(Free Software):
   - 自由:自由软件运动的核心是“自由”(Freedom),即用户拥有使用、研究、分享和修改软件的自由。这个概念由理查德·斯托曼(Richard Stallman)提出,并由自由软件基金会(FSF)推广。
   - 道德和伦理:自由软件强调的是道德和伦理问题,即软件应该是自由的,用户不应该被剥夺这些基本自由。
   - 版权和许可证:自由软件通常使用如GPL(通用公共许可证)这样的许可证,这些许可证确保了软件的自由性,防止他人将软件私有化。
   - 社区和哲学:自由软件运动更强调社区和哲学,鼓励用户参与软件的开发和改进。

2. 开源软件(Open Source Software):
   - 开放性:开源软件强调的是开放性,即任何人都可以访问、修改和增强软件的源代码。
   - 实用主义:开源软件更侧重于实用主义,关注软件的开发过程、质量和效率,以及如何通过开放源代码来促进软件的发展。
   - 许可证:开源软件可以使用多种许可证,包括但不限于GPL、MIT、Apache等,这些许可证允许不同程度的使用和修改。
   - 商业和合作:开源软件鼓励商业和非商业实体之间的合作,促进技术创新和软件质量的提升。

尽管自由软件和开源软件在理念上有所不同,但它们之间存在很多交集,许多项目同时符合自由软件和开源软件的定义。实际上,很多开源项目也是自由软件,反之亦然。两者都促进了软件的共享、协作和创新。

2.OpenLeaderboard

是什么?

OpenLeaderBoard 是 X-lab 开放实验室 提供的一款用于洞察开源世界的开源工具。OpenLeaderBoard 提供了一些可视化的开源排行榜,包含项目,企业,中国,活跃度,影响力等多种类别的排行榜,并支持查看开源项目的可视化看板。

  • 官方网站:Open Leaderboard
  • GitHub 地址:https://github.com/X-lab2017/open-leaderboard

如何参与贡献

step1:阅读项目 README

step2:查看 issue list 中尚未解决的问题

step3:选一个自己力所能及的 issue,并在其中回复表示自己有意愿完成这个 issue

step4:积极主动与社区维护者在 issue 下进行解决方案交流

step5:将远程仓库代码拉取到本地,再在本地进行代码开发

step6:完成代码开发后在 GitHub 上发起 PR,等待社区维护者 Review Code,代码通过后,恭喜你,成功完成了一次开源贡献!

其他基本功能就自己探索吧。

感兴趣的项目

榜上的项目都好大

  • cilium

是什么?

Cilium作为一个基于eBPF技术的开源项目,在网络、安全性和可观察性方面提供了创新的解决方案。

活跃度
1. 社区活跃度:Cilium自2016年8月开源以来,已经收获了11.5k的star,接近400位开发者为Cilium项目贡献过代码。其中有60多位开发者在最近一个月保持活跃,GitHub的issues讨论也非常热情,接近6000条issue被处理。这显示了Cilium项目的高活跃度和社区的积极参与。

协作影响力
1. 开源社区贡献:Cilium是eBPF社区中最重要的贡献者与维护者之一,其商业化公司Isovalent也是eBPF里最活跃的开源社区。这表明Cilium在eBPF社区中具有较大的协作影响力。
2. 跨项目协作:Cilium与Envoy和Prometheus紧密结合,并提供了一个基于Go的扩展框架。这种跨项目的协作进一步增强了Cilium的影响力。
3. 行业认可:Cilium被多家知名企业和云供应商采用,如Adobe、Capital One、Cognite、Datadog等,这进一步证明了其在行业中的协作影响力。

价值流网络
1. 网络功能:Cilium提供了扁平化的L3网络以及跨集群通信的能力,能实现L3到L7的协议感知并实施安全策略。这种全面的网络功能为Cilium构建了一个强大的价值流网络。
2. 安全性和可观察性:Cilium通过作为CNI和使用eBPF的Kubernetes增强网络层,为云原生环境提供网络、安全和可观察性。这些功能使得Cilium在云原生架构中具有重要的价值。
3. 商业化潜力:Cilium的商业化公司Isovalent的存在,以及资本市场对eBPF技术的关注,显示了Cilium在商业化方面的潜力和价值流网络的重要性。

  • odoo

1.是什么?

Odoo 是一套基于 Wed 的开源商业应用程序。主要应用包括网站构建器、仓库管理、电子商务等。

活跃度

全球活跃度榜17

2.协作影响力

Odoo是全球最大企业应用市场之一,拥有2万个应用市场模块,每月新增300多个,且有广泛的社区支持。

3.价值流网络

Odoo提供了全面的企业管理功能,覆盖企业管理的各个方面,且在安全层面十分灵活。

Odoo官方、开源社区、技术服务商、Odoo用户发展了一个世界最大企业应用市场,显示了商业化潜力。

3.中国开源码力榜

官网

1.是什么?

中国开源码力榜是由 SegmentFault 思否、开源社、X-lab 开放实验室共同发起的中国开源开发者榜单。

该榜单的评选基于开源贡献度评价算法 OpenRank,通过开源社区、广大开发者、志愿者的开放协作,共同核实标注信息、排除机器人账号,甄选了每年排名前 99 位的中国开发者。

2.探索Jarrett Ye 的故事

叶峻峣(Junyao Ye),也称为 Jarrett Ye,是一位活跃在开源社区的算法工程师,他的开源开发故事可以从以下几个方面来讲述:

1. 教育背景与研究兴趣:
   叶峻峣毕业于哈尔滨工业大学(深圳)计算机系,目前就职于墨墨背单词,负责研发记忆算法。他对优化间隔重复算法和建模人类记忆有着浓厚的兴趣。

2. 开源之夏的起步:
   叶峻峣的开源之旅始于“开源之夏”,当时他对开源项目知之甚少,但怀着对技术的热爱和对学习的渴望,他决定报名参加。这一决定开启了他一段难忘的旅程,也让他在技术和社区中找到了归属感。

3. 在taichi社区的贡献:
   他最初报名的是taichi社区,这是一个高效的开源计算框架,专为高性能计算和图形应用设计。叶峻峣在学校研究NeRF时期接触了很多图形学框架,对taichi产生了浓厚的兴趣。

4. OpenMMLab项目的贡献:
   在开源之夏报名失败后,叶峻峣发现了OpenMMLab项目,并开始积极参与社区工作。他选择了MMDeploy仓库,并将EfficientNet移植到Jetson上。他还实现了使用OnnxRuntime的NMSMatch算法,为开源社区做出了贡献。

5. 个人开源项目:
   叶峻峣给Anki移植了基于他论文中提出的DHP记忆模型的间隔重复算法FSRS,并创建了相关的开源项目。这个项目最初是他个人的项目,但后来吸引了更多人参与,主要代码还是由他编写。

6. 研究成果与开源代码:
   叶峻峣在记忆算法研究方面取得了重要进展,其研究成果在国际顶级期刊IEEE TKDE上发表,同时他也提供了相关的开源代码和数据集。

7. 开源组织的参与:
   叶峻峣还是@Thoughts Memo汉化组的组长,致力于传播有助于自由学习的知识,并且Anki的作者也加入了他们的开源组织。

叶峻峣的开源开发故事体现了他对技术的热爱、对开源社区的贡献以及在记忆算法领域的专业研究。通过他的努力,叶峻峣不仅提升了自己的技术水平,也为开源社区带来了宝贵的资源和知识。

 3.个人感受

他的教育经历丰富,且始终保持着探索欲和好奇心,在兴趣的驱使下不断学习,充满热情地加入特定的领域的社区,这也在一定程度上为他的开源学习和贡献奠定了基础。总的来说,无论是理论还是实践,都非常厉害,很多都没接触过。

4.黑客文化

了解黑客文化的起源,思考为什么黑客文化会成为一种文化,以及这种文化对开源的影响。

 1. 起源

黑客文化的起源可以追溯到1961年,那一年麻省理工学院(MIT)终于得到了第一台PDP-1计算机。学院技术模型铁路俱乐部(Tech Model Railroad Club,TMRC)的成员们开始探索计算机系统的能力和自由交流。这个时期,黑客文化主要是由对计算机技术充满热情的一群年轻人组成,他们对技术的热爱、对信息自由的追求以及对权威的挑战精神构成了黑客文化的核心。黑客文化从早期的实验室科研行为准则,发展成“开放源代码”和“自由软件”这样的社会性运动。

 2. 为什么成为文化?

黑客文化之所以成为一种文化,有几个关键因素:

- 技术探索与创新:黑客文化鼓励对技术的深入探索和创新,这种对知识的追求和对未知的探索是黑客文化的核心。
- 信息自由:黑客文化强调信息的自由流通和共享,这与互联网的开放性相契合,促进了信息共享观念的推广和扩大。
- 反传统、反权威精神:黑客文化包含反传统、反权威的精神,这种精神鼓励挑战现存的价值观和制度,推动社会变革。
- 社区与合作:黑客文化中的成员通过分享知识、参与开放源代码项目,形成了一个全球性的社区,这种社区精神和合作是黑客文化得以持续和发展的重要原因。

 3. 对开源的影响

黑客文化对开源的影响是深远的:

- 开源运动的推动:黑客文化中的开放和共享精神直接推动了开源运动的发展。许多黑客认为软件应该是自由共享的,这种思想促成了如Linux这样的开源项目的成功。
- 技术创新与合作:黑客文化鼓励开放式创新,通过开源软件、共享知识和互联网协作,推动技术的快速发展。
- 社会与文化影响:黑客文化不仅影响了技术领域,还对社会的文化和思考方式产生了影响,促进了非正规、非线性、开放式的文化和思考方式的发展。
- 对抗与合作:黑客文化中的白帽子运动也逐渐壮大,他们致力于发现漏洞并帮助公司修复系统,提高整体安全性,这在一定程度上也促进了开源项目的安全和稳定性。

综上所述,黑客文化因其对技术探索的热爱、对信息自由的追求、反传统精神以及社区合作的特点,成为了一种全球性文化现象,并对开源运动和技术创新产生了深远的影响。
 


 

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

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

相关文章

006-Jetpack Compose for Android之传感器数据

需求分析 想要看看手机的传感器数据,看看滤波一下能玩点什么无聊的。先搞个最简单的,手机本身的姿态。 需求:采集手机姿态数据,显示在界面上。 那么我们需要: 一个文本标签类似的控件,显示手机姿态数据…

单元测试入门和mockup

Java 新手入门:Java单元测试利器,Mock详解_java mock-CSDN博客 这个是典型的before when assert三段式,学一下单测思路 这个没有动态代理,所以是直接class(对比下面) Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new Mock…

抢先体验:人大金仓数据库管理系统KingbaseES V9 最新版本 CentOS 7.9 部署体验

一、简介 KingbaseES 是中国人大金仓信息技术股份有限公司自主研发的一款通用关系型数据库管理系统(RDBMS)。 作为国产数据库的杰出代表,它专为中国市场设计,广泛应用于政府、金融、能源、电信等关键行业,以高安全性…

HT-HaiBOX边缘计算盒 智慧工厂方案,智慧医疗方案,智慧加油站方案,智慧安防方案,智慧城市方案;方案定制开发

背景介绍 在当今数字化时代,各个行业对于智能化视频监控设备的需求日益增长。无论是安防监控,还是智慧工厂、智慧城市等领域,都需要高效、智能的设备来保障安全和提高生产效率。然而,传统的视频监控设备存在诸多痛点:…

Unity中实现转盘抽奖效果(一)

实现思路: 旋转转盘的z轴,开始以角加速度加速到角速度最大值,结束的时候,以角加速度减速使角速度减少到0,然后转盘z轴旋转的角度就是加上每秒以角速度数值大小,为了使角度不能一直增大,对360度…

LockSupport的源码实现原理(一)

目录 底层源码分析 线程状态变化 许可证机制 中断处理 底层源码分析 public class LockSupport {// Unsafe实例private static final Unsafe U Unsafe.getUnsafe();// Thread对象中parkBlocker字段的偏移量private static final long PARKBLOCKER U.objectFieldOffset(Thre…

电子应用设计方案80:智能桌椅系统设计

智能桌椅系统设计 一、引言 智能桌椅系统旨在为用户提供更加舒适、便捷和个性化的使用体验,适应不同的工作和学习场景。 二、系统概述 1. 系统目标 - 实现桌椅高度、角度的自动调节,适应不同用户的身体尺寸和使用需求。 - 具备坐姿监测和提醒功能&…

【SpringBoot】深度解析 Spring Boot 拦截器:实现统一功能处理的关键路径

前言 🌟🌟本期讲解关于拦截器的详细介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不多说…

网络渗透测试实验四:CTF实践

1.实验目的和要求 实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具…

计算机毕业设计Python+Spark考研预测系统 考研推荐系统 考研数据分析 考研大数据 大数据毕业设计 大数据毕设

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

2024年度总结:保持正念 延迟满足

总结: 时光荏苒,很快就到了年底,2024年也就悄悄的过去了,回顾这一年,有很多的感触,在此做一个总结,留下自己的脚印 CTF: 要总结的第一件事那当然是CTF,回顾这一年&#…

LeetCode - 初级算法 数组(存在重复元素)

存在重复元素 这篇文章讨论如何判断一个数组中是否存在重复元素。 免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 描述 给定一个整数数组 nums,如果任一值在数组中出现至少两次,返回 true;如果数组中每个元素互不相同,返回 false。 示例: 输入: nums =…

03-spring-理-DefaultListableBeanFactory

DefaultListableBeanFactory 是 beanFactory的实现 重要 有一些类被注解标注了。但是没有加入到容器。 怎么将标注的类加入到容器? 这个时候使用bean的后置处理器 主要是通过bean后置处理器来处理 被注解标注的类 org.springframework.context.annotation.inter…

绘制三元图、颜色空间图:R语言代码

本文介绍基于R语言中的Ternary包,绘制三元图(Ternary Plot)的详细方法;其中,我们就以RGB三色分布图为例来具体介绍。 三元图可以从三个不同的角度反映数据的特征,因此在很多领域都得以广泛应用;…

30天开发操作系统 第 10 天 -- 叠加处理

前言 得益于昨天的努力,我们终于可以进行内存管理了。不过仔细一看会注意到,bootpack.c都已经有254行了。笔者感觉这段程序太长了,决定整理一下,分出一部分到memory.c中去。(整理中)…好了,整理完了。现在bootpack.c变…

2024年RAG:回顾与展望

2024年,RAG(Retrieval-Augmented Generation)技术经历了从狂热到理性的蜕变,成为大模型应用领域不可忽视的关键力量。年初,AI的“无所不能”让市场充满乐观情绪,RAG被视为解决复杂问题的万能钥匙&#xff1…

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表 前面完成了云数据库后台的商品批量添加,这里需要把数据放在分类导航页面中显示。 一、云前台显示商品列表 这里需要把商品列表显示在MyNavSliderBar的组件中,MyNavSliderBar组件是通过首页路由实现的,在项…

【brew安装失败】DNS 查询 raw.githubusercontent.com 返回的是 0.0.0.0

从你提供的 nslookup 输出看,DNS 查询 raw.githubusercontent.com 返回的是 0.0.0.0,这通常意味着无法解析该域名或该域名被某些 DNS 屏蔽了。这种情况通常有几个可能的原因: 可能的原因和解决方法 本地 DNS 问题: 有可能是你的本…

【SpringMVC】拦截器

拦截器(Interceptor)是一种用于动态拦截方法调用的机制。在 Spring MVC 中,拦截器能够动态地拦截控制器方法的执行过程。以下是请求发送与接收的基本流程: 当浏览器发出请求时,请求首先到达 Tomcat 服务器。Tomcat 根…

python使用PyQt5,整套,桌面应用

安装 安装 pip install PyQt55.7.1 pip install PyQtWebEngine1、创建窗口,按百分比划分 from PyQt5.QtGui import QGuiApplication from PyQt5.QtWidgets import QApplication, QWidget # 创建应用程序实例 app QApplication([]) # 创建主窗口 window QWidget(…