For current political commentary, see the daily political notes.
RMS' Bio | The GNU Project
I use a Lemote machine which has a free initialization program and a free operating system. One other advantage of this machine is that Windows has never supported it.
Before that, I used an OLPC for some weeks. I stopped because the OLPC project decided to make their machine support Windows, so I did not want to appear to endorse it. The OLPC uses a nonfree firmware blob for the WiFi, so I could not use the internal WiFi device. No big problem, I used an external one.
The results I worried about, millions of children running Windows on the OLPC, have not occurred. Instead we see millions of children running Windows on the Intel Classmate.
Before that I used machines that ran completely free GNU/Linux systems but had nonfree BIOSes. I tried for about 8 years to find a way to avoid the nonfree BIOS.
I do not have a preferred GNU/Linux distro. I recommend all the
I've chosen not to have any preferences among those ethical distros.
But I am not in a position to judge them on other criteria:
even to try them all would be a lot work that I have no need to do.
I've chosen not to have any preferences among those ethical distros. But I am not in a position to judge them on other criteria: even to try them all would be a lot work that I have no need to do.
I occasionally use X11 for tasks that need graphics, but mostly I use a text console. I find that the text console is more efficient and convenient for the bulk of the work I do, which is editing text. I have no preferred graphical environment or window manager. Since my interest in using graphical environments is small, I don't want to spend time comparing them.
I spend most of my time editing in Emacs. I read and send mail with Emacs using M-x rmail and C-x m. I have no experience with any other email client programs. In principle I would be glad to know about other free email clients, but learning about them is not a priority for me and I don't have time.
This site is maintained in a very simple way. I edit the pages such as this one manually as HTML. I only know simple HTML; others who know more wrote the parts at the top and bottom of pages, and the more complex formatting on the home page. Volunteer helpers install the political notes every day after receiving the text from me by email. A cron job "rolls over" the political notes page every two months.
I never used Unix (not even for a minute) until after I decided to develop a free replacement for it (the GNU system). I chose that design to follow because it was portable and seemed fairly clean. I was never a fan of Unix; I had some criticisms of it too. But it was ok overall as a model.
Why I coined the name POSIX.
I have used the Internet since it first existed. I never used UUCP, though occasionally I sent emails to addresses that involved transmission via UUCP.
I generally do not connect to web sites from my own machine, aside from a few sites I have some special relationship with. I fetch web pages from other sites by sending mail to a program (see git://git.gnu.org/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try lynx first, then a graphical browser if the page needs it (but I make sure I have no net connection, so that it won't fetch anything else).
I also browse from other people's computers, with their permission. Since I don't identify myself to the sites I visit, this browsing can't be connected with me.
One consequence of this method is that most of the survellance methods used on the Internet can't see me.
Another consequence is that I never pay for anything on the Web. Anything on the net that requires payment, I don't do. (I made an exception for the fees for the stallman.org domain, since that is connected with me anyway.)
I would not mind paying for a copy of an e-book or music recording on the Internet if I could do so anonymously, and it were ethical in other ways (no DRM or EULA). But that option almost never exists. I keep looking for ways to make it happen.
The most powerful programming language is Lisp. If you don't know Lisp (or its variant, Scheme), you don't know what it means for a programming language to be powerful and elegant. Once you learn Lisp, you will understand what is lacking in most other languages.
Unlike most languages today, which require defining specialized data types, Lisp provides a few data types which are general. Instead of defining types, you build structures from these types. Thus, rather than offering a way to define a list-of-this type and a list-of-that type, Lisp has one type of lists which can hold any sort of data.
Where other languages allow you to define a function to search a list-of-this, and sometimes a way to define a generic list-search function that you can instantiate for list-of-this, Lisp makes it easy to write a function that will search any list — and provides a range of such functions.
In addition, functions and expressions in Lisp are represented as data in a way that makes it easy to operate on them.
When you start a Lisp system, it enters a read-eval-print loop. Most other languages have nothing comparable to `read', nothing comparable to `eval', and nothing comparable to `print'. What gaping deficiencies!
Lisp is no harder to understand than other languages. So if you have never learned to program, and you want to start, start with Lisp. If you learn to edit with Emacs, you can learn Lisp by writing editing commands for Emacs. You can use the Introduction to Programming in Emacs Lisp to learn with: it is free as in freedom, and you can order printed copies from the FSF.
My favorite programming languages are Lisp and C. However, since around 1992 I have worked mainly on free software activism, which means I am too busy to do much programming. Around 2008 I stopped doing programming projects. As a result, I have not had time or occasion to learn newer languages such as Perl, Python, PHP or Ruby.
I read a book about Java, and found it an elegant further development from C. But I have never used it. I did write some code in Java once, but the code was in C and Lisp (I simply happened to be in Java at the time).
By contrast, I find C++ quite ugly.
I skimmed documentation of Python after people told me it was fundamentally similar to Lisp. My conclusion is that that is not so. `read', `eval', and `print' are all missing in Python.
I firmly refuse to install non-free software or tolerate its installed presence on my computer or on computers set up for me.
However, if I am visiting somewhere and the machines available nearby happen to contain non-free software, through no doing of mine, I don't refuse to touch them. I will use them briefly for tasks such as browsing. This limited usage doesn't give my assent to the software's license, or make me responsible its being present in the computer, or make me the possessor of a copy of it, so I don't see an ethical obligation to refrain from this. Of course, I explain to the local people why they should migrate the machines to free software, but I don't push them hard, because annoying them is not the way to convince them.
Likewise, I don't need to worry about what software is in a kiosk, pay phone, or ATM that I am using. I hope their owners migrate them to free software, for their sake, but there's no need for me to refuse to touch them until then. (I do consider what those machines and their owners might do with my personal data, but that's a different issue, which would arise just the same even if they did use free software. My response to that issue is to minimize those activities which give them any data about me.)
That reasoning is based on the fact that I was not responsible for setting up those machines, or for how that was done. By contrast, if I were to ask or lead someone to set up a computer for me to use, that would make me ethically responsible for its software load. In such a case I insist on free software, just as if the machine were mine.
As for microwave ovens and other appliances, if updating software is not a normal part of use of the device, then it is not a computer. In that case, I think the user need not take cognizance of whether the device contains a processor and software, or is built some other way. However, if it has an "update firmware" button, that means installing software is a normal part of use, so it is a computer.
Skype (or any nonfree noninteroperable communication program) is a special case. Using Skype to talk with someone else who is using Skype is encouraging the other to use nonfree software. So I won't use it under any circumstances.
Streaming media dis-services such as Netflix and Spotify are another special case. They require nonfree client programs in order to impose Digital Restrictions Management (DRM ). We should never use DRM that we can't break, and I don't know how to break the DRM of these streaming systems, so I refuse to use them under any circumstances.
I sometimes use Google's search engine, and I sometimes use DuckDuckGo. When I use a search engine, it is always from a machine that isn't mine and that other people also use. I never identify myself to the site, of course.
I do not use social networking sites. They are inherently inconvenient for me. That doesn't mean I think they are all unethical. Some are, some are not. Social networking sites raise their own set of ethical issues, completely different from the ethical issues of distributing software (free vs proprietary).
I have a Twitter account called rmspostcomments, which I use to log in on other sites to post comments on articles. I never post on Twitter. Someone made an account stallman_feed which I'm told posts something about my political notes. Any other Twitter account that claims to be mine is an impostor.
The rms account on identi.ca repeats the political notes from this site, but I do not post on it directly.
Aside from those two, any account on a social networking site that says it is mine is an impostor.
I do not post on 4chan. I have nothing against it, and I have occasionally answered questions for interviews for 4chan, but any account there that says it is me is an impostor.
I reject Facebook and Google+ on principle because they require people to give their "real names". I am proud to identify myself when stating my views; I can afford to do that because I am in a fairly safe position. There are people who rationally fear reprisals (from employers, gangsters, bullies, or the state) if they state their views. For their sake, let's reject any social networking site which insists on being told a user's real name.
Google+ offers to hide the user's real name, but demands people prove an "established identity" or provide ID. I am suspicious of this requirement, since it can't hide the user's real name from the US government, which has a policy of prosecuting journalists as "spies".
Some impostor created a Faceook account using my name. The page is not mine. The Google+ account using my name is also not mine.
For issue 1, see the FSF's page. On issue 2, I have no way to verify that any email service is satisfactory. Therefore, I have no recommendation to offer.
However, I can suggest that it may be wise to use an email service that is not connected with your search engine. That way you can be almost sure that your email contents don't influence your search results. You shouldn't identify yourself to your search engine in any case.
Every product with Digital Restrictions Management (DRM) is an attack on your freedom.
Therefore, one should not buy or tolerate any product with DRM handcuffs unless one personally possesses the means to break the handcuffs. For instance, don't use encrypted DVDs unless you have DeCSS or another comparable free program. And never use a Bluray disk unless you find a way to break its handcuffs. Don't use the Amazon Swindle or other e-book readers that trample readers' freedoms. Don't use music or video streaming "services" that impose DRM. (If they require a nonfree client program, it is probably for DRM or some sort of surveillance of users.)
Return to Richard Stallman's home page.
Please send comments on these web pages to email@example.com.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Richard Stallman
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.