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