Ray Paik 发布的文章

开源对于数据分析非常重要,它能为用户、社区成员和公司带来长远利益。

我曾经写过介绍 Cube 社区的文章,至今已过去了一年多。随着和社区会员以及其他供应商在一起工作,我更坚信开源对于数据分析工作是很有好处的。我也认为,需要不断思考开源为什么重要,以及开源是如何为人们带来长远利益的。

开源对于用户和客户的好处

我从 Cube 社区听说的第一件事就是:他们经常可以从与其他社区成员的交流中得到技术支持,这种支持往往好于使用需要付费的专有软件获得的支持。在很多开源社区中,我发现,社区成员很乐意帮助别人(特别是帮助新手),并且把这种帮助看作回报开源社区的方式。

在开源社区,你不需要获得许可就可以加入。一个好的开源社区不但服务于开发者,而且令人们感觉到有一种信任的文化,认为与他人在聊天室、论坛和问题跟踪工具进行开放式讨论是一件愉快的事。这对于诸如数据工程师或数据分析师之类的非开发者来说也很重要。

当然,借助开源软件,还可以直接查看代码、修复错误或为项目添加新功能。以 Cube 社区为例,对于 GraphQL 的支持就是我们去年的亮点,我们的社区成员为项目 贡献了这些功能

对一个活跃的社区来说,也是很有好处的。即使当供应商不能及时地发布修复版本,你仍然可以自行修改,并可以在等待官方修复版的这段时间内使用修改后的版本。社区成员和用户也不愿意被供应商的奇思妙想所束缚,而且使用开源软件时也不存在升级的压力。

开源社区在 GitLab、GitHub、Codeberg、YouTube 等各种地方留下了很多“面包屑”,这令衡量活跃程度和社区参与度更容易,也可以衡量社区参与和文化的水平。所以,即使在试用软件前,你也可以在做决定之前了解到它的社区(以及公司)的一些情况。

开源对公司的好处

没有其他办法比开源更能降低使用软件的障碍了。在早期,开源可以提高技术受众的认知度。早期的使用者往往后来会成为你的最忠实的粉丝。

早期的使用者也是加速产品发展的催化剂。他们对于产品的反馈和功能需求(例如对问题的追踪)能实现对真实用例的洞察。另外,很多开源爱好者可以合作开发(比如通过代码仓库)新功能和进行 BUG 修复。不用说,这对于创业早期的公司来说是很重要的,因为当时缺少开发和产品相关的资源。

你对社区的关注会令它发展壮大,并且呈现多样化趋势。多样化不仅体现在人数和地域方面。你需要来自新兴行业的用户或从事各种职业的用户。以 Cube 社区为例,在一年前我常常会跟一些开发者交流,但一年后与我交流得更多的是那些数据使用者和用户。

在良好的开源社区里,合作文化降低了准入门槛,不仅对于开发者,对于其他提问者、分享观点者或愿意作出非技术性贡献的人们来说都是如此。随着公司和社区的发展,你可以更好地接触到不同的观点。

对包括社区成员在内的广大人群来说,开源使合作变得更容易。例如,你需要跟其他贡献者在同一个数据库驱动或集成上进行合作,如果可以通过开源仓库进行合作,就很方便了。

关于社区

以上这些好处都降低了使用软件和协作开发的门槛。开源模型不仅对单个软件或公司有帮助,它还能令整个生态和行业加速发展。我希望在数据分析领域看到更多开源的公司和社区,同时希望人们持续关注开源产品。

(题图:MJ/50a877f5-e0e1-4f66-91bf-f1f60b4a9023)


via: https://opensource.com/article/22/9/open-source-data-analytics

作者:Ray Paik 选题:lkxed 译者:cool-summer-021 校对:wxy

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

抛开具体的工作量,我们认为所有的贡献都弥足珍贵。当所有社区贡献者都能获得家庭般的赞赏时,他们会更倾向于继续为社区添砖加瓦。

给予一个优秀的工作足够的认同和赞赏是我作为一个社区管理员最喜欢做的事。我不但有机会能够对贡献者表示感激,同时还能为社区设立一个优秀的榜样。认同和赞赏可以是为了庆祝一个成就,例如有人帮助其他成员加入社区、减少技术债务或者贡献了激动人心的新功能。

但是,用来确定贡献量的规则可能会有难以预料的后果。例如某些社区管理员利用如下图所示的图表来表彰贡献,过度地强调了拉取请求(PR)以及对代码库的贡献量。

A bar graph ranking 15 contributors according the the number of PRs merged in a year, ranging from 250 at the top to 50 at the bottom.

A bar graph ranking 10 contributing organizations by number of contributions, ranging from more than 15 to less than 5

使用这样的方法进行表彰会产生三个问题。

首先,这样过度关注了对代码库的贡献。早年间,开源项目主要吸引开发者参与,所以自然而然许多贡献是围绕代码的。现在,越来越多的非开发者正在积极参与社区项目(例如通过用户组、会议和用户生产的内容),他们的大多数贡献在代码库以外的地方。这些贡献将不会出现在诸如 年度合并 PR 数量 这样的表格上。

其次,过度关注贡献指标(指那些易于用数字统计的),最终会演变为奖励数量而不是质量,甚至影响力。在上图的 贡献组织排行榜 中,大型组织因为具有更多的可用人力,相对于小型组织就会有更为显著的优势。通过对大型组织在数量上的表彰将可能导致小型组织的人感到权利被剥夺了。

最后,尽管本意并非如此,但许多人都会把这些数据看做对个人或组织影响力的排名。

基于此,我们最好避免仅仅通过指标数量来表彰对社区的贡献。

令社区表彰更有意义

如何让社区表彰更为包容并且能够覆盖不同的贡献形式呢?诸如 Discord、IRC、邮件列表和Slack 等交流渠道可以很好的表明一个成员的活跃度及其感兴趣的领域。例如每当我看到一些人热衷于解答问题或者帮助新用户时,我会十分开心。这些贡献并不会出现在社区的数据板上,但是让这些贡献得到应有的认同和感谢并广为人知是十分重要的。

社区数据板显然是开源社区重要的工具。但是我提醒大家不要花费太多时间在建设数据板上。迟早你会发现,不是所有的东西都可以有清晰的标准进行度量,即便你能够想出规则量化一件事,你也依然会发现这些规则具有局限性。

为了获取更多的关于贡献的信息,我经常会安排社区成员茶话会。这些对话经常能够告诉我他们做出贡献的原因、有多少工作量以及谁同时也参与进来了等等。

当我第一次与他们对话时,我经常听到他们提及找到回馈社区的方法十分重要,而他们也在寻找方法来提供力所能及的帮助。许多人甚至因不能在代码方面做出贡献而感到内疚,而我会向他们强调代码不再是开源唯一重要的东西。有时这些对话能让我有机会接触到同一城市或同一行业的社区成员,或者发现更多共同的兴趣点。维护这些关系将有助于提升归属感。

令社区表彰更具影响力

除了寻找更多的活动形式,我们也可以让这些活动以更具影响力的形式呈现。例如在看到优质贡献时及时赞美。一个快速的感谢回复会比一两个月之后的正式感谢更有效。许多人包括我自己,都会强调给予更为正式而合理的表彰和奖励,但我们应当谨记,奖励并非社区成员贡献的主要动力。认可好的工作并努力去接触贡献者会令贡献者感到受重视。

让其他成员参与到认可的过程中也是一个很好的主意。一旦社区达到了一定的规模,便很难事无巨细地知晓一切细节。如果引入一个成员提名机制则会很好地让大家注意到优秀的贡献。如果你的社区拥有十分正式的奖项,例如在年度会议或聚会上颁发的奖项,请让社区成员参与提名和投票。这不仅提供了成员参与进来的平台,也令这些来自成员投票的奖项更有意义。

最后给予认同和感谢也是一个认识成员并加深了解的重要机会。有时候颁奖仿佛在进行交易:“你做了某件事,所以我们给你颁发了某个奖励”。多在介绍成员上花些时间,将令成员感到更受重视并加强归属感。

社区认可令社区更为健康

在提高开源社区的多样性、包容性和归属感方面,我们仍有许多工作亟待改善。更好的社区认可将在其中起着不可或缺的作用。确保所有的贡献都受到重视,让每一位贡献者都感到家庭般氛围和赞赏,将鼓励他们继续为社区贡献。


via: https://opensource.com/article/22/5/inclusive-community-recognition

作者:Ray Paik 选题:lkxed 译者:PeterPan0106 校对:wxy

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

Cube.js 是一个开源的分析平台,可以作为数据源和应用之间的中间层。

 title=

数据分析是一个时髦的领域,有许多解决方案可供选择。其中之一是 Cube.js,这是一个开源的分析平台。你可以把 Cube.js 看作是你的数据源和应用之间的一个中间层。

如下图所示,Cube.js 支持无服务器数据仓库和大多数现代关系型数据库管理系统 (RDBMS)。你可以使用任何用于数据可视化的 JavaScript 前端库,而 Cube.js 将负责其他工作,包括访问控制、性能、并发性等。

 title=

主要优点

当我向我们的社区成员询问 Cube.js 的主要优点时,他们经常提到:

  • 它的抽象层:配置 Cube.js 后,人们说他们不再需要担心性能优化、资源管理、SQL 专业知识等问题。许多人把 Cube.js 称为 “黑盒”,因为它的抽象层帮助他们专注于理解数据,而不是实施细节。
  • 易于定制:由于 Cube.js 是可视化的,它很容易与前端框架集成,建立看起来像用户自己平台的解决方案。大多数商业平台(如 Looker、Tableau 等)需要更多的定制工作来与他们的基础设施整合。许多用户说,定制的便利性与抽象层相结合,使他们能够减少数据分析平台的开发时间。
  • 社区支持:在开始使用 Cube.js 时,人们通常会从社区成员那里得到帮助(特别是在我们的 Slack),许多人提到社区支持是一个关键的入门资源。

访问 用户故事页面,阅读更多关于人们使用 Cube.js 的经验以及他们如何使用它。

开始使用

如果你想了解 Cube.js:

  • 进入我们的 文档页面,点击开始,并按照指示在你的笔记本电脑或工作站上启动和运行 Cube.js。
  • 当你进入 Developer Playground,你将能够生成数据模式,执行查询,并建立仪表盘,以看到 Cube.js 的运行。

在你启动和运行 Cube.js 之后,这里有一些有用的资源:

  • 文档:我们把大量的精力放在我们的文档上,因为它是开源社区的重要资源。我们还在我们的文档页面和 YouTube 频道的 入门播放列表 中添加了视频剪辑。
  • Discourse:Cube.js 论坛是最近增加的,社区成员可以在这里分享他们的使用案例、技巧和窍门等,这样我们就可以建立一个社区知识库。
  • GitHub: 你可以在这里找到 Cube.js 的代码,社区成员可以通过 问题页面 提交错误或功能请求。我们还在 GitHub 上发布了我们的 季度路线图,以便每个人都能看到我们正在进行的工作。
  • 每月社区电话会议:我们在每个月的第二个星期三举行电话会议,讨论社区更新,展示功能演示,并邀请社区成员分享他们的使用案例。你可以在 社区电话会议页面 上找到电话会议的日程,你也可以在我们 YouTube 频道的 社区电话会议播放列表 上找到过去的电话会议录音。

就像任何好的开源项目一样,Cube.js 有许多软件贡献者。如果你想查看社区的拉取请求(PR),请搜索带有 pr:community 标签的 PR。如果你想寻找你可以回答的问题,请搜索带有 good first issue 或者 help wanted 标签的问题。

我希望你试试 Cube.js。如果你有任何问题,请随时在下面留言或在 Cube.js Slack 上找我!


via: https://opensource.com/article/21/6/cubejs

作者:Ray Paik 选题:lujun9972 译者:geekpi 校对:wxy

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