In conversation with Liyas Thomas, author of Hoppscotch
Read our interview with Liyas Thomas, author of Hoppscotch.
In this interview, Liyas walked us through his journey into the open-source contribution, his thoughts on open-source vs proprietary software, how young developers can start open-source contributions, future of the open-source community in India.
Liyas, tell me about your project Hoppscotch and other FOSS projects that you have worked on?
Hoppscotch is a free, fast, and beautiful API request builder used by 120K+ developers from around the earth. Helps you create requests faster directly from the browser window itself, saving precious time on development. Hoppscotch started as a personal tool for myself in August 2019 and then became a community-driven tool for developers. Apart from testing REST APIs, Hoppscotch supports GraphQL, WebSocket, Server-Sent Events, Socket.IO, and MQTT broker endpoints. Along with testing APIs, developers can also generate API Documentation, create and share API collections/environments among teammates. With over 20K+ monthly users, Hoppscotch is becoming a one-stop platform for API development and testing ecosystem.
Apart from Hoppscotch I’ve made over a dozen open source projects in which most of them are either developer tools or general utility applications.
Some of them are:
- Marcdown - Lightweight real-time markdown viewer and editor.
- Colorbook - Color schemes for UI design - optimized for the foreground, background, border, etc.
- Books - Google Play Books client - a fun project for all the book lovers.
- ebb - A web app that gamifies stress/anxiety/depression management in an actionable manner to provide relief (one among FOSS Hack 2020 winners).
- Check out my GitHub profile for all projects and contributions.
How did you get started with open-source contribution?
I’ve been into programming and web development for the past 6 years. Whenever I stumble upon an opportunity to enhance the developer experience - I immediately hack a solution and open-source it to the community. The community has always been very welcoming to such projects because in one way or another some of them had the very issues which I had and struggled with them. That’s how I started creating and contributing to open-source projects.
I’m also a usual participant in events such as Hacktoberfest, hackathons, and community meetups. This bonds me with the open-source community both online and offline.
What are the bright sides of the open-source software that proprietary software can never achieve?
As software is eating the world, open-source is eating software. A trend we’re seeing now is that organizations themselves are becoming open source in the way that they operate as a development organization. As organizations change the way they develop code, infusing open source principles and practices into the development process, the technology that’s created is better, more innovative, and more secure - above all more transparent which is something a proprietary software can never achieve.
What difference do you find in the software development process of proprietary software and open-source software? What an open-source project should learn from the proprietary software development process.
The scope of the open-source software development process and involvements are pretty broad. For the past decade, we’ve seen developments of open source projects and communities sharing the work under open governance. While independent projects (on GitHub / GitLab / Bitbucket etc.) are great, even though they can sometimes pose a risk if the creator stops maintaining the project. To that extent, just like what proprietary software does, every open-source project's goal is to galvanize industry players and individual contributors alike around open source foundations and organizations that support and amplify a project. Seek to set up clearly defined contribution processes and open governance so that more users can contribute to a vibrant community setting.
What's your comment on the practice where developers are taking short-cuts (by completely /chiefly making their project dependent on 3rd party APIs) in building their project, especially we see in hackathons these days, rather than they should self-host their projects and use minimum 3rd party APIs?
Before identifying a 3rd party API as a solution, the initial step is to identify the problem. The key here is to be very specific about the problem you are identifying. First, hatch the problem. Once you’ve identified the problem, the next step is to ideate possible solutions, and they don’t have to necessarily be technical solutions. Then, from those proposed solutions, create prototypes and begin to test each one. Continue testing and refining the prototypes until you have enough validation to move full-steam ahead with the one that is working. Narrowing down your prototypical solutions through trial and error is incredibly important before advancing with your idea. So before developers hatch an idea, first hatch a problem. Define the specific problem that you are attempting to solve and not the idea that you want to build and test — if you don’t, you’ll end up with a nice solution and no one to use it.
What are the standard practices you would advise to beginners who want to contribute to open-source?
Since I’m a developer and contributor for open-source software, here are a few things I think that might help beginners who want to contribute to open-source software:
Learn a programming language:
Since open-source contribution requires you to read/write code if you want to be involved in its development, you are required to learn a programming language to get started. You can get started with any language of your choice. You can easily learn another language at a later stage if a project requires it. Many people help with documentation, translation, etc as well which does not require programming. If you do not want to contribute as a developer then you can skip this step.
Get familiar with Version Control Systems:
When we are working on an open-source project, it is extremely important to store all the changes that are being made to recall them at a later stage. Version Control Systems are software tools that help with it. They keep track of all the modifications that happen over time in the source code as versions. They also allow us to go through older versions and revert to an old version if required. There are many version control systems such as Git, Mercurial, CVS, and SVN. Git is the most popular and most widely used version control system in the industry. GitHub is a code hosting platform for collaboration using the Git Version Control System. In layman’s terms, it is the place where you keep all your projects and multiple people can work together on those projects.
Open Source your projects:
If you have already done some projects, open-sourcing your projects might be a good way to get started. Put it on GitHub and seek contributions from the community. Write a blog, share it with your friends and teammates. This will not only add value to your project but will also help you to collaborate with many developers around the world. Many widely-used frameworks and libraries were open-sourced by individual developers. Several people started collaborating and maintaining these projects after the projects got popular. Hoppscotch is an example.
Solve beginner-friendly issues:
Solving a beginner-friendly issue will help you get started with contributing to an existing project. One can go to GitHub and search for “first-timers-only”, “up-for-grabs”, “beginner-friendly”, or “good-first-issue”. You can then select or filter repositories based on your interest.
While solving issues do check if the same issue is being taken up by someone else or not. This means that if you find an issue in the codebase and someone else has already raised a PR, make sure not to pick up that issue.
Start contributing to open-Source actively: consistency is the key.
Participate in open-source events/programs/contests: Google Summer of Code (GSoC), HacktoberFest, GirlScript Summer of Code, MLH Fellowship, etc are some of them to get started with.
What do you see in the future of the open-source community in India?
I’m very much excited about the open-source contributions from India. Projects such as Hoppscotch, Appsmith, Hasura, Chatwoot, etc. leapfrogging to bigger applications are evident proofs of the upcoming bright future of open source in India. Along with the help of communities like FOSS United, I believe there’s huge potential for FOSS projects to raise the bars high and compete with almost every proprietary software out there. As a result, the economic and cultural growth open-source ought to bring are appreciated. I’m all in for open source from India and rooting for the best of it.
Hoppscotch Contributor's github avatar
Liyas Thomas GitHub profile
Read our other interviews
FOSS United Newsletter
Monthly digest of the latest news and updates about FOSS grants, events and mon school.
Works at FOSS United