歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 開源代碼的壽命為何只有1年?

開源代碼的壽命為何只有1年?

日期:2017/3/6 9:57:00   编辑:學習Linux

開源代碼的壽命為何只有1年?


開源代碼的壽命為何只有1年?


導讀說實話,如果古希臘的西西弗斯是一個在2016年編寫開源代碼的開發者,那他會有賓至如歸的感覺。著名的西西弗斯處罰,是神話流傳下來的,他被迫推一塊巨大的石頭上山,當登頂之後,只能眼睜睜看著它滾下去,周而復始直到永遠。悄無聲息的,全球的開發者在過去的幾年裡,也在接受類似的處罰。而且巨石還在不斷變大。

open_source_code_01
美國國會圖書館擁有約2400萬本各種類型的圖書。它是人類有史以來,創造的書寫人類知識最大的寶庫。

2009年,Github成立。它現在擁有超過3500萬軟件庫或信息庫,有著幾十萬億行代碼。研究表明,這一數額以指數速度增長,每14個月左右還會雙倍增長。開放源代碼是毫無疑問今天編程技術的前沿,是人類知識最大的、功能最強大、最先進的寶庫。

那麼,為什麼90%-98%的開放式源代碼,12個月後會被拋棄?

細節處見代碼

我們先來看一組驚人的數字:今天寫的代碼,明年今日,90%以上將永遠不會被再次使用。

它們變得無效、過時,在時間的流沙中被遺忘。在2015年調查中,Stack Overflow發現,每個開發者在工作之外一周平均花費大約7小時來編程。 GitHub的報告指出超過1200萬用戶在開源項目工作。數百萬聰明的人花了數百萬個小時的工作就這樣被人們置之不理了。
open-source-code_02
最瘋狂的一部分是似乎沒有人問“為什麼?”。為什麼絕大多數開放源代碼被掩埋,被忘記了?為什麼我們每一天一遍又一遍地編寫相同的代碼,而同一時間該代碼幾乎可以肯定就在開源平台的某處, 在等待被我們使用的?

這種事發生的主要原因是,因為人們只是把信息庫作為存儲庫。開發者都知道AngularJS,或JQuery的或React,但很少有人知道超過10個開源軟件包。這就是讓人瘋狂的部分,因為人們不知道、或者不使用整個開源軟件包,所以沒有人使用其中的代碼。寫於2015年的軟件包可能對一個人來說不是整體都有用,但也許它恰好就包含了所需的功能。最有用的部分不總是整個包,有時是其中的一段代碼。

比方說,有人正在尋找一個JavaScript的功能以在數組中洗牌元素,或不同的功能來創建隨機的字符串。這些小的代碼片段在開源平台有幾百個相同的。但是,沒有人知道他們的存在,即使他們知道,也沒有人知道如何找到它們。因此,這些有價值的知識被丟棄或遺忘,只是因為它們難以獲得。實在太扯了,對所有人而言都沒好處。

整理所有代碼,並使其方便找到

那麼,我們要如何解決這個爛攤子?回答這個問題很容易,做起來就很難,你需要做三件事情:

  1. 從功能方面整理所有開放的源代碼,對它們進行詳細分類
  2. 建立一個模型來表示這些不同代碼的實際功能
  3. 創建一個容易簡單的方法來搜索和查找這些代碼片段。

這就是我們建立Cocycles的原因。Cocycles滿足上述所有的條件,同時還在繼續完善。它的算法可以處理大量的開源代碼,閱讀和理解每一條不同的代碼的功能。然後,它可以讓人們使用簡單的英文來搜索代碼。

例如,用戶只需要輸入“洗牌陣列”或“創建隨機字符串”,然後它們會用各種開放源代碼執行、文檔、用法示例和更多的方式呈現。它甚至會提供生成的包含所有的附屬和子功能的有用片段。
open-source-code_03
在未來的幾年後,人工智能軟件也許能夠用它來尋找和學習新的代碼;不斷完善和改變代碼。

原文地址:http://readwrite.com/2016/05/03/open-source-gothub-cocycles-pl1/

轉載地址:http://www.linuxprobe.com/open-source-code/

http://xxxxxx/Linuxjc/1133905.html TechArticle

Copyright © Linux教程網 All Rights Reserved