
Wekan 完全 FAQ 指南開源看板的定位、部署要求、版本策略與社區協作規范【免費下載鏈接】wekanThe Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . PR source translation to imports/i18n/data/en.i18n.json, other translations at https://app.transifex.com/wekan/wekan項目地址: https://gitcode.com/GitHub_Trending/we/wekan本文以倉庫 docs/FAQ/FAQ.md 為核心骨架結合當前倉庫的 package.json、docker-compose.yml、sandstorm.js、sandstorm-pkgdef.capnp 與 CHANGELOG.md 等源碼級證據系統梳理 Wekan 是什么、為什么自托管、如何規劃生產部署資源、如何理解版本號與發布節奏、如何參與貢獻以及項目社區的行為規范。一、Wekan 是什么Wekan 是一款完全開源、免費Free software的協作式看板kanban board應用基于 Meteor 全棧框架構建采用MIT 許可證見 package.json 中license: MIT的聲明。無論是維護個人待辦清單、和朋友一起規劃假期還是團隊協作推進下一個項目看板都能通過可視化的方式呈現項目當前狀態讓你專注于當下最重要的少數幾件事從而提升生產力。作為自由軟件Wekan 的用戶無需把數據托付給任何第三方可以將其安裝在自己的電腦或服務器上——項目方也鼓勵這樣做為此在多個平臺上提供了接近“一鍵安裝”的部署方式。1.1 項目的關鍵事實FAQ 中列舉了如下項目事實均為 FAQ 作者陳述可作為項目背景參考Wekan 在世界大多數國家被使用。Wekan 已知最大的用戶群是一家在公司內部使用 Wekan 的 3 萬用戶規模的組織。Wekan 已被翻譯成70 種語言通過 Transifex 眾包翻譯平臺協作完成。FeaturesWekan 具備實時用戶界面real-time user interface。PlatformsWekan 支持多種操作系統與 CPU 平臺并且正在被集成到新的平臺中。Integrations記錄了當前可用的集成方案與未來規劃。1.2 Wekan 所處的獨特生態位FAQ 指出 Wekan 處在一個非常細分、競爭者有限的市場中其“組合拳”式的定位包括功能豐富、打磨精細、易用性高的看板寬松的 MIT 許可證——FAQ 特別強調如果其他同類產品改為 GPL、Open Core 或閉源收費模式它們就不再屬于同一個生態位支持自托管Self-hosted或 SaaS兩種形態全部代碼與文檔均開源Wekan documentation支持多種 OS 與 CPU 平臺翻譯覆蓋 70 種語言提供可選的付費商業支持功能定制 / Bug 修復 / 托管用于反哺項目開發持續活躍維護不斷加入新功能與修復默認不啟用任何遙測、不加載任何外部依賴、不會“回連”上報數據。唯一的例外是 Snap 平臺由 Canonical 統計每個國家的服務器數量僅此而已無更細粒度數據定位為年費可高達 50 萬歐元的企業級軟件的開源替代方案。二、部署要求硬件、平臺與運維前提2.1 硬件與架構要求FAQ 明確給出如下部署基線項目要求架構64 位LinuxSnap、Windows 等更多平臺另有 ARM 移植進度跟蹤內存Wekan 本身至少需要1 GB 空閑內存生產服務器總內存建議最低 4 GB數千用戶規模以 Docker 部署為例3 臺前端服務器每臺 2 核 CPU、運行 2 個 wekan-app 容器后端一臺 wekan-db 服務器配備多核 CPU磁盤需要足夠的磁盤空間并對低磁盤空間設置告警磁盤寫滿會導致 MongoDB 數據庫損壞倉庫證據當前默認的 docker-compose.yml 采用FerretDB v1 內嵌 SQLite默認無需單獨數據庫服務器其余可選后端包括 FerretDB PostgreSQL / MySQL / MariaDB / SAP HANA、FerretDB v2 PostgreSQL 以及 MongoDB 7見文件頭注釋中的 compose 文件清單并自帶healthcheck與start_period等待數據庫就緒避免 Wekan 在數據庫尚未可用時啟動而出現 Connection reset by peer。2.2 安全與備份運維要點安全需要非常頻繁地升級到最新版本。請檢查 Sandstorm 或 Snap 的自動更新沒有被關閉。舊版本會因 Node.js 等依賴版本過舊而存在安全漏洞只有最新版 Wekan 受支持。Sandstorm 版 Wekan 通常不受獨立版Snap/Docker/源碼安全問題的波及。報 Bug新 bug 應及時上報新功能與修復會一天多次被合入。備份數據庫至少每天備份一次詳見 docs/Backup/Backup.md。Bug、升級、用戶誤刪列表或卡片、硬盤寫滿、硬盤損壞等都可能導致數據丟失且目前還沒有 undo撤銷功能某些 bug 甚至會導致看板完全無法加載需要人工修復數據庫內容。倉庫證據倉庫根目錄確實包含多套 docker-compose 后端組合文件docker-compose-ferretdb-v1-postgresql.yml、docker-compose-mongodb-v7.yml等與 FAQ 的“Docker 部署”表述一致CHANGELOG.md 記錄了自 2015 年起至今的歷次發布歷史。三、項目治理與維護者3.1 Wekan Team 是什么Wekan Team 是 Wekan 的商業支持公司CEO 為xet7Lauri Ojansivu即 Wekan 的現任維護者。xet7 會非常積極地回復 GitHub issue 反饋因為 Wekan 是社區驅動的開源項目。由于互相沖突的意見無法同時實現xet7 有時不得不扮演“開明的獨裁者”benevolent dictator。每位 Wekan 團隊成員都可自由選擇貢獻內容與時間項目方無法強迫任何人實現任何功能Wekan 的開發速度會隨著新貢獻者加入并持續提交 PR 而加快。3.2 xet7 簡介Lauri Ojansivu 是 WeKan Team 的 CEO跨平臺 FOSS 維護者、云架構師、全棧開發者、系統管理員與 SysOp。他持有芬蘭 Kemi-Tornio AMK 的計算機設計師與系統工程師 BBA 學位。按其自述他曾為基于 Meteor 的 WeKan 增加并刪除超過 400 萬行代碼曾獲 20i FOSS Awards并在 EU NGI ONTOCHAIN Hackathon 獲得第二名同時也在做將 FOSS 軟件移植到 30 CPU/OS 的工作。倉庫證據倉庫中確實保留了統計每個提交者代碼行數的腳本 releases/count-lines-of-code-per-committer.sh可用于復現“每個貢獻者增刪了多少行代碼”的分析過程。四、Wekan vs Trello給管理層的自托管論證FAQ 記錄了一個真實場景有人通過郵件詢問“如何說服公司管理層 Wekan 比 Trello 更不邪惡”。FAQ 給出的對比論據如下Trello 一方代碼閉源只有 Atlassian 人員能訪問源碼無法安裝到自己的服務器Trello 可以訪問你的全部數據無法在不連接互聯網的內網中運行。Wekan 一方全部代碼開源MIT 許可證商業使用同樣免費無需按月付費僅在需要商業支持時才付費可下載全部代碼并在不連接互聯網的內網運行數據完全自持Snap / Docker / Sandstorm 版本運行在沙箱內無法訪問服務器文件系統上的其他內容Snap 版由 Canonical 構建服務直接從 wekan/wekan 倉庫構建并執行安全檢查Docker 版由 Quay 與 Docker Hub 直接構建同樣經過安全檢查Sandstorm 版由 ocdtrekkie 在發布到 Sandstorm App Market 前進行回歸檢查啟動 Wekan 時不會從互聯網加載任何文件進一步限制時可在內網服務器防火墻只放行需要訪問 Wekan 的機器全球各地的貢獻者持續為 Wekan 添加修復與功能有安全研究者做過代碼審計并推動了相關修復項目方會傾聽用戶反饋例如內陰影inner shadow的加入與移除、Admin Panel 中 SMTP 設置的移除與加回均源于用戶意見。倉庫證據Docker 鏡像同時發布到 GitHub Container Registryghcr.io/wekan/wekan、Quayquay.io/wekan/wekan與 Docker Hubwekanteam/wekan見 docker-compose.yml 的鏡像標簽注釋Sandstorm 環境變量通過 sandstorm-pkgdef.capnp 中的METEOR_SETTINGS {public: {sandstorm: true}}注入sandstorm.js 檢測該開關后啟用 Sandstorm 專屬行為印證了 FAQ 關于“沙箱內運行”與“isSandstorm 環境變量”的描述。五、發布節奏與版本號規則5.1 多久發布一個新版本通常的發布節奏是最快一天多次歷史上曾出現一天 7 個版本通常是發現 bug 后密集發版直到修復或一天內合并大量 PR / 新功能遵循 Eric S. Raymond 的 “Release early. Release often. And listen to your customers.”最慢一個月一次單個版本可能只包含一處筆誤修復也可能包含多個主要功能與 bug 修復。不同平臺的更新方式不同Wekan PlatformsSnap自動立即更新或按計劃在午夜自動更新源碼 / Docker / VirtualBox需要自行測試并安裝新版本Sandstormocdtrekkie 測試通過后才進入 Sandstorm App Market用戶自行備份 grain 并在方便時點擊升級按鈕。倉庫證據當前 package.json 的版本號為v11.72.0且 CHANGELOG.md 頂部注釋詳細記錄了歷史上某些版本號v11.33、v11.54、v11.57、v11.59、v11.61不存在的原因——發布腳本在計算版本步進時出現 bug這一細節也印證了“版本號只是遞增的數字”這一說法。5.2 版本號代表什么每個版本都有發布日期與版本號每個版本使版本號0.01。該慣例始于 2017-03-05 的 v0.12此前版本號更復雜如 v0.11.1-rc2。v0.99 之后依次是 v1.00、v1.01、v1.02……版本號只是遞增的數字Wekan 早已長期用于生產環境v1.00 并不代表“才達到生產就緒”性能雖有大量改進仍有很大提升空間Wekan 與其他軟件一樣仍有 bug版本號與“無 bug”無關Wekan 會持續演進并提供從舊版本遷移到新版本的能力——從這個意義上說Wekan 自被維護以來一直扮演著 LTS 發布的角色開發在edge 分支進行發布時將 edge 合并到 devel/master/meteor-1.8 等分支。六、功能與貢獻Feature 如何落地6.1 我的功能請求會被實現嗎FAQ 給出三種實現路徑a) 商業支持付費讓官方實現b) 雇傭開發讓自己公司或外部開發者實現并提交 PRc) 自己開發自己實現后向 devel 分支提交 PR。FAQ 引用 Open Hub 的數據稱不含 Meteor 框架與 npm 模塊Wekan 自身代碼僅約10500 行相比其他軟件非常小巧且組織清晰用 gitk 之類的歷史查看器可以研究各功能的實現方式。對于Sandstorm 專屬功能需要通過環境變量isSandstorm true開啟示例見 sandstorm.js。更多開發信息見開發者文檔。6.2 會接受我的 PR 嗎會。Wekan 的新功能與 bug 修復完全依賴 PR。只要 PR 可用被 xet7 接受的可能性就很大。6.3 如何參與貢獻歡迎 bug 報告、增強建議與 PR提交到 GitHub 問題跟蹤器詳見貢獻文檔FAQ 中引用的“Contributing notes”。項目方正在推進功能賞金bounties機制并歡迎贊助者。6.4 有測試嗎FAQ 原文坦言測試“接近零”因為尚未有人以 PR 形式貢獻測試。倉庫現狀說明這一歷史陳述與當前倉庫面貌已有差異——倉庫根目錄存在龐大的tests/目錄數百個*.test.cjs、tests/playwright/下的 67 個 Playwright 測試文件等package.json 也提供了test、test:unit:node、test:playwright等測試腳本。可以推斷測試體系在 FAQ 撰寫之后得到了大量補充這是閱讀時需要注意的版本差異。6.5 有插件系統嗎沒有也不可能。原因有二在 Web 瀏覽器中無法在 Docker 內安裝 npm 模塊Sandstorm 中的應用代碼只讀且被簽名無法事后安裝代碼。所有功能都內建在代碼中所有與功能相關的數據都存儲在 MongoDB 中。6.6 Wekan 能用其他語言重寫嗎xet7 嘗試過重寫但目前仍處于非常早期的階段見其 wiki 中的 Roadmap。七、歷史從 Metrello 到 Libreboard 再到 Wekan7.1 曾經叫 Libreboard是的。Libreboard 是舊項目名它取代了更早的Metrello。Metrello 是用 Meteor 構建的 Trello 克隆沿用了大量 Trello 的原始素材連名字都很相似。隨著項目成熟并獲得更多社區關注這成了一個明顯的問題。為了建立自己的身份并在收到 Trello 的DMCA 通知后項目開始重新設計Maxime Quandalle 提出新名字 “OpenBoard” 以強調開源屬性但.com域名已被占用于是把 “Open” 換成拉丁語系中意為“自由”的 “Libre”項目更名為Libreboard。改名后設計了新 logo但隨后發現該 logo 疑似抄襲自 Dribbble 上的一個概念設計于是又得換 logo。社區貢獻了大量創意后Maxime 最終提出了全新名字Wekan及配套的新 logo 設計方案。7.2 什么是 Wekan fork / Wefork2016-09-02 之后近兩個月沒有任何 PR 被評審合并。2016-10-20Wekan 社區創建了 fork 并開始合并大量 bug 修復與新功能即Wefork。2017-01-29Wekan 原作者 mquandalle 移交了項目權限2017-01-31 xet7 開始把 Wefork 合并回官方 Wekan2017-02-08Wefork 全部內容合并回官方 Wekan。此后 Wefork 不再接受新 issue 和 PR所有開發都在 Wekan 上進行。詳見 docs/FAQ/Team.md。7.3 Wekan 與 Trello 的根本區別核心區別是Wekan 完全開源采用寬松的 MIT 許可證因此可以托管在自己的服務器或公司/組織服務器上對全部數據擁有完全控制權不必擔心服務哪天消失。長期目標是提供 Trello 或其他替代品所沒有的功能使 Wekan 足夠靈活、足以支撐復雜的項目組織。7.4 為什么 Wekan 現在的外觀與 v0.9 之前差別巨大Wekan 最初只是探索 Meteor 的業余項目早期版本包含大量 Trello 素材CSS、圖片、字體并大量復制其設計。收到 DMCA 下架通知并為了建立獨立身份后v0.8 之后拋棄了舊設計開發了全新 UI相關 issue #92、#97。八、社區禮儀什么會被視為“troll”或“spammer”8.1 為什么我會被稱為 troll以下行為會被社區視為 troll使用 “shame” 一詞——即希望不貢獻任何代碼或付費就獲得功能/修復并用某種措辭讓人良心不安想要某個功能卻只添加“點踩”emoji 反應添加圖片反應要求改變優先級。當前優先級是高優先級安全問題與高嚴重度 bug中優先級導入/導出Import/Export其他。實際路線圖后續更新聲稱自己在“提供建設性批評”認為“自由軟件就包含免費實現的功能”發布以下內容以外的內容對已有帖子的“點贊”反應功能規格Feature specs技術細節相關文檔鏈接幫助實現功能的示例代碼鏈接Pull Request。8.2 為什么我會被稱為 spammer以下內容會被視為 spam只包含如下內容的評論11 I can confirm this1 It would be great to have this1 This is the only feature for preventing my company to move to Wekan發布“點贊反應、功能規格、技術細節、相關文檔鏈接、示例代碼鏈接、PR”以外的內容。8.3 看到 troll 或 spammer 時應該怎么做只添加一條指向本 FAQ 的鏈接不要以任何方式評論或“投喂”troll。九、Sandstorm 平臺9.1 Sandstorm 不再是公司/初創公司/企業版產品Sandstorm 的一切現在都已開源、成為自由軟件。9.2 Sandstorm 是什么Sandstorm 是一個開源、自由軟件、經過安全審計的平臺具備grains、日志、管理員設置、服務器集群與應用市場App Market等能力。App Market 中提供 Wekan 作為可安裝應用。SSO 選項如 LDAP、無密碼郵件登錄、SAML、GitHub 與 Google Auth 都已在 Sandstorm 上可用。FAQ 認為Sandstorm 是 Wekan 的首選平臺因為在獨立版 Wekan 中重新實現這一切需要大量工作。倉庫證據從源碼結構看sandstorm.js 完整實現了 Sandstorm 集成通過X-Sandstorm-Base-Path重寫運行時 ROOT_URL、基于X-Sandstorm-*請求頭完成自動登錄與用戶資料同步、通過 Capn Proto bridge 上報活動通知與 Powerbox 身份聲明、以及isSandstorm模板輔助函數控制 UI 元素的顯示與隱藏sandstorm-pkgdef.capnp 定義了 grain 的啟動命令./start-memory.sh與完整環境。這些與 FAQ 對 Sandstorm 平臺的描述相互印證。9.3 如何為 Sandstorm 做貢獻參見 Sandstorm 官網關于提交 PR 的說明以及其“回歸開源社區根源含捐贈信息”的公告。十、要點速查定位MIT 許可、可自托管、默認無遙測的實時協作看板docs/FAQ/FAQ.md。資源基線Wekan 最少 1 GB 空閑內存生產服務器建議總內存 4 GB 起磁盤需充足并配告警寫滿會損壞數據庫。運維紀律頻繁升級到最新版、每天至少備份一次數據庫docs/Backup/Backup.md。版本號每次發布 0.01僅為遞增數字開發在 edge 分支發布后并入 devel/master/meteor-1.8。貢獻路徑提交可用 PR 即大概率被接受新功能實現可走商業支持、雇傭開發者或自行開發三條路線。平臺差異Snap 自動更新、源碼/Docker/VirtualBox 自行升級、Sandstorm 由 ocdtrekkie 測試后發布、用戶按需點擊升級。插件機制無插件系統所有功能內建數據存于 MongoDB。社區規范以“點贊 功能規格 技術細節 文檔/示例鏈接 PR”為有效貢獻形式避免 1 式刷屏與道德綁架式措辭。【免費下載鏈接】wekanThe Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . PR source translation to imports/i18n/data/en.i18n.json, other translations at https://app.transifex.com/wekan/wekan項目地址: https://gitcode.com/GitHub_Trending/we/wekan創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考