L. Guruprasad

Mar 7, 2022

Please welcome L. Guruprasad, @LGuruprasad Software engineer at the Canonical Launchpad team

March 7 to 14 on @imakefoss and https://t.co/XN847RRx7u

Interview: https://t.co/QU2KVXDvhN

@imakefoss is a rotation curation account. https://t.co/qKJtgCy2BW

Mar 8, 2022

Hey everyone! 👋 This week, I will be taking over this account and posting about my experience with free software (#FOSS). Apologies for the slight delay in getting my first post out – I had some issues in getting the Tweetdeck team access to work.

Guruprasad (@LGuruprasad)

Mar 8, 2022

I got introduced to #FOSS and GNU/Linux in 2007 during the #SoftwareFreedomDay celebrations - 2006, at @tceofficialpage when I was studying there. It has had a tremendous impact in shaping my life and career.

Mar 8, 2022

RT @imakefoss: Hey everyone! 👋 This week, I will be taking over this account and posting about my experience with free software (#FOSS). Ap…

Mar 8, 2022

I’m grateful to my seniors at @tceofficialpage - @joesteeve, @stylesen, @benignbala, @saikrishbe, @krithikasubi for introducing me to #FOSS and guiding me through the initial stages. I wouldn’t be where I am without the initial inspiration and support.

Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use

  1. GNU/Linux is my OS of choice. I use the latest #KDE #Plasma on #Kubuntu via the kubuntu-backports PPA on my work laptop and #ArchLinux (via #EndeavourOS) with the same DE. I use a mix of #Ubuntu LTS & #Debian on my servers.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use

  1. #KDE #Plasma is my DE of choice. I used #GNOME for more than a decade but with #Plasma, it was love at first sight and I haven’t looked back. It is powerful out of the box and configurable enough for those who want to. ❤

Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. #Firefox is my web browser. Even though I have tried using other browsers in the past, I ❤ Firefox and what it stands for. Firefox Multi-Account Containers and uBlock Origin are my favorite Firefox extensions.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. I spend most of my time in my editor, #GNU #Emacs. I use the nifty ‘use-package’ macro to install and configure various emacs packages. Since I work with #Python in my day job & hobby projects, I use #elpy. I ❤ #magit.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. #Konsole is my terminal emulator and I use #Zsh with #Starship on it. I have recently started using #Chezmoi (https://t.co/Mh2z3slvHk) to manage my dotfiles and it is very good!

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. I use a self-hosted #Vaultwarden instance with the official #Bitwarden clients for storing my passwords. I also use a #KeePassXC vault as a backup. I’d recommend these to everyone.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. On the mobile side, most of my #Android apps are from #FDroid. To name a few - #AntennaPod, #Blokada, #FairEmail, #Firefox, #Greentooth, #HomeAssistant, #Joplin, #NewPipe

L. Guruprasad (@LGuruprasad)

(1/2)

Mar 8, 2022

#FOSS that I use.

(contd.)

#MuPDF, #NewsBlur, #Element, #KDEConnect, many #SimpleMobileTools apps, #WireGuard, #Wallabag, #VLC, #OpenScan, #Tusky, #Twidere, #Telegram FOSS, #Signal, #RedReader, #Jellyfin, #Signal

L. Guruprasad (@LGuruprasad)

(2/2)

Mar 8, 2022

My initial jobs in the industry did not involve #FOSS at all. But I was inspired by hearing @Det_Conan_Kudo, @m_wimpress, @popey, @carlwgeorge talk about the awesome work they do everyday in contributing to FOSS on the @jupitersignal podcasts.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

My first non-trivial and sustained contributions to #FOSS were to the now-archived #Mozilla Input (https://t.co/AnLaZWd2Fu) project. I had learned #Django on my own and @willcage’s patient mentoring helped me contribute a lot in 4-5 months.

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

My heartfelt thanks to the Bugs Ahoy! site created by Josh Matthews (@lastontheboat) (now superseded by Codetribute - https://t.co/N59QEogIkf) for helping me find the #Mozilla Input project. #Fjord

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

#FOSS that I use.

  1. I ❤ #selfhosting and self-host many services in my LAN and on my servers. To name a few - #WordPress, #Vaultwarden, #CalibreWeb, #Wallabag, #Jellyfin, #FireflyIII, #Netdata, #ZNC, #UptimeKuma, #PiHole, #Synapse, #Mailcow

L. Guruprasad (@LGuruprasad)

Mar 8, 2022

I posted this tweet from my personal account by accident and didn’t realize it till now. Hence the out of order tweet. 😀 https://t.co/StSe67DFlR

Mar 9, 2022

Today, I am going to post about why I am passionate about the #freedom aspect of #FOSS. This famous article - https://t.co/eJLIjyzAXB, covers many relevant points in detail.

L. Guruprasad (@LGuruprasad)

Mar 9, 2022

I am going to use the ‘spoon story" analogy, that I learned from @joesteeve, to support my view on why #freedom matters more to me.

L. Guruprasad (@LGuruprasad)

Mar 9, 2022

Let’s say you go to a shop and buy a spoon. The shopkeeper says that you can use the spoon only to take out sugar from a bottle of sugar and not anything else like say, salt. Would that be acceptable to anyone?

(1/n)

Mar 9, 2022

What if the shopkeeper says ‘Only you can use the spoon. You cannot give it to anyone else - even friends and family"? Would that be acceptable to anyone? Is it a good idea to affect the social & family relations by following this restriction?

L. Guruprasad (@LGuruprasad)

(2/n)

Mar 9, 2022

Let’s say you want to use the spoon to lift oil out of a tall jar and the default spoon shape is not useful for it. So you bend the bottom of the spoon by 90° to do that. What if the shopkeeper says that you cannot do that?

L. Guruprasad (@LGuruprasad)

(3/n)

Mar 9, 2022

You have used the bent spoon successfully and want to share the idea and the bent spoon with your friends and family. What if the shopkeeper says that you cannot do that?

L. Guruprasad (@LGuruprasad)

(4/n)

Mar 9, 2022

If none of these restrictions that the shopkeeper tried to impose on the spoon, that you bought, are acceptable to you, why should such restrictions be acceptable on #software?

L. Guruprasad (@LGuruprasad)

(5/n)

Mar 9, 2022

#Sharing is caring and all these restrictions try to prevent it. They also try to deprive the involved parties (the purchaser, user, their social and family circle) from benefiting from it and in many cases, sharing it with the world.

L. Guruprasad (@LGuruprasad)

(6/n)

Mar 9, 2022

The free(dom) (aka #Libre) software ideology tries to preserve the user’s freedom at all times and ensures that no one down the distribution chain can take it away either.

The 4 essential freedoms help with that.

L. Guruprasad (@LGuruprasad)

(6/n)

Mar 9, 2022

The #freedom to run the program as you wish, for any purpose (freedom 0).

The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

L. Guruprasad (@LGuruprasad)

(7/n)

Mar 9, 2022

The #freedom to redistribute copies so you can help others (freedom 2).

L. Guruprasad (@LGuruprasad)

(8/n)

Mar 9, 2022

The #freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

L. Guruprasad (@LGuruprasad)

(9/n)

Mar 9, 2022

These 4 #software freedoms exist to protect a user’s #freedom.

‘Open source" looks at the same principles from a pragmatic perspective - “this is the best way to make better software”. The #freedom aspect often takes a backseat.

L. Guruprasad (@LGuruprasad)

(10/n)

Mar 9, 2022

The difference between ‘free software" and “open source software” might appear to be theoretical to many. But to those who are passionate about either perspective, the difference couldn’t be more stark. 😀

L. Guruprasad (@LGuruprasad)

(11/n)

Mar 9, 2022

I hope that this thread has been useful to those who read it. I would be happy if you learnt a new thing or two from it.

‘I am a free person and I use #free software!". #FOSS

L. Guruprasad (@LGuruprasad)

(12/12)

Mar 10, 2022

Today I am going to talk about #OpenedX, which is a #FOSS project that I have contributed a lot to.

It is a massively, scalable, learning platform used on https://t.co/XL20qWCdRX and by many other universities and companies. #MOOC

L. Guruprasad (@LGuruprasad)

(1/n)

Mar 10, 2022

I was paid to work on it full-time when I worked at @OpenCraft3, an open-first company and a top (and the best, imho) service-provider in the #OpenedX ecosystem. It was a dream come true to be able to work full-time on #FOSS.

L. Guruprasad (@LGuruprasad)

(2/n)

Mar 10, 2022

The #OpenedX platform is a collection of many sub-projects like the Learning Management System (LMS), Studio (the course authoring application), Ecommerce etc. which integrate with one another and provide a unified learning experience.

L. Guruprasad (@LGuruprasad)

(3/n)

Mar 10, 2022

Most of the applications in the #OpenedX platform are built using #Python and #Django. Some of the frontend applications are written as micro-frontends (MFE) using #React. The platform can be deployed using #Ansible, #Docker etc.

L. Guruprasad (@LGuruprasad)

(3/n)

Mar 10, 2022

Most, if not all, of the components in the #OpenedX platform are licensed under the #AGPLv3 license #FOSS.

You can try out the platform locally using the #devstack (https://t.co/3r0HsdhGMl) or #Tutor (https://t.co/EXwunIbmCl)

L. Guruprasad (@LGuruprasad)

(4/n)

Mar 10, 2022

Imho, one of the key features of the #OpenedX platform is the #XBlock support. XBlock is a component architecture designed to make it easier to create new online educational experiences.

L. Guruprasad (@LGuruprasad)

(5/n)

Mar 10, 2022

It was developed by @edXOnline for the #OpenedX platform, which provides an #XBlock runtime that allows a wide variety of learning components, integrations etc. to be developed. https://t.co/nYP7sHfGH8 lists some of the popular XBlocks.

L. Guruprasad (@LGuruprasad)

(6/n)

Mar 10, 2022

Why are the #OpenedX project and the #XBlocks important? They enable creating excellent, online learning experiences on an open and extensive, #FOSS #MOOC platform, without any walled gardens or vendor lock-ins, in the times where online learning is becoming widespread.

(7/n)

Mar 10, 2022

Educators/institutions can #selfhost their own instance of #OpenedX and provide access to learning experiences to a larger number of people. Access to quality learning resources can be an enabler and often a life-changer for many.

(8/n)

Mar 10, 2022

I would also like to talk about the ‘upstream first" development approach that I learnt @OpenCraft3. We were always encouraged to make any code change to the platform in an upstreamable way. What does that mean?

L. Guruprasad (@LGuruprasad)

(7/n)

Mar 10, 2022

It involves making code changes/bugfixes, implementing new features in such a way that it can be contributed and merged upstream. This will also require constant communication with the upstream to ensure that the code quality is excellent.

How and why is this useful?

(8/n)

Mar 10, 2022

It allows all the improvements to be shared with the community and hence aligns with the #FOSS ethos. Sharing is caring and it benefits everyone.

By upstreaming all the changes and avoiding code drift, the maintenance burden is distributed within the community.

(9/n)

Mar 10, 2022

It also allows everyone to get the benefits of the work already done by someone in the community.

I have seen the @fedora project practise a similar ‘upstream-first" development approach. ❤️

L. Guruprasad (@LGuruprasad)

(10/n)

Mar 10, 2022

While forking is an integral part of #FOSS development, the upstream-first development model is very useful and benefits everyone.

So I hope that more #FOSS projects do this and create thriving communities and ecosystems.

L. Guruprasad (@LGuruprasad)

(11/11)

Mar 10, 2022

Btw, @OpenCraft3, an awesome place to work remotely, is looking to hire people to work full-time on free/open source software - https://t.co/0LcnDFiyTK. This is a personal endorsement and not an ad :) #FOSS #jobs #remote https://t.co/qr1sJKwT5Z

Mar 11, 2022

April 8. #GUADEC #GNOME https://t.co/gqI1EeUnvu (2/2) https://t.co/T1EWJtpxpr

Mar 11, 2022

RT @gnome@floss.social Don’t forget to submit your talk proposals for #GUADEC2022! This year we’ll be celebrating 25 years of GNOME and encourage talks around that theme, but all proposals are welcome. Submit yours here: https://t.co/YRu7JjLaSQ

Submissions are due by (1/2)

Mar 14, 2022

I have enjoyed posting on the @IMakeFOSS curated account last week. But due to some circumstances, I was unable to post in the 2nd half. Sorry about that.

Thanks to @josp0001 again for inviting me to curate.

You can follow me at @LGuruprasad and @artfulsodger on #Fosstodon. 👋