Jolla Unofficial Chinese Blog

聚焦开发者:Siteshwar与开源和Sailfish浏览器的故事


作为我们开发者故事系列的开篇,今天我们很高兴能和 Siteshwar Vashisht 对话。也许你们已经在#sailfishos 以及其它Freenode IRC2频道知道了Siteshwar,昵称为“situ”。他目前在红帽1工作,也是fish shell 的维护者。他的日常工作包括为GNOME3、KDE4和Xorg5的各个组件修复BUG。在闲暇时间里,Siteshwar为一些开源项目贡献代码,Sailfish系统 便是其中之一。

为Sailfish系统浏览器实现隐私浏览

Siteshwar是怎么开始他的Sailfish之旅的呢?“MeeGo6是一个很棒的想法,可惜被那些不了解这个系统潜质的人抛弃了。当我得知Jolla计划基于MeeGo创造操作系统时7,我便开始阅读他们准备使用的开源组件。Mer是其核心组件,于是我开始通过修复Mer中BUG的方式参与开发。”

在为Sailfish浏览器贡献代码一段时间后,他看到 一篇关于隐私浏览的讨论 ,于是开始和浏览器维护人员讨论起来。“我看了看源码,然后写了一系列实现隐私浏览的补丁。实现像这样的特性一般都得用后端代码,不过 Jaakko (Jolla设计师)做了一个很漂亮的设计。我担保用户一定会喜欢这个界面的。”

(注:隐私浏览的特性将包含在下一次的Sailfish系统升级中)

贡献代码中的一些资源和经验

这一过程有哪些细节?Siteshwar解释道:“浏览器后端的问题差不多靠查Gecko文档 。(Sailfish浏览器使用gecko引擎8和一些轻量嵌入的Qt5绑定)另外, rozhkov (Jolla软件工程师)有一些很棒的关于Sailfish浏览器的博文 。在社区平台上我们使用Mozilla IRC2 #embedlite 讨论相关问题。最后同样重要的是,我们通过 GitHub 追踪问题和合并代码。”

“大家都很友好,也很热心。Jolla团队和社区成员都十分活跃。你总是能获得别人的帮助。社区是Jolla最宝贵的财富之一!”,他进一步阐释到。

隐私浏览之外:Sailfish系统移植和Tweetian客户端

除了Mer的BUG修复和Sailfish浏览器的特性实现,Siteshwar和 Martin Brook (社区开发者和移植人员)正一起努力将Sailfish系统移植到Nexus5上,同时也在等待着Jolla手机能在印度上市。“我们已经发布了一份面向所有人的移植包 ,收到了很多正面的反馈。这是第一个基于CyanogenMod119的移植,同时也为今后移植到OnePlus One10、索尼Xperia Z等设备打好了基础。”

“除了Nexus5的移植以外,我也在写Tweetian for Sailfish OS 。我花了大部分的个人时间在捣鼓Sailfish系统的组件上。”

(你可以在这里查看更多关于Sailfish系统的移植信息:硬件自适应开发指南 )

对开源开发和Sailfish系统有兴趣?

拥有如此多开发经验在手头,Siteshwar完全有资质提供些建议:“不管你是菜鸟程序员还是内核骇客,你总能找到自己的兴趣点。去GitHub逛逛这些源吧:从 Sailfish系统的开源组件 ,到 Mer ,以及 Nemo Mobile (Sailfish系统就是基于Nemo Mobile),然后选个你喜欢的组件。”

“如果你是新手,不要迟疑,尽管提问。任何贡献都是有意义的。小到次要的拼写修复,大到主系统的特性,所有这些都算。就像我喜欢的这首小禅诗一样:

追寻此路:
寻觅大师,
追随大师,
行大师左右,
察大师所想,
成为大师。

其它想法

Siteshwar的一些总结:“我希望对所有帮助我向Sailfish系统贡献代码的Jolla成员和社区成员表示感谢。同时也很感谢红帽能如此灵活,并鼓励我对开源做出贡献。”

至于我,谨代表Jolla团队,我很感谢Siteshwar能在这个话题上分享他的想法、知识和经验!下一步你希望我们聚焦哪位开发者呢?你想了解Sailfish系统开发的哪些方面呢?在评论中告诉我们吧!


  1. 红帽(RedHat)为美国一家IT公司,为开源做出许多贡献,Linux发行商之一。 

  2. IRC,即因特网中继聊天(Internet Relay Chat) 

  3. GNOME,即GNU网络对象模型环境(The GNU Network Object Model Environment)。Unix/Unix-like系统的桌面环境之一。 

  4. KDE,自由软件社区,这里可能是指KDE桌面环境。 

  5. X Window System的实现(多用于Unix/Unix-like系统,区别于Windows和Mac系统的实现)。 

  6. MeeGo,另一个基于Mer的手机操作系统。诺基亚N9是唯一使用这一系统的设备。 

  7. Mer脱胎自MeeGo系统,只是现在较偏向于“MeeGo和SailfishOS基于Mer”这样的说法。 

  8. gecko为浏览器引擎的一种。Firefox浏览器使用的便是这个引擎。 

  9. CyanogenMod是一个基于安卓的开源操作系统。 

  10. OnePlus为一家手机制造商。 


Carol Chen

Jolla社区主管。全球(星级)星舰迷。热爱开源和开放的社区。会用定音鼓、架子鼓和钢琴配着嗓音创作出不错的音乐。


Translated by

TylerTemp

TylerTemp是一只Python程序员。你可以在这些地方找到我哦:      

如果你喜欢我的作品,你可以买我一杯啤酒,让我做的更好:  |  Flattr this