To kick off our series of Developer stories, we had the pleasure of talking to Siteshwar Vashisht. Siteshwar, whom some of you know as situ on #sailfishos and other Freenode IRC channels, works for Red Hat and is a maintainer of fish shell. In his day job, Siteshwar is involved in fixing bugs in different components of GNOME, KDE and Xorg. In his spare time, Siteshwar contributes to several open source projects, and Sailfish OS is one of them.
Implementing Private Browsing for Sailfish OS Browser
How did Siteshwar begin his Sailfish journey? “MeeGo was a great idea, however it was abandoned by people who did not understand its potential. When I heard about Jolla’s plans to create an operating system based on MeeGo, I started reading more about the different open source components they were going to use. Mer was the core component and I started participating by fixing bugs in Mer.”
After contributing to the Sailfish Browser for some time, he saw a thread about private browsing and initiated a discussion with the browser maintainers. “I looked around in the code and wrote a series of patches to implement private browsing. For a feature like this, it consists of mostly backend code, but Jaakko (Designer, Jolla) has come up with beautiful designs for it. I am sure users are going to like how it looks.”
(Note: Private Browsing feature will be released in an upcoming Sailfish OS update)
Resources and Experiences of the Contribution Process
What kind of nitty-gritty details does this process entail? Siteshwar sheds some light: “For browser backend issues, we mostly go through Gecko documentation.” (Sailfish Browser uses gecko engine with embedlite Qt5 binding.) “In addition, there are some good blog posts about Sailfish Browser by rozhkov (Software Engineer, Jolla). As a communication channel, we use #embedlite on Mozilla IRC for related discussions. Last but not least, tracking issues and pull requests occur on GitHub.”
“People are very friendly and helpful. Jolla sailors and community members are very active, and you can always find someone to help you. Community is one of the greatest assets of Jolla!”, he further elaborates on his involvement.
Beyond browsing: Sailfish OS Porters and Tweetian
In addition to Mer bug fixing and Sailfish Browser feature implementation, Siteshwar worked with Martin Brook (community developer and porter) to get Sailfish OS running on Nexus 5 while waiting for the Jolla smartphone to be available in India. “We made a public release of the port and the response has been very positive. This was the first CyanogenMod 11 -based port, and it paved the way for other devices such as OnePlus One, Sony Xperia Z etc.”
“Apart from the Nexus 5 port, I have also worked on Tweetian for Sailfish OS. I spend most of my time playing around with different components of Sailfish OS.”
(You can read more about porting Sailfish OS from Hardware Adaptation Development guide)
Interested in open source development with Sailfish OS?
With so much contribution experience under his belt, Siteshwar is well-qualified to offer some words of advice: “Whether you are a newbie programmer or a kernel hacker, you can always find something of interest. Take a look around in the GitHub repos: from open components of Sailfish OS, to Mer and Nemo Mobile (which Sailfish OS is based on), and pick the components you like.”
“If you’re a beginner, don’t hesitate to ask questions. No contribution is too small. From a minor spelling fix to a major operating system feature, everything counts. Here is a little Zen poem I like:
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master."
Here are some concluding words from Siteshwar: “I want to thank all the Jolla sailors and community members who have helped me in contributing to Sailfish OS. Also I am very thankful to Red Hat for being very flexible, and encouraging my contributions in Open Source.”
And from me, on behalf of Jolla, I thank Siteshwar for sharing his thoughts, knowledge and experiences on this topic! Going forward, which developers would you like us to spotlight? What aspects of Sailfish OS development would you like to learn more about? Let us know in the comments!