蚊章汇 - 社区
type: channel
link: https://linuxcn.bwsl.wang/tag/%E7%A4%BE%E5%8C%BA/
items: 我是如何在面对悲痛后回归开源的
items: 如何使社区认可更加包容
items: Gitter：面向开发者的跨平台开源社区平台
items: 构建开源的社区健康分析平台
items: 我爱开源的 7 个理由
items: 我们能否建立一个服务于用户而非广告商的社交网络？
items: 为什么建设一个社区值得额外的努力
items: Linux 是如何成功运作的
items: 如何参与和帮助「Linux 中国」开源社区的发展
items: 六个开源软件开发的“潜规则”

我是如何在面对悲痛后回归开源的
type: item
date: 2023-06-11T00:50:12+08:00
description: 在失去亲人后为开源项目做贡献可能会让人感到畏惧。下面是我对如何重新加入社区的建议。开源社区是一个奇妙的地方，在这里人们聚集在一起合作，分享知识，并建立令人惊奇的东西。我还记得 12 年前 我在 Fedora 的第一次贡献，从那时起，这就是一个奇妙的旅程。然而，生活有时会妨碍我们，导致我们从参与中抽身。COVID-19 大流行病以不同的方式影响了我们所有人，对一些人来说，这是一个巨大的损失和悲痛的时期。我在大流行期间失去了我的爱人，这是最难处理的生活事件。这也让我从 Fedora 社区休息了一段时间。对于那些因为失去亲人而不得不休息的开源社区成员来说，重新回到编码和为项目做贡献可能会让人感到畏惧。然而，通过一些思考和计划，有可能卷土重来，再次成为社区的积极成员。首先，最重要的是照顾好自己，让自己有时间和空间去悲伤。悲伤是一种个人和独特的经历。没有正确或错误的方式去经历它。重要的是要善待自己。在你准备好之前，不要急于做事情。当你准备好重新开始贡献，你可以做几件事来使你的复出尽可能顺利。与其他贡献者联系这是一个艰难的事实：没有什么东西会因为你而停止，技术正在以指数形式增长。当我最近重新加入 Fedora 的时候，我觉得世界在我身边变化得太快了。从 IRC 到 Telegram 再到 Signal 和 Matrix，从 IRC 会议 到谷歌会议，从 Pagure 到 GitLab，从邮件列表到讨论区，这个名单还在继续。如果你有一段时间没有在你的社区里活动，联系你在社区里的朋友，让他们知道你回来了，并准备再次做出贡献，这可能会有帮助。这可以帮助你与人们重新建立联系，并重新进入事情的轨道。他们可能有一些建议或机会让你参与其中。我很感谢我的 Fedora 朋友 Justin W. Flory，他无私地帮助我，确保我找到了回到社区的方法。从小事做起过去，我曾担任 Fedora 多样性、公平和包容（D.E.I.）顾问，这是 Fedora 理事会 成员职位之一。这是一个很大的工作。我认识到这一点，而且我知道如果我在休息后立即考虑做同样的工作，那么这将是一个负担，有可能导致 早期倦怠。放轻松是非常重要的。从小事做起。如果你对重新投入一个大项目的想法感到不知所措，那就从小事做起。有大量的小任务和错误需要修复，解决其中的一个问题可以帮助你轻松地回到社区。找一个导师如果你对如何开始或将你的努力集中在哪里感到不确定，可以考虑找一个 导师。导师（就我而言，是 Justin W. Flory）可以在你复出时提供指导、建议和支持。展示感激开源社区是建立在许多人的贡献之上的。一个健康的社区会对你的贡献表示感谢。表达感激之情是使社区健康发展的一部分。对那些帮助你、指导你、给你反馈的人表示感谢。封锁你的日历最初，可能需要一些时间来恢复贡献的节奏。在你的日历中安排一些时间用于开源工作是有帮助的。它可以是每周/每两周一次，取决于你的可用性。记住，每一个贡献都很重要，这就是开源世界的魅力所在。这个技巧将帮助你养成规律的作息习惯。向前两步，向后一步最后，重要的是要记住，如果你需要，退一步也没关系。悲伤不是一个线性过程。你可能会发现，你在未来需要再次休息一下。重要的是，要对自己和他人诚实，了解自己的需求。利用你需要的时间来照顾自己。按照你自己的条件返回在经历了一段时间的悲痛之后，回到开源社区可能是一种挑战。这也是一个与你所热衷的事物重新联系的机会，并对世界产生积极影响。随着时间的推移，你会发现你能够从你离开的地方拾起，并再次重新参与到社区中。我把我的第一篇 Opensource.com 文章献给我已故的弟弟 Nalin Sharma 先生，他在 2021 年因 COVID-19 而离开我们，年仅 32 岁。他是一个充满激情的工程师，充满了生命力。我希望他现在在一个更好的地方，我相信他将永远活在我的记忆中。（题图：MJ/6a42a5e7-47a7-45ac-8644-9f91d9b8516d）via: https://opensource.com/article/23/3/open-source-after-grief作者：Amita Sharma 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

如何使社区认可更加包容
type: item
date: 2022-05-14T07:48:00+08:00
description: 抛开具体的工作量，我们认为所有的贡献都弥足珍贵。当所有社区贡献者都能获得家庭般的赞赏时，他们会更倾向于继续为社区添砖加瓦。给予一个优秀的工作足够的认同和赞赏是我作为一个社区管理员最喜欢做的事。我不但有机会能够对贡献者表示感激，同时还能为社区设立一个优秀的榜样。认同和赞赏可以是为了庆祝一个成就，例如有人帮助其他成员加入社区、减少技术债务或者贡献了激动人心的新功能。但是，用来确定贡献量的规则可能会有难以预料的后果。例如某些社区管理员利用如下图所示的图表来表彰贡献，过度地强调了拉取请求（PR）以及对代码库的贡献量。使用这样的方法进行表彰会产生三个问题。首先，这样过度关注了对代码库的贡献。早年间，开源项目主要吸引开发者参与，所以自然而然许多贡献是围绕代码的。现在，越来越多的非开发者正在积极参与社区项目（例如通过用户组、会议和用户生产的内容），他们的大多数贡献在代码库以外的地方。这些贡献将不会出现在诸如 年度合并 PR 数量 这样的表格上。其次，过度关注贡献指标（指那些易于用数字统计的），最终会演变为奖励数量而不是质量，甚至影响力。在上图的 贡献组织排行榜 中，大型组织因为具有更多的可用人力，相对于小型组织就会有更为显著的优势。通过对大型组织在数量上的表彰将可能导致小型组织的人感到权利被剥夺了。最后，尽管本意并非如此，但许多人都会把这些数据看做对个人或组织影响力的排名。基于此，我们最好避免仅仅通过指标数量来表彰对社区的贡献。令社区表彰更有意义如何让社区表彰更为包容并且能够覆盖不同的贡献形式呢？诸如 Discord、IRC、邮件列表和Slack 等交流渠道可以很好的表明一个成员的活跃度及其感兴趣的领域。例如每当我看到一些人热衷于解答问题或者帮助新用户时，我会十分开心。这些贡献并不会出现在社区的数据板上，但是让这些贡献得到应有的认同和感谢并广为人知是十分重要的。社区数据板显然是开源社区重要的工具。但是我提醒大家不要花费太多时间在建设数据板上。迟早你会发现，不是所有的东西都可以有清晰的标准进行度量，即便你能够想出规则量化一件事，你也依然会发现这些规则具有局限性。为了获取更多的关于贡献的信息，我经常会安排社区成员茶话会。这些对话经常能够告诉我他们做出贡献的原因、有多少工作量以及谁同时也参与进来了等等。当我第一次与他们对话时，我经常听到他们提及找到回馈社区的方法十分重要，而他们也在寻找方法来提供力所能及的帮助。许多人甚至因不能在代码方面做出贡献而感到内疚，而我会向他们强调代码不再是开源唯一重要的东西。有时这些对话能让我有机会接触到同一城市或同一行业的社区成员，或者发现更多共同的兴趣点。维护这些关系将有助于提升归属感。令社区表彰更具影响力除了寻找更多的活动形式，我们也可以让这些活动以更具影响力的形式呈现。例如在看到优质贡献时及时赞美。一个快速的感谢回复会比一两个月之后的正式感谢更有效。许多人包括我自己，都会强调给予更为正式而合理的表彰和奖励，但我们应当谨记，奖励并非社区成员贡献的主要动力。认可好的工作并努力去接触贡献者会令贡献者感到受重视。让其他成员参与到认可的过程中也是一个很好的主意。一旦社区达到了一定的规模，便很难事无巨细地知晓一切细节。如果引入一个成员提名机制则会很好地让大家注意到优秀的贡献。如果你的社区拥有十分正式的奖项，例如在年度会议或聚会上颁发的奖项，请让社区成员参与提名和投票。这不仅提供了成员参与进来的平台，也令这些来自成员投票的奖项更有意义。最后给予认同和感谢也是一个认识成员并加深了解的重要机会。有时候颁奖仿佛在进行交易：“你做了某件事，所以我们给你颁发了某个奖励”。多在介绍成员上花些时间，将令成员感到更受重视并加强归属感。社区认可令社区更为健康在提高开源社区的多样性、包容性和归属感方面，我们仍有许多工作亟待改善。更好的社区认可将在其中起着不可或缺的作用。确保所有的贡献都受到重视，让每一位贡献者都感到家庭般氛围和赞赏，将鼓励他们继续为社区贡献。via: https://opensource.com/article/22/5/inclusive-community-recognition作者：Ray Paik 选题：lkxed 译者：PeterPan0106 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Gitter：面向开发者的跨平台开源社区平台
type: item
date: 2022-03-26T21:22:59+08:00
description: 一个为开发者量身定做的跨平台开源解决方案。你可以建立或加入现有的社区来进行协作和互动。几乎每个网络用户都知道 Slack、Rocket.Chat、Trello、Nextcloud，以及其他一些用于工作沟通和协作的解决方案。如果你喜欢用 FOSS 来进行团队协作，我们也有一个 Slack 的开源替代品列表。但是，作为一个软件开发者，如果你偶然发现了一个开发者社区怎么办？与 Reddit 或其他社交媒体上的社区不同，你可以进入一个开源平台，在那里，开发者们遇见并就重要的开源项目进行合作。这对于社交协作和同行之间的互动来说，不是很令人兴奋吗？Gitter（现在是 Element 的一部分，也是一个协作/聊天应用）的目标就是这样。它是一个由开源技术驱动的社区平台（Matrix 协议）。Gitter：使用开源技术连接的开发者社区Gitter 是一个令人兴奋的聊天和网络平台，有助于建立或加入现有社区。它可用于 Linux、macOS 和 Windows。它是专门为开发者定制的，可以为他们各自的语言/项目，如 CSS、JavaScript、Bootstrap、NodeJS 等，进行合作/加入社区。你也可以轻松地创建你的社区，而无需设置任何邀请服务。该平台的关键亮点是，社区是完全开放的，可被搜索引擎索引。对于社区中的对话历史，你不会被任何定价计划所锁定，你所需要查看的是归档。而且，你在 Gitter 获得的功能还有很多。Gitter 的功能虽然 Gitter 最初是为开发者定制的，但如果你认为它的功能符合你的要求，你可以用它来建立任何类型的社区。由一个去中心化的 Matrix 网络支持。可公开加入的社区。能够将你的社区限制在选定的用户中。深色模式主题。访问归档，轻松找到过去的对话。能够导出信息/房间信息。从你的网络中添加用户（例如，如果你使用 Twitter 登录，你可以选择从 Twitter 邀请用户到你的社区）。几个可用的集成（GitHub、Bitbucket、Trello、GitLab、Docker Hub、Discourse 等）。支持 GitHub 风格的 Markdown。在同一社区下创建更多的房间，以保持事情的条理性。轻松地分享/嵌入聊天室的链接。帖子系统，以保持对话的整齐。删除/报告信息的能力。总之，Gitter 提供了适合不同社区的各种功能。而且，通过 GitHub、GitLab 和其他一些网站的集成，它成为开发者和团队的一个完美的合作选择。在 Linux 中安装 Gitter.im开发人员主要专注于网络应用。因此，如果你想避免在你的 Linux 桌面上安装任何东西，请前往 Gitter.im 并注册/登录以开始使用。如果你想让它成为一个桌面应用，你可以从其官方网站下载 DEB 包，或者可选择 Snap 包和 Flatpak 包。我在简短的测试中尝试了 Flatpak 包，它在 Ubuntu 20.04 LTS 上运行良好。你可以在你喜欢的任何一个 Linux 发行版上尝试 Flatpak/Snap。你也可以在你的移动设备上使用它。不幸的是，官方的 Gitter 移动应用已经不再维护。但是，你可以使用 Element 应用来登录房间/社区，考虑到两者都是由同一个去中心化的网络（即Matrix）驱动的。要了解更多信息，请浏览 GitLab 页面或前往其网站。你试过 Gitter 吗？你对它有什么看法？它适合你这个开发者吗？你用它做什么？请在下面的评论中告诉我们你的想法。via: https://itsfoss.com/gitter/作者：Ankush Das 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

构建开源的社区健康分析平台
type: item
date: 2021-09-19T18:08:00+08:00
description: 一个学术性的 OSPO 正在与 CHAOSS 软件合作，以建立一个社区健康分析平台。 罗切斯特理工学院 Rochester Institute of Technology （RIT）最近在增加其在开源世界的影响力方面取得了相当大的进展。RIT的自由和开源软件及自由文化辅修课程是学术界的第一个此类课程。例如，其开源项目办公室 Open@RIT 已经开始帮助 RIT 的教职员工和研究员为他们的开源项目建立和维护社区。这些进展是由 RIT 的学生、教师和工作人员推动的。目前，大学里已经有越来越多的人在管理他们自己的开源项目。然而，运行一个完全的开源项目可能是很麻烦的。这主要来自于维护项目的社区和管理数据，如项目的代码、问题跟踪和仓库。为了帮助他们，Open@RIT 正在创建一个名为 Mystic 的系统，这是一个社区健康分析平台，利用了 GrimoireLab，这是一个由 CHAOSS 软件开发的开源工具包，为开源项目提供了指标和分析。GrimoireLab 允许用户收集、丰富、过滤和可视化一个项目的数据，例如一个报告的问题被解决的时间、贡献者的关系等。Mystic 将作为一个前端门户，任何人都可以提交他们的项目。在那里，项目将被直接发送到 GrimoireLab，它将在几分钟后为提交者计算并发布项目的指标。Open@RIT 的全栈开发者和 Mystic 的首席开发者 Emi Simpson 说：“我们希望 RIT 的任何管理、领导或参与开源项目的人都能将该项目提交给 Mystic，并获得他们需要的任何指标”。这个过程很简单。登录 Mystic 后，上传项目的用户会打开一个弹出式窗口，输入项目的细节和数据源的链接，如 GitLab、RSS feed 和一个 开放软件基金会 Open Software Foundation （OSF）项目名。一旦保存了细节和项目，Mystic 就会使用 GrimoireLab 从项目源中自动检索指标，并为每个源渲染图表。然后，该项目及其指标将显示在它自己的仪表板上。这些仪表盘将并列显示在一个页面上，以供其他人查看，鼓励 RIT 内部的开源社区之间的合作开发和互动。Simpson 和 Open@RIT 希望这将增加 RIT 的开放工作的参与度，并进一步巩固该大学作为开放工作中心的地位。Simpson 说：“如果有人问 RIT 在为开源软件做什么，我希望人们能够指着 Mystic 和 GrimoireLab 说就是这些。通过建立‘这些是我们正在做的，这些是我们的贡献，这些是人们正在做的项目’的指标，我们可以在 RIT 建立一个以我们正在做的开源工作为中心的社区。”目前，Mystic 仍在开发中，还没有准备好进入生产环境，但它对 RIT 和整个开源的潜力仍然是有目共睹的。未来的目标包括实现与大学报告工具的轻松整合，以及在项目层面和总体上的综合仪表盘。你对 Mystic 的贡献感兴趣吗？请与我们联系 开始吧。via: https://opensource.com/article/21/9/openrit-mystic作者：Quinn Foster 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

我爱开源的 7 个理由
type: item
date: 2018-11-16T07:21:56+08:00
description: 成为开源社区的一员绝对是一个明智之举，原因有很多。这就是我为什么包括晚上和周末在内花费非常多的时间待在 GitHub 上，成为开源社区的一个活跃成员。我参加过各种规模的项目，从个人项目到几个人的协作项目，乃至有数百位贡献者的项目，每一个项目都让我有新的受益。也就是说，这里有七个原因让我为开源做出贡献：它让我的技能与时俱进。 在咨询公司的管理职位工作，有时我觉得自己与创建软件的实际过程越来越远。参与开源项目使我可以重新回到我最热爱的编程之中。也使我能够体验新技术，学习新技术和语言，并且使我不被酷酷的孩子们落下。它教我如何与人打交道。 与一群素未谋面的人合作开源项目在与人交往方面能够教会你很多。你很快会发现每个人有他们自己的压力，他们自己的义务，以及不同的时间表。学习如何与一群陌生人合作是一种很好的生活技能。它使我成为一个更好的沟通者。 开源项目的维护者的时间有限。你很快就知道，要成功地贡献，你必须能够清楚、简明地表达你所做的改变、添加或修复，最重要的是，你为什么要这么做。它使我成为一个更好的开发者。 没有什么能像成百上千的其他开发者依赖你的代码一样 —— 它敦促你更加专注软件设计、测试和文档。它使我的造物变得更好。 可能开源背后最强大的观念是它允许你驾驭一个由有创造力、有智慧、有知识的个人组成的全球网络。我知道我自己一个人的能力是有限的，我不可能什么都知道，但与开源社区的合作有助于我改进我的创作。它告诉我小事物的价值。 如果一个项目的文档不清楚或不完整，我会毫不犹豫地把它做得更好。一个小小的更新或修复可能只节省开发人员几分钟的时间，但是随着用户数量的增加，您一个小小的更改可能产生巨大的价值。它使我更好的营销。 好的，这是一个奇怪的例子。有这么多伟大的开源项目在那里，感觉像一场争夺关注的拼搏。从事于开源让我学到了很多营销的价值。这不是关于讲述或创建一个华丽的网站。而是关于如何清楚地传达你所创造的，它是如何使用的，以及它带来的好处。我可以继续讨论开源是如何帮助你发展伙伴、关系和朋友的，不过你应该都知道了。有许多原因让我乐于成为开源社区的一员。你可能想知道这些如何用于大型金融服务机构的 IT 战略。简单来说：谁不想要一个擅长与人交流和工作，具有尖端的技能，并能够推销他们的成果的开发团队呢？via: https://opensource.com/article/18/11/reasons-love-open-source作者：Colin Eberhardt 选题：lujun9972 译者：ChiZelin 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

我们能否建立一个服务于用户而非广告商的社交网络？
type: item
date: 2018-07-18T22:26:43+08:00
description: 找出 Human Connection 是如何将透明度和社区放在首位的。如今，开源软件具有深远的意义，在推动数字经济创新方面发挥着关键作用。世界正在快速彻底地改变。世界各地的人们需要一个专门的、中立的、透明的在线平台来迎接我们这个时代的挑战。开放的原则也许是让我们达成这一目标的方法。如果我们用开放的思维方式将数字创新与社会创新结合在一起，会发生什么？这个问题是我们在 Human Connection 工作的核心，这是一个具有前瞻性的，以德国为基础的知识和行动网络，其使命是创建一个服务于全球的真正的社交网络。我们受到这样一种观念为指引，即人类天生慷慨而富有同情心，并且他们在慈善行为上茁壮成长。但我们还没有看到一个完全支持我们的自然趋势，与乐于助人和合作以促进共同利益的社交网络。Human Connection 渴望成为让每个人都成为积极变革者的平台。为了实现一个以解决方案为导向的平台的梦想，让人们通过与慈善机构、社区团体和社会变革活动人士的接触，围绕社会公益事业采取行动，Human Connection 将开放的价值观作为社会创新的载体。以下是有关它如何工作的。首先是透明透明是 Human Connection 的指导原则之一。Human Connection 邀请世界各地的程序员通过在 Github 上提交他们的源代码共同开发平台的源代码（JavaScript、Vue、nuxt），并通过贡献代码或编程附加功能来支持真正的社交网络。但我们对透明的承诺超出了我们的发展实践。事实上，当涉及到建立一种新的社交网络，促进那些让世界变得更好的人之间的真正联系和互动，分享源代码只是迈向透明的一步。为促进公开对话，Human Connection 团队举行定期在线公开会议。我们在这里回答问题，鼓励建议并对潜在的问题作出回应。我们的 Meet The Team 活动也会记录下来，并在事后向公众开放。通过对我们的流程，源代码和财务状况完全透明，我们可以保护自己免受批评或其他潜在的不利影响。对透明的承诺意味着，所有在 Human Connection 上公开分享的用户贡献者将在 Creative Commons 许可下发布，最终作为数据包下载。通过让大众知识变得可用，特别是以一种分散的方式，我们创造了一个多元化社会的机会。有一个问题指导我们所有的组织决策：“它是否服务于人民和更大的利益？”我们用 联合国宪章 UN Charter 和“ 世界人权宣言 Universal Declaration of Human Rights ”作为我们价值体系的基础。随着我们的规模越来越大，尤其是即将推出的公测版，我们必须对此任务负责。我甚至愿意邀请 Chaos Computer Club （LCTT 译注：这是欧洲最大的黑客联盟）或其他黑客俱乐部通过随机检查我们的平台来验证我们的代码和行为的完整性。一个合作的社会以一种以社区为中心的协作方法来编写 Human Connection 平台是超越社交网络实际应用理念的基础。我们的团队是通过找到问题的答案来驱动：“是什么让一个社交网络真正地社会化？”一个抛弃了以利润为导向的算法、为最终用户而不是广告商服务的网络，只能通过转向对等生产和协作的过程而繁荣起来。例如，像 Code Alliance 和 Code for America 这样的组织已经证明了如何在一个开源环境中创造技术，造福人类并变革现状。社区驱动的项目，如基于地图的报告平台 FixMyStreet，或者为 Humanitarian OpenStreetMap 而建立的 Tasking Manager，已经将众包作为推动其使用的一种方式。我们建立 Human Connection 的方法从一开始就是合作。为了收集关于必要功能和真正社交网络的目的的初步数据，我们与巴黎 索邦大学 University Sorbonne 的 国家东方语言与文明研究所 National Institute for Oriental Languages and Civilizations （INALCO）和德国 斯图加特媒体大学 Stuttgart Media University 合作。这两个项目的研究结果都被纳入了 Human Connection 的早期开发。多亏了这项研究，用户将拥有一套全新的功能，让他们可以控制自己看到的内容以及他们如何与他人的互动。由于早期的支持者被邀请到网络的 alpha 版本，他们可以体验到第一个可用的值得注意的功能。这里有一些：将信息与行动联系起来是我们研究会议的一个重要主题。当前的社交网络让用户处于信息阶段。这两所大学的学生团体都认为，需要一个以行动为导向的组件，以满足人类共同解决问题的本能。所以我们在平台上构建了一个“Can Do”功能。这是一个人在…

为什么建设一个社区值得额外的努力
type: item
date: 2018-05-23T01:15:00+08:00
description: 建立 NethServer 社区是有风险的。但是我们从这些激情的人们所带来的力量当中学习到了很多。当我们在 2003 年推出 Nethesis 时，我们还只是系统集成商。我们只使用已有的开源项目。我们的业务模式非常明确：为这些项目增加多种形式的价值：实践知识、针对意大利市场的文档、额外模块、专业支持和培训课程。我们还通过向上游贡献代码并参与其社区来回馈上游项目。那时时代不同。我们不能太张扬地使用“开源”这个词。人们将它与诸如“书呆子”，“没有价值”以及最糟糕的“免费”这些词联系起来。这些不太适合生意。在 2010 年的一个星期六，Nethesis 的工作人员，他们手中拿着馅饼和浓咖啡，正在讨论如何推进事情发展（嘿，我们喜欢在创新的同时吃喝东西！）。尽管势头对我们不利，但我们决定不改变方向。事实上，我们决定加大力度 —— 去做开源和开放的工作方式，这是一个成功运营企业的模式。多年来，我们已经证明了该模型的潜力。有一件事是我们成功的关键：社区。在这个由三部分组成的系列文章中，我将解释社区在开放组织的存在中扮演的重要角色。我将探讨为什么一个组织希望建立一个社区，并讨论如何建立一个社区 —— 因为我确实认为这是如今产生新创新的最佳方式。这个疯狂的想法与 Nethesis 伙伴一起，我们决定构建自己的开源项目：我们自己的操作系统，它建立在 CentOS 之上（因为我们不想重新发明轮子）。我们假设我们拥有实现它的经验、实践知识和人力。我们感到很勇敢。我们非常希望构建一个名为 NethServer 的操作系统，其使命是：通过开源使系统管理员的生活更轻松。我们知道我们可以为服务器创建一个 Linux 发行版，与当前已有的相比，它更容易使用、更易于部署，并且更易于理解。不过，最重要的是，我们决定创建一个真正的，100％ 开放的项目，其主要规则有三条：完全免费下载开发公开社区驱动最后一个很重要。我们是一家公司。我们能够自己开发它。如果我们在内部完成这项工作，我们将会更有效（并且做出更快的决定）。与其他任何意大利公司一样，这将非常简单。但是我们已经如此深入到开源文化中，所以我们选择了不同的路径。我们确实希望有尽可能多的人围绕着我们、围绕着产品、围绕着公司周围。我们希望对工作有尽可能多的视角。我们意识到：独自一人，你可以走得快 —— 但是如果你想走很远，你需要一起走。所以我们决定建立一个社区。下一步是什么？我们意识到创建社区有很多好处。例如，如果使用产品的人真正参与到项目中，他们将提供反馈和测试用例、编写文档、发现 bug，与其他产品进行比较，建议功能并为开发做出贡献。所有这些都会产生创新，吸引贡献者和客户，并扩展你产品的用户群。但是很快就出现了这样一个问题：我们如何建立一个社区？我们不知道如何实现这一点。我们参加了很多社区，但我们从未建立过一个社区。我们擅长编码 —— 而不是人。我们是一家公司，是一个有非常具体优先事项的组织。那么我们如何建立一个社区，并在公司和社区之间建立良好的关系呢？我们做了你必须做的第一件事：学习。我们从专家、博客和许多书中学到了知识。我们进行了实验。我们失败了多次，从结果中收集数据，并再次进行测试。最终我们学到了社区管理的黄金法则：没有社区管理的黄金法则。人们太复杂了，社区无法用一条规则来“统治他们”。然而，我可以说的一件事是，社区和公司之间的健康关系总是一个给予和接受的过程。在我的下一篇文章中，我将讨论你的组织如果想要一个蓬勃发展和创新的社区，应该期望提供什么。via: https://opensource.com/open-organization/18/1/why-build-community-1作者：Alessio Fattorini 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Linux 是如何成功运作的
type: item
date: 2017-11-08T07:38:00+08:00
description: 在大量金钱与围绕 Linux 激烈争夺的公司之间，真正给操作系统带来活力的正是那些开发者。事实证明上，Linux 社区是可行的，因为它本身无需太过担心社区的正常运作。尽管 Linux 已经在超级计算机、移动设备和云计算等多个领域占据了主导的地位，但 Linux 内核开发人员更多的是关注于代码本身，而不是其所在公司的利益。这是一个出现在 Dawn Foster 博士研究 Linux 内核协作开发的博士论文中的重要结论。Foster 是在英特尔公司和 木偶实验室 Puppet Labs 的前任社区领导人，他写到，“很多人首先把自己看作是 Linux 内核开发者，其次才是作为一名雇员。”随着大量的“ 基金洗劫型 foundation washing ”公司开始侵蚀各种开源项目，意图在虚构的社区面具之下隐藏企业特权，但 Linux 依然设法保持了自身的纯粹。问题是这是怎么做到的？跟随金钱的脚步毕竟，如果有任何开源项目会进入到企业贪婪的视线中，那它一定是 Linux。早在 2008 年，Linux 生态系统的估值已经达到了最高 250 亿美元。最近 10 年，伴随着数量众多的云服务、移动端，以及大数据基础设施对于 Linux 的依赖，这一数据一定倍增了。甚至在像 Oracle 这样单独一个公司里，Linux 也能提供数十亿美元的价值。那么就难怪有这样一个通过代码来影响 Linux 发展方向的必争之地。在 Linux 基金会的最新报道中，让我们看看在过去一年中那些最活跃的 Linux 贡献者，以及他们所在的企业像“海龟”一样高高叠起。这些企业花费大量的资金来雇佣开发者去为自由软件做贡献，并且每个企业都从这些投资中得到了回报。由于存在企业对 Linux 过度影响的潜在可能，导致一些人对引领 Linux 开发的 Linux 基金会表示不满。在像微软这样曾经的开源界宿敌的企业挥舞着钞票进入 Linux 基金会之后，这些批评言论正变得越来越响亮。但这只是一位虚假的敌人，坦率地说，这是一个以前的敌人。虽然企业为了利益而给 Linux 基金会投入资金已经是事实，不过这些赞助并不能收买基金会而影响到代码。在这个最伟大的开源社区中，金钱可以帮助招募到开发者，但这些开发者相比关注企业而更专注于代码。就像 Linux 基金会执行董事 Jim Zemlin 所强调的：“我们的项目中技术角色都是独立于企业的。没有人会在其提交的内容上标记他们的企业身份： 在 Linux 基金会的项目当中有关代码的讨论是最大声的。在我们的项目中，开发者可以从一个公司跳槽到另一个公司而不会改变他们在项目中所扮演的角色。之后企业或政府采用了这些代码而创造的价值，反过来又投资到项目上。这样的良性循环有益于所有人，并且也是我们的项目目标。”任何读过 Linus Torvalds 的 的邮件列表评论的人都不可能认为他是个代表着这个或那个公司的人。这对于其他的杰出贡献者来说也是一样的。虽然他们几乎都是被大公司所雇佣，但是一般情况下，这些公司为这些开发者支付薪水让他们去做想做的开发，而且事实上，他们正在做他们想做的。毕竟，很少有公司会有足够的耐心或承受风险来为资助一群新手 Linux 内核开发者，并等上几年，等他们中出现几个人可以贡献出质量足以打动内核团队的代码。所以他们选择雇佣已有的、值得信赖的开发者。正如 2016 Linux 基金会报告所写的，“无薪开发者的数量正在持续地缓慢下降，同时 Linux 内核开发被证明是一种雇主们所需要的日益有价值的技能，这确保了有经验的内核开发者不会长期停留在无薪阶段。”然而，这样的信任是代码所带来的，并不是通过企业的金钱。因此没有一个 Linux 内核开发者会为眼前的金钱而丢掉他们已经积攒的信任，当出现新的利益冲突时妥协代码质量就很快失去信任。因此不存在这种问题。不是康巴亚，就是权利的游戏，非此即彼最终，Linux 内核开发就是一种身份认同， Foster 的研究是这样认为的。为 Google 工作也许很棒，而且也许带有一个体面的头衔以及免费的干洗。然而，作为一个关键的 Linux 内核子系统的维护人员，很难得到任意数量的公司承诺高薪酬的雇佣机会。Foster 这样写到，“他们甚至享受当前的工作并且觉得他们的雇主不错，许多（Linux 内核开发者）倾向于寻找一些临时的工作关系，那样他们作为内核开发者的身份更被视作固定工作，而且更加重要。”由于作为一名 Linux 开发者的身份优先，企业职员的身份次之，Linux 内核开发者甚至可以轻松地与其雇主的竞争对手合作。之所以这样，是因为雇主们最终只能有限制地控制开发者的工作，原因如上所述。Foster 深入研究了这一问题：“尽管企业对其雇员所贡献的领域产生了一些影响，在他们如何去完成工作这点上，雇员还是很自由的。许多…

如何参与和帮助「Linux 中国」开源社区的发展
type: item
date: 2017-07-06T03:07:00+08:00
description: 经常有朋友问到，“我如何参与「Linux 中国」开源社区，如果帮助社区发展？”之前老王一直对此有点讳莫如深，因为「Linux 中国」并非真正意义上的商业实体，一方面没法以商业的方式来雇佣全职员工，另外一方面，老王也顾虑过度商业化会导致社区的本质变质。然而，作为创立过几个开源/公益社区的我，看过几个开源社团的起起落落，深知道一个没有自我造血机制的社区是长久不了的，而大部分没有这种机制的社区，往往不过两三年就消亡了。「Linux 中国」的第二个发展阶段肇始于 2013 年，以 LCTT 的创立为标志性事件。从那时算起来，我们也有 4 年的发展历程了。这期间得益于 LCTT 成员的大力贡献，也得益于社区中坚成员的不离不弃，「Linux 中国」已经成为了中国开源社区圈的一个知名社区——我想，每位参与过、正在参与的成员都应该与有荣焉。而现在，「Linux 中国」已经到了一个需要进一步发展的阶段，因此，我，老王，作为「Linux 中国」的联合创始人和一直陪伴在大家身边的老大哥，希望就如何参与和帮助「Linux 中国」的发展，给大家说说心里话。其实，参与和帮助，是一而二，二而一的关系。老王的社区观老王认为：社区的生命力在于，有人参与，有人贡献，有人受益，新老传承，自给自足，本色不变。首先，我们来界定一下，什么是社区。就我们的情况而言，社区即是「Linux 中国」这个统一的名称之下的网站、微信、微博等内容平台；社区也是「Linux 中国」旗下的 QQ 群、微信群和线下聚会；社区还是「Linux 中国」的贡献者们；社区更是所有对「Linux 中国」支持和批评的人们。总而言之，「Linux 中国」社区就是这个名称之下的一切认知。那么我来说说，什么是“有人参与”？字面上的意思很简单，有人能够阅读到我们的内容、成为读者、线上或线下的成员，即是参与我们的社区。“有人贡献”则是比参与更进一步，对社区进行贡献，范围包括但不限于：撰写文章、翻译/校对文章、整理和组织内容、提问和回答社区的问题、参与社区组织的线下活动，甚至，参与社区发布的各种（商业或非商业的）推广性内容也是对社区的贡献。只讲奉献，不讲回报的社区是不道德的。如果一个社区只是向成员索取，而并不能为成员、社会带来收益，不仅仅不能称之为公益性社区，甚至都是不合理的存在。因此，我们倡导并希望参与的成员、贡献的成员，乃至于整个社会都可以“有人受益”。我们以为，「Linux 中国」目前可以给大众付出的受益有：技术内容的传播、开源理念的传播、开源项目/活动的推广、给需要帮助的人们/社区提供支持；「Linux 中国」将来计划中的受益有：为成员提供优惠购买书籍/周边/会议门票的机会、为成员提供求职/招聘的途径、为成员提供开源项目的商业衍生项目的推广、为成员提供付费工作的支持。社区就像是一颗大树，由千千万万细胞组成。这一个个细胞就是我们的一位位成员，这些成员会在某个时期积极地参与，也会在某个时期由于种种原因逐渐淡出，还会某个阶段重返社区。因此，社区并不能依赖于某个骨干人物的永久奉献，而是应该形成一种“新老传承”的机制，确保有源源不断的新细胞进来，让社区这棵大树持久的繁荣下去，而每一个曾经的细胞，其所作的功绩将一直铭刻在这颗大树上。还用大树来做比喻，如果一颗大树不能自我抽取养分和水分，而一直指望老天下雨，其必将难以持久，或在某个旱季就会干枯而死。一些社区往往历三年而亡，一方面是由于新老传承机制没有建立起来，另外一方面也是由于“自给自足”的自我造血机制没有建立起来，因此核心成员在经历了长久单向输血之后，必然陷入贫血，从而中道而废。因此，社区需要能够有限度的谋取利益，用来支持社区的运营和进一步发展壮大。具体来说，社区并不能不食人间烟火，而是需要通过各种形式获得收益，比如商业广告、商业推广、商业支持等。但是，如果一个本意为公益的社区，如果被这些商业上的收益所迷惑，从而忘却本心，一路向着“成功的商业机构”狂奔而去，我们以为，这不仅仅是对初心的背叛，也是对众多参与者、贡献者的背叛。因此，如何在维护“本色不变”的基础上，谋取社区的长治久安才是社区所面临的最大考验。如何参与和贡献说完了老王的社区观之后，老王现在郑重地向各位社区朋友倡议，请参与社区、贡献社区，以使人受益，社区常青。具体来说，老王希望大家可以：积极传播社区的内容，比如分享到微博、微信、QQ 群等；主动参与社区的推广活动和广告，如果你没屏蔽我们的广告的话，可以看到首页顶部的那些推广块，大多是免费的技术活动，可以报名支持下；在社群、论坛里面帮助其他的小伙伴；将自己的心得分享给大家，我们愿意做这个传播的平台；参加 LCTT，翻译和校对国外的好文章、漫画或 LFS 这样的独立项目；为社区开发和维护一些开源应用，我们已经开发了 LCBot、运维密码等；挑挑内容的错误；指正用户体…

六个开源软件开发的“潜规则”
type: item
date: 2017-05-16T18:38:00+08:00
description: 你想成为开源项目中得意满满、功成名就的那个人吗，那就要遵守下面的“潜规则”。正如体育界不成文的规定一样，这些规则基本上不会出现在官方文档和正式记录上。比如说，在棒球运动中，从比分领先时不要盗垒，到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲，这些东西很难懂，甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说，这些都是理所当然的。软件开发，特别是开源软件开发中，也有一套不成文的规定。和其它的团队运动一样，这些规定很大程度上决定了开源社区如何看待一名开发者，特别是新加入社区的开发者。按部就班，循序渐进在参与社区之前，比如开放源代码或者其它什么的，你需要做一些基本工作。对于有眼界的开源贡献者，这意味这你需要理解社区的目标，并学习应该从哪里起步。人人都想贡献源代码，但是只有少量的人做过准备，并且乐意、同时也有能力完成这项艰苦卓绝的工作：测试补丁、复审代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。为什么要在优雅地写代码前做这些呢？这是一种信任，更重要的是，不要只关注自己开发的功能，而是要关注整个社区的动向。博闻强识，敦善不怠当你在某个社区中建立起自己的声望，那么很有必要全面了解该项目和代码。不要停留于任务状态上，而是要去钻研项目本身，理解那些超出你擅长范围之外的知识。不要只把自己的理解局限于开发者，这样会让你着眼于让你的代码有更大的影响，而不只是你那一亩三分地。打个比方，你已经完成了一个网络模块的测试版本。你测试了一下，觉得不错。然后你把它开放到社区，想要更多的人测试。结果发现，当它以特定的方式部署时，有可能会破坏安全设置，还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解，而不是孤立地看待问题。这表明，你要对项目各个部分如何与其他人协作交互有比较深入的理解。让你的补丁填坑而不是挖坑。这样你朝成为社区精英的目标上又前进了一大步。粗枝大叶，自寻烦恼代码提交完毕后你的工作还没结束。如果代码被接受，还会有一些关于这些更改的讨论和常见的问答，还要做测试。你要确保你可以准时提交，努力去理解如何在不影响社区其他成员的情况下，改进代码和补丁。和谐相处，助人助己开源社区不是自相残杀的丛林世界，我们更看重项目的价值而非个体的贡献和成功。如果你想给自己加分，让自己成为更重要的社区成员、让社区接纳你的代码，那就努力帮助别人。如果你熟悉网络部分，那就去复审网络部分，用你的专业技能让整个代码更加优雅。道理很简单，顶级的审查者经常和顶级的贡献者打交道。你帮助的人越多，你就越有价值。八面玲珑，面面俱到作为一个开发者，你很可能希望为开源项目解决一个特定的痛点。或许你想要运行在一个目前还不支持的系统上，抑或你很希望改革社区目前使用的安全技术。想要引进新技术，特别是比较有争议的技术，最好的办法就是让人无法拒绝它。你需要透彻地了解底层代码，考虑每个极端情况。在不影响已实现功能的前提下增加新功能。不仅仅是完成就行，还要在特性的完善上下功夫。糜不有初，鲜克有终开源社区也有许多玩玩就算的人，但是承诺了就不要轻易失信。不要就因为提交被拒就离开社区。找出原因，修正错误，然后再试一试。当你开发时候，要和整个代码库保持一致，确保即使项目发生变化而你的补丁仍然可用。不要把你的代码留给别人修复，要自己修复。这样可以在社区形成良好的风气，每个人都自己改。这些“潜规则”看上去很简单，但是还是有许多开源项目的贡献者并没有遵守。这样做的开发者不仅可以为成功地推动他们自己的项目，而且也有助于开源社区。作者简介：Matt Hicks 是 Red Hat 软件工程的副主席，也是 Red Hat 开源合作团队的奠基成员之一。他历时十五年，在软件工程中担任多种职务：开发，运行，架构，管理。via: http://www.infoworld.com/article/3156776/open-source-tools/the-6-unwritten-rules-of-open-source-development.html作者：Matt Hicks 译者：Taylor1024 校对：wxy，martin2011qi 本文由 LCTT 原创编译，Linux中国 荣誉推出