Keshav Bhatt

FOSS developer

[October '20]

Keshav makes FOSS and takes our Twitter mic from October 14th to 21th. Thank you, Keshav!

Please tell us about yourself

Hi, My name is Keshav Bhatt. I am a 24-year-old independent, Free and Open-source application developer from the northern region of India, state of Uttarakhand.

My main focus since I was introduced to FOSS is on developing applications targeting Linux Desktop Operating systems. I have been using FOSS since I was in 10th grade in the year 2010, the first OS which attracted my focus toward application development was Ubuntu 10.10 Maverick Meerkat.

I completed my graduation in Biological Science (B.Sc) in the year 2015 and had a professional graduate degree in Education (B.Ed) in the year 2019. Currently, I am pursuing my post-graduation degree in Chemistry (M.Sc). I also have a foundation level diploma in Computer Applications ‘O’ Level by NIELIT. So, am not an IT professional with any sort of academic background in Computer Science.

I was fascinated by computer science in my childhood and when I got introduced to FOSS my fascination turned into my hobby and I have no plans to look back now. This is the same reason why I got this opportunity to introduce myself with you guys here through this nice platform.

What are you working on right now?

I mainly develop applications for Linux Desktop and publish the code of my Opensource applications here on my GitHub page. I distribute them primarily on my page snapcraft.io where you can find all my work.

These days I am working on QSnapStore which is my attempt on utilizing snapcraft.io public API to make something meaningful which purposively supposed to turn into a full-fledged Application storefront specifically to browse, search, install, remove and update snap applications on snapd enabled Linux Distributions.

GitHub Repository of my current project QSnapStore is here

What is most interesting about that?

QSnapStore is written in Qt toolkit, is based on snapcraft store API by Canonical Ltd., and utilizes various Qt modules, technologies to serve a fast and smooth user experience to desktop users who are using snaps to install and manage Applications on their distribution.

Right now QSnapStore has a lower runtime memory footprint than the existing Snap store App that comes preinstalled with Ubuntu, is more responsive, and provides a very neat and simple user interface to search and browse snap applications.

How did you first discover FOSS?

From childhood, I was very fascinated by Computers and all types of electronic equipment. I got my personal desktop computer in around 2009 or 2010 which was a branded Compaq system with a dual-core Intel atom mobile chipset, 1Gb of RAM, Windows XP Home Edition was OS that came pre-installed with it. I discovered a red-colored logo on the back chassis of the CPU box citing “Red Hat Linux” with a product license key written on it. This confirms that the machine came pre-installed with “Red Hat Linux” and later was formatted with Windows XP in the shop where my parents purchased it.

I quickly searched “Red Hat Linux” on the internet and found that it’s an operating system based on Linux which made me confused and raised an itch inside my head. That’s where I started learning more about “Linux” operating systems.

I ended up flashing my machine with Ubuntu 10.10, after a few days. From here I got involved in FOSS and the night I live booted Ubuntu on my machine, I loved it so much that I lost my sleep and I spent half of my sleep hours checking out Ubuntu Desktop that day.

What prompted you to start contributing to FOSS?

Frankly saying when I come to know about Ubuntu first thing I missed a lot were various applications that I was used to on the Windows Platform. At that time it includes various big little utilities, it was easy to adjust later though.

I noticed a lack of various applications and found the app ecosystem was not strong as it was in Windows. Especially the lack of GUI application was the main issue, and since then I decided to change that with whatever contribution I could make to grow it big.

I first tried to learn the basics of the Linux Operating system, its filesystem, packaging formats, different toolkits, etc. I tried almost all major GUI toolkits including GTK, wxWidgets, FLTK and finally decided to go with Qt toolkit.

Why should others get involved with FOSS?

Getting involved with FOSS includes many benefits, here are some benefits I experienced over time using FOSS:

  • It involves better learning experiences.
  • It helps in improving our work collaboration skills.
  • It helps us in reaching new people, technologies, keeps us rolling with innovations, and helps develop the ability to think critically, make our own decisions in various situations.
  • Helps in shaping our communication skills — When we meet new people, we learn a lot when we stay in communication with them.
  • It supports and uplifts the cause of Free software movement and ensures the freedom to run the software, to study the software, to modify the software, to share possibly modified copies of the software.

These were just my thoughts, there are a lot of other benefits of getting involved in FOSS :)

How should they get started?

There are several ways one can get involved in FOSS. The main two are:

  • Using free and open-source software.
  • Directly or indirectly supporting the movement.

The first thing that I think one should realize is the cause behind the FOSS movement. Once they understand what FOSS is and why FOSS exists, it’s up to their will how they want to proceed, help the movement, and keep their involvement in it. Here are a few ways I think one can help/stay involved in the FOSS movement:

  • Spreading the FOSS initiatives by giving little talks at school, classroom, and wherever you feel comfortable to talk about things among people.
  • You can help other people get starting using free and open-source software and help them with minor issues they face while migrating their workflow.
  • You can get involved in free and open-source projects by providing any kind of help: In testing/improving their work, documenting it, spreading it, or marketing it, making artwork for it, helping in translating the work in your local language, economically supporting their work, etc.

Other than this, there are large and sufficient amount of online resources which can help and motivate you about how you can get involved with FOSS.

What difficulties and limitations do you see with FOSS?

I think Open source Desktop Operating systems like many Linux based distributions and other are major gateways for most of the users, where they meet the true power of FOSS. As they see various projects - big and small collaborating and constitutively forming an Operating system that is powering their machine. I was impressed with the very fact and in my opinion, We need to make this experience a lot better by not breaking things here and there with every new release of the distribution. Various technical challenges are being solved by various people and their groups but, we still need some sort of anticipated direction where all these efforts are going to be in near future.

These distributions help people understand that there are FOSS powered Operating systems that exists in a parallel universe that is capable of doing what these big corporate-backed OS’s can do without playing with their privacy and freedom.

How can they be solved?

These issues can be solved by separating core components of a desktop and develop them in a way that they do not break things here and there with every new release and provide a stable API for developers to consume useful system resources, so they can integrate their applications with Desktopmore easily. We also should welcome more toolkits and provide them a nice playground where they can thrive nicely, so developers can join in and build a stable ecosystem of applications.

Things are changing at a very fast pace in tech world and Desktop Linux is being given priority when it comes to the latest toolkit support: We can take Google’s new cross-platform UI toolkit Flutter as an example here. There is a great opportunity for anyone who wants to develop fluid cross-platform apps with Google’s new toolkit as they recently added support for Linux Desktop.

Another important issue that needs to get fixed here is fragmentation caused among communities due to fights over their personal technological preferences. This is very common these days and people from different communities are choosing to hate others if they are opting to go in a different direction. Sometimes conversations go much personal and end up nowhere. I mean this should not happen. These efforts and energy can be used to shape things positively in a respectful manner.

Where do you see difficulties in contributing?

I don’t see any kind of difficulties in contributing to FOSS, since it gives you the freedom to make your decisions. For example, If a user wants to contribute a change to a certain part of a free and open-source software he can just raise an issue/make a pull request to the existing code repository. If for some reason the maintainer does not agree with your idea you can pull the code make your version of that software and use it, develop it the way you want it to be. I think this is the best part of FOSS, where it helps flourishing diversity, bring more choices and freedom to users and developers.

What does a perfect day off look like?

I like to hang out with my friends on weekends, go out to places where I can find peace, greenery, and blue sky. I also like to ride mountain top and gaze.

Do you want to tell us something else we didn’t ask?

I am glad to be part of this nice initiative. If you are reading this, feel free to contact me if you need help in getting involved in FOSS, you can mail me at keshavnrj@gmail.com. Or visit my website ktechpit.com.