平衡的考量:調整維護政策

工程 | Rod Johnson | 2008年10月07日 | ...

經營企業至少在一個方面就像編寫程式碼:你不會總是第一次就做對,即使你知道你想達成什麼目標——但是如果你準備在必要時重做事情,你最終確實會得到更好的結果。 在 SpringSource,我們對最近宣布的維護政策有一個明確的願景:在開放原始碼社群的需求與企業使用者和 Spring 創建者的需求之間取得平衡,以造福所有人。 然而,我們第一次並沒有完全取得平衡,現在是進行一些重構的時候了。

在過去的幾週裡,我一直被提醒 Spring 社群的規模以及其中許多人的熱情。

我們一直在密切聽取社群的回饋——不僅僅是來自那些在公共論壇上最直言不諱的人,而是透過包括私人對話和電子郵件在內的許多管道。

當我們傾聽社群的聲音時,有兩個問題很突出:向社群提供目前 Spring 版本的定期穩定版本(如果沒有提供二進位檔案,則透過請求在 Spring 開放原始碼儲存庫中標記原始碼來表達); 以及小型企業和小型系統整合商的定價。 我們知道人們對 Spring 軟體以及我們對改進企業 Java 的承諾感到非常滿意; 我們知道他們希望 SpringSource 成功並繼續創新。 但我們聽到了真正的擔憂,我們將其納入考量。

今天,我想向任何可能抱有疑問的人重申我們對社群的承諾,並解釋我們如何根據收到的回饋對維護政策進行重大變更。

我們對開放原始碼的承諾

有些人表示擔心 Spring 會停止成為開放原始碼。 “授權變更”這個詞一直被掛在嘴邊——儘管事實是我們沒有更改任何 Spring 程式碼的授權。 雖然這種猜測沒有根據,但仍然令人擔憂。
讓我藉此機會再次保證 Spring 將在目前的 (Apache) 授權下繼續對社群保持開放原始碼。 句點。
如果你得到的印象與此不同,我和我的同事一定在溝通我們的維護政策方面做得不好——或者,也許,你聽到了不準確的二手資訊。 SpringSource 所做的一切都取決於 Spring 是開放原始碼,以及與社群的積極互動。 首先,我們不會將 Spring 變成封閉原始碼,因為這是不對的事情。 其次,我們理解到 Spring 對於許多(如果不是大多數)企業 Java 專案和許多其他開放原始碼專案都具有核心作用,並且作為事實上的標準程式設計模型,其影響將嚴重損害企業 Java。 第三,這將是一個愚蠢的商業決定。

我們對開放原始碼的承諾仍然一如既往地堅定,並且持續增長。 我們期待在未來的幾個月和幾年中與我們的社群合作,建立更多出色的軟體。 我們對 Spring Framework 3.0 和其他即將推出的開放原始碼版本感到興奮,並且很自豪我們能夠對開放原始碼進行越來越大的投資。

穩定的社群版本

我們最初的維護政策聲明,在 3 個月後,Spring 的每個主要版本的二進位檔案版本僅適用於 SpringSource Enterprise 客戶,儘管原始碼將始終可用(但沒有版本標籤)。

因此,我們僅在主要版本發布 3 個月後變更了分發模型。 我們仍然將所有原始碼保留在目前的授權下。 沒有授權變更。

然而,社群中的一些人對 3 個月後儲存庫中將無法使用標籤這一事實表示擔憂。 他們擔心社群可用的二進位檔案版本之間存在延長視窗的風險,因為缺少標籤可能會使存取錯誤修復變得困難。 一些人也擔心不同 Spring 發行版之間可能存在的混淆,這使得 Spring 社群之間的溝通變得困難。

我們非常重視這些擔憂,並且我們反思的結果是,我們希望超越使用者的要求,以展示我們對社群的承諾——這可能是企業 Java 中最重要的社群——並確保它繼續快速增長。

我們正在根據社群回饋修改我們的維護政策。 我們將向社群提供來自 Spring 主幹的定期二進位檔案版本,沒有 3 個月的視窗期。 對於每個 Spring 版本,當它仍然是主幹或直到下一個版本穩定時,社群版本都將可用。
一旦我們發布了專案新版本的候選版本,我們通常將不再為開放原始碼社群發布專案早期版本的其他標籤或二進位檔案版本。 SpringSource Enterprise 客戶可以使用此類版本三年。

我們的維護政策的一個關鍵目標是將我們的資源集中在積極推動 Spring 功能的發展,並繼續引領和創新企業 Java 開放原始碼。 隨著我們增加開發資源,我們的目標是以比以往更快的速度前進,頻繁的主要版本將為社群帶來新功能和新功能。

例如,Spring 2.5.x 仍然是主幹,因此在此政策修正案下,我們將很快向社群發布 Spring 2.5.6。 Spring 3.0M1 將在稍後發布,並且主幹將用於 3.0 開發。 一旦我們發布 Spring 3.0 RC1,我們將不再提供 2.5.x 分支的標籤或版本。 我們將專注於 3.0 開發,以便我們可以在第一個里程碑之後盡快發布 3.0。

我們的 3 年支援政策(和 SpringSource Enterprise)讓那些無法或不經常升級的企業客戶可以放心。 將我們更多的社群開發工作集中在最新功能上,可以使開放原始碼使用者受益。

小型企業定價

由於我們的商業產品主要針對大型企業,因此一些小型公司認為 SpringSource 不關心他們,或者不想與他們做生意。 事實並非如此——我們只是優先考慮了企業規模的訂閱。 但我可以看到人們如何得出這個結論,我為我們的定價結構造成這種印象而道歉。

我們理解小型企業積極採用開放原始碼,並且它們為整體技術進步做出了重要貢獻。 因此,我們將推出一款專為小型企業和小型 SI 使用而設計和定價的新產品。 這個部落格不是描述特定商業產品的地方,但我們將在不久的將來發布有關新產品的資訊。

公平的平衡

很明顯,我們本可以更好地與我們的社群溝通,以解釋我們正在做什麼以及為什麼有必要這樣做。

然而,重要的是要了解我們制定維護政策的意圖。 首先,我們從未制定過維護政策,並且不能永遠不清楚我們對社群和客戶的承諾。 作為一家公司,我們正試圖對我們的社群保持開放,而不是秘密地做任何事情。 有時這涉及到溝通其他公司可能會試圖迴避的不受歡迎的事實。 其次,此政策旨在幫助我們從那些不會密切參與社群、無法或不定期升級到最新版本以幫助提高 Spring 品質,而是發現接收舊版本的維護版本有價值的組織中產生收入。 這些類型的組織需要堅如磐石的穩定性、世界一流的支援和我們 Enterprise 產品套件提供的額外軟體的價值。

我們希望建立一家偉大的公司,該公司可以支付其才華橫溢的開發人員的薪水,賺取合理的利潤,並且可以繼續增加我們對偉大開放原始碼軟體的貢獻。 我們越成功,我們就可以為 Spring 社群貢獻更多出色的程式碼。 隨著我們在過去 2 年中不斷發展,我們產生開放原始碼的能力甚至增長得更快,結果說明了一切,在過去 12 個月中,Spring 的下載次數更多,對 Spring 專業知識的需求也比以往任何時候都多。

許多組織會發現我們的 Enterprise 產品、技術支援和三年的定期維護版本很有價值。 我們也知道許多使用者會決定不購買這些產品和服務。 這沒關係。 這就是商業開放原始碼的運作方式。 如果我們可以繼續增加我們對偉大軟體的投資,那麼每個人都會贏。

以下是我希望我們可以實施的政策

如果您是一個透過在大型生產環境中使用 Spring 而從 Spring 中獲得巨大價值的組織,請向 SpringSource 寄一張支票,金額為您在使用 Spring 獲得的價值的 1%。 我們將使用這筆錢來支付薪水,增加我們對開放原始碼的投資並返還利潤。
如果這樣的政策在實踐中有效,那就太好了。 它不會,因此我們制定了維護政策,以從在生產中使用 Spring 並在其軟體堆疊中需要企業級保證的組織中產生收入。 同時,透過保持原始碼開放,我們將繼續為社群提供出色的軟體。 政策本質上並不完美,但我們相信我們所採取的路線是 Spring 開放原始碼社群的需求與 Spring 背後的開放原始碼業務的需求之間的最佳平衡。 而且,我們很高興您的回饋幫助我們使其對社群的運作更好。

不再以訛傳訛?

對於那些在論壇上或透過電子郵件向我提出建設性意見的人,我想表示衷心的感謝。 感謝您足夠關心 Spring,以思考這些問題; 感謝您花時間寫下您的想法並與我分享。 請繼續保持!

我想從中汲取的另一個教訓是,努力實現 SpringSource、Spring 團隊和 Spring 社群之間更直接的溝通。 您可能玩過名為「傳話遊戲」的派對遊戲,並且聽過一個著名的故事,講述了英國軍隊前線發出的訊息「請求增援,我們即將推進」,經過多次傳遞後,到達總部時變成了「請求三先令和四便士,我們要去跳舞」。在留言板和部落格圈中的溝通很重要,但並不總是可靠的。

我很樂意聽取您關於如何更好地溝通的想法。我樂於接受諸如 IRC 聊天室、定期公開電話會議等建議……這也是您的社群,我知道您們有很多好點子……

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

領先一步

VMware 提供培訓和認證,加速您的進展。

了解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部