2022-07-31 –, TR311
Language: 漢語
- 經營開源專案往往會需要開發者投入相當多的時間與心力,而如何從經營的過程中持續性的獲得正向回饋即是決定開發者能否長期投入的關鍵因素。在這次的分享中我將以 facebook-crawler 為例,從專案管理的角度與大家分享 facebook-crawler 的理念、策略與收穫。不論你想要為開源專案貢獻一份心力,或者已經是開源專案的貢獻者,相信你/妳都能從這次的分享中更深入的了解經營開源專案會遇到大大小小的事情。並且希望透過這次的幫助大家設計與打造正向的回饋機制!
- facebook-crawler 是一項開源的 Python 套件,可以協助使用者用簡潔的語法快速收集 Facebook 上的公開粉絲專頁、社團的貼文資料,開源至今已經累積超過 2 萬次的下載量,在學術、商業、風險偵測、教育等等方面都有許多應用。
- Github: https://github.com/TLYu0419/facebook_crawler
- PyPI: https://pypi.org/project/facebook-crawler/
(4 mins) facebook_crawler 套件介紹
- 套件簡介
- 套件特色
- 不需登入: 不需要輸入帳號密碼,不用擔心密碼外洩/被鎖定
- 簡單: 僅需要粉絲頁/社團的網址和停止的日期(用來跳脫迴圈)
- 高效: 透過 request 直接向伺服器請求資料(不需安裝 Selenium)
- 使用方式
(4 mins) 開源之前的核心思考
- npm 套件庫遭破壞的事件
- 熱門的 npm 線上套件庫於 2022 年 1 月遭到作者自行破壞,破壞的原因是作者為了生計決定不再無償維護該熱門專案,而企業如希望繼續使用則必須進行付費。這件事情引起了開源界相當廣泛的討論,我們也能從這件事情得知要長期經營開源專案並不是一件容易的事情。
- Ref: 要求使用者付費!熱門函式庫作者搞破壞殃及數千專案 | iThome
- 確認為什麼想要做這個專案?
- 對社會有幫助 / 解決商業問題 / 社群需要 / 個人發展...
- 是不是已經有類似的產品/專案?
- 如果還沒有的話就是你潛在的機會
- 如有已經有的話是否在功能、效率上有不理想的地方?
(5 mins)在開源過程中會遇到的問題
- 發現理想和實務之間的落差
- 設計最簡可行產品
- 持續精進專業能力
- 發現技術能力的不足
- 培養拆解問題的能力
- 透過社群的力量給予你幫助
- 規劃產品地圖
- 界定明確出處理與不處理的問題
(10 mins)開源之後的收穫
- 解決問題帶來的成就感
- 來自社群的肯定(Github專案的Star和Fork數)
- 專業能力的持續提升
- 幫助身邊的朋友、同事解決問題
- 認識許多社群的大大,可以互相討論問題
- 協助使用者解決業務需求,了解領域知識
- 評估走向收費模式
- 成為後輩心中的榜樣
(3mins) 心得總結
- 如果發現了一個痛點還沒有人解決,那麼這可能就會是你成為開發者的大好機會
- 經營開源專案不是一次性的提交程式,而是需要長期性投入時間與心力的過程
- 要能夠持續從經營的過程獲得正向回饋才能長期投入專案
- 如果你是使用者,請溫柔一些對待這些開發人,因為他們是無償幫你解決問題
(4mins) QA
30 minutes
Difficulty –Beginner
Target Audience –Someone who wants to contribute to the community.
游騰林(tlyu0419)是來自國泰世華銀行的資料科學家,擅長透過 Python, R 進行建置機器/深度學習模型、網路爬蟲與資料視覺化。喜歡數據分析並樂於分享,曾在 PyConTW, PyData, MOPCON 以及人工智慧等年會擔任講者。同時也是 Python 開源套件 facebook-crawler 的作者,協助許多使用者快速在 Facebook 上收集資料,發佈至今已有超過 2 萬次的下載量