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