如何给Telegram纸飞机开源项目贡献代码?
4 个回答
需要知道Telegram的开源项目有两个分支:MTProto协议是闭源的,而官方客户端(如iOS/Android)代码是开源的。因此,如果你想贡献代码,最好是从官方Telegram的GitHub仓库开始。
第一步,去Telegram的GitHub主页看项目文档,看看他们使用的技术栈。官方客户端以Objective-C/Swift为主,有一些C++的组件。对于新手来说,可以从简单Bug修复和UI优化开始。
第二步,找项目中带有 good first issue的issue,这是给新手的入门任务。如果有不懂的地方可以去项目的Discussions区提问。官方开发者会给答案。
第三步,学会提交pr,建议先 fork 项目到自己账号,然后建一个 feature/xxx 分支,提交pr时,要写清楚 pr 的描述信息,说清楚解决的问题是什么,怎么验证的。官方一般会48小时之内给出反馈。
现在Telegram的PR审核比较严格,但是只要你的代码和描述规范,还是有可能被合并的。多阅读项目中的CONTRIBUTING.md文件,它会给出具体的贡献说明。
在 GitHub 找到 Telegram 官方仓库https://github.com/telegramdesktop/tdesktop。这是 desktop 版 C++ 的项目,mobile 版在https://github.com/DrKLO/Telegram。在 README 里面有开发指南。
从简单的Issue开始,比如修复拼写错误、优化注释等低门槛的任务。不会C++的话可以尝试前端部分,利用Webogram等第三方库实现网页功能。
编写完代码后需要运行测试用例来确认没有破坏现有功能。在提交PR之前,最好先在Telegram的开发者群组@tdesktop或@TelegramFeedback进行讨论,这样会更容易被接受。
先去Telegram官网下载源码,看官方教程。纸飞机是闭源的,但是有很多衍生开源项目可以参与,建议从修复简单的bug练手。要掌握好Python和C++基础,熟悉git。去社区活跃的分支提交PR,比如TDLib。有疑问就去GitHub提issue,大佬们会很热心。要稳扎稳打,跑通代码再改功能。现在开始就对。
Telegram 的开源项目准入门槛其实不低,但也不是无法跨越。首先你得掌握基本的 Git 和 GitHub 技巧;其次建议从官方的 Telegram API 官方文档看起。
新手建议找带good-first-issue标签的Issue,难度适中。如果不懂可以在StackOverflow上找答案,也可以在Github上@项目维护者。PR之前记得用Telethon或者MadelineProto本地测一下,不要扔个半成品过来看。
实话实说:不要害怕出错,大佬都是从小白过来的。多参考别人的PR,就会越来越好的。