lunes, abril 18, 2011

Reasons why I use Windows

Being an open-source programmer that uses Windows (and openly prefers it to any other operating system, Linux included) can cause you a bit of uneasiness in certain contexts. While using Windows can be frowned upon among other open-source programmer, sometimes it goes beyond that and I have to listen to endless minutes of dreadful techno-proselytism from people who, for some reason, believe that I have never opened a Linux box and that I should give it a try and that will inmediately change my whole life. Tired of hearing people asking me things like "how can you still use Windows instead of Linux?", "I do not understand how you can work with that..." and other similar ones, here is a detailed explanation of why I do what I do. Also, this is meant to serve as a reflection about open-source software and will give you some ideas about how I understand the open-source software movement and the software industry in general.

Here we go.

1)I like Windows.

This reason alone should suffice, since, basically, we all do what we like and it makes no sense to select the option that doesn't fulfill you expectations and leave aside the one that makes you happy. I spend a lot of hours in front of the computer and I prefer to do it using Windows than Linux. As simple as that. However, let me justify this with some more "professional" arguments.

As you might now, I take productivity very seriously in my work, up to the point of having no mouse or touchpad in my computer, since doing everything using the keyboard is way more productive (although it needs some training) for the kind of work that I do (that is, programming). I worked more or less one year with a Linux-only PC and my productivity was not as high as when using Windows. This is not something that I just "felt". If I was just coding, there was no difference, since I could use eclipse on both systems, but as soon as I did complex tasks involving several applications, I was less productive when using Linux. I benchmarked it using a couple of common tasks, and I concluded that, for some reason, I feel better on Windows and that it affects my productivity. It is just a matter of taste, just like some people drink coffee and others drink tea, or some listen to blues while others listen to classical music. So I am not saying that Windows is better, but just that, for me, it feels better. And I worked one year using only Linux, which I think is a long enough period of time to start comparing.

2)I run a highly tuned-up Windows.

Windows users are bad users, we all know that. They log-in with administrator priviledges and have difficulties doing common tasks. On the other hand Linux users have a great knowledge of their system, they have read a few books about it and read man pages for dozens of commands. However, not all Windows users are the same. Some of them, like myself, like to read about Windows, about how to use it properly, and with each new version of Windows check as much documentation as possible in order to find out the improvements of their operating system. And, for this reason, I can tweak my system just like any Linux user does and take the most out of it.

For instance, my computer has one administrator user but as many as five other user profiles, each of them adapted to a particular kind of work. And the "switch user" option is disabled, so changing the user requires to log off. My "working" profile makes it very easy to use eclipse but terribly hard to use any other application, so I have to concentrate on programming. The "general" user profile, on the other hand, has a one-letter shortcut for each application, so I can launch any application pressing [windows key] + R, typing one letter (c for Chrome, e for Eclipse...) and pressing Enter. The start menu is empty, so there is no way of launching apps otherwise. Another profile that I use for writing has no internet browser, since I never need that when I write, so I avoid unnecessary distractions.

Of course, you can do things like that on Linux, but how many of those saying "I cannot work on Windows" have ever taken the time to configure the system like that? Also, how many of them have the same skills on Windows as they do on Linux?. As a curious case, I can tell you of a professor that came to lecture to our university and said that he needed his Linux machine, since he liked to have several apps open along with his slides and change between them quickly, and that could be done only using several desktops in Linux, something that was not possible in Windows (he added a few adjectives here to make clear that he was convinced that Windows was a useless operating system). I was pleased to show him that the alt+tab key combination can be used to switch between open applications, and that it can be used both in Linux and Windows. He didn't know about it :-)

A fine-tuned installation of Linux is, for sure, better than an out-of-the-box installation of Windows, but not necessarily better that a properly configured Windows.

3) But Linux is free!!

I am sorry, but freedom itself is not a reason for using something. As much as I love the open-source philosophy, it is not enough to make me use something that makes me be less productive in my work and have (once angain, for me) a worse user experience. For die-hard Linux fans, that seems to be more that enough, as long as they keep fighting against the cruel, inhuman, proprietary software companies leaded by Micro$oft. Not my case, definitely.

It's funny to see how, however, most of these people buy books (thus supporting the way less-than-fair publishing companies) or records (empowering record labels and their long-ago outdated business model) while free alternatives exists. Of course, they prefer to listen to a contemporary rock band and read the latest techno-punk novel instead of downloading the complete recordings of jazz pioneer Jelly Roll Morton to their mp3-players or the complete works of Homer (written before copyright laws even existed), both of them in the public domain and freely available from a dozen of sites on the Internet. Why? Simply because they prefer their bands and writers and do not mind buying their works. Easy to understand. Now you go to point 1...

I also find it funny how we tend to think that a software distributed under a proprietary license has to be per-se a bad software. A brilliant piece of software can be distributed by a greedy company under draconian conditions, and still be technically awesome. For some reason, this seems to be difficult to understand when we speak about software, but not so much when we speak about music of literature. Metallica sued their fans for downloading their tunes using Napster, but no one (even those being sued) questioned them as probably the biggest metal band ever. They questioned them as persons, not as musicians. Similarly, no literary critic would question "Journey to the end of the night" as one of the finest novels of the XX century, although his author, Louis Ferdinand Céline, was a fascist that, along with his masterpiece, wrote quite a few anti-semitic pampleths. But, however, many people judge Windows not from a purely technical point of view after using it, but based on what they feel for Bill Gates or how much they detest the aggresive and stupid style of Steve Ballmer.

We should separate the software itself from the license, and specially, not asumme that being free makes a software better. Free software can be awful or it can be great, and it does not depend on its license but, most of all, on the programmers behind it. And, like it or not, there are awesome programmers on both sides of the proprietary vs free software world. Since this is a GIS blog, let me tell you a little secret. I get angry each time I hear about ArcGIS licenses and, specially, how the spanish distributor deals with them. Their policy is, to say it mildly, disgusting, But, regarding the software itself, I absolutely love it and would kill for having a look at its source code. The programmer in me likes to look at sofware as something with no license at all, just like a technical element not linked to any social or economical element.

I hope that this long post has helped you think a bit about this interesting topic...


Comment are welcome :-)

17 comentarios:

Delawen dijo...

And what about... your second point, tunning your OS?

You cannot (because you don't have the source code and you cannot do certain things) tune the Windows as much as you can tune the Linux. Maybe you don't need to tune Windows more than it lets you. But you can tune Linux so it works just like a Windows.

And what about security? Severe bugs in Windows may take weeks or months to get covered, while on Linux it takes only hours or days. That's the main reason why there are far more virus and malware for Windows than for Linux (if any).

Also you never know what is Windows really doing on your background, it's impossible to know if he is changing something you don't want to.

I just don't feel safe on Windows.

volaya dijo...

I basically cannot tune my OS because I do not have the necessary skills to modify its source code (like 99.99999% of Linux users). So having the source code of Linux for me is useless.

Regarding security, that is a good point for a discussion... I agree with you in Linux being more secure than Windows, but I guess that I do not appreciate security as much as I value other things like, as I mentioned, productivity. So I do not really care about that so much...

Thanks for your comments!

Jorge Gaspar Sanz Salinas (XuRxO) dijo...

oh shit, blogger has removed my more than 3 paragraphs comment when changing the google account :'(

so well, I'll answer you with a beer on our next meeting :-)

Anónimo dijo...

I think it is not enough to work one year with linux. ¿How many years are you working with your windows machine?

You can customize your OS without hacking any line of code. In fact you have several desktop options(kde,gnome,xfce,...), and several distributions.

About productivity, compiling in windows take ages compared with a tuned linux box, maybe you can use this slots of time to see whatever in internet and mantain your productivity XD!

Un abrazo!

volaya dijo...

I agree with that, maybe one year is not enough. But I might be too lazy to try it for a longer period :-)

I know that you can customize your OS a lot without coding (I said it in the post), but I wrote that as an answer to Delawen, who said that you can customize Linux more than Windows because you have its source code. What I meant is that it is true that the source code allows you to go further in terms of customization, but that is beyond the reach of most users.

Regarding compilation times...I do not really see a big advantage. I am not completely sure that it takes longer. Anyway, let's assume that Linux is twice faster than Windows (which probably is not...). Compiling the SEXTANTE core takes 8-9 seconds in my computer (and it is a 7 year old computer...). I do it like 4-5 times a day, not more than that. I would save around 20 seconds per day. Not a big difference. On a newer computer it could be 8-10 seconds, which basically means nothing...


Jorge, I am looking forward to hearing your opinion in the next meeting... :-)

duarte dijo...

I think this is a really great post. I for one do not like dogmas, and enjoy intellectually challenging discussions. And this is really one of those!

Robert Szczepanek dijo...

I like this post Victor. You must be breave open source developer to present such point of view in public ;) Real value of FOSS is in diversity, and in broad meaning of this term ... there is also place for MS.

Andrés dijo...

Víctor, I like the reasoning behind your choice: choose what you like and helps you to be productive. Also I like the sincerity of the post. Good tone and brave man!

Not that I want to sell GNU/Linux to you, but as you have opened the discussion, I think it might be interesting to know other reasons apart from freedom to use GNU/Linux. Here the list I've just made up:

- Receiving updates of all your software in a steady way. Without pain. The update-manager all distributions has by default is awesome and allow you to 1) know what is going to update (I like this sense of being in control) and 2) receive last developments and news in a centralized manner.

- I like the UNIX philosophy: One thing at a time. That allow me to custom to the extreme my system by just gluing things together. I hadn't that feeling in windows with one-solution-for-all. Not that I'm a linux kernel developer. But I got to know my system just by using it. Like if you drive: you got to know some general issues of the engine and so.

- Best support for development activities. I spent most of the time coding, so having good support for my favourites applications is a must. If you develop java, certainly by using Eclipse you are almost done :) But, in other cases (python, html/css, javascript, C ...) and for some tools (git, ...) windows is a later platform to adopt those technologies/applications. It is not only the speed, but the availability and support of the tools.

- The console. I love it. I love using my keyboard for any activity: renaming files, move directories, open a video, etc. Having a superpower console and know a bit how to use it makes me more productive as well.

- Desktops. It allow me to change between 5 different applications by just 1 click. Also I like the idea of organizing things in different spaces. Not that I don't know ALT+TAB, but using it in combination of several desktops ... woah, that's powerful.

- Just love some applications I have that I hadn't when I was using windows. Not that I'm religious about them, but I prefer those to others. Besides, in some cases you have no alternative in windows os. For example:
1) hamster applet to log hours and activities: http://projecthamster.wordpress.com/screenshots/
2) an application to talk with all people (yahoo, gmail, work, msn, facebook,...): http://live.gnome.org/Empathy
3) guake: http://guake.org/screenshots
4) rhythmbox. I like the search&play paradigm of this music aplication. When I want hearing music, I dont want to be bother by some "nice picture or screen" that someone is deeper in. Just listen music and organize my songs:
http://projects.gnome.org/rhythmbox/screenshots.html

Well, I'm sure there are more reason apart from freedom to use it. Let others to speak!

Andrés dijo...

Ah, almost forgot it! Two side comments:

- "It's funny to see how, however, most of these people buy books or records while free alternatives exists. ". Good point. Agree with you 100%. But, IMHO, music/reads/art are not sustitutive products, they are complementary: if you don't hear Metallica you are gonna miss something. Not the case of operating systems: you can have the same -I'd say better! ;)- experience by using GNU/Linux or Windows.

- ArcGIS VS FOSS4G desktop solution compared to Windows VS GNU/Linux. I think they are different cases. Today, there is no FOSS4G solution powerful enough to be a complete substitute of ArcGIS. You can use them for 95% of the tasks, but, if you want to do some of the other 5%, makes sense to pay for an ArcGIS license. You are paying to be able to do something you can't with foss4g. Not the case of Windows. With any GNU/Linux distribution you have by default more options (see my later comment! :)) than for Windows OS. So, for my particular case, makes no sense to pay for something worse.

volaya dijo...

"Receiving updates of all your software in a steady way. Without pain. The update-manager all distributions has by default is awesome..." True. I really miss that. One of the best things in Linux that we do not have in Windows.

"The console". There is also a console in Windows and it is more powerful than what most people think. And you have better alternatives like PowerShell or you can install a bash console like cygwin-bash or win-bash. I usually use the console just for scripting, not for single commands.

" Just love some applications I have that I hadn't when I was using windows". I also have a few ones that I could not find in Linux, like a good IDE for LaTeX (Kile doesn't even have spell checking as you write...)

"You can use them for 95% of the tasks, but, if you want to do some of the other 5%, makes sense to pay for an ArcGIS license." I would not say 95 and 5%, but 70 and 30%. Love your optimism :-)

Great comments anyway, it is nice to have this discussion here. Thanks a lot!

Jorge Gaspar Sanz Salinas (XuRxO) dijo...

OK I'm using gedit this time as a backup :-)

More or less everithing is said and I agree Andrés arguments about updates, console and so on.

Well the fact is that I don't know PowerShell but in linux (and probably Mac) using the terminal is so "natural"... Besides using some enhacements like Guake (a terminal that you can have always at hand like in Quake game) I use as Andrés the console a lot for so many things like (un)installing soft, moving things around, finding files, editing texts, (un)compressing, posting tasks to my to-do list, sometimes also twittering, etc.

It's the same argument you made about productivity, with the terminal I do a lot of stuff without the mouse, quickly and reliably. When I'm on Windows... well I use also the console (i.e. for svn, I hate Tortoise) but no having a cross-session console is a real PITA.

Anyway just to continue with the thread, Víctor two questions:

Witch version of Windows are you using nowadays?

Have you tried texmaker? It is multiplatform so it's the same for Win, Mac and Linux. I haven't write a lot on it but seems a good choice.

Anónimo dijo...

In the commercial world you are a fool if you use open-source software.
In the open-source software world you are the evil if you happen to use things like Microsoft and so on.

I like and use open-source software, but it seems to me you are a really brave guy Victor, for showing such preferences in the open-source world, sometimes the closest one to other points of view.

Nice discussion.

Jorge Gaspar Sanz Salinas (XuRxO) dijo...

"sometimes the closest one to other points of view"

That's quite unfair and inexact, IMHO. At FLOSS we use to discuss and share as here, the "closed point of view" would be maybe to come here and troll Victor's post.

Instead of that we spend our time discussing about why we like one tool or another and no one is banning or blaming Víctor by his post.

Of course extremists are at this world and in fact we need them to see where are we, but that doesn't mean everyone at FLOSS is an extremist against privative software (FLOSS is also commercial software).

volaya dijo...

Jorge

The computer that I have at my working place (an old about-to-die one) has Windows Vista, the one that I use at home (a small 12.1-inches laptop) has Windows 7. The configuration is pretty similar in both of them, anyway. Both of them are kindly supplied by the university, since I do not have one that I own myself :-)

Before buying the small one (just a couple of months ago), I had the old laptop at home and a 512Mb, 800MHz, Pentium II PC with Windows XP at the University. That has been my main computer since the early days of SEXTANTE, and 90% of the SEXTANTE code has been coded with that old but reliable machine :-)

I will have a look at texmaker. Looks great! Thanks for the advice!

volaya dijo...

I meant Pentium III. It is an old PC...but not that old :-)

Anónimo dijo...

Power users can always use whatever they like more and the OS/tools that makes them more productive.

In this sense we geeks will never reach an agreement (well, if we don't care about freedom) but this is not really important.

This does not means that Windows makes everyone more productive... and I'm not speaking about power users.

In fact most of my colleagues (not power users) are much less productive then the ones that made the switch to Linux: much faster machines, no worries with viruses/etc., easy way to install/remove software, almost all the hardware works out of the box with no needs to install 3rd party drivers/sw, etc.

Jordi Torres dijo...

Hi Victor,

I am a Mac user and I can see your point. I like Mac OSX because I feel more productive, and at the end it is a linux box with well-prepared drivers and whith a very useful desktop system.

Anyway I think it's important to remark that it is a personal option. IMHO this is not applicable in administration environments, where the whole society is paying for the licenses.

Right now I feel stupid when I start a Windows session (Jorge can corroborate this). The main reason is that I don't have the habit and I don't like it.

But is a good point we can share our works and push the opensource world in a cross-platform way.

Cheers.