从开源项目中可以学到很多东西。毕竟,管理数百个不同的、异步的提交和错误并非偶然发生。必须有人或组织来协调发布,并保持所有代码和项目路线图井井有条。这很像生活。您有很多任务需要关注,并且必须依次处理每个任务。为了确保一切都在截止日期前完成,您需要保持条理和专注。
幸运的是,有一些应用程序旨在帮助处理这类事情,并且许多应用程序在现实生活和软件中都同样适用。
以下是选择开源工具来改进个人或基于项目的组织的一些原因。
数据所有权
对于专有工具而言,为您提供 数据 转储很少有利可图。一些产品,通常在与其用户长期斗争(有时甚至是诉讼)之后,会提供从它们那里提取数据的方法。但真正的问题不是公司是否让您提取数据;而是首先无法保证获得数据的能力。这是您的数据,当它确实是您每天所做的事情时,在某种程度上,这就是您的生活。除了您之外,不应该有人拥有主要访问权限,那么您为什么要向公司申请副本呢?
使用开源工具可确保您优先访问自己的活动。当您需要某物的副本时,您已经拥有它。当您需要将它从一个应用程序导出到另一个应用程序时,您可以完全控制数据的交换方式。如果您需要将日程安排从日历导出到您的看板,您可以操作和处理数据以使其适应。您不必等待向应用程序添加功能,因为您拥有数据、数据库和应用程序。
为自己工作
当您使用开源工具时,您通常最终会改进它们,有时您可能没有意识到。您可能不会(或者可能会!)下载源代码并修改代码,但您可能会陷入一种最适合您的工具使用方式。您优化了与工具的交互。您与工具交互的独特方式创造了一种元工具:您没有更改软件,但您以项目作者和其他十几位用户从未想象过的方式调整了它和您自己。每个人都会对他们依赖的任何软件这样做,这就是为什么坐在别人的电脑前使用熟悉的软件(甚至只是从别人的肩膀上看过去)常常会感到陌生,就像您使用的应用程序版本与您习惯的不同。
当您使用专有软件执行此操作时,要么您是在为别人的市场免费贡献,要么您是在根据自己控制之外的力量调整自己的行为。当您优化开源工具时,软件和交互都属于您。
不升级的权利
工具会变化。这是事物发展的规律。
改变可能会令人沮丧,但当一项服务发生重大变化以至于破坏您的工作流程时,它可能会造成严重破坏。专有服务有权且始终有权更改其产品,并且您通过使用该产品明确接受这一点。如果您最喜欢的会计软件或日程安排 Web 应用程序更改其界面或其输出选项,您通常别无选择,只能适应或停止使用该服务。专有服务保留删除功能的权利,可以随意且不发出警告地删除功能,而且公司一开始使用开放 API 并与开源具有强大的兼容性,但一旦其客户群达到临界规模,就放弃这些便利措施的情况并不少见。
开源也会改变。开源的变化也可能令人沮丧,甚至可能促使用户转向替代的开源解决方案。不同之处在于,当开源发生变化时,您仍然拥有未更改的代码库。更重要的是,很多人也拥有它,如果对此有足够的需求,项目可以被分叉。这方面有几个著名的例子,但不可否认的是,也有许多例子表明需求不够大,用户基本上不得不适应。
即便如此,用户在开源中也永远不会真正被迫做任何事情。如果您想在虚拟机中运行旧库的旧发行版上拼凑一个旧版本的关键任务服务,您可以这样做,因为您拥有代码。当专有服务发生变化时,您别无选择,只能跟随。
使用开源,您可以选择在必要时开辟自己的道路,或在方便时跟随开发人员。
开放协作
专有服务可能会以您可能没有意识到的方式影响他人。闭源工具在不经意间具有隐蔽性。如果您使用专有产品来管理您的日程安排、食谱或图书馆,或者您在图形设计或网站中使用专有字体,那么当您需要与其他人协调时,您实际上是在强迫他们注册相同的专有服务,因为专有服务通常需要帐户。当然,对于开源解决方案来说,有时也是如此,但开源产品不像专有供应商那样收集和出售用户数据的情况并不常见,因此风险并不完全相同。
独立性
最终,开源的优势在于您以及您想要与之协作的人的独立性。并非每个人都使用开源,即使每个人都使用,也不是每个人都会使用完全相同的工具或相同的资产,因此在共享数据时总会存在一些协商。但是,通过保持您的数据和项目开放,您可以使每个人(包括您未来的自己)都能够做出贡献。
您采取哪些步骤来确保您的工作是开放且可访问的?在评论中告诉我们!
9 条评论