聊聊 2020 的 dotnet 各大開源項目倉庫的情況

現在是 2020.06.21 我來聊聊我所關注的 dotnet 的幾個大開源項目的活躍以及定位情況。包括 WPF 和 WinForms 和 Xamarin 和 ASP.NET Core 和 Blazor 倉庫

沒有被點名的倉庫不代表不活躍和不重要,只是我精力有限,沒有參與開發。沒有在局裏面,不好評論

現在的各個倉庫的分工如下:

  • Windows Forms 負責全平臺商業化使用,主要是 Windows 和 Linux 系統,同時支持兼容大量詭異的設備。而且開源部分正在瘋狂懟功能
  • WPF 負責 Windows 平臺下的應用開發,支持 Win7 sp1 及以上。注意,如果需要支持 xp 依然需要使用 .NET Framework 4.0 之前版本
  • Xamarin 負責移動端,以及 PC 的 MAC 系統的應用開發。兼職負責 Linux 系統的應用支持,通過 GTK 的方式,有多少坑完全取決於想要支持的 Linux 系統,在 Ubuntu 下相對穩定
  • Blazor 負責瀏覽器端的應用開發
  • ASP.NET Core 負責服務器後臺的應用開發,是當前成熟度最高的項目。竟然成熟度比 WPF 還高,哈哈,原因是 WPF 開小差了6年

關於開源情況如下:

  • dotnet runtime 最活躍的項目,用於提供給上面所有倉庫,還包括此外的所有 dotnet 項目的運行時和底層庫的支持,是整個 dotnet 的基礎。有大量的硬件廠商對 dotnet 做特別優化,如 Intel 這個好基友,還有最近炒的比較火的龍芯 也都給了運行時很多支持
  • ASP.NET Core 這個倉庫現在主要是有 Azure 的小夥伴在維護,作爲微軟三架馬車之一的 Azure 有着雄厚的資金,例如給了整個 GitHub 提供所有倉庫免費的構建服務器等,有 Azure 超級可怕數量的超強工程師在不斷堆代碼。每天都有大量 PR 被創建和合並
  • Windows Forms 和 Xamarin 這兩個是現在商業化開源應用開發最成熟的兩個倉庫,每天都有大量的國際上的各個公司的小夥伴在報很多詭異的 Bug 也都有在不斷修復以及探索更強大的功能。這兩個倉庫官方投入比社區投入的比例要少一些
  • Blazor 在正式發佈 WebAssembly 版本之後進入了瘋狂修 Bug 狀態,現在屬於初步狀態,特別適合小夥伴想要了解 WebAssembly 以及一個大型項目維護是如何做的,推薦小夥伴參與進去
  • WPF 現在有很多小夥伴將積攢了很多年的 Bug 不斷扔到 Issues 上面,因爲 WPF 按照 xx 的統計,是被最多使用的框架(和上面 ASP.NET Core 和 WinForms 和 Xamarin 等比)因此任何改動都需要十分小心,牽一髮而動全身。現在整個團隊都在努力搞自動化測試,只有自動化測試完成之後纔有勇氣合併來自社區的PR否則就只能合併沒有 IL 變更的社區代碼了。現在 WPF 開源項目是 Issues 天天打仗,而 PR 合併不多

以上所說官方非僅指微軟,而是指 dotnet 官方組織,微軟是其中最大的一個參與公司。此外在 ASP.NET Core 項目裏面可以看到大量 AWS 的小夥伴在貢獻代碼,甚至谷歌家的小夥伴也會指手畫腳。而 dotnet runtime 項目就比較可怕了,我沒怎麼去統計各方小夥伴的佔比,總體看起來 PR 和 Issues 都上天了,每天都看不過來

我現在主要活躍的是在 WPF 倉庫裏面,其他項目主要是作爲格式化工程師的存在,做做代碼格式化和修一下注釋而已

回答小夥伴幾個問題:

現在這些開源項目是不是意味着可以白嫖

答案:沒錯,不收錢。動動手就可以將其他公司投入海量開發資金開發的項目收歸己有。使用這些項目進行二次開發也好,或者在此框架上開發自己的商業應用也好,都不需要交錢給官方,也不需要爲此納稅

我是否可以改改項目名,假裝這些項目是我擁有的

答案:不用假裝,你可以對外宣稱是你的。上面這幾個項目都沒有限制你更改和分發你的私有版本,任何公司或個人都可以在此基礎上魔改然後分發。只有一點是被限制的,不能你申請專利等之後反過來告官方項目侵權以及其他使用這些框架的公司侵權。但是你聲明是自主產權,這個沒問題(至少比其他改系統圖標說是自己研發的要好很多)至少法律上講沒問題,如果你聲明之後還能將一些有趣的代碼提到官方,那這也是官方鼓勵的

參與這些項目開發有什麼門檻

答案:會使用谷歌翻譯或有道翻譯或會閱讀和寫英文…… 任何小夥伴都能免費註冊 GitHub 帳號在這幾個開源項目裏面發 Issues 討論和提 PR 添加代碼

如果官方拒絕我的代碼怎麼辦

答案:很正常,不是所有的代碼都符合官方的思想。但是拒絕代碼基本上不是一個人能做的決定,是需要整個團隊裏面多數開發者同意拒絕之後纔會拒絕。也就是不是特別逗比的代碼,基本上都會被合併或者改改改之後合併。如果咱真的覺得官方逗比,這麼好的逗比的代碼都不合並,咱可以另起爐竈,自己玩不帶官方。可以自己分發自己的版本,如我想要給自己公司的產品定製 WPF 框架,沒問題,我可以發佈我自己的版本。如果自己發佈的版本做的比官方更好,那麼自己的這個項目將會最終取代官方的項目哦

我是否可以對外宣稱我的產品受到微軟的技術支持

答案:如果沒有經過授權,是不可以的…… 就像咱的軟件在 Intel 的 CPU 上運行,咱是否可以說這個軟件受到 Intel 工程師的技術支持?肯定是不成的啦

我搭建了自己的博客 https://blog.lindexi.com/ 歡迎大家訪問,裏面有很多新的博客。只有在我看到博客寫成熟之後纔會放在csdn或博客園,但是一旦發佈了就不再更新

如果在博客看到有任何不懂的,歡迎交流,我搭建了 dotnet 職業技術學院 歡迎大家加入

如有不方便在博客評論的問題,可以加我 QQ 2844808902 交流

知識共享許可協議
本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發佈。如有任何疑問,請與我聯繫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章