The software industry can't keep going if programmers don't get paid
Let's begin with one simple fact: free software programmers do like to get paid, and all need to buy lunch at some time.
When we mention free software, we refer to liberty not price. You may actually pay to get free software (or "open source" software 1), which you can then study, change and copy at will.
How does it work? You can think about it the following way: software is just code, code is only math. Once you view software as useful math, an elaborate language, not like ordinary property, there is no reason to restrict others' use of it.
Just like math (where nobody would claim property on an equation), software requires advanced knowledge to be adapted, improved, applied correctly. This is where programmers generally generate an income: many customers, especially companies, are willing to pay for regular security updates and improvements on software.
Free software companies benefit from a very decentralised development system with a large number of voluntary contributors. The revenues inside the free software industry might be smaller than in the proprietary counterpoint, but are by no means negligible. In the end, individual users generally end up using free software at no cost.
Free software is not about killing incentives for programmers. It's about seeing code as knowledge which should not be hidden from the user. It works with a different business model, in which many companies already do well.
Innovation is killed in free software
The common perception is that if everyone can copy ideas, innovation will be stifled.
In fact, freedom is often the key to innovative and successful software.
- Anyone is allowed and encouraged to work upon it;
- Many people are willing to participate;
- There is no need to re-invent everything, ideas can be improved upon directly.
Non-proprietary software stands out in many areas: consider, to name just a few:
- Atom (text editor)
- Chromium (web browser)
- Git (distributed version control system)
- Inkscape (vector drawing)
- Krita (painting)
- Ardour (digital audio workstation)
- Blender (3D graphics creation)
- Firefox (web browser)
- GIMP (image editor)
- LibreOffice (office suite)
- TensorFlow (machine learning)
- Thunderbird (email client)
- VLC media player (multimedia player)
- Server applications:
- Formats and protocols:
- Complete systems:
- OpenBSD (operating system)
- and of course, GNU/Linux.
Software should Just Work
Anyone should care about whether their software is free.
Imagine purchasing a car whose hood you are forbidden to open. It does not matter whether you know how a car works – the point is that nobody will be able to check the engine. How can you trust your car, if no one is allowed to make sure that it's reliable, that it does not leak, that it's not harmful to the society and environment?
The idea is the same with software – except that code does much more than move cars. Software runs our computers, phones, TVs, media players and more, carrying information and our culture.
Free software is as important as free speech, as a free market. If software is free, users have control and liberty over it.
The good news are: free software also Just Works. And in fact, it often Just Works Better. Pop in a GNU/Linux live USB stick in your computer at start-up, to try a full-featured, well-organised system, without installation, so you can judge by yourself.
Free software doesn't respect authors' copyrighted and patented software
To answer this correctly, we must first make a clear distinction between copyright and patents. Copyright is a right granted to the author over his/her creation (for example, the text of a book, or the source code of a program). A patent, on the other hand, is a purchased, registered exclusive control over a process, the application of an idea.
Copyright is very important in free software. It is the very mechanism, central to the GNU General Public License, which ensures that free software remains free, and that authors are credited for their work. Programs are copyrighted, whether they are free or proprietary.
Any proprietary software author can easily check that his copyright is not violated in a free software application, since its source code is readily available.
Patents in software, on the other hand, are a very controversial concept. To put it shortly: there is no such thing as a "patented software". By registering for a patent, however, someone can claim ownership over a process. The patent then applies to all software that use this process, whether proprietary or free.
- Are expensive and are granted only several years after application;
- Are limited geographically (a patent granted in the US is worthless in Europe);
- Have long life-times (often 20 years) in a quickly-moving industry;
- Often apply entirely trivial processes.
As such, they are seldom used to benefit innovators (and in fact, rarely used by the innovators themselves).
It's safe to say that any medium-size piece of software violates patents, in several countries, whether it's free or not.
Depending on the holding company's ability to cover very large legal costs, or to retaliate with other patent threats, royalties and restrictions can be applied over these patents.
Free software is like communism
Supporters of this idea argue that there can be no private ownership with free (or "open source" 1) software. Let's answer this with an example.
Let's imagine that you use one application that is free software, at home and within your company. You find a great way to improve it, so now with your modified version, your computer works better and your factories run twice as fast!
This modified version is your own version. You are not required to tell anyone about it, nor must you share any of the profits you made using it. You are simply exerting your freedom to use and modify free software.
What the free software license requires is that if you redistribute this software, then you must keep it free. Namely, if you sell CDs with your software on them, or start letting people outside your home or company use it, then you must:
- Either give everyone the same rights you had when you obtained the original software, that is, the freedom to inspect, modify and redistribute your modified version;
- Or, make the original software and your secret addition to it clearly separate (that is, your addition should contain none of the original work).
So in fact, you have more "ownership" over free software than over proprietary software – where the programmer decides everything you can and can't do with the software.
Free software has nothing to do with a political system. You can run free software on top of proprietary software, just as well as the opposite. The free software license is simply a legal, ethical contract between the programmer and the end-user.
Free software can't be secure
The argument generally goes that since the source code of free software is available, it is less likely to be secure.
Short answer: The majority of servers run free software. They are the major networked computers holding sensitive or confidential information such as your bank details or trade secrets.
A more precise answer is that availability of source code is a warrant of security, not a weakness. The freedom of the software ensures it can be inspected, tested and improved by a very wide community. A good lock is secure because the technology used to design it is open, though only the key holder can open it. The same goes for software.
Need examples? Have a look at the Firefox web browser, the Apache HTTP Server, the Nginx web server, the Dovecot email server, the Exim mail transfer agent, the OpenPGP encryption system, or the OpenBSD operating system. And there are no spyware or viruses under GNU/Linux.
I'm on my own with free software
Not at all.
- If you are looking for good documentation and support forums to assist you, there is plenty available for free ("open source") software.
Each GNU/Linux distribution has its own community (for example, Ask Ubuntu or Ask Fedora), but there are also general GNU/Linux help communities, like Unix & Linux Stack Exchange.
- There are many real-time discussion channels for the free software community. IRC, or Internet Relay Chat, is a real-time, text-based form of communication. You can have conversations with multiple people in an open channel or chat with someone privately one-on-one. Major GNU/Linux distributions have their own dedicated IRC channels where you'll find users and developers that are happy to answer your questions. Here you can find the IRC channels for the distributions we recommend:
- All major GNU/Linux distributions offer help – free of charge – through mailing lists:
- If you need someone you can reach on the phone anytime to assist you, the companies behind most distributions provide commercial support: see Debian consultants, Ubuntu Commercial Support, or Red Hat Enterprise Linux for example.
- ^ a b What we call "Free Software" here is also often called "Open Source Software". In practice the requirements are identical, although because the term "open" doesn't call to mind freedom, it misses the point. Read our FAQ entry: Are "Open Source" and "Free Software" the same thing?.