Interview with GitLab Distribution Engineer and Debian Developer Balasankar C

This post is part of an ongoing series of interviews with open source contributors and leaders. In this installment, we talk with Balasankar C, a Distribution Engineer at GitLab and active contributor to free and open source software (FOSS) projects including Debian, GNOME, Firefox and more.

Introducing Balasankar C

Balasankar (Balu) C has been a dedicated contributor to FOSS for over nine years. As a Debian Developer, GNOME Foundation member, and Mozillian, he has made substantial contributions across domains like language computing, software packaging, and software development. In addition to being employed as a Distribution Engineer at GitLab, Balu devotes most of his free time to various open source projects.

I recently had the opportunity to interview Balu and learn more about his experience and perspectives as a veteran FOSS contributor. In this post, I‘ll share some of the highlights and insights from our conversation.

Open Source, Free Software, and the Four Freedoms

One of the first topics we discussed was the distinction between "open source" and "free software". Balu explained it in terms of differing priorities:

"Free software philosophy gives importance to freedom. Open source considers it as a development methodology, where multiple people share and look at the code…Open source methodology says, by providing these freedoms, the product itself gets better."

While the free software movement, as articulated by Richard Stallman and the Free Software Foundation, emphasizes the ethical imperative for users to have control over their computing, the open source movement tends to highlight the practical benefits of community-driven development. But both are grounded in the same "four freedoms":

  1. The freedom to run the program as you wish, for any purpose
  2. The freedom to study how the program works, and change it
  3. The freedom to redistribute copies
  4. The freedom to distribute copies of your modified versions to others

For those new to FOSS, Balu advises not getting too caught up in the terminology:

"As a beginner, understand that freedom matters and all this is based on the four freedoms…So, a beginner need not be concerned about getting it right from the beginning itself. You gain this knowledge as you talk with others and work on projects. What is important is that you contribute to projects."

Best Practices for Contributing to Open Source

Speaking of contributing to projects, I asked Balu to share some best practices for getting started with open source. Here are some of his recommendations:

  • Read the contributor‘s guide and README
  • Check the project‘s issue list
  • Follow the specified coding style and guidelines
  • Study the source code (typically hosted on platforms like GitHub or GitLab)
  • Engage with the community via forums, chat rooms, mailing lists, etc. Don‘t hesitate to ask questions!
  • Submit a pull request with your changes
  • Be responsive to feedback and continue contributing over time, whether it‘s fixing bugs, improving documentation, localizing the software, or adding new features

The key is to start small, learn by doing, and develop relationships with other project contributors. Over time, you can take on bigger challenges and responsibilities within the community.

Beyond Hacktoberfest: Sustaining Open Source Contributions

Incentive programs like Hacktoberfest have emerged in recent years as a way to encourage more people to participate in open source. Balu sees both pros and cons to this gamification of open source:

"Getting a T-shirt is never a problem. After all, companies like to hand you freebies. What matters, is what you have done after the Hacktoberfest. Have you followed up on your pending PRs which are in the feedback phase? Are you still continuing to contribute to Open source?"

Especially for first-time contributors, the promise of free swag can provide a gentle nudge to overcome the intimidation factor and submit a pull request to an open source project. But Balu cautions against letting extrinsic rewards overshadow the intrinsic motivations for contributing:

"If the only thing you‘ve got out of the Hacktoberfest was a T-shirt, then your T-Shirt becomes pointless…The important thing, according to me, is how working on the project inspired you. If it got you curious about fixing the problem you were working on, or got you interested in learning more about the project, it was time well spent."

The true measure of success for programs like Hacktoberfest is whether they succeed in converting drive-by contributors into long-term community members. And that requires follow-through from participants.

The GitLab Difference

As a GitLab employee, I was curious to get Balu‘s take on how GitLab compares to GitHub as a platform for open source development. He highlighted GitLab‘s open core model as a key differentiator:

"Philosophically, even though GitHub has contributed quite a lot to FOSS, their core code base is still proprietary. Whereas, GitLab has most of its code base released under MIT license, and even the proprietary parts of the code base is ‘source available‘."

From a feature standpoint, Balu described GitLab as going beyond just code hosting and review to provide an integrated platform for the entire DevOps lifecycle:

"It means, from having an idea and discussing it with your peers, to implementing that code in an IDE to deploying the code to different environments and monitoring those deployments, GitLab provides you tools to do all of this – in the same interface."

For individual developers and small-to-medium businesses, the FOSS Community Edition of GitLab supplies all the essential capabilities at no cost. The proprietary Enterprise Edition caters to larger organizations with features like advanced project management, enterprise administration, etc.

In Balu‘s estimation, "GitLab has a more friendly approach and commitment towards Free Software."

The Future of Debian

As a Debian Developer, Balu has an informed perspective on the current state and future trajectory of one of the most venerable and influential Linux distributions. When I asked him about the future of Debian, he focused on two key factors:

First, as a distribution known for its legendary stability and popularity among system administrators, "Debian as an OS badly needs some marketing…I haven‘t seen Debian doing any sort of proper publicity efforts, or attempts to make it more popular among home users. It is a huge hit among system administrators, because of its legendary stability, so that position in the market is secure. But if we were to expand the horizons, we will have to think differently."

Second, the technical evolution of Debian will be shaped in large part by its derivatives, especially Ubuntu: "We are talking about a huge repository with about 70,000 packages…Whatever problems I have with Ubuntu, there is no denying the fact that Ubuntu stands top as the most used GNU/Linux distribution. So, how that company drives the project forwards will have a serious impact on both Debian and other derivative projects."

As computing paradigms shift and new software distribution formats like snaps, flatpaks, and containers gain traction, it remains to be seen how Debian will adapt. But its position as a sort of "universal operating system" with a vast software repository makes it an irreplaceable part of the open source ecosystem.

Licensing Pragmatism

Zooming out to the broader open source licensing landscape, I asked Balu to share his thoughts on the debate between permissive licenses like MIT and Apache 2.0 and reciprocal ("copyleft") licenses like the GNU GPL.

In Balu‘s ideal world, all software would be free—but he recognizes the challenge of making that case to profit-driven corporations. Permissive licenses represent a pragmatic compromise:

"[Permissive licenses], while ensuring the immediate user gets all four freedoms, don‘t put further restrictions on the developer…The main advantage I see is that, it resulted in companies using FOSS projects and releasing most of their libraries under these licenses – thus making them Free Software. So, in totality, it resulted in more free software in the world."

By lowering the barriers to adoption, open source has succeeded in becoming the default in many domains like web development, machine learning, and cloud computing. The tradeoff is that companies can build proprietary offerings on top of open source foundations. Balu‘s personal approach threads the needle between copyleft and permissive licensing:

"I recently started licensing all my personal code under both a copyleft and MIT license. I tell my users that I prefer if they used the copyleft license and contributed to the cause, but I leave the decision to the users."

Why Contribute to Open Source?

We concluded our interview with a discussion of the benefits of contributing to open source, especially for students and early-career developers. Balu identified three key advantages that FOSS contributors have in the job market:

  1. Problem-solving mentality: "It doesn‘t matter if the fix was just a spelling mistake or a 100 line code implementing a major feature. What matters is that there was a problem and you put in the effort to solve that problem, mainly because you had a passion to do so."
  2. Coding best practices: "[In open source,] often the people you interact with are people who have been doing this for quite some time. And that experience will be reflected in their feedback to you, and eventually on the work you do."
  3. Collaboration skills: "Most of the FOSS projects involve contributors from all over the world, and it is with this diverse workforce you are regularly communicating and interacting. There is no better opportunity to understand how to work well with a team."

In short, open source provides an unparalleled opportunity to learn by doing, receive mentorship from seasoned practitioners, and demonstrate one‘s capabilities in a real-world setting. It‘s no wonder that FOSS contributions are such a strong signal to potential employers.

Key Takeaways

My conversation with Balu reinforced a few key themes:

  1. Contributing to open source is one of the best ways to grow one‘s skills and make connections as a software developer.
  2. Sustained commitment and genuine passion matter far more than racking up a tally of accepted pull requests.
  3. The evolution of open source is shaped by corporations as well as communities, and licensing choices have strategic as well as philosophical implications.
  4. As open source continues to eat the software world, distributions like Debian must evolve to remain relevant to the broadest possible audience.

I‘m grateful to Balu for sharing his time and insights with us. His story shows the power of open source to enable anyone to make a meaningful impact through code. I hope it inspires you to find a project that resonates with you and start contributing!

Similar Posts