当前位置: 首页 > Linux

为什么开源代码的生命周期只有一年?

时间:2023-04-06 07:09:42 Linux

说实话,如果古希腊的西西弗斯是2016年写开源代码的开发者,他会有宾至如归的感觉。著名的西西弗斯惩罚是从神话中流传下来的。他被迫将一块巨石推上山。当他到达顶峰时,他只能眼睁睁地看着它滚落下来,永远重复。悄悄地,世界各地的开发商在过去几年中一直受到类似的处罚。巨石不断变大。美国国会图书馆拥有大约2400万册各种类型的书籍。它是人类有史以来创造和书写的最伟大的人类知识宝库。2009年,Github成立。它现在拥有超过3500万个软件库或存储库,以及数万亿行代码。研究表明,这个数量呈指数增长,每14个月左右翻一番。开源代码无疑是当今编程技术的最前沿,是人类最大、最强大、最先进的知识宝库。那么,为什么90%-98%的开源代码在12个月后就被放弃了?有关详细信息,请参阅代码。先来看一组惊人的数字:今天写的代码,明年今天,90%以上永远不会再用了。它们在时间的流沙中变得无效、过时、被遗忘。在2015年的一项调查中,StackOverflow发现每个开发人员每周平均花费大约7个小时在工作之外进行编程。GitHub报告称,超过1200万用户从事开源项目。数以百万计的聪明人投入了数百万小时的工作,结果却被忽视了。最疯狂的是,似乎没有人问“为什么?”。为什么绝大多数开源代码被掩埋、遗忘?为什么我们每天一遍又一遍地编写相同的代码,而这些代码几乎肯定位于开源平台的某个位置,等待我们使用?发生这种情况的主要原因是因为人们只是将存储库用作存储库。开发人员都知道AngularJS、JQuery或React,但很少有人知道超过10个开源包。这是最疯狂的部分,因为人们不知道或不使用整个开源包,所以没有人使用其中的代码。2015年写的一个包作为一个整体可能对一个人来说用处不大,但也许它包含的正是需要的东西。最有用的部分并不总是整个包,有时是其中的一段代码。假设有人正在寻找一个JavaScript函数来随机排列数组中的元素,或者寻找一个不同的函数来创建随机字符串。这些小代码片段在开源平台上有数百个等价物。但是没有人知道它们的存在,即使知道,也没有人知道如何找到它们。因此,这种有价值的知识仅仅因为难以获得而被丢弃或遗忘。这太扯淡了,对任何人都没有好处。整理所有代码并使其易于查找那么我们如何解决这个问题呢?回答这个问题很容易,但做起来很难。您需要做三件事:根据功能对所有开源代码进行组织,对其进行详细分类,创建一个模型来表示这些不同代码的实际功能,并创建一种简单易行的方法来搜索和查找这些代码片段。这就是我们构建Cocycles的原因。Cocycles满足上述所有标准,并且仍在完善中。它的算法可以处理大量的开源代码,阅读和理解每一段不同代码的功能。然后它可以让人们用简单的英语搜索代码。例如,用户只需输入“随机数组”或“创建随机字符串”,就会呈现各种开源实现、文档、使用示例等。它甚至会提供生成的有用片段,其中包含所有依赖项和子功能。在接下来的几年里,人工智能软件可能会用它来寻找和学习新的代码;不断改进和更改代码。