這幾個禮拜一直在嘗試一件事: Open Source 自己的想法。
對一般非工程師的人來說, Open Source (或者說「開源」)這個概念可能有點陌生。
我最基本粗淺的理解是,這個概念最早是跟軟體綁定,開源=開放軟體的原始碼,後來逐漸擴展到不同領域,例如實體產品的設計圖可以開源,讓大家照著製作,做出某個決策背後的資料可以開源,讓大家去檢視決策的合理性,所有的內容都可以開放源頭,讓大家可以閱讀,甚至可在合理的規範及限制下取用。
我不會寫程式,所以一直以來沒特別深究開源的價值或意義。但自從我開始使用 Zola 搭配 Github 及 Netlify 建立部落格後,好像就開始慢慢碰觸到一些這類的東西,而對「開源」這個概念產生興趣。
於是我開始想,我可以開源什麼?
文章與電子報的源頭想法
我在工作上或在閒暇之餘,最常也最擅長產出的內容應該是文字,因此若要開源,那應該也是從文字開始。
但在早已公開發布的部落格文章以及電子報之外,我還可以公開什麼?我想到更源頭的兩個方向,第一個是「為什麼我會想寫這些東西」,第二個是「我這些內容是怎麼來的」。
前者偏向目的、動機,後者偏向手段、方法,但這兩者殊途同歸,都是我的想法。
通常來說,在網路上比較常看到成熟的、完稿後的內容,他們可能是專注於分享或介紹某些事情。但背後的寫作動機,以及更原始的內容片段以及想法,通常可能會被視為草稿,或者是不成熟的、私人的內容。
比方說,為什麼會想寫某個主題?可能是來自於某些情緒或功利的動機,例如覺得很喜歡,想分享,覺得很爛,想分享,覺得這個主題很熱門,會有很多人看,想分享。
怎麼寫出來,可能更難描述,如果不是訓練有素的專業寫作者,通常可能是想到什麼就寫什麼。
也因為大家在公眾場合傾向展現完美的一面出來,這些不成熟的內容就比較不容易看到,至少以我來說,我過去也不太習慣把不成熟的想法公開,因為怕不嚴謹的內容會被別人覺得我寫得很爛,或者怕還未收集完多方視角與掌握正確事實的觀點被挑戰。
但好像就是因為這個狀況,所以更有把這些不成熟想法開源的價值與意義。
開源自己想法的意義
開源軟體的好處在於,任何人都可以透過程式碼,知道這個軟體是怎麼運作的,怎麼組成的,進而一方面可以嘗試用同樣的方式實作,也可以提出更好的建議。
想法則不太一樣,別人即使知道我的各種原子想法,也不太可能跟我產出完全一樣的內容。但假若這些原子想法能夠提早被得知、被驗證、被挑戰,對我來說則有兩個重要的好處:
- 我能產出更好的想法與內容
- 別人更能理解我的想法與內容
而這兩個好處是可以相輔相成的,當別人更理解我正在想什麼、好奇什麼、喜歡研究什麼,就有機會提供我更多建議與想法,我也更能產出進一步的想法與內容。
這也是我嘗試開始運作個人 wiki(2023.01.02 更新,目前經過兩次迭代,個人 wiki 的內容已經都變成站上的 Snapshots 專區的內容了) ,也把完整內容直接開源的初衷,這種簡單的形式有助於我無壓力地公開自己的想法,而這個相對低壓力的任務也有助於我去逼自己思考跟產生更多想法,當這些想法慢慢累積,並且經過整理,就能產生更多新的想法與內容出來。
所以,歡迎大家可以看看我各種不成熟的想法,例如我每天會在 Daily Why 這個頁面紀錄一個「為什麼」的問題,這些問題以及簡單的回答,可能過一陣子,或者在某個時間點,就會成為我電子報與部落格的內容,但即使不考慮後續的公開發布,光是思考以及紀錄,就令我感到非常有價值了。
Workflow 分享
今天想分享的 Workflow 是「先在筆記軟體寫草稿,再到(工作)通訊軟體發出」。
我們公司使用的通訊軟體是 Slack ,對於 Slack 我幾乎沒什麼怨言,很滿意它的諸多功能,例如分頻道、threads、自訂 emoji、自訂 slack bot、排程發出訊息、huddle、沒有已讀通知等等,幾乎都是非常合理且實用的設計。
除了 Slack 以外,可能大家工作上也會用 Microsoft Teams ,或者是 Line , FB Messenger 等通訊軟體來溝通聯繫,甚至只用 email 的應該也有。
在這些軟體上,最常見的溝通應該就如同一般通訊軟體一樣,是你一句我一句這樣的對話。
但工作上也有時候會需要透過一段長文字來說明某件事,或者是回答某個問題。
在這種情境,我一律建議先在某個筆記軟體寫草稿,再到通訊軟體發出。
這樣做的好處有三個:
- 避免打字打到一半手殘發出,釀成悲劇
- 能更好地組織文字以及想法
- 能夠更好找到自己之前講過的東西
第一個好處顯而易見,大家應該都有過還在打字,卻不小心送出,然後必須尷尬收回訊息的狀況。倘若先在文字編輯軟體如 Drafts ,或者是自己熟悉的工具像是 Logseq, Obsidian , Notion 等等把要打的字完整打好,再轉貼過來送出,就能把尷尬出錯的機率降到最低。
第二個好處是因為,你可以先自由地編輯跟組織自己的文字,再來逐字調整修正,甚至可以列出兩三種版本的內容,同時比較,這些都是筆記軟體比通訊軟體更擅長處理的事。
第三個好處是因為,筆記軟體通常有比較好的搜尋訊息功能,假設你對於這些內容還有基本的分類,那麼將會比在通訊軟體裡面更好找到這些「重要一點的文字」。假設某個未來的時間點,大家都想找某則訊息討論,但沒人找得到,此時你一下就找到,那大家一定會覺得你很棒。
推薦文章
本期想推薦的文章,是兩篇跟今天主題 "Open source 自己的想法" 相關的文章,或者可以說是這期想法的由來。
第一篇是之前在 寫部落格對我的影響 這期裡面推薦過的 swyx 寫的 Digital Garden Terms of Service。
這邊的 Digital Garden ,指的是個人在網路上維護的小小空間,可能是部落格,或者是透過 Notion, Logseq, Obsidian 等知識管理軟體公布的個人筆記頁面。
而這篇「使用者條款」,就是站在這些人的角度提供的某種「聲明」或者「宣言」。
例如,開頭就向「訪問者」(visitors)宣布:「這是我自己的小小天地,上面的東西並不完美。」(潛台詞是:所以你別完全相信、也不要花很多力氣跟我爭辯)。
並且也要求想要討論與引用的人,必須遵守一定的規範,例如:「你可以引用,但不准完全剽竊。」
但同時也有一些自我宣示的條款,例如:「我不會公布與他人的私人對話。」、「若發布的是負面內容,我會考量對方可能的感受。」
我覺得這是有意思的條款,他的目的是讓人更無壓力的分享,也讓潛在的討論能夠更有建設性一些。
第二篇想分享的文是,當我搜尋 Open source your knowledge 後,第一則跳出來的相關文章: Why you should Open Source your knowledge | by Allan Viana | Medium (其他都在講 Open source 軟體的事)
這篇文與今天講的主題很像,他提到了將自己的知識開源的好處,其中一個關鍵是「文件化」這件事可以提高品質,甚至能達成 "future-proof" ,可能可以理解為「面向未來」,意思是你寫的內容都是可以對未來的某個人(包含自己)提供幫助的。
新東西分享
今天想分享的新東西是 Working Copy 這個 iOS/iPad OS 上面的 app 。
他是一個 "Git client" ,在此不特別展開介紹什麼是 "Git" ,可以先簡化理解成, Working Copy 可以讓使用者在手機上也執行各種 Git 的版本控管指令。
再簡化一些,可以理解成,我可以在手機上透過 Working Copy 串接我的 Github repository ,進行程式碼的編輯與同步。
而且他本身與 iOS 的檔案管理系統整理的很好,我可以透過其他文字編輯器打開 Working Copy 裡面的檔案。
由於目前我的 blog 是透過 Zola + Github + Netlify 運作的,透過 Working Copy ,我就可以在手機上面編輯我的 blog 內容。
我相信這種編輯純文字的用途只是大材小用而已,未來應該還有機會有更多使用 Working Copy 的情境,有興趣的人可以自行估狗看看。
他的付費機制是可以先試用,若試用期過了就必須付費(670 台幣)才能解鎖 Pro 的功能,並且可以享有一年的更新。因為很喜歡這個 app 的設計,所以我很爽快地買了!