
包括 JIT 和 Orca Security 在內的軟體公司聯盟推出了 Opengrep,這是 Semgrep 開源軟體的一個分叉(fork),以響應 OSS 版本中所提供的規則的許可證的變更。
Semgrep CE(前身為 Semgrep OSS)本身是於 2019 年從 Facebook 所編寫的一個早期專案中分叉出來的。它是一個靜態應用程式安全測試(SAST) 工具,用於分析原始碼或編譯後的程式碼,以發現安全漏洞,其 GitHub 儲存庫上有超過 11000 顆星。
新的 Opengrep 分叉背後的主要動機是修改了透過 semgrep/semgrep-rules 儲存庫提交給 Semgrep CE 的規則的許可證。該許可證現在禁止將提交給該專案的規則用於其他商業產品,除非有 Semgrep 明確授權。

該分叉專案的既定目標是保持專案引擎和規則的開放透明,採用開放的基於績效的貢獻系統,並恢復對現在僅限於 Semgrep 付費版本的功能的訪問,Reddit 使用者“confusedcrib”和“darrenpmeyer”的社群評論表明,指紋和元變數等功能已從 OSS 版本轉移到了付費版本中。
Opengrep 宣言指出了 Semgrep 的許可證變更與近期其他許可證變更之間的相似之處。宣言解釋了社群如何透過分叉專案來做出回應,並解釋說:“當 Elasticsearch 改變其許可策略,停止推出新的 Elasticsearchs 和 Kibana 開源版本時,AWS 加緊推出了 OpenSearch。當 Hashicorp 停止 Terraform 開源時,社群與 Opentofu 走到了一起”。
Semgrep 的創始人兼營運長 Luke O'Malley對這一批評做出了回應,他澄清道,Semgrep OSS 本身仍然是開源的,依然採用 LGPL 2.1 許可證,對規則庫許可證的更改是為了應對一些公司重新分發規則庫,這違反了現有的許可證。O'Malley 進一步解釋說,出於自身目的使用 Semgrep OSS 的終端使用者和公司不太可能受到新許可證的影響。
簡而言之:如果你在使用 Semgrep 時沒有將其打包和轉售,你應該不會受到我們最近更改的影響。——Luke O'Malley
Mark Curphey 在 crashoverride.com 上發表的 一篇部落格文章 對該分叉提出了批評。Curphey 為 Semgrep 進行了辯護,認為該分叉是不合理的,代表了那些歷史上沒有為該專案做出貢獻的公司的機會主義行為。
[……] 該聯盟是由多家企業或銀行組成的組織,他們是為了共同的目標而聯合起來的。這似乎是正確的,但我不認為其共同的目標是為了社群的利益或利他主義的開源價值。
他對 Semgrep 執行“開源 rug-pull”的說法提出了異議,並支援 Semgrep 的開放核心商業模式,在這種模式下,核心掃描器是免費的,而附加功能是收費的。其他評論者同樣持懷疑態度;Gullible-Chemist1794在 Reddit 上寫道:“我認為這個計劃不會成功,因為所有支援 opengrep 的公司都是彼此的競爭對手,而且其中大多數是風險投資公司,遲早會出現利益衝突”。
Josh Grossman 在 BlueSky 上寫道,他希望兩大陣營能夠合作:“就我個人而言,我真的希望 Opengrep 和 Semgrep 能夠在多個供應商的大力支援下,合作開發一個由社群維護的引擎,同時也尊重 Semgrep 的商業權利”。
Opengrep 宣言最後詳細介紹了使用者能從中得到什麼,承諾提供一個功能更強大的掃描引擎,不會將功能隱藏在登入之後,並與開放標準 JSON 和 SARIF 輸出完全向後相容。針對可能存在的批評,即由軟體供應商組成的聯盟來管理該專案,他們還做出了長期保證,即未來的改進不會被鎖定在任何一家供應商身上。
Opengrep 的開放路線圖會議定於 2025 年 2 月 27 日舉行,更多資訊請訪問 opengrep.dev。
Matt Saunders 是 Adaptavist 的首席技術官的 DevOps 負責人。協助團隊使用 DevOps、平臺工程和雲原生工具和技術,快速高效地交付可靠、高質量的軟體,同時儘量減少壓力。他曾與複雜的企業、小型初創企業、中小企業以及介於兩者之間的所有企業合作過。還聯合組織了倫敦 DevOps 聚會小組,該小組擁有 10000 多名成員,每月舉辦一次非常受歡迎的行業活動。
原文連結:
https://www.infoq.com/news/2025/02/semgrep-forked-opengrep/
宣告:本文由 InfoQ 翻譯,未經許可禁止轉載。
