Experience Attending Free Software Camp 2020

Experience Attending Free Software Camp 2020

Free Software Camp 2020 edition was co-organized by FSCI and FSF India. I heard about the camp in FSCI’s matrix room and promptly signed up for it. It was about free software and was organized completely on free software tools and services. FSCI’s GitLab instance at git.fosscommunity.in and CryptPad’s official instance at cryptpad.fr was used for ideation, collaboration and presentations. FSCI’s Peertube instance at videos.fsci.in was used for hosting camp videos. Sessions were conducted over BigBlueButton instances hosted by DeepRoot, NixNet, GNOME and KDE. Communications happened through mailing lists, Matrix channel and Mastodon.

The initial phase was around introduction to free software, philosophy and ideology and the latter part was dedicated towards work on it. I started as a learner under mentorship of Sruthi (Debian Developer) for Debian packaging. Later on, Dhanesh and I also submitted a mentorship proposal titled “Learn to setup and host free software communication tools for local communities” which merged with System Administration from Pirate Praveen and Akhil.

Talking about the learnings, the camp got me introduced to the nitty-gritty of free software. I switched from open source to free software, as it better aligned with personal philosophy. Extended, detailed discussions on software and free culture licenses helped understand freedoms entailed with each license and their usage. Eventually I also helped a friend understand these while developing a new project. He asked a bunch of license questions, which I was able to answer all thanks to learnings from the camp. The best part was the community around free software here specifically people who I worked with in MiniDebConf and folks in group 6. We were divided in groups for an activity called “Controls in the current society”. I landed in group 6 and it in itself formed a small community. We had multiple group 6 exclusive sessions. It became a ritual that every session was two hours long; Ravi introduced us to email encryption there, we had long discussions on importance of privacy, free software etc.

Now, the experience in both learner and mentor role for the camp:

Debian packaging

I started with an ambitious proposal of packaging 15 node dependency packages. I was fiddling with packaging before that but couldn’t get my first package in Debian. For documentation, Praveen wrote a wiki detailing stuff in divided into levels here. Quizzes were also created for every level, which IMO were quite helpful. Learned many things through this structured approach. Through the course of the camp, I took up various packages like node-pretty-ms (practice package), babel-plugin-lodash and the latest emoji-regex. None of package got completed due to something or else. Need to get at least emoji-regex packaged. It’s a simple package with no dependency but does have an issue with a dev-dependency required for tests. Will update if successful in getting this done.

Though I must mention about fasttrack-archive-keyring package. This package adds fasttrack key for enabling/downloading packages from fasttrack branch. Praveen mentioned if I would like to take the maintainer ship of the package, which I agreed to and did some housekeeping as told by Praveen. So all in all I do have one package under my name in Debian.

System administration and self-hosting

This was an interesting experience. We (Praveen, Dhanesh, Akhil and myself) took turns to take session bunch of stuff related to system administration. For this also Praveen created a wiki. I personally took a session on hosting a static site on a server. Wrote a write-up here (good post I must admit). I wasn’t comfortable hosting stuff that way but reading for the session and writing the blog help make me comfortable. I do occasionally reference it myself when I’m stuck with some detail. Took another session on Jitsi Meet which was personally the first web service I hosted for myself back when I started exploring self-hosting. Though I was overconfident that the installation session would go smoothly (with the experience of 10s of installation I did in the past) but a previous installation on the same server messed up the installation a bit which was eventually solved, thanks to Manav and Praveen. In the subsequent days, three learners also managed to get their own Jitsi servers running. Mridul also did the Jitsi installation for meet.fsci.in (if you want to support the community lead service, donate by visiting fund.fsci.in). Maybe a Searx installation session next.

Also did lots of debugging in between. Conducted another session on Hugo site hosting via GitLab pages and added custom domains. That was another fun and lengthy session. It feels comforting sharing knowledge, so now actively trying and helping others explore and utilize technology.

I'm continuing my work on both projects. The experiences (as learner and mentor) were good, and I value and would like to thank the camp organizers for coming up with the camp and all the participants. I would love to come back for the next session in any of the roles (including as part of the organizing team).

Update: I asked the learners if they were interested in a session on SearX installation, which they promptly agreed on, so it took place later on.