In this post, which I will add to it or edit as time goes on, you will see a list of the relevant free (libre) software that I use generally and for my work, presently as a grad student. These are the software without any power over its users and with no known malicious features. See this post for an intro to free software. I am also using this post as an evidence for practicality of free software.
essential free software
- GNU/Linux, pronounced gnu-slash-linux, is an operating system (OS), easily available through different distros. FSF only endorses these ones. I use Debian GNU/Linux now but I will change to gNewSense. If you are coming from a proprietary OS, you can consider the major distros to get help easily in case of a problem.
- A general user also needs a graphical interface. Almost all the distros above come equipped with at least one desktop environment (DE) which provides such an interface. A person, who likes to tweak, can start with a choice of window manager (WM) and add the needed programs to make their own DE and tweak WM to look like what they want. DEs provide you with their selections of daily used programs, including a WM, a file manager, web browsers, and so on. So, in a sense, they are ready to use, out of the box. WMs are just taking care of properly showing you the graphical user interfaces of the programs. I was using GNOME 2 DE, then I switched to Awesome WM which uses lua code for config file. Lua is pretty easy to pick up. I also tried and liked wmii. These days I am using i3 WM. Among alive DEs, which I tried and liked, LXDE, Razor-qt, Cinnamon, and GNOME 3.
daily free software
- Firefox for web browsing
Recently, Mozilla had to made a strategic decision on implementing a DRM system. See Mitchel’s and Andreas’ posts in explaining the reasoning. It got so many negative feedback, see this for example. Leo McArdle wrote a response which is amusing. But I think Mozilla Firefox should have used this opportunity better to campaign against it. People won’t start thinking and talking about such a huge issue named DRM, before knowing it exists, what it does, and how nasty it is.
There is a list of free addons, might not be complete though.
Alternatives are GNU IceCat and Chromium (free (libre) part of Chrome).
For search engine try to use the ones who does not save your IP and does not try to identify you, for example DuckDuckGo is the one I use. ixquick and startpage are also search engines which does not save your IP.
Avoid using Adobe Flash Player or using Flash in your web page. The reason is that Adobe changes the format of the flash files quite often so free software community can not keep up with the changes. This makes users dependent on a non-free software, namely Adobe Flash Player. So avoid using any kind of Flash in your web page. You can use SMplayer or get-flash-videos to stream or download the videos contained in the Flash format. Mozilla Firefox is working on Shumway to make non-free Flash Player obsolete. Also there are movements like this one that encourage people to let this technology rest in history, where it belongs.
- Thunderbird as email client
You can find alternatives by using the table on this wiki page and sorting it by “Software license” and looking at the blue ones. Later on I might change to Mutt.
- rTorrent for peer-to-peer file sharing
You can find alternatives here.
- SpaceFM file manager which is based on PCManFM which I also like. See alternatives.
- llpp for viewing pdf files, it uses MuPDF
There are so many alternatives. The most famous ones are using Poppler.
- Xournal for note taking and educational screencasts [alternatives]
I also learned that people did a rewrite of Xournal in C++ and are calling it Xournal++. Xournal is written in C. You can also use a raster graphics programs like MyPaint or GIMP to take notes, make educational screencasts, et cetera.
- Vim for text editing
GNU Emacs and Vi are the most popular text editors, more among programmers. Vim is derived from Vi. I also liked gedit which is much simpler to start working with. If you write programs, check out Light Table. In a sense, it is an interactive IDE.
- Inkscape for making vector graphics and Sozi extension for slides
In this video you can see how Sozi works.
- GoldenDict for dictionaries
Also try to use Forvo and expand it. GoldenDict supports Forvo.
- LibreOffice for viewing or writing documents and spreadsheets
Richard Stallman explains how we can put an end to Word attachments. If you are dependent on documents, spreadsheets, slides, and so on, try LibreOffice. You think some functionality is missing in LibreOffice, contact them and suggest it, or pay a developer to add it to your version of LibreOffice. You might find pandoc useful. It converts document formats to each other.
- Geeqie for viewing images
You can see alternatives here.
- GIMP for editing photos or drawing bitmaps
Check out digiKam or darktable if you want a free software more specialized for photo editing. Check out Krita and MyPaint if you are more into drawing.
- FFmpeg for screencasting and compressing video files
I wrote about it in a previous post. Be careful to use either Ogg container, and include Xiph.org’s free codecs, or WebM which only includes VP8 or VP9 for video and Vorbis or Opus for audio. The word codec comes from coding/decoding, here mainly stands for compression/decompression algorithm implementations. The problem with other codecs is the issue with software patents which we will talk about it later.
- MPlayer for watching videos
I use the command
$ mplayer -vo x11 -zoom -af scaletempo <filename>
where first part allows me to scale to full-screen, and second part is the audio filter which corrects the audio while playing faster. There are so many alternatives. Sort the table here by “Software License” and check the blue ones (with GPL, LGPL, or MIT licenses).
- Jitsi and Ekiga for video calls
scientific free software
I will write a post on it later on. It is fairly simple. It uses python language. Sage has a shell and a notebook environment. I usually use the notebook environment which supports LaTeX.
IPython is similar to Sage. One main difference with Sage is that IPython handles the notebook files locally; explained here.
- TeX Live
A TeX distribution.
- Vim for programming and Vim-LaTeX for typesetting documents
I use Vim and xdvi to have forward and reverse search, as discussed here and here. If you are new to LaTeX or want to use a simpler specialized text editor I suggest Kile, TeXmaker, Gummi, or TeXworks among this list.
To make schematic figures, slides, posters. You can use Inkscape to easily include LaTeX, simply go to Extensions->Render->LaTeX formula…. There are some extensions which makes it even easier. I use InkTeX and have used textext. This is a good example of a poster. For your presentations you can find examples of Sozi and adopt them. Just dump all your stuff on an Inkscape page and start organizing them as you wish. I was a beamer user before discovering how easy and flexible Inkscape can do the job, i.e. making slides or posters.
This is an interactive application, actively under development now, which tries to focus on teaching and learning math and science. It is really fun to play with. Ancient Greeks would kill to have this piece of technology. Check geogebratube to find out more. C.a.R or ‘Compass and Ruler’ is another Java application which might come handy for the purpose.
Additional thoughts, links, and references:
[4.1] Let me know if you think I am missing something in this list.
[4.2] Again, when looking for alternatives, looking at a list in Wiki or someplace else, check the license to be a free software. Wiki uses blue color for free software licenses and in most software lists on Wiki you can sort by software licenses.
[4.3] A “freeware” (gratis) or “shareware” software is not free software most of the time. I try not to use these expressions as they are confusing.