Richard Stallman's personal site.

For current political commentary, see the daily political notes.

RMS's Bio | The GNU Project

How I do my computing

My computer

As of 2022 I use a Thinkpad x200 computer, which has a free initialization program (Libreboot) and a free operating system (Trisquel GNU/Linux). It was not sold that way by Lenovo, however; small businesses buy them used, recondition them, and install the free software. This is one of the computers endorsed by the FSF. I've used other Thinkpad models that similarly respect users' freedom since the early 2010.

Before using such Thinkpads, I used the Lemote Yeeloong for several years. At the time, it was the only laptop one could buy that could run a free initialization program and a free operating system. But it was never sold with a free operating system. Lemote has not sold such a computer for many years.

Before that, I used an OLPC for some weeks. The OLPC uses a nonfree firmware blob for the WiFi, so I could not use the internal WiFi device. That was no big problem -- I used an external WiFi adaptor.

I stopped using it because the OLPC project decided to make their machine support Windows, so I did not want to appear to endorse it by visibly carrying it around. I could have continued using it privately with its free software installation, but I had no need for another computer to use only privately.

The result that then seemed likely, millions of children running Windows on the OLPC, did not occur. Instead we saw millions of children running Windows on the Intel Classmate, or nowadays a using Chromebook that sends the child's personal data to Google.

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 in some commercial machine.

GNU/Linux distro

I do not have a preferred GNU/Linux distro. I recommend all the ethical distros — namely, those that are entirely free software.

I've chosen not to make judgments comparing the ethical distros on practical aspects. That is a secondary issue for me, and I'd rather not distract people from the primary (ethical) issue. Anyway, many others could do practical reviews and comparison better than I can. Indeed, I am not in a position to compare free distros on practical criteria because I have not tried them all. To try them would be a lot of work, and there are other more useful things for me to work on.

What I do on my computer

Mostly I use a text console, for convenience's sake. Most of my work is editing text and that is more efficient on a text console. On the text console, the touchpad can't cause me any trouble if I touch it by accident. The mouse can't make my editing commands fail to work by being on the wrong window.

I do use X11 for tasks that need a graphical interface. I have no preferred graphical environment or window manager. Since my own practical interest in using graphical environments is small, I don't want to spend time comparing them. In fact, what I use is Maté. (The accent is used in English, with this word as well as some others, to indicate a foreign word in which the final "e" is not silent.)

My choice of text terminals is not an ethical issue, just my own personal preference. On the ethical level, I think it is important for free software to provide convenient free graphical user interface software, which is why the GNU Project launched three projects to develop that. The third one, GNOME, was a success.

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.

I edit the pages on this site with Emacs also, although volunteer helpers install the political notes and urgent notes. I have no experience with other ways of maintaining web sites. In principle I would be glad to know about other ways, but learning about them is low priority for me and I have other things to do.

I don't have time to play a game a long time try to get good at it. So I rarely play any game except quick forms of solitaire. Of course, any game I run on my computer must not include nonfree software.

If the game runs on a server, it must not require any nonfree client software, and the server must not be able to identify uses or tell where they are located. It should allow connection via Tor. Evidently it must not be a game which you win by fast reaction.

How I use the internet

I am fastidious about what I do on the internet and how. The internet has become a disgusting system of tracking people and snooping on them. To avoid this, there are many things I refuse to do. My refusal is not a sacrifice — on the contrary, surrendering to those bad practices would be a sacrifice.

I won't connect to the internet in a way that can identify me or my location to any company's or government's database, with one exception that I don't see a way to get around: at my home, I have no way to connect except for my own internet connection.

However anywhere else I connect only in ways that don't report who I am. If I am visiting your home and you let me connect, you will know that the person connecting is me; but your ISP won't know that. I also connect in places such as cafes, if they have one password that every user uses. However, if a hotspot requires users to identify themselves, I refuse to connect there. I wait for another chance.

I generally browse via the Tor network, so that (1) the ISP can't identify me and (2) the web sites I connect to can't identify me or determine my location. However, I do not use the Tor browser, because I want LibreJS to block nonfree Javascript.

I refuse to run nonfree Javascript code sent by web sites. I enable LibreJS to block it. As a consequence, many web sites won't function for me. In particular, I can't access Google Drive URLs. I was able to access YouTube via the proxies, but YouTube is trying to shut that down, so I can't foretell whether I will be able to access to YouTube in the future.

How this site is maintained

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; helpers 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 of each note from me by email. A cron job "rolls over" the political notes page every two months. The photo galleries are generated with this perl script. The search feature on the site is done with this code.

An explanation of the concept of designing a "user experience" also shows why I find the idea loathsome. This is why I want to remain simple: not a "user experience" but rather a place where I present certain information, views and action opportunities so you can see them.

Would you like to volunteer to help keep this site going? Write to rms at the site

How I use the Internet

Social media

E-mail service

People sometimes ask me to recommend an email service. The two ethical issues for an email service are (1) whether you can use it without running any nonfree software (including nonfree Javascript code from the site), and (2) whether it respects your privacy.

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 a search engine in any case.

Programming languages

How to learn programming

First, read a textbook about programming in some language, then manuals for several programming languages including Lisp. If they make natural intuitive sense to you, that indicates your mind is well-adapted towards programming.

If they don't make intuitive sense to you, I suggest you do something other than programming. You might be able to do programming to some degree with a struggle, but if you find it a struggle you won't be very good at it and you won't enjoy it. What's the point of programming if it is a struggle instead of a fascination? It's your choice -- if your brain is better suited to some other activity, you could choose that instead.

After that, you need to read the source code of real programs (or parts of them) and figure out what they do. Then start writing changes in them, to add features, or fix bugs if you can find out about specific bugs to fix. Ask some good programmers who are familiar with the code of those programs to read and critique your changes.

If you fix bugs in a free program that others are developing, the developers are likely to be glad to get fixes from you and will tell you the way to write them to make them good to install. Look at their TODO list for features they would like to add, and implement some. You will find it is a great satisfaction when the developers incorporate your changes.

Do this over and over and you will become good at developing software.

Please use your programming capability only for good, not for evil. Don't develop nonfree software, or Service as a Software Substitute. Design systems not to collect personal information, and to allow anonymous use.

Non-free software issues

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 its owners migrate them to free software, for their sake, but there's no need for me to refuse to touch it 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 activities which give them any data about me.)

That's my policy about using a machine once in a while. If I were to use it for an hour every day, that would no longer be "once in a while" — it would be regular use. At that point, I would start to feel the heavy hand of any nonfree software in that computer, and feel the duty to arrange to use a liberated computer instead.

Likewise, 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 using free software exclusively, just as if the machine were my own property.

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 different software is a normal part of use, so it is a computer.

Skype, Zoom, WhatsApp, and any nonfree noninteroperable communication program, are special cases because of their network effect. Using Skype to talk with someone else who is using Skype is encouraging the other to use nonfree software. Doing so regularly is pressuring the other to use nonfree software. So I refuse to use Skype under any circumstances.

More information about Skype.
More information about Zoom.

Streaming medias and DRM issues


Return to Richard Stallman's home page.

Please send comments on these web pages to

Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2015, 2018, 2019, 2022 Richard Stallman

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.