! This post is also available in the following languages. 英語, 日語

開始贊助 Prettier 與推動公司支持 OSS

前言

大家好,我是前端開發中心(也稱為 UIT) Front-End Dev.9 的花谷(@potato4d)。

在『UIT 新春 Tech Blog』 1/27 的今天,我們將介紹由 UIT 團隊負責贊助的前端領域 OSS 的相關內容。

與 LINE 的前端領域相關的 OSS 贊助狀態

截至 2022 年 1 月,LINE 支援的 OSS 專案(如以下):

Vue.js

  • 2021 年 4 月開始提供贊助,持續中
  • 每月透過 Evan You 個人的 Patreon 平台支付 500 美元

Husky

  • 2021 年 3 月開始提供贊助,持續中
  • 每月透過 Open Collective 公司向開發團隊帳戶支付 100 美元

Bootstrap

  • 自 2021 年 6 月起,我們開始提供贊助,持續中
  • 每月透過 Open Collective 公司向開發團隊帳戶支付 100 美元

自 2021 年以來,組織對 OSS 贊助的意識不斷提升,並積極支援它。本月,我們決定向 Prettier 提供支援。

話到這邊,有一個向 Cybozu, Inc. 贊助的先例,讓 LINE 可以持續對 OSS 的贊助。
感謝過去 LINE 的前輩的幫忙(先例),讓我們接下來有更多的機會能夠做到幫助社會的事情。

為什麼要向 OSS 提出贊助?

有些人可能會對於商業公司贊助 OSS 抱有懷疑的不確定性? 許多開放原始碼(Open Source)軟體是免費非營利的,如果需要,可以 Clone 和修改。而作為一家商業公司,我們可能很難找到好的理由來支援非營利性開放原始碼軟體。

但是,你知道這種狀況背後可能存在風險嗎?

Node.js 生態系統中的許多開放原始碼軟體都是個人或志願者組成的,對於作為前端工程師的我們來說無疑是相當重要。然而,這些 OSS 並不總是具有足夠的可持續性。最近,有許多公司在開發和運營 Next.js 和 Hasura 等 OSS,有很多 OSS 持續在進行,但目前的情況是,沒產生直接收入的 OSS 卻佔絕大多數。

在這種情況下,Node.js 生態系統中經常出現焦慮。自去年發生了 UAParser.js 相關事件以來,針對 Package 就有許多問題一直存在,維護者停止維護的情況也越來越多。

在這種情況下,如果出現其他非原始開發者難以修復的bug時,問題則會存在相當大的風險。對於我們這些承擔重任的營利性企業來說,這種風險是不可忽視的。到目前為止,OSS 的盈利能力一直受到許多開發者個人的支持,眼前需要的是更足夠的的資源贊助,需要每位開發者的協力合作。

直至今日,這種不太好的文化已經顯現出來,即使只從風險評估的角度來判斷,而不考慮對 OSS 文化的同情和支援,企業也都有充分的理由支持開放原始碼軟體。

向 Prettier 詢問支援的意圖和內部使用狀況

這一次的贊助,催化劑是來自以下文章的支援。

https://sosukesuzuki.dev/posts/prettier-begins-paying-maintainers/

本文由 Prettier 的主要維護者之一 Sosukesuzuki 撰寫,引用其中的內容,當前 Prettier 僅由兩個維護者支持,並且每月需向主要維護者支付 1,500 美元。

在 LINE 的 UIT 相關活動中,我們有機會在 UIT INSIDE ep.37 “貢獻和學習的 Prettier 的工作原理”和 UIT INSIDE ep.100 的”開放源碼軟體免費講座”中與 sosukesuzuki 談論當前狀態。我理解持續維護開放原始碼是相當不容易的。

Prettier 是現代前端專案不可取代的工具之一,無論是內部還是外部,對於前端的高生產率至關重要。雖然 OSS 可持續性的討論是當今的趨勢之一,但我們認為,繼續維護 Prettier 對前端開發人員非常重要,因此決定提供更多贊助的説明。

LINE 內部 Prettier 使用方式

當然,不僅整個軟體行業,公司內部也都廣泛的使用 Prettier。 LINE 當中使用到許多 React/Vue 的情況,以及歷史悠久的 JavaScript 專案到的近期 TypeScript 的各種大、小型專案,每個專案使用的函式庫和基礎設施都會有所不同,但如果某些庫和基礎設施保持不變,就會用 Linter 來整理程式碼。

LINE 內部也部署了 ESLint/Prettier,無論前端用了什麼語言或框架,前端開發指南都強烈建議使用 Prettier。

總體而言,Prettier 是 LINE 所有專案不可或缺的工具。因此,我們決定,因為 Prettier 帶給我們許多的幫助,所以我們決定提供贊助資源。

瞭解相關説明與更多資訊

過去 UIT 團隊一直持續支援 100 美元。這一次,我們決定贊助 3,000 美元。 相當於一次贊助兩個現在相當活躍的維護者。因為能夠一次性的在 OSS 領域中支援一筆資金是非常重要的。

與 Vue.js 和 Bootstrap 不同的地方在於,Prettier 當前很大程度上取決於少數維護者的動力,我們也看到局勢在不穩定和可持續中擺動。在這種情況下,像我們這樣的大型公司能夠在正確的時間提供支援,這將大大加強維護者的開發動力,並拋磚引玉創造機會讓其他公司將來可以採取類似的行動。

因此,在考慮繼續提供援助的同時,我們將先提供了 3,000 美元的援助。

促進內部開放原始碼服務的關鍵

到目前為止,我們已經介紹了贊助 OSS 的意圖,以及支援 LINE 內部的 Prettier 的案例。最後,我想向大家介紹一下如何鼓勵企業支持開放原始碼軟體。

明確支援 OSS 的動機

作為開發人員,您願意説明 OSS 社群的優勢。但作為一個組織,您需要充分的理由來提供説明。因此,我們建議大家在拉贊助時,提前考慮組織支持什麼類型的政策。由於支援 OSS 的合理原因通常如以下其中之一:

  • 將 OSS 停止維護的風險降至最低
    • 如果可用的函式庫或框架對公司來說是不可替代的
    • 沒有安全性更新也是一大風險
  • 在招募方面考慮公關面向
    • 藉由公司的政策讓他們對於特定技術印象深刻
    • 他們可以自己規劃技術活動,在 Engineering Blog 上分享知識。而您可以更積極地展示對技術的投資。
  • 在組織內發展、釀造開發文化
    • 以公司、開發人員對 OSS 的積極態度為目標為主
    • 除了自然地增加對 OSS 的興趣之外,它還有助於創建一個可以輕鬆聚集高度感興趣的開發人員的組織。

預先調查 OSS 的支援計劃

在考慮向 OSS 提供説明時,最好提前查看計劃清單相關報告。

例如,如果透過 Evan 的 Patreon 來贊助 Vue.js,當中的說明(如圖)有豐富的說明。

根據金額的不同,廣告和 PV 等都清楚地顯示出來,因此,如果您特別重視品牌推廣和招募,則回饋是決定是否贊助的重要因素。我們建議您提前研究,讓贊助可以有充分的理由。

量化採取後的狀態

最後,建議指標始終要能量化。

雖然提到了關於收益方面的 PV 等量化指標。但現實是需要考慮許多東西的,包含了品牌推廣的抽象元素等等,是無法完全量化測量。因此,希望透過關注公司組織內部開發人員的聲音和外部開發人員的聲音等指標的資訊來判斷效果是否足夠。

如果僅僅通過量化評估,忽略了隱性的影響,支援也可能隨時停止。因此在充分了解 OSS 贊助的性質後,我們也要根據相關的指標資訊來判斷效果是否有達到。

明白這不是一個大金額

最後,重要的要了解對於一個公司組織來說,大約 100 美元的捐款並不大。

當然,要是希望每個人每月為 OSS 提供 100 美元。你可能會退縮,但個人和公司在預算上有很大的差異。

如果有充足的理由,我認為多贊助些應該有很多好事會發生,並可以提出相關的建議給專案,這也許很重要。

最後

這一次,我介紹了在 Engineering Blog 中較少討論對開放原始碼軟體(OSS)的贊助計畫。

自 2017 年以來,我個人一直為 Nuxt.js 捐款。而去年 3 月,我首次作為一個組織捐款。雖然第一次有相當多的事情要做,一旦結果出來時,我就會意識到,以後是可以投入更多的成本來做這件事,希望有更多的組織使用本篇文章來支援、贊助新的開放原始軟體(OSS)。