為什么架構于開源之上?
1. 節約成本
開源基礎架構有大量的開發者來維護,討論改進,反饋。假如軟件的質量用人年工作量來衡量,開源的軟件積累了很多開發者的工作,必然比一個小組獨立完成的軟件質量好。很多東西可以直接復用。并且有大量的用戶來測試同一套基礎框架,節約了測試成本。
2. 迭代更快
由于有大量的用戶反饋,最新的技術趨勢往往在開源軟件里被迅速加上。而獨立軟件開發者可能沒有這樣的動力。比如,Rails 中增加的 CoffeeScript 支持,asserts 聚合支持。
3. 架構完整
每個開發者或者架構師都有自己的盲點。因為大型軟件是個系統工程,少量的人難以覆蓋所有的點。象很多國內大型網站暴出的 XSS 漏洞。可能僅僅是知識面的問題和重視程度的問題。開源軟件則有擅長各個方向的開發者共同決策,改進。
4. 技術支持
文檔維護和后期的技術支持可能是比開發本身更耗費成本的工作。開源軟件往往有大量的人分享文檔和寫博客。同樣的需求和問題,大部分情況下別人已經遇到過,并且有解決方案。而內部開發文檔維護極難,培訓和溝通也非常耗費時間。
5. 架構于開源的”弊端”
開源基礎框架的弊端是它過于龐大,弄清楚所有細節是非常耗費時間的。所以經常會遇到問題,而且需要重新研究如何處理。相對于從零架構我們了解所有細節,開源產品更像面對和使用一個黑盒。不過好在很多人在用就已經證明了它的正確性。
6. 選擇架構于零和架構于開源
假如團隊時間和資源相對缺乏,相關經驗比較少,架構于開源可能是最好的選擇。節約了開發成本,就可以將更多精力放到其他方面。
如果架構師有足夠經驗熟悉整個系統的各個方面,有足夠精力追蹤所有技術趨勢,而且所建系統很簡單,或者所建系統跟現有開源產品差別很大,則可以選擇從零架構。不過這”很難”。有時候群策群力的結果比一個專家更好。
來源: http://blog.eood.cn/why_based_on_open 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!