2016年6月14日 星期二

Visual Studio Community 與 Express 商業免費使用之謎




Visual Studio 是一款非常好用的開發工具,而 .NET Framework 也是極其成熟好用的開發框架,對於開發者來說可以快速完成所需要的軟體。





版本採用選擇?


.NET Framework 既然是 Microsoft 家的產品,理所當然應該要採用 Visual Studio 進行開發最為理想,對於沒有經費的團隊來說,採用免費版本肯定是優先選擇。

目前 Visual Studio 在「免費」領域有兩個版本:Community 與 Express。







真的免費使用嗎? 


目前有幾種觀點:「Community 是用來取代 Express 做為免費版本」、「Community 在企業也是完全免費使用」。

事實上真的是這樣嗎?我們來看一下微軟網站的說法:

Community 版 (連結)


Express 版 (連結)



並不是 Community 可以任意於組織內免費商業使用,有兩個但書,任一條件達成都算超過範圍:

  1. 電腦數多於 250 台
  2. 年營收高於 100 萬美金


至此,答案明朗。


回到問題,如何選擇?


若您的組織未來擴充可期,可先採用 Community 版本,待成長後進而採購 Professional 或更高級的版本;若成長也不考慮轉用更高級版本,那麼一開始就採用 Express 版可以降低未來轉換之困擾。


可是 Express 版少了許多功能怎麼辦呢?例如 Code Coverage、Profiling ...


開源的另一種選擇。


幸好,這世界永遠不缺熱血,有團隊開發了一款「SharpDevelop」。



SharpDevelop 已經是開發多年的專案,知名的跨平台 .NET 開發工具「MonoDevelop」就是從 SharpDevelop 分支出來(有趣的是,MonoDevelop 現在變成 Xamarin Studio,而且經過併購又重回微軟懷抱了)。

SharpDevelop 是完全開源 Open Source 的專案,對於 .NET 的支援性相當良好,我甚至可以同一個專案檔在 Visual Studio Express 與 SharpDevelop 之間互相開啟與存檔完全正常,同時也增加了許多功能與外掛套件支援,可用以補足 Visual Studio Express 缺少的功能,例如 Code Coverage、Profiling ... 等。

如果對採用 SharpDevelop 完全取代 Visual Studio 做開發有疑慮,在此我提供另一種參考作法:大部份開發等情況採用 Visual Studio Express 進行,需要其它進階的功能時,使用 SharpDevelop 做為輔助。


結論。


有些朋友提出,既然公司已經發展到一定程度,購買高階如 Professional 版本是應該的吧?

估且不論對錯,「軟體自由」是一種選擇,選擇所用的軟體,是一種自由,所以上述觀點正確,想繼續採用 Express 的想法也沒錯,想改用 SharpDevelop 的念頭更不是壞事。

最後,選擇適合自己的版本才是最重要的,若購買商業版本可以發揮具體效益,創造價值,肯定值得投資;但是,若採用了 Professional 甚至 Ultimate 版本卻沒發揮到應有的效益,甚至都是冗餘功能,實為可惜,則可選用 Express,或者選擇另一種思維使用開源軟體,不但節省,也不會讓自己因此而被綁住。

以上個人淺見提供。