Klaus Zimmermann's Corner

Don't like it? Make it or change it! The Power of Free Software

There is a very misunderstood concept in the Free Software community that the community isn't open or welcoming, and that sometimes it might be downright brash and assholish to beginners or noobs. Ask a question in the forum about command, man command or rtfm is your answer. Ask about why your system isn't working, people are silent or ignore it in IRC.

Perhaps there is some truth in this kind of statement, but I believe it's born out of a greater misunderstanding about Free Software in General. For most part, using Free Software comes with a small requirement of personal involvement not usually found in the circles of non-free software like Windows. And that, in my decade-long experience with Linux, has been one central concept: learning how to do things yourself.

As harsh as this might sound, learning how to do things yourself via Free Software is actually one of its most powerful features. While it does not exactly make everything easy at first, it gives you flexibility and an opportunity to make things work exactly the way you need them. As guaranteed by GNU Free software freedoms 0 and 1, Free Software may allow you to use and modify it to best fit your use cases - and more often than not, other people's too.

That is not to say that free software as it is is not flexible enough - if you have a shell and enough command-line programs there to work with, you can automate and do many more things than you already know. I think nothing portrays this better than my experience with converting audio and video in Linux some years ago.

It was 2011 and googling around the Ubuntu Forums showed me a neat little program called WinFF that could do batch-conversions of media files in a graphical way. However, after a while I found out that I needed to do a little more advanced conversions than WinFF at the time could handle, and was out of luck searching for a new program that could do exactly what I wanted.

After searching, however, my attention got back to WinFF: turns out that it is only a graphical interface for another command-line program called ffmpeg. Having had a little experience in scripting by then, I realized I didn't need another program to do something for me. I could simply run something like this:

for item in *.avi do ffmpeg OPTIONS -i "$item" "${item/avi/mp4}" # or whatever other format you want. done 

And that would be it.

And just like that, knowledge applied correctly becomes power. Five lines of bash scripting, one awesome media program and a few minutes of work to do everything I needed. I could roll this off as a script that automates the process, and add a few more parts to make it a flexible program if I need. And likewise, anyone who needs something a little different can adapt it.

That, in my humble opinion, is one of the true powers of Free Software.

Last updated on 09/22/20