軟件抄襲與創新的思考

jopen 9年前發布 | 11K 次閱讀 軟件

周末不想寫太多的代碼,一是因為手部神經性壓迫導致疼痛(職業病啊),二是因為我覺得有必要再擴大一下知識范圍。在找小說未果的情況下,先是買了本微創新,然后收獲挺多的,又買了兩本(基于亞馬遜推薦。。加上我的成功率,我想只要找到一本就可以找到另外的三本):

  • 《微創新:5種微小改變創造偉大產品》
  • 《第三種創新:設計驅動式創新如何締造新的競爭法則》
  • 《模仿的技術:企業如何從"山寨"到創新》
  • </ul>

    看完了三本書,收獲還是蠻大的。就想著寫篇心得,兼作軟文。

    一個快速實現的想法

    三周之前,我對策劃了幾天的基于HTML的PPT、博客、演示框架開始了編寫之路。到了今天,已然有了243次提交,這意味著每天可能有12次左右的代碼提交(ps:感謝黨和組織,感謝長年不加班的公司讓我有機會去寫代碼)。

    如果你用過impress.jsreveal.js,那么我想你是知道網頁版的Slider是長什么樣的。如果不知道的話,快來看看EchoesWorks Demo吧。

    • impress.js有著酷炫的動畫效果,但是不支持Markdown。
    • Reveal.js支持Markdown,但是一點兒也不炫。
    • </ul>

      于是,在很久以前我有一個想法是,基于兩者做一個這樣的框架,但是覺得這樣子顯得沒有創意。這也是為什么到了,現在EchoesWorks還沒有華麗動畫效果的原因之一(ps:另外一個原因是我對CSS3的動畫效果還沒有深入的研究,如果你研究過快來加入我們吧)。顯然,這激發不了激情。

      直到有一天,我在想為什么我的博客還是靜態的, 應該要有點彈幕,應該要有點動作。便讓我聯想到了視頻,拿視頻當博客有點兒戲,又浪費時間。一個Slider和視頻的差距,我想只有字幕音頻了。接著,來了一場頭腦風暴,開始編碼之后,就有了之前很水的一篇文章: 《EchoesWorks —— 打造下一代技術Blog/Presentation 框架》

      So,來看看我是如何快速再造一個Slider的:

      1. 首先,我找到了一個叫bespoke.js的框架,它是一個DIY Presentation Micro-Framework,有了這個框架也有就有了基本的輪廓。
      2. 接著,我需要處理用戶輸入來控制Slider,便參照來了impress.js的代碼。
      3. 由于,需要基本的計時工作,就參考了timeline.js的基本原型設計來完成。
      4. 需求告訴我,還需要一個進度條,接著就找到了nanobar
      5. 在微博上發的時候,發現對移動設備支持不友好,就參考了Swipe來完成左右滑動的功能。
      6. </ol>

        結局便是,我抄了一堆軟件來再造一個Slider,雖然還沒有造完。等等,我做了什么?

        • 寫了一堆膠水代碼。用于連接各個模塊間的功能。
        • 寫了比產品代碼還多的測試代碼。用于保證大多數情況下的代碼修改都不會破壞系統的功能。
        • 對其中某部分寫得不好的代碼,做了重構。
        • </ul>

          看上去,不像是抄襲,什么是抄襲?什么不是抄襲?

          創新

          基于那幾本書,我對于創新的分類大致有:

          • 體制內創新
          • 體制外創新
          • </ul>

            上面的分類無異于把這個世界上的處理器分類為:

            • ARM
            • 非ARM
            • </ul>

              Unix與GNU/Linux

              不存在一個好的方法可以成功的把世物分類,不同行業的人的來同創新方法,只告訴我們一件事,這個事件上是沒有絕路的。如果這個路行不通,一定還有別的路,只是你沒學到罷了。只是就如一些作者所說,創新是可以學習的,但是不是很有的創新都是可以學習的。

              如果人看過《技術的本質》的話,那么我想你對書中的一些理論一定很熟悉。如,新的技術是基于現有技術發展起來的。又如,《適應性創新》一開始舉到的造一臺多士爐要花一輩子的例子是一樣的,如果我們要從頭造一個系統要花一輩子。

              再回到現實,Linux是一個內核,BASH是一個Shell工具,glibc是C運行庫,GCC是編譯器,還有Binutils、 Coreutils、Diffutils、Gawk等等都是一堆庫,或者稱之為技術,如果沒有膠水般的程序將之整合成一個系統的話,那么這些模塊有些可能就消亡了。然而,是Unix告知了GNU/Linux系統的開發者們,你們要用怎樣的膠水來粘合這些模塊。故而,在過去到現在的很長一段時間里,GNU /Linux都逃不了Unix的陰影。

              不幸的是,今天已然是GNU/Linux的天下,未來人們就會各種訴說GNU/Linux是如何創新。

              同我當時在課上學習設計模式一樣,只有先模仿和基于別人的模式,之后才有可能有更大的突破。同理GNU/Linux已經達到這樣的階段。不要和我說蘋果是如何創新,沒有模仿,只是它們做了膠水做得更好,或者說現在,他們設計了更好的膠水。

              說說創新

              過去,每天我們都閃現著不同的靈光。有時,我們經常和自己說不可能,說多了有時候就不再想了。或許受當前的條件約束,和所謂的夢想一樣。想想,所謂的創新要么就是在現有的產品進行微創新,要么就是某種形式的"無中生有"。人們通過不知道他們知道什么,或許又如《烏合之眾》說到的那樣,群眾只接受簡單觀念、群眾不知道他們需要的是什么,你也難于動搖一群群眾。

              于是,當我們創造出一種新的產品的時候,我們很難確定這是不是市場所能接受的。而有時候調研,又沒有辦法辦法來幫我們合理地解決創新產品的問題。也從某種情況上說明,像蘋果、微軟這種后來者,更容易獲取市場占有率的原理。因為先來者,已經將更多的理念賦予大眾。那么,后來者只需要研究用戶體驗、用戶需求,便可以創造出更好的產品,前提是要有足夠的速度。而,速度從側面反映了一家企業的意識形態。

              很多時候一家大公司只所以被新創企業打得無還手之力的原因,除了速度,也還在于錯誤的決策。而錯誤的決策在當時可能是最有效的,但是如果沒有足夠快的意識到這樣的創新,便同諾基亞一樣,需要當明年重新復蘇。而有這樣的機會的公司是少之又少。

              總得有那么一些人,需要看看他們新產生的競爭對手。笑他們,還不如去學習他們。

              創新,其實是Keep Study

              其它

              啟示

              作為一個技術人員,除了保持速度和學習。還要盡快地做到所謂的,作為一個中國人看到這三個漢字從中國傳到了日本,再從日本傳到了美國,又從美國傳到了中國。難道就不應該有一點點覺悟么,從模仿開始,到自由自在地創造。

              模仿和創新只在一剎那之間,想想你做這個東西是為了什么。除去你模仿的功能看看你還能添加什么?不要從一開始模仿,而要從一開始在模仿的基礎上創新。騰訊、小米關于模仿的敗筆罵名就是在于此,先模仿而后創新。不過,他們有能力、實力可以很好地做到了上面的三個字,即從模仿 -> 賺錢 -> 創新。

              但是,如果是一家小公司,那么只有死~~。

              關于標題

              本來標題應該是寫在EchoesWorks三周之后,后來似乎有了更好的突破點。

              也想不到一個好的標題來描述主題,這里的抄襲說的不算是真正意義上的抄襲,算是某種意義上的Copy,又或者是某種意義上的再造車輪。

              EchoesWorks

              快來加入我們吧,項目首頁: https://github.com/phodal/echoesworks

              來自:http://www.phodal.com/blog/think-about-software-copy-innovation/

               本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
               轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
               本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!