How do you find and choose free software?

How do you find and choose free software?

So you've got your GNU/Linux based box. You've installed the base system and you're good to go. Welcome to the world of freedom. But then what? How do you determine what packages to install. How do you decide which of the alternatives to go with?

Package managers

I accept that the obvious answer here is to find your software in the package management tools provided by your distribution, but that may not help very much. Take Debian for example: excellent package management via dpkg, apt and associated tools but you still have something in excess of 20,000 packages to deal with. Whilst many of those will be libraries, data files and the like, it still leaves you with a lot of applications from which to choose. No matter how simple a package manager will make the installation of software, it doesn't always help that much with choosing it in the first place. Even if you use the search tools in the package manager you are still left with a decision between the various options presented in the results.

Take web browsers as a ubiquitous example. Search with apt-cache for a web browser and (once you've filtered out the libraries and plugins) you're left with a lot of possibilities to choose from ranging from text-based browsers like lynx, links or elinks up to high-end GUI ones like Firefox/Iceweasel, Konqueror and Chrome. Which one do you choose and why?

What if you want to do some graphic editing. Once you've gotten past questions like "vector or bitmap?" you need to decide on things like format, MDI and compatibility with other tools. How?


In the past when I've wanted to look for a free software tool to perform a certain job I've gone to sourceforge. It is still one of the most comprehensive lists of free software applications around, and even if I then end up installing from my package manager I still like to look at the sourceforge information while choosing. The problem is that whereas Sourceforge could once be guaranteed to include more applications for GNU/Linux than other platforms, these days -- thanks to the ever-growing popularity of free licences -- you can find a greater number of applications for Windows and Mac systems. This fact is great news and long may it continue but it does lower the signal-to-noise ratio somewhat and that makes it a less useful tool in this context.

So what do you use?

So how do you find and choose your free software? Do you simply go for the first package your package manager returns? Do you select the one you've heard of? Perhaps you ask somebody else what they use or maybe you look for articles in places like FSM? Whatever it is I doubt it's intuitive and I suspect it will be a tried and trusted technique you have honed over time. When somebody enters what they consider to be a brave new world of free software and they move beyond their first toddle of installing from a LiveCD how do they decide on the software they use? Do we as a community have any obligation to help them in that choice and if so how do we do it?

When somebody enters the brave new world of free software how do they decide on the software they use?

I'm not sure that recommendations in terms of voting works very well here, as it soon becomes a popularity contest and the ones at the top have a greater chance of attracting more votes simply because they are at the top. Should there be some way to have the system recommend software to you based on the usage of what you already have installed? Trying a new package just for the hell of it can be fun but again it's a question of making the decision in the first place. Maybe a system could be developed that recommends packages for you to try based again on your currently installed packages and their usage history. I should again reiterate that I am largely talking about applications here not libraries and the like. One thing to add to all this by the way is the duty of care upon packagers and developers to include useful information in the description fields for packages. I grow tired of descriptions which repeat the packages name with spaces and punctuation. While we're at it how about some documentation. almost 20 years after Linus' announcement and we're still saying the same things. You think we'd learn and grow! If you want people to use your package (including those who might understand it) then make something more than a default man page and give it a proper description.

Free software is still best

Unfortunately I don't have any answers here beyond the suggestions above and I appreciate an article like this is often fuel for the "free software is confusing because the amount of choice" argument. Don't get me wrong though. I like having this much choice, I like that I can prefer to use one application while somebody else can prefer another. I just wish sometimes it was easier to make an informed choice.



TDSmith's picture
Submitted by TDSmith on

Almost always use the package manager. When I go about choosing what software I want I'll search with a keyword like say: Graphic editing, ogg, web browser, etc. But other times I read what it was online somewhere, and go investigate it. And the descriptions for the package can also be unhelpful. But if it seems like it can do the job, usually I install it, test it, and either use it or remove/leave it.

"[...]lynx, links or elinks up to high-end GUI ones like Firefox/Iceweasel, Konqueror and Chrome. Which one do you choose and why?"

GNU IceCat, updated more than Iceweasel (at the time of this writing), and more libre than Firefox.


Terry Hancock's picture

apt-cache search keyword keyword keyword...

web search for concepts to build a keyword list

wikipedia article on general concept ("content management system" etc). Look for "list" or "comparison" pages (there are lots of these).

sourceforge -- remember, the search system ("trove" classification) allows you to specify platform, so you don't have to worry about false leads

word of mouth -- find a forum related to topic and ask

pachelbel's picture
Submitted by pachelbel on

I have to struggle with 3 worlds these days: Windows, Linux and FreeBSD and maintaining the cross-compatibility is sometimes a bit of a hassle.

First, the recommended install mechanism is through the packages manager (dpkg, portinstall, emerge, xxx.msi.... whatever your system supports). It usually takes care of all the dependencies, which are the real burden. But this will be the final stage to get the app on the system.

Sourceforge is a great place to maintain your application but I would not use it for package selection because it is not the only place to find the software you need and the signal-to-noise ratio in the selection process is not ideal and there is no hint about the quality of the package. Anyway, your package maintenance application will get the application from there if it is.

The best place, in my personal opinion, are the words "tutorial" and "howto" in Google, as this will return a number of articles that discuss the complexity of the configuration process - which can be a significant criterion for the selection. Beware that these articles are always biased, as all try to convince you that their package is the best so take it with a pinch of salt. Finally, user-group forums tend to share a lot of insight and may be the best clue for success.

Keep in mind that the applications you want to use may require some level of compatibility with other users and their opinion is probably worth more than anything else. The best choice is not always the best quality application in the market... Unfortunate but true.

Terry Hancock's picture

You're right that Sourceforge can present a "signal to noise" problem.

My principal use of Sourceforge (and other development sites) is to find "bleeding edge" software -- the stuff that's still in development and so it's really up to date and has cool new features, but is probably broken half the time. This is a lot of trouble to maintain -- but there are situations in which it's worth the hassle:

1) Development -- when you are designing your own software, and you want it to interact with next years' applications

2) Tools -- when you can't find them anywhere else, and you really need a special tool or features that don't exist in a stable package

3) Research -- when you just want to know what's coming in the future

4) Giving Back -- when you want to either help develop the software, or you want to contribute to the testing and debugging of the software to make it stable

If I just need basic functionality, though, I stick to my package manager and the Debian distribution (although I do use a few "unofficial" archives, like the "Debian Multimedia" distribution for more up-to-date versions of multimedia authoring tools).

Chris Watkins's picture

My problem with the package manager is knowing how active a project it is (e.g. how recent is the latest version) and how well it works. Even very crude voting would give me something to go on.

So I tend to check package manager early in the search, but also do a web search, and look for comments on and maybe Twitter before I install.

I'll sometimes look at SourceForge, but I don't compile my own packages (with rare exceptions) - SourceForge is usually very confusing for regular users, especially those without years of experience.

Chris Watkins
Appropedia - wiki for sustainability, development, ICT4D.

Ryan Cartwright's picture

Yes you're right I find the same problem. To be honest voting wouldn't help me as I'd be more interested in how fresh a project is than how popular. That's why I tend to use Sourceforge for finding and apt for installing. Sometimes of course I will just search on a keyphrase and install the first one apt suggests. It's kind of like russian roulette if you're running Sid ;)

Equitas IT Solutions - fairness, quality, freedom

Author information

Ryan Cartwright's picture

