ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

sktime GSoC 2022 开源参与指南:申请时间线、入门任务、面试流程与贡献者成长路径

sktime GSoC 2022 开源参与指南:申请时间线、入门任务、面试流程与贡献者成长路径 sktime GSoC 2022 开源参与指南申请时间线、入门任务、面试流程与贡献者成长路径【免费下载链接】sktimeA unified framework for machine learning with time series项目地址: https://gitcode.com/GitHub_Trending/sk/sktime本文基于 sktime一个面向时间序列机器学习的统一框架官方文档 docs/source/events/gsoc_2022.md 展开系统还原 sktime 参与Google Summer of CodeGSoC2022的完整申请与开发流程。通过本文你可以掌握该项目的开源贡献文化、从入门任务PR→ 申请表单 → GSoC Proposal → 结构化面试 → 暑期开发的完整链路并结合仓库中的 贡献指南、开发者指南 与 辅导计划 等一手资料理解如何真正落地一次时间序列 ML 开源贡献。sktime 的目标是打造一个全面的时间序列机器学习工具箱覆盖时序数据的分类、回归、聚类、预测、变换、检测、对齐与距离/核函数等场景对应仓库 sktime/ 下的classification、forecasting、transformations、detection、clustering、dists_kernels等核心模块。GSoC 正是该项目吸纳新贡献者、让社区与新手开发者共同成长的重要渠道。以下内容以官方 2022 届文档为骨架并辅以仓库源码与开发文档进行纵深验证。申请流程与关键时间线2022 届官方文档给出了从申请到编码开始的完整时间轴各步骤细节在后续章节分别展开时间UTC里程碑4 月 12 日 18:00想获得 Proposal 反馈者需完成入门任务、申请表单与 GSoC Proposal 的截止时间4 月 19 日 18:00最终申请截止必须完成入门任务、sktime 申请表单与 GSoC Proposal4 月 26 日告知申请结果最迟4 月 25 日 – 5 月 8 日面试窗口期优先日期为 4 月 29 日与 5 月 6 日5 月 15 日面试结果通知最迟一周向 GSoC 委员会提交排序后的候选人名单5 月 20 日GSoC 官方公布最终结果5 月 20 日 – 6 月 12 日Community Bonding Period社区融合期6 月 12 日向 Google 管理员通知拟移除的不活跃贡献者的截止日期6 月 13 日编码阶段正式开始需要说明的是本文记录的是2022 届的历史流程具体日期仅作为当年安排的存档但其背后的贡献门槛设计先提交真实 PR、再提交表单与 Proposal、最后面试体现了 sktime 一贯的贡献者筛选与培养逻辑对后续申请者仍具参考价值。申请三步曲入门任务、sktime 申请表单与 GSoC Proposal官方要求申请者必须在4 月 19 日 18:00UTC前完成以下三件事缺一不可。第一步入门任务——向 sktime 提交一个 Pull Request入门任务的核心是通过一个真实的 PR 证明你具备有意义地参与项目的能力具体要求为向 sktime 仓库提交一个 Pull RequestPR申请时 PR 无需已被合并如何贡献可参考官方提供的新贡献者入门 issue汇总与开发者指南如果你已经熟练使用 git 与 GitHub 协作开发可以跳过此步但在申请表单中需要提供公开可见的经验证据链接。这一步的门槛在仓库中有完整的配套文档支撑。贡献指南 为首次贡献者推荐了清晰的步骤先在社区打个招呼完成开发者环境搭建然后挑选一个good first issue开始动手建议选一个小而简单的任务来学习整个流程。而 开发者指南 则要求新开发者加入开发者 Discord 并在#intro频道报到、安装本地开发环境、掌握 CI 测试的本地/远程运行方式并熟悉 Git 工作流 与 编码规范。如果你此前没有协作开发经验Git 工作流 给出了从零开始的完整命令路径# 一次性初始化fork 上游仓库后克隆到本地 git clone gitgithub.com:username/sktime.git cd sktime git remote add upstream https://github.com/sktime/sktime.git # 每个新功能重复从 main 创建特性分支 git fetch upstream git checkout main git merge upstream/main git checkout -b feature-branch # 提交并推送随后从你的 fork 发起 Pull Request git add modified_files git commit git push --set-upstream origin feature-branch该文档还特别强调两点工程纪律永远不要在main分支上开发更新特性分支时始终使用merge而非rebase因为仓库对 PR 会 squash 成单一提交rebase重写历史反而可能带来难以恢复的状态。第二步填写 sktime 申请表单完成入门任务后需要在官方提供的在线表单Google Forms中提交个人信息与入门任务链接。注意表单在提交前应已完成入门任务因为表单中需要提供任务链接该表单与 GSoC 平台上的 Proposal 是两套独立提交不要混淆。第三步在 GSoC 平台提交 Proposal在 GSoC 官方平台summerofcode.withgoogle.com提交项目提案官方明确说明Proposal 可以基于建议项目列表见下文项目选题、你的入门任务也可以是你自己的独立想法无论选择哪种团队都承诺主要按质量进行公平评估sktime 对 Proposal 没有额外特殊要求直接遵循 GSoC 官方的提案撰写指南即可。申请反馈机制想提前拿到反馈须在 4 月 12 日前完成如果你希望就自己的 Proposal 获得团队反馈官方提供了一条提前通道完成入门任务同上提交 sktime 申请表单其中对是否申请反馈的问题选择Yes在 GSoC 平台提交 Proposal同上。4 月 12 日截止后团队会在三个工作日内尽力提供反馈。由于时间有限官方并不保证所有申请者都能获得反馈但会优先回复更早完成上述步骤的人拿到反馈后你应当据此更新 GSoC Proposal。申请结果的两种可能4 月 19 日截止后团队处理完材料最迟于4 月 26 日告知结果只有两种情形进入面试进入下一环节见下节未通过官方特别说明这只是 GSoC对参与者要求极为苛刻的淘汰不应打击你继续参与开源sktime 或其他项目的意愿——例如你仍然可以申请 sktime 的无薪酬一对一辅导计划即仓库中 辅导计划文档 所描述的 2–3 个月非正式 mentorship 项目。面试环节结构化面试的结构与考察重点通过初审后你将收到核心社区成员主持的结构化面试邀请时长约 30–60 分钟窗口期4 月 26 日至 5 月 8 日优先日期为 4 月 29 日与 5 月 6 日官方希望候选人尽量留出这两天面试内容一段5–10 分钟的 Python 代码展示具体时长以最终通知为准。请提前准备好屏幕共享你的代码或发送包含代码的仓库链接关于加入 sktime 的动机、过往经验、与所申请项目的匹配度以及数据科学与 Python 的技术性问题。面试结束后社区将对候选人排序并将首选名单提交给 GSoC 委员会由 GSoC 做出最终决定与名额分配。团队会在最后一位候选人面试后的一周内告知团队侧看法GSoC 则在5 月 20 日公布官方结果。结果也只有两种有条件录取Conditional acceptance进入提交给 GSoC 的短名单意味着很可能但不保证被 sktime 的 GSoC 项目录取拒绝Rejection不在 2022 届短名单中。官方同样强调这只是 GSoC 这一严苛项目的淘汰社区随时欢迎任何人在 GSoC 之外加入 sktime。加入社区沟通渠道与协作方式官方鼓励申请者尽早融入社区遇到问题可随时求助加入 sktime 的Discord 服务器并在大厅打个招呼关注sktime 社区日历跟踪即将到来的活动与会议在 Twitter 关注 sktime 官方账号。仓库侧的 贡献指南 与之呼应提供了更具体的融入路径在 Discord 的#intro频道报到、参加常规社区协作会议collab sessions与主题化 stand-up/技术会议首个 PR 合并后可进一步考虑申请辅导计划或定期参与周五社区协作会议。开发者指南同样把在 Discord 打个招呼列为新开发者的第一步可见先建立联系、再动手编码是该项目一贯的协作文化。双方的期望与承诺一份对等的契约官方文档用两个小节明确刻画了 GSoC 的契约——这是一场马拉松而非短跑。sktime 对你的期望GSoC 开始之前对时间序列、机器学习、统计学、API 设计与软件架构感兴趣喜欢用 Python 编码熟悉 Python 基础数据科学生态numpy、pandas、scikit-learn——这也与仓库 开发者指南 中sktime 尽可能遵循 scikit-learn 的 API的设计原则相印证乐于与经验丰富的 ML 科学家与软件工程师团队共事对开源充满热情。GSoC 期间遵守 行为准则全职投入 GSoC 项目与导师保持每日联系参与 sktime 社区与其他 GSoC 参与者互动在 GSoC 中期与末期对同伴的作品进行同行评审每周撰写博客文章并在项目结束时发布最终总结文章考虑成为长期开发者与贡献者逐步成长为开源工具箱开发的领导者。你可以从 sktime 期待什么社区同样遵守行为准则由经验丰富的贡献者提供1-1 辅导每周例会对你的努力包括博客给予定期反馈与帮助通常2 个工作日内响应全行业通行的敏捷工作方式如每日站会 daily standups数据科学热门领域的前沿项目时间序列、工具箱、医疗与工业应用获得多种可迁移技能既有技术技能编码、设计、测试、文档也有软技能团队协作、给予/接收反馈、目标设定与 sktime 社区及其他 GSoC 参与者交流互动的机会成为 sktime核心开发者的机会。这些承诺并非停留在纸面——仓库中的 辅导计划 文档即提供了常态化的同类支持为期 2–3 个月的 mentorship、帮助你找到感兴趣的主题也可自拟、与经验丰富的贡献者配对并进行每周通话以获取反馈与讨论下一步。两者共同构成了 sktime从新手到核心开发者的完整培养链路。项目选题与 2022 届导师团队项目选题来源官方为候选人提供了两条选题路径建议项目列表可在 sktime 的 mentoring 仓库internships/projects_2022.md中查看当年的建议项目Good First Issues仓库中以good first issue标签收集的入门级 issue。同时官方明确表示非常欢迎申请者自带想法own ideas提交 Proposal——评估核心始终是质量。2022 届导师名单姓名GitHub备注Franz Királyfkiraly提供个人主页Guzal BulatovaguzalbulatovaLovkush Agarwallovkush-a提供个人主页Lukasz Mentellmmentel提供个人主页Martin Walteraiwalter导师团队横跨时间序列方法研究、API 设计与工程实践等方向与 sktime 作为统一时间序列 ML 框架的定位一致。给后续参与者的仓库级参考把申请经验沉淀为真正的贡献虽然 GSoC 2022 已收官但当时文档所依赖的贡献基础设施在仓库中持续可用任何时间想以同样标准参与社区的人都可以按以下路径落地从贡献指南起步贡献指南 汇总了good first issue列表、Discord 协作会议、辅导计划入口等全部资源是所有贡献路径的起点搭建开发者环境按 安装文档 安装可编辑开发版并带上 dev 依赖pip install -e .[dev]再通过pre-commit install挂上 编码规范 所要求的ruffmax_line_length88与numpydoc检查确保提交即符合社区质量标准跑通测试sktime 采用pytest构建三层测试架构测试框架文档——包级tests/test_all_estimators.py、模块级test_all_[scitype].py与低层单元测试本地可运行make test或pytest ./sktime估算子级对象可用check_estimator工具也可通过make dockertest PYTHON_VERSIONpy314在 build_tools/docker 提供的容器中复现 CI 环境Dockerfile 按py310–py314命名对应 Python 3.10–3.14提交首个 PR遵循 Git 工作流 的 fork → 特性分支 → merge 更新 → PR 全流程并注意其不用 rebase、及时开启 draft PR 获取早期反馈等社区惯例申请长期辅导如果希望在 GSoC 之外继续成长仓库中的 辅导计划 提供滚动接受申请的 2–3 个月 mentorship申请方式同样是从一次真实的 PR或其他贡献开始。从入门任务必须提交真实 PR到每周博客 同行评审 长期贡献者承诺sktime 的 GSoC 流程本质上是一条可复用的开源成长路径以最小但有意义的贡献入场在结构化反馈与社区协作中逐步走向核心开发者。无论你是时间序列 ML 的初学者还是已有经验的工程师这条路径都值得参考与尝试。【免费下载链接】sktimeA unified framework for machine learning with time series项目地址: https://gitcode.com/GitHub_Trending/sk/sktime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表