為什麼中國開源界喜歡「自主研發」輪子?

為何國內某些公司為名利頻頻借鑒開源源碼造「獨立開發」的輪子?例如:Element UI、Ant.design 、iView、WEEX、ThinkJs和Egg.js


按題主的邏輯,美國開源界對「自主研發」輪子的喜歡遠超中國開源屆呀。

  • 搞 Angular / React.js / Vue.js 幹啥,大家應該一起完善 Knockout.js 才對啊。
  • jresig 為啥要自己寫 jQuery,而不去改善 Prototype.js / Mootools 呀?
  • 搞什麼 Semantic UI / UIkit,大家一起給 Bootstrap 寫主題不好嗎?
  • WordPress / Joomla 這種東西就不該存在,好好的 Drupal 不去完善,自己搞什麼輪子?

Element / Ant Design / iView 之類的項目有人買賬,那是因為它們能滿足很多人的使用需求,可能這個邏輯比較深奧,題主表示不能理解。Weex 又不是只支持 Vue.js 風格的開發方式,為啥要叫 Vue Native?React Native 你也不看看是什麼 LICENSE,人家免費搞個可以替代的讓大家用你不要,非要讓大家一起給 Facebook 打工,到底是誰不純粹啊。

我感覺有些人少說話就算是對開源項目做貢獻了。


說點別的,如果有精力做出一個完善的開源組件庫或者框架,我覺得造輪子是好事,不管是對團隊還是對社區。如果業務還沒跑明白,人都不夠用,然後也不按照社區標準,不使用社區更成熟的解決方案,亂搞一通就開源,開源後連 issues 都不理不睬,那才是不鼓勵的行為


美國人自己造個框架就是創新,就是開創。中國人自己造個框架就是借鑒,就是抄襲?美國同類型的框架/庫不要太多,題主的偏見有點嚴重。

facebook為什麼不好好給typescript貢獻代碼,非得自己弄個弱化版的flow-typed出來?

lodash為什麼不好好給underscore貢獻代碼,非得自己再寫一個?居然還兼容underscore?

jquery為什麼不好好給prototype貢獻代碼,非得自己寫一個?居然還全局對象互相衝突?

任何著名的開源項目除非大公司內部已經用了多年,都是從不完善的小項目一點點成長起來的。可能在前沿領域中國不輸美國,但在程序的原始積累上的確是差很多的。

開源本身就是互相借鑒修修補補的過程,你有自己的想法就去開發一套新的出來,很正常。但是開發一套新的並不意味著所有都得是新的,部分很成熟的技術可以直接拿來用,只改你想修改的部分。

比如我覺得bootstrap的柵格系統很好,css組織也不錯,但是它的外觀我不喜歡。我也不可能讓他們團隊為了我去改外觀。那我就fork一個bootstrap,保留原來的代碼組織,就改改css樣式。可以嗎?當然可以啊。這算抄襲,還是借鑒還是不好好給bootstrap貢獻代碼?

正因為這樣開源社區才會百發齊放,對使用者來說才能找到更適合自己的。

開源是有開源協議的,只要在協議的許可範圍內,想幹什麼是使用者的自由。

最後,開源社區不分國界,不分你的我的。非得去區分哪國怎麼怎麼樣不如自己多去貢獻點代碼。


中國開源界是有很多很多問題,可以噴的點有無數個,但是唯獨沒有題主說的這個。


不討論技術,先問一個問題。

樓主說了這麼多名詞,都用過么?

我一般就一句話,沒用過就別逼逼可以么~


別的不是太了解,替eggjs說句話。不知道題主用eggjs用的怎麼樣,egg確實是基於koa,egg團隊大方承認,因為egg的死馬,蘇千等大佬給koa也貢獻了很多代碼啊,你自己可以去看下。總比這裡信口開河強。再說egg最強調的是約定優於配置,要求按照約定開發,降低團隊協作成本。這能說沒意義?

再說,不學會走就想要跑簡直痴心妄想。外國人造輪子是創新,我們造輪子就是抄襲?這麼和你說,如果有一天,我照著react,再造出一個框架來,我也不覺得丟人。畢竟,我還做了些嘗試,嘗試下大佬們對前端的思考。有了這種經驗,我可以更隨心所欲地按照自己的想法去造個輪子。說不準哪天大家都覺得好呢。任何好玩東西都不會是人的靈光一現,linus大神如果以前不喜歡搞計算機也不會拍大腿就搞出來個linux。國內前端如果都不嘗試自己搞些東西,發現問題,哪輩子才能有自己的東西?

還有,人家造輪子,吃你家大米啦?


雙標狗

雙標狗,網路詞語。

雙標/雙標狗:雙重標準。掐架的時候常看到有人說樓上雙標狗/樓主雙標嚴重。也就是同樣的事情在某愛豆身上是一說,換個人又是另一說。直接點就是不在於討論事情本身,只為了諷刺。


題主舉著【我們不要多,要精】的政治大旗在這裡大噴一波,列舉了知乎最流行的前端+JS框架就認為國人仗著小聰明,山寨別人的東西,在開源社區攪局。然而題主根本沒認識到,如果你開源項目非常垃圾,就算你再牛逼,也沒人鳥你,這就是開源

目測一看題主大約就是只是一個低端、看見大量的開源框架瑟瑟發抖的初級程序員。目光短淺到只認為世界上就中國是喜歡山寨的,天大的笑話

年輕人好好的擼管,不要一天到晚做白日夢。


因為國外的輪子比較圓嘛


那為啥Facebook和Mozilla都想開發自己的IDE和語言,不來貢獻比他們老的C#(早已開源)、F#(比C#開源的更早)和vscode(反正比他們早)?

明顯是美國人更喜歡「自主研發」輪子。你看我國的幾個哪怕是著名的輪子都是跟在美帝的東西(不一定是開源)的屁股後面走的,從來沒有什麼發明。


題主對輪子沒有任何的偏見,他只是對中國人造的比較反感。國外的都是什麼輪子之神,國內的就是粗製濫造,沒有躬匠精神~

中國人造的輪子姓輪嗎?


為什麼Linux分支多到你數都數不清?是不是因為外國人總想著自主研發?是不是因為外國人不努力尋求加入社區?肯定是因為他們自己完全搞小分頭,不團結友善


或許你覺得在開源界,每個人方面只需要一個庫/框架?


不覺得

美國開源界更喜歡造輪子

另外借用別人罵我的話——什麼時候開源還分國界了?

(逃


我們不要多,要精,請放下羈絆,為開源項目做貢獻,為子孫後代積福。

我想你的意思是不要搞自己的框架,不如去幫幾大框架做優化。

就好比說我們不要發展自己的核武器,只需要幫美國優化核武器技術就好了啊。

怕是react的事情你沒聽說?

也不知道你到底給開源框架做了多少貢獻。


喬布斯說,聰明的藝術家模仿,偉大的藝術家偷竊。一些好的點子和創新,從來不是空想出來的,而是在前人基礎上,不斷的改進和嘗試得出來的。


以題主舉的例子,開源界等於前端界了


啊哦,我發現題主說的東西都是前端的...這可咋整


emmm..就我個人而言,只要框架文檔寫得清楚,bug少一點,那就是一個好的框架


喜歡,你管得著嗎?


推薦閱讀:

作為一個伺服器,node.js 是性能最高的嗎?
如何看待 Azer Ko?ulu 刪除了自己的所有 npm 庫?
Node.js 適合用來做 web 開發嗎?
Websocket 用node還是python開發比較好?
redis怎麼做消息隊列?

TAG:開源 | Nodejs | 前端框架 |