标签 开源 下的文章

开源朗读者 | 六开箱

作为一名技术人员,你应该时不时会看到“ 开源 Open Source ”这个词。你有可能在浏览推文、博文时看到过它,也有可能是在学习某一门编程语言或使用某个工具时,看到它的部分介绍写着:这个工具/语言是“开源”的。总之,开源无处不在。

在本文中,我将介绍下面这三个话题:

  • 什么是开源
  • 贡献于开源的好处
  • 如何开始贡献

什么是开源

开源指的是这样一些软件、项目或社区:它们允许人们修改和分享,因为它们的设计目的就是为了让所有人都能访问。举一个关于菜谱的例子:你可以做你从未发明过的菜,因为发明这个菜谱的人公开了它。大多数时候,你也可以根据自己的口味烹饪,而不会呛到喉咙(开个玩笑)。

开源软件 Open Source Software (OSS)是指源代码可供他人查看、复制、学习、修改或分享的软件。

下面是开源软件和语言的一些例子:

  • Linux 操作系统
  • Google 的 Android 操作系统
  • Firefox 浏览器
  • VLC 媒体播放器
  • Python 语言、PHP 语言、MySQL 数据库

与开源软件相反的是 专有软件 proprietary software / 闭源软件 closed source software ,只有软件的创造者才能自由使用,其他人若想使用,就得先获得法律许可才行。例如 Adobe Photoshop、微软 Office 等。

开源不仅限于软件或代码,技术领域的任何人都可以为开源做出贡献(各个角色)。有了开源,就有了透明度、可靠性、灵活性,并允许开放合作。

贡献于开源的好处

向开源项目或软件做贡献意味着“免费”让该项目变得更好。你应该会问自己,为什么我要关心或向自己强调“免费”呢?如果你是新手,你可以阅读 Edidiong Asikpo 的故事,她在 这篇文章 中说明了为什么开源是她成长的催化剂。

贡献开源的好处有很多,这里是其中一部分:

  • 它能够帮助你提高现有的技能,特别是对于新手而言,因为它允许你边做边学。
  • 无论身在何处,你都可以与世界各地的优秀科技人士协作或共事。
  • 你可以公开自己的想法,从而改善软件、项目或社区,让世界变得更美好。
  • 你可以通过贡献开源来得到大家的认可,或者成为独特或伟大事物的一部分(获得自豪感)。
  • 它让你有机会成为一个人才济济、活力四射的社区的一分子,你可以从中汲取灵感,并结识志同道合的人。
  • 你可以因为贡献开源而获得报酬(OoO)!比如你可以参与一些实习,包括 谷歌编程之夏 Google Summer of Code Outreachy 谷歌文档季 Google Season of Docs ,以及 Open Collective 的 赏金计划 bounty program 等。(LCTT 译注:国内也有类似的开源实习机会,如“开源之夏”。)

如何开始贡献

我相信你会对上面提到的最后一点感兴趣吧( o),那么,你该如何开始为开源软件做贡献呢?

是时候介绍一下 GitHub 了!

Github 是开源项目协作的大本营,因此它是一个开始贡献开源的好地方。没听说过 GitHub?没有关系!它提供了文档和指南,很容易就可以上手。不过我还是要提醒你,学习是一个循序渐进的过程,不要太心急喔。

Github 以公共 存储库 repositories 的形式容纳了许多开源项目。对于某个项目,你可以提交一个 议题 issue ,来说明你注意到的错误或问题(或进一步提出改进意见),也可以创建一个 拉取请求 pull request (PR),并说明你的更正和改进。

我不建议你在 GitHub 上搜索项目来开始贡献,这将是相当令人沮丧的。尽管你可以限定项目使用的编程语言来简化搜索过程,但仍然会有一大堆东西出现在你眼前。(LCCT 译注:对于可爱的小萌新来说,这实在是难以承受 >…<。)

为了更精准地找到适合自己的项目,这里有一些可供开始的途径:

  • First-timers only:一个很好的资源网站,你可以在上面找到新手友好的开源项目来开始贡献。(设计师朋友,我没有忘记你!你可以查看 Open Source Design 这个网站,在上面也能找到新手友好的开源设计项目!)
  • 你可以创建你自己的开源项目,把你美妙的想法变成现实,并允许其他人的合作和贡献。这里 有关于如何创建开源项目的指南。
  • 加入一个社区:你可以成为某个社区的成员,这也是传播开源思想的一种方式。你可以在谷歌上搜索当地的开源社区,并积极加入其中。

最后,我想给出几个有用的提示,供你在贡献开源项目时参考:

  • 在加入之前,先对项目、社区或组织做一些研究;当你在做的时候,针对不清楚的地方提出问题。
  • 当你加入社区时,尽量积极地介绍自己,并说明你能帮助项目的地方。
  • 不要认为自己无法为项目提供任何帮助,停止这种念头!你有很好的想法可以分享!
  • 在存储库中看看别人提交的议题,(如果有的话)看看你能在哪些方面提供帮助,你可以关注带有“good first issue”、“help-wanted”、“first-timers only”等标签的议题。
  • 在开始贡献之前,一定要先看一下贡献指南,这样你在贡献时就不会有冲突。
哪怕只是使用一个开源工具也是一种贡献;参加一个开源活动也是一种贡献;做开源项目的志愿者,或者为开源项目提供赞助也是一种贡献。

我想用非洲开源节的口号来结束:“未来是开放的”,所以快上车吧!

感谢阅读!

如果你还有疑问或需要帮助,请在 这里 联系我,我很乐意和你讨论开源,并帮助你做出首次贡献!

LCTT 译注:读了这篇文章,你是不是想要马上投身于开源贡献呢?那么请考虑加入“Linux 中国翻译组(LCTT)”吧!我们有能帮助你快速上手翻译的 维基 ,有热心友爱的 QQ 群,你甚至还能够在我们的官网上获得属于自己的译者专页……心动了吗?那就立刻行动起来吧!阅读 维基 以了解如何加入我们~

(题图由 Markus ePixabay 上发布,经修改)


via: https://ruthikegah.xyz/a-beginners-guide-to-open-source

作者:Ruth Ikegah 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

英伟达公司提升其 GPU 在 Linux 上的体验的重大开源计划终于来了。

Linus Torvalds 听到这个消息一定会很高兴……

英伟达终于公布了提升 Linux 上的 GPU 使用体验的开源计划。

不过不幸的是,和你想象的可能不完全一样,你仍然会看到一些专有的驱动程序。

但是,它的意义不亚于甩掉专有驱动程序。

具体来说就是,英伟达发布了开源的 GPU 内核模块,支持数据中心所用的 GPU 和消费级显卡(GeForce/RTX)

此外,它同时采用 GPL/MIT 两种许可证,听起来很棒,对吗?

此举对 Linux 桌面用户有什么帮助?

开源的 GPU 内核模块有助于改善内核和专有驱动程序之间的交互。

所以,此举对 游戏玩家和开发者 都有利,阻碍与英伟达专有驱动程序配合的问题最终会被消除。

发布公告中提到的技术收益包括:

开发者可以跟踪到具体的代码路径,并观察到内核事件调度是如何与他们的工作负载交互的,从而在调试时更快定位根本原因。此外,企业软件开发者可以将该驱动程序无缝地集成到他们为项目定制的 Linux 内核中。

来自 Linux 最终用户社区的投入和评价,将进一步提升英伟达 GPU 驱动程序的质量和安全性。

而从最终用户或者游戏玩家方面来看,你会发现安装将更便捷,整体会更安全。

Canonical 和 SUSE 会立即为他们的企业用户打包该开源内核模块,而其它厂商也会很快跟进。

当它可以用在桌面环境时,Canonical 应该会在未来几个月内把这个内核模块放到 Ubuntu 22.04 LTS 版本中。其它的 Linux 发行版应该也会做相应的升级。

现在可以试用吗?

这个开源的 GPU 内核模块的第一个版本是 R515,它是作为 CUDA 工具集 11.7 一部分一起发布的开发驱动程序。

你可以从 官方驱动下载页面 或者从 CUDA 下载页面 找到。

虽然它被认为可用于数据中心生产环境,但对于 GeForce 或者工作站 GPU 来说,还处于 alpha 阶段

事实上,在 Turing 和 Ampere 架构的 GPU 型号上可以使用这个驱动程序,以使用 Vulkan 和 Optix 中的 多显示器、G-Sync、Nvidia RTX 光线追踪 等功能。

然而,除非你想运行一些“实验性测试”,否则还是等几个月,以便直接从你的 Linux 发行版中获得为桌面用户发布的稳定版。

对 Nouveau 驱动程序开发也有益

不仅仅是提升了专有驱动程序的体验,公布的这个开源 GPU 内核代码也会改善 Nouveau 驱动。

正如发布公告所说:

Nouveau 可以利用英伟达驱动程序所使用的同样固件,它公开了许多 GPU 功能,例如时钟管理、散热管理,可以为树内的 Nouveau 驱动程序带来新的特性。

请关注未来的驱动更新以及在 Github 上的合作。

英伟达公司提到并可能合作改进开源的英伟达驱动程序(即 Nouveau),这真是太好了。

这也很好地表明了,他们确实希望为 Linux 提供一个更好的开源驱动程序版本。

开源 Nivida 驱动程序的未来?

毋容置疑,英伟达计划不断发布开源的 GPU 内核模块。

所以,尽管他们不会单独开源他们的驱动程序,但我们仍然可以寄希望于 Nouveau 释放所有的显卡特性。

想知道他们更多的计划,你可以参考 官方的发布声明

你如何看待这件事?英伟达最终会爱开源和 Linux 吗?嗯,至少这是一个好的开始。在下面的评论区分享你的想法吧。


via: https://news.itsfoss.com/nvidia-open-source-linux/

作者:Ankush Das 选题:lkxed 译者:chunyang-wen 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

openssf-logo

开源安全基金会(OpenSSF)发布了一个新工具的测试版,它可以对发布到著名开源仓库的所有软件包进行动态分析。软件包分析项目试图通过识别任何恶意行为并警告用户来保护开源软件包,目的是增强对开源软件的信任并加强软件供应链的安全性。

OpenSSF 说:“软件包分析项目旨在了解开源仓库上可用软件包的行为和功能:它们访问哪些文件,它们连接到哪些地址,以及它们运行哪些命令?”

该基金会的 Caleb Brown 和 David A. Wheeler 补充说:“该项目还跟踪软件包随时间的行为变化,以确定以前安全的软件何时开始出现可疑行为。”

该程序在为期一个月的测试运行中发现了 200 多个发布到 PyPI 和 NPM 的恶意软件包,其中大多数流氓库依赖于依赖混淆和仿冒攻击。谷歌是 OpenSSF 的成员,它支持软件包分析计划,强调“在发布软件包之前审查软件包以确保用户安全”的重要性。

去年,该公司的开源安全团队提出了软件工件的供应链级别(SLSA)架构,以验证软件包的完整性并防止未经授权的更改。这一发展是在开源生态系统越来越多地被武器化,用加密货币矿工和数据窃贼等恶意软件攻击开发者的情况下进行的。


via: https://www.opensourceforu.com/2022/05/package-analysis-examines-packages-in-open-source-repositories-in-real-time/

作者:Laveesh Kocher 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Appwrite 是一个为 Web、移动和 flutter 开发者提供的开源“ 后端即服务 Backend-as-a-Service ”(BaaS)平台。今天,它宣布成立 开源软件基金 Open Source Software Fund (OSS 基金),第一年该基金将向那些为当下数字基础设施奠定基础,却没有得到补偿的开源维护者,提供 5 万美元的资助。

Appwrite 每年的开源基金将用于协助开源开发者、促进技术革新,并为各种开源开发方案打造知名度。每年,它都会对基金数额进行审查,以确保其继续满足社区的需求。目前已经开始接受申请,并且每年都会接受申请。受资助者将由 Appwrite 开发者关系团队选出。了解更多:https://appwrite.io/oss-fund

创始人兼 CEO Eldad Fux 说:“我懂这种感受,你在电脑前花费大量时间,把血汗和泪水投入到热爱的事物中,而且这些事物还在使全世界成千上万甚至数百万人受益。我一直就有这个想法:借用 Appwrite 的一些成功经验和投资,来支持其他像我一样的开发者和维护者,以回馈的方式来展望未来。希望我们的贡献能够带来改变。”

在今天的技术环境中,最紧迫的挑战之一就是开源开发者和维护者的长期生存能力。尽管开源软件占比已经达到 70% 到 90%,是当下数字文明的基础,但许多最重要项目的开发者和维护者仍然没有获得足够报酬,或者根本没有报酬。关于如何帮助这些人,业界已经有了许多讨论,并提出了一系列的解决方案。Appwrite 正在为维护者做一些事,提升他们的工作,并提供经济支持,以换取他们对行业和数字社会的贡献。

Eldad Fux 自身通过为开源软件项目做贡献和参与开源社区,开始了他的开发者生涯。Appwrite 最初是一个副业项目,他把它作为一个 BaaS 产品从头打造。目前,Fux 通过专注于完全开源的平台和以各种方式回馈社区来支持开源理念,其中就包括了 Appwrite OSS 基金。

EddieHub 的创始人和开发者 Eddie Jaoude 说:“开源为世界上大部分的现代基础设施提供动力,从移动到网络、汽车甚至是地球以外的任务。只有靠社区的慷慨解囊,他们的时间和努力才能持续。如果有更多的公司和组织的支持,这种情况将得到改善,避免社区成员因报酬不足/没有报酬而懈怠。”


via: https://www.opensourceforu.com/2022/05/open-source-developer-creates-first-of-its-kind-fund-to-support-maintainers/

作者:Laveesh Kocher 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Inspector 是一个可视化的交互式数据探索软件,能够对海量数据进行分析并提取相关信息,可用于预测性维修、网络安全、控制、机器学习算法分析等。

通过让更多的人使用 Inspector 软件,让他们能够合作开发可靠灵活的方案,以解决社区的技术问题和特殊需求,ESI 集团增加了对工业界和学术界的贡献。

作为 ESI 集团和 ENSAM 之间持续赞助合作和共创伙伴关系的一部分,将由 ENSAM( 巴黎高科国立高等工程技术大学 Ecole Nationale Supérieure d’Arts et Métiers )领导 Inspector 的增长和扩展。通过共同参与建设由新加坡国家科学研究中(CNRS)协调的 Descartes 计划、CREATE-ID 国际研究讲座以及 ESI – ENSAM 虚拟工程实验室,双方加强了合作。

这种开源方式有许多好处。首先,社区能够以最有效的方式使用该软件,科学界能够从根据用户需求定制的新功能以及安全方面的改进中受益。其次,ESI 集团希望提供一个从软件中获利机会,包括汽车及航空在内的各种行业的客户已经证明了这一软件的可靠性。由于许多利益相关者的参与,Inspector 将持续发展以应对社区需求。

ESI 集团打算将其数据分析软件开源发布,得到了一些行业领导者和 Inspector 用户的兴趣和支持,例如 CNS 就是其中一例。

CNS 的总经理 Stephane Perrin 表示:“ESI 集团这一决定证明了集团的先进技术对创新和科学生态系统的贡献。CNS 作为一家网络与安全的专业公司,我们用行动支持 Inspector 的未来。除了将 Inspector 集成到我们的持续网络审计软件套件中外,不久后我们还将通过我们创新解决方案的业务部门为该软件提供支持。”


via: https://www.opensourceforu.com/2022/05/esi-group-collaborates-with-ensam-open-sources-its-inspector-software/

作者:Laveesh Kocher 选题:lkxed 译者:Veryzzj 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

毫不夸张地说,在开源方面获得的经验,帮助我在产品管理领域创造了一条成功的职业道路。

我是一个充满好奇心的人,我喜欢探索科技行业的许多领域,从视觉设计、编程到产品管理。我也被开放源码的理念所吸引。因此,我很高兴与大家分享我作为一个产品经理(PM),是如何利用开源来建立我的职业生涯的。我相信我的经验可以帮助其他对产品管理感兴趣的人。

什么是开源软件

简单地说,开源软件是开放源代码的软件,这意味着任何人都可以检查、修改、增强和分享它的源代码。我们发表过一篇详细、全面的文章 来帮助你了解什么是开源。

我最早知道开源是很久以前了,那时,我还是一名刚入行不久的视觉设计师。我很想知道开源是什么,也很想知道如何成为它的一部分。在这种好奇心的驱使下,我接触到了一些有经验的开源贡献者和倡导者。虽然我当时没有做出贡献,但是他们让我知道了什么是社区,这对我下定决心开始贡献有很大帮助。

如何上手产品管理

产品管理工作貌似是一件很难上手的事情,感觉必须要戴上拳击手套,经过一番搏斗,才能强行进入这一行。然而,我从其他产品经理那里听说,与编写/调试代码块,或使用像素点生成复杂的产品设计线框相比,产品管理工作其实是更好上手的。

虽然我们的经历和经验各不相同,但是有一点可以确定:成为产品经理的道路往往是漫长而不可预知的。随着就业竞争的不断加剧,获得一个初级产品经理的职位可能会很困难。应聘者通常被要求有 2 到 3 年的经验才能加入产品团队。这时你可能会问:“我应该如何获得这些经验呢?”

来看看下面这四个策略吧,它们或许能够将你的职业生涯转向到产品管理:

  1. 在一个大型组织的内部转岗。这可能需要你的经理为你说一些好话,比如,说你很适合在公司内部转岗等。你必须有证据表明你掌握了该岗位的技能。这通常被认为是获得产品管理经验的最快
  2. 担任大型组织的初级产品经理角色。通过它获得实习机会,或者加入一个需要初级产品经理的关副产品管理项目,这些都很常见。
  3. 你也可以尝试通过加入创业公司来上手产品管理工作。
  4. 你还可以启动一个自己的副业项目来上手产品管理工作。

缺乏实践经验,就很难成为产品经理。正如开源产品经理 David Ryan 所说,“有一条获得实际的产品管理经验的途径,它既未被人充分利用,也很少有人意识到并利用它们”。

这条途径是什么?

答案就是开源

一个开放源码项目要想成功,需要的不仅仅是代码。它还包括项目战略、用户研究,以及将战略与日常工作联系起来。这些都是产品经理应该积极参加的活动。但是,在产品管理这一行里,有多少职责会分配给一个新手产品经理呢?

Susana Videira Lopes 在她的一篇文章中指出,“获得一个入门级的产品角色,本质就是以一种建立你的信心的方式,让你加入到至产品管理这一行,同时尽早为组织提供价值”。

一个入门级的产品经理该如何参与开源项目,并为它提供价值呢?

答案很简单:多问问题

这里有一些你可以问的问题:

  • 正在探索的是什么问题/机会?
  • 如何制定解决方案来解决这个问题?
  • 用什么标准来确定项目是否成功?
  • 这个解决方案的服务对象是谁?
  • 他们是如何被告知这个解决方案的?
  • 该解决方案如何与当前和更广泛的生态系统相适应?
  • 项目的文件是在哪里维护的?
  • 项目维护者是否了解 无障碍 accessibility 要求?它们是否被满足?

既然你已经获得了产品经理的所需技能,为何不应用它们呢?结合所学,表达出你深思熟虑的问题,并邀请你的团队来评估吧!你的团队可以选择那些能引起开发者和社区共鸣的问题,并优先考虑其中最重要的。

这些问题可以帮助你建立用户角色、用户旅程图、精益画布,以及更多。这种经验对发展职业潜力有很大的帮助。

我在 OpenUnited 的经历

OpenUnited 是一个以独特方式连接数字人才和工作的平台。我们与贡献者合作,帮助他们投入到高质量的开源产品,从而证明自身的特定技能。一旦他们的工作得到验证,这些有才华的贡献者就有资格在公司里从事有偿工作。

OpenUnited 是一个开源平台,为各类贡献者(包括产品经理、开发人员、设计师、商业分析师和其他人)提供服务。它致力于帮助贡献者提高技能,并为他们提供长期的高质量付费工作来源。

Miro 公司的高级产品经理 Farbod Saraf 让我加入他与合作伙伴创建的一个平台。我加入了这个项目,并了解了如何对 OpenUnited 做出贡献。我还了解了其他可以帮助我在产品管理生涯中成长的项目,并做出了我的第一次贡献。这是一次很好的经历,因为我可以迅速地开始投入到产品的某些部分,以改善平台上其他用户的体验。在我为项目做贡献的时候,我的导师 Farbod 随时为我提供任何需要的帮助,使我的工作更加轻松。

你对开源项目所做的一切贡献,都会成为你成长为产品经理过程中的有力的公共记录。对于任何想通过开源上手产品管理的人,我都强烈推荐 OpenUnited 平台。

如何找到开源项目

许多人认为,贡献开源只适合于开发人员,因为他们觉得找到一个可以舒适地贡献的开源项目是很难的。

即使作为一个初出茅庐的产品经理,也有好几种方法可以找到适合贡献的开源项目。这里列出了一些:

  • 在产品经理社区中发言,如 Mind The Product 和 Product School。
  • 参加当地的聚会和开源会议,如非洲开源社区节,以此来与开源项目的创建者和维护者保持联系。
  • 与在 GitLab 或 Mozilla 等大型开源公司工作的产品经理接触。他们可能会把你推荐到需要你的技能和贡献的开源项目中。
  • 联系开源公司的开源倡导者和开发者关系团队,让他们推荐一些适合入门级产品经理贡献的开源项目。
  • 寻找 AngelList 上的开源公司或 Product Hunt 上流行的开源产品。这些都是你可以找到适合贡献的开源产品的好地方。

下一步

Ruth Ikegah 是我的一个重要灵感来源,她 为开源新手写了一篇文章。她的文章给出了一些提示,在你开始为开源做贡献时,可能需要考虑一下它们。

在加入和贡献项目、社区或组织之前,对它们做一些研究,并提出自己的问题。当你最终决定加入社区时,试着积极地介绍自己,并说明你可以在哪些方面提供帮助。

当然,开源不仅仅是你职业生涯的一个垫脚石。它本身就是一个平台,而且它需要优秀的产品经理。参与进来吧!一方面,你能为社区做出贡献;另一方面,它也能帮助你磨练自己的技能。


via: https://opensource.com/article/22/4/product-management-open-source

作者:Shebuel Inyang 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出