OSCVPass 開源貢獻者

OSCVPass (Open Source Contributor VIP Pass) 開源貢獻者快速通關計畫,是讓貢獻者提出近一年在開源領域貢獻的證明申請,申請核准後取得一年的 OSCVPass 資格,可在合作的研討會活動參與取得回饋。

每年約有 150 - 230 位有效資格,其貢獻類型不僅止於程式碼的貢獻,也有來自開源推廣的努力。

申請資格

請提供實際針對開源專案提供開發、推廣、或其他有助專案進展之貢獻相關證明,開源專案與您的參與須符合下列幾種情況:

  1. 申請者請提出近一年內(月份區間)開源貢獻。(例如此時為 2023/08/15,則可以為 2022/08/01 之後的貢獻申請)
  2. 開源專案意指專案成果以 FSFOSI 認同之公眾授權條款釋出者。
  3. 您的開源專案的貢獻可以包含但不限是:寫/修 Code 的、寫/修文件的、發 ISSUE 的、籌劃推廣活動的、釋出 non-code 作品的。
  4. 所提出之貢獻,必須可以經由公開途徑查證(例如提供 GitHub、GitLab、Bitbucket 等公開專案平台上的討論紀錄、網址、commit log、信件文本、公開釋出之演講投影片紀錄等。)

Note: 如何申請請參考說明

社群

目前 OSCVPass 持續招募社群志工協助申請流程、審核平台、後台管理等基礎建設的建製,歡迎參與!

  • OCF.tw 的 slack #oscvpass 頻道。

其他連結

授權條款

本文件內容以 Creative Commons 姓名標示 4.0 國際 (CC BY 4.0) 釋出。

如何申請 OSCVPass

  1. 如何提出申請:申請簡介說明。
  2. 常見問題:申請、退件、補件時常見的問題狀況。

如何申請 OSCVPass

申請 OSCVPass 的資格與申請前的確認。

申請流程

OSCVPass process flow

  • ➊ 申請 OSCVPass:透過申請表單提交證明文件送出。
  • ➋ 審核委員:由志工組成的審核委員,每月排班協助審核申請案件。
  • ➌ 審核方式(通過):恭喜,將寄送認證合格通知信。
  • ➍ 審核方式(補件、不通過):審核委員會依基本審核標準與建議其補件方式,可參考常見問題
  • ➎ 寄送審核結果通知信:將寄送通知信告知審核結果。
  • ➏ 收錄開源貢獻者資料庫:收錄審核通過名單,以利後續回饋方案的寄送。
  • ➐ 合作研討會:每年與 OSCVPass 合作的年會與研討會。
  • ➑ 專案貢獻頁面:將申請通過的貢獻成果呈現在計畫首頁
  • ➒ 研討會宣傳:持續宣傳讓更多人知道計畫與申請。

申請資格

請提供實際針對開源專案提供開發、推廣、或其他有助專案進展之貢獻相關證明,開源專案與您的參與須符合下列幾種情況:

  1. 申請者請提出近一年內(月份區間)開源貢獻。(例如此時為 2023/08/15,則可以為 2022/08/01 之後的貢獻申請)
  2. 開源專案意指專案成果以 FSFOSI 認同之公眾授權條款釋出者。
  3. 您的開源專案的貢獻可以包含但不限是:寫/修 Code 的、寫/修文件的、發 ISSUE 的、籌劃推廣活動的、釋出 non-code 作品的。
  4. 所提出之貢獻,必須可以經由公開途徑查證(例如提供 GitHub、GitLab、Bitbucket 等公開專案平台上的討論紀錄、網址、commit log、信件文本、公開釋出之演講投影片紀錄等。)

申請前確認事項

  • 是否在一年內的貢獻?
  • 是否有在專案內宣告授權條款?
  • 是否與開源領域相關的貢獻?
  • 是否有在 FSFOSI 認可的授權類型?
  • 所提交的申請證明與申請人關聯是否為本人?

常見問題

申請、補件、退件時常遇到的問題集合,預先閱讀可避免往返申請時程。

申請

不是程式貢獻是否可以申請

可以,只要是開源領域相關的貢獻、不論方式為何,都歡迎提出申請!

申請人與證明文件不相符合

可先透過證明文件上的信箱發送到 oscvpass@ocf.tw 並提及申請人的信箱來建立關聯。

例如在 git-commit 所使用 github@example.com 提交,而申請人使用 gmail@example.com 提出申請,建議使用由 github@example.com 發出的郵件並提及 gmail@example.com 來建立關聯聲明。

或使用在 Github 上 sign-off commits 的 PGP Key 直接簽署證明提交關聯聲明。

聲明範本

證明文件上所使用的郵件信箱:github@example.com
申請時所用的郵件信箱:gmail@example.com

申請後未收到結果通知

可能有幾種狀況:

  1. 由於審核委員皆為志工協助,目前並無固定的審核時間,請耐心等候。
  2. 近期有大量申請案件需要處理,也請耐心等候。
  3. 申請時所填寫的郵件信箱錯誤。

如果等待時間超過申請時間約 14 天或以上,建議直接寄信到 oscvpass@ocf.tw 詢問!

申請表單 Google Forms

目前我們已有計畫重構基礎建設,如果有興趣參與加入志工,歡迎喊聲、寄信或直接開票給我們也行!

退件、補件

常見的退件或補件情況

  1. 所建立或所貢獻的專案沒有授權條款宣告,專案不是設定公開就代表 Open!
  2. 提交的證明文件與申請人找不到關聯,郵件信箱不同或是無法模糊比對為同一人!
  3. 重複申請或是自我專案重複貢獻(鼓勵多多踏出舒適圈或努力曝光專案的推廣)!

社群

  1. 如何參與:成為審核委員或是此計畫的籌備志工。
  2. 計畫藍圖:基礎工程重構計畫。

如何貢獻

目前 OSCVPass 計畫是由一群志工協助日常的申請、審核、通知與研討會接洽合作。

流程現況

OSCVPass process flow

  • ➊ 申請表單:目前是使用 Google Forms 作為申請表使用,但申請項目越來越多元,無法涵蓋表單的欄位定義與申請類型的情況。
  • ➋ 審核委員:目前審核委員由社群夥伴參與,一個月一名委員負責審核,但會因為當月其他因素無法在原定時間內審核完畢。
  • ➌➍ 審核方式(通過、補件、不通過):目前審核的方式採取比較寬送的標準,無標準量化的機制。
  • ➎ 寄送審核結果通知信:通知信透過 AWS SES 大量寄送樣板信件。
  • ➏ 收錄開源貢獻者資料庫:目前是使用 Google Forms 表單標記已通過。
  • ➐ 合作研討會:每年參與的研討會。
  • ➑ 專案貢獻頁面:目前是使用靜態網頁呈現,問題在於整理與分類方式為人工手動方式進行。
  • ➒ 研討會宣傳:在各研討會宣傳申請計畫。

招募志工

計畫目前有兩種類型的志工需要協助,審核委員與專案志工。如有意願參與此計畫,歡迎直接來信到 oscvpass@ocf.tw,我們將協助建立相關設定。

審核委員

主要協助審核申請案件是否有達到基本的審核標準,簡單的審定標文件可以參考。目前每月會有一位值日生負責該月的申請案件,如該月份申請數量眾多,也可提出救援請求讓大家一起幫忙消化申請案件。

專案志工

主要負責改善審核流程、平台基礎工程、規劃宣傳或是其他概念的發想。參與的範圍不侷限流程圖上的項目,也可開拓新的領域來嘗試!

Note: 目前 OSCVPass 專案也在招募實習夥伴,請參考 OCF 的實習佈告

規劃藍圖

計畫緣起

OSCVPass 原來自 COSCUP 開源貢獻方案,但因為 COSCUP 不再需要報名入場,因此將此方案貢獻給開放文化基金會 OCF 繼續規劃與執行。

不論是在 COSCUP 期間所執行的計畫或是移交給 OCF 的規劃,都是希望可以多多鼓勵大家參與開源文化的貢獻,不論是在程式碼的貢獻或是以開源精神、開放文化的方式產出的作品都會是 OSCVPass 所希望能回饋的貢獻者!

流程說明

計畫流程大致上整理如下表,依運作流程項目解說,目前計畫面臨的問題與希望可以改善的下一步。

OSCVPass process flow

  • ➊ 申請表單:目前是使用 Google Forms 作為申請表使用,但申請項目越來越多元,無法涵蓋表單的欄位定義與申請類型的情況。
  • ➋ 審核委員:目前審核委員由社群夥伴參與,一個月一名委員負責審核,但會因為當月其他因素無法在原定時間內審核完畢。
  • ➌➍ 審核方式(通過、補件、不通過):目前審核的方式採取比較寬送的標準,無標準量化的機制。
  • ➎ 寄送審核結果通知信:通知信透過 AWS SES 大量寄送樣板信件。
  • ➏ 收錄開源貢獻者資料庫:目前是使用 Google Forms 表單標記已通過。
  • ➐ 合作研討會:每年參與的研討會。
  • ➑ 專案貢獻頁面:目前是使用靜態網頁呈現,問題在於整理與分類方式為人工手動方式進行。
  • ➒ 研討會宣傳:在各研討會宣傳申請計畫。

基礎工程

由於專案申請流程目前存在大量的手工操作程序,而累積的申請案件越來越多、也漸漸影響到每一次通知前的準備。因此在 2023 下半年度開始計畫重構目前計畫的基礎建設,優化其流程!

近期進度:

  • 2023/08/01 目前 ➊ 已開始測試使用 Pretalx 來解決 ➋➌➍ 的流程優化問題。

工程進度

秉持著開放的精神,我們將目前重構的工程進度都回報在 Project 上,歡迎持續追蹤並給予我們建議,感謝!

Note: 可參考如何參與加入我們一起改善!

開發流程

若要直接在docker上啟動環境,可以直接參見在 Docker 上執行 OSCVPass

Pretalx 建置 (用於 Pretalx 核心開發)

本章節主要說明如何建置官方 Pretalx 的程式碼。

完整建置流程可以參照官方說明

前置作業

需要先安裝以下工具:

工具Debian 套件名稱
python 3.6+
pip 3python3-pip
python-dev 3python3-dev
python-venv 3python3-venv
libffilibffi-dev
gettextgettext
gitgit
  • 部分套件需要編譯器建置,若安裝失敗可先確認套件 build-essential 是否安裝。

開啟虛擬 Python 環境

python3 -m venv env
source env/bin/activate
  • Ubuntu/Debian

由於部分套件版本較舊,建議可先執行以下指令更新必要套件:

sudo pip3 install -U pip setuptools wheel

複製原始碼

git clone https://github.com/pretalx/pretalx.git
cd pretalx/

初始環境建置

首先安裝主程式所需要的相依函式庫:

(env)$ cd src
(env)$ pip3 install --upgrade-strategy eager -Ue ".[dev]"

接著,複製靜態檔案至 STATIC_ROOTS 資料夾中,並初始化本地資料庫:

(env)$ python manage.py collectstatic --noinput
(env)$ python manage.py migrate

為了能夠登入並操作,您需要創建至少一位具有管理員權限的帳號:

(env)$ python manage.py init

此外,若您開發上即刻需要一個用於測試的活動,您可以執行以下指令來創建:

(env)$ python manage.py create_test_event

語言檔案 (可選)

由於 Pretalx 預設僅有英文語文檔案已經事前編譯完成,若您需要使用其他語言,您需要執行以下指令:

(env)$ python manage.py compilemessages

啟動環境

(env)$ python manage.py runserver

在 Docker 上執行 OSCVPass

本章節主要說明如何在本地端的 docker 上運行 OSCVPass。

詳細執行流程可以參照 pretalx-docker 官方說明

複製原始碼

$ git clone -b pretalx https://github.com/ocftw/OSCVPass.git
$ cd OSCVPass/

直接執行

  • 運行測試環境
$ cd pretalx/
$ docker compose -f ./docker-compose.yml up
  • 運行生產環境
$ cd pretalx/
$ docker compose -f ./docker-compose_prod.yml up

文件開發

本章節主要說明如何貢獻 OSCVPass 的說明文件。

OSCVPass 採用 mdbook 和 html 撰寫: mdbook 主要負責用來撰寫說明文檔,用於技術說明; html 則用於撰寫宣傳 OSCVPass 的參考範例。

文檔皆位於 src/docs 資料夾底下:

  • roadmap.md :主要紀錄本專案的工程進度以及未來展望。
  • README.md :為說明文件的入口文件。
  • SUMMARY.md :用於渲染說明文件上左側的文章樹。

建議工作流

  • 若要新增頁面,請先參考 SUMMARY.md 中現有的文章大分類,若無再自行新增,並將 新增之頁面放入該大分類中。

  • 中英文單字間請一律添加空格(不論連接之字詞是否為全形字),以維護文檔的流暢度。

雜項

  • 關於 GitHub 上的分支
    • main - 用於 Github Pages 上託管說明文檔
    • docs - 用於暫存新版的說明文檔。
    • pretalx - 用於儲存 OSCVPass 所使用的 pretalx docker 設定檔

2023 intern

-ChAoS-UnItY 實習紀錄

2024 intern

-Ayu_kevin 實習紀錄

實習紀錄

ChAoS-UnItY

關於我

我是 ChAoS ,於 2023 的暑期中在 OCF 實習,很榮幸地能夠被分配到 OSCVPass 的專案整治,也很感謝 Toomore 在實習期間指導。

目前進度

目前 OSCVPass 移植到 Pretalx 。已正式上線於該網站

GitHub

GitHub 的部分已經大致上整治完成:

且新增了 project 和 tracking issue 的機制: project 用於追蹤各 issue / pull request 的進度及影響範圍,讓團隊成員及社群可以更方便的檢閱感興趣的 issue / pull request 的進度 ; tracking issue 則用於整合各 issue 到一個大項目 (issue) 中,方便檢閱該大項目中的進度是否有其他問題。

每個分支都有不同的作用:

  • main 主要用於主持 OSCVPass 的靜態網頁並固定同步至 GitHub Pages , 包括介紹頁以及文檔
  • docs 要用來擺放暫存的靜態網頁和文檔,完善後透過 pull request 的機制合併至 main 分支中。 (需要注意的是如果其他成員有暫存的進度在 docs 分支上,請另外開一個分支防止進度衝突,並在 pull request 被合併後自行刪除,當然我會更建議這樣做。)
  • pretalx 用於存放pretalx docker設定檔。

關於 issue 和 pull requests 工作流程的機制,詳見關於工作流程

Pretalx

已完成問卷和email寄送的部分,詳細的 remote control 可以參考這裡

  • 問卷
  • Email寄送

給後續完善 OSCVPass 的成員

截至 8/29/23 , Pretalx 尚未發布 2.3.2 後的正式版本,目前該版本存在以下幾個問題:

  • 無法將 Additional Speaker 選項隱藏 Additional Speaker 在 OSCVPass 的申請表單是無效的資訊/欄位。
  • Api 尚未研究完全 串接的部分目前是規劃使用 COSCUP SecretaryKit 裡面的 python 腳本,但由於 COSCUP 端的說明文檔尚未完善,且實習也接近尾聲,故目前暫緩轉移腳本。
  • 自動化流程缺失 目前尚未實作自動化流程,無法自動定期將年會資訊寄送給合格的 OSCVPass 會員。
  • 權限不明 根據 Pretalx 官方的文檔,雖然可以創建 superuser 作為初始管理員,但針對新創用戶的權限提拔目前尚未找到正確的流程,可能需要詢問官方或是對 COSCUP pretalx 有經驗之人員。

關於工作流程

若您是社群貢獻者,可以直接創建 issue / pull request ,後續團隊會自動幫你處理 issue / pull request 的分類以及 issue tracking 和 pull request review。

Issue

Issue 創建後,若 issue 具有一定大小,需要後續追蹤,請在 OSCVPass 的 project 中的 tracking 類別裡面找最相似的類別,於該 tracking issue 中編輯新增你的 issue ;也請順道將創建的 issue 分類在 project 的對應狀態分類中。

若沒有編輯 tracking issue 的權限的話,請通知 Toomore 協助處理權限。

Pull request

至後續完善 OSCVPass 的團隊成員,我建議本地端的進度放在自己的 fork 上,防止進度衝突和保持 OSCVPass 專案庫的分支整潔。

Pull requests 創建後,請待其他 OSCVPass 的成員分配分類標籤,並請等待至少 1 位成員 review 變更後再合併進去。

若該 pull request 是為了關閉 issue 的話,請在說明主旨中寫出 Fixes #[...] ,方便後續合併之後能夠自動關閉 issue ,詳細用語(法)與關閉機制請參考官方說明文檔


2024 intern