Language Selection

English French German Italian Portuguese Spanish

An obstacle for Linux desktops: Windows applications

Let's analyse the situation:

You wanna leave Windows for some reason:
* You wanna reduce costs for your business?
* You don't like MS's "anti-piracy" measures?
* You're just sick of the cycle of spending money on a new system when your existing one is fine?
* Maybe, just maybe, you do NOT want to be tied to Microsoft any longer?
* ("Insert your own reason")

Whatever it is, you may end up looking at Linux as a cost effective alternative. (Often its usually someone mentioning it on the web or through a friend that is technically inclined).

Assuming all goes well with the LiveCD or install, you boot up to the desktop (typically Gnome or KDE based).

The first thing that comes to your mind is: Will the apps I use (and need) in Windows, run on Linux?

Well, that's not an easy question to answer. Currently, we have three options: (I call it "pick your poison" because no one approach is perfect).

(1) Dual boot
Install Linux alongside Windows, and whenever you need Windows, you reboot into it. This is fustrating, as it feels like breaking your workflow. And things can get problematic if the boot sector gets messed up.

(2) Virtualisation (VMware, VirtualBox, Qemu, Xen, etc).
This is great! Run Windows when you need it without rebooting!...Except you can't run all the games and other apps (flawlessly) that require some sort of 3D Acceleration. (mainly DirectX). And its not quite as fast as native machine speeds. Again, you need a copy of Windows. Sad

(3) Application Layer ie: Wine, Cedega, or CrossOver.
You don't need a copy of Windows, and you don't get a performance hit that comes with virtualisation. The problem is, its not perfect. When you try your Windows app; there's graphical glitches, loading issues, anti-piracy nonsense to deal with, and in some cases (like The Sims 1/2 or Office 2007), they just won't run, PERIOD.

So what the heck are we to do?

The only real solution is native Linux versions of the applications we need. But that's not gonna happen. Just look at this article.

Intuit slow on Quicken and Quickbooks for Linux
http://www.itwire.com/content/view/15280/1023/

Look at this excuse: There would be significant challenges in porting the whole codebase over to Linux, and it would have to be worth the effort. For now, the share of Linux on the desktop is still small.

I'm sorry, how did this Intuit rep come to that conclusion? I mean think about it:

* Web statistics can be manipulated.
=> Like MS getting Godaddy.com to switch to Win2k3/IIS6.0 on "parked domains". (How many is that? 5 million votes to MS on Netcraft?)...Even a loadbalancing solution will cause Netcraft to display odd results. (They even publically admit that!)
=> Using "Modify Headers", (a Firefox extension) to trick a website in thinking you're running some other OS. (Mine says "Firefox", but it doesn't reveal the OS).

Regardless, you can make Linux large or small as you please. Just add or remove factors to make your side look good!

* Linux isn't based on the number of licenses sold.
=> So how do you accurately gauge Linux adoption as a whole? Simple, you can't! Every time someone (like IDC) pulls out some nonsense about how Windows is more adopted, I'm very skeptical at how they arrive to that conclusion and what methods they use. (aside from the fact that the study or report is often sponsored by Microsoft themselves.)

* You are too small, you aren't worth it.
Intuit took the time to port their desktop solutions to the Mac, and yet, when it comes to Linux, they pull out an excuse? How much different is Linux and OSX under there? Is it massive such that a major re-write is needed? We don't know! I guess we'll have to take their word for it.

Let's face the truth. The majority of large software corporations that develop for Windows are swallowing MS's nonsense about Linux. They assume we don't matter, so they won't bother. (This applies to both business AND game software companies).

I'm sick of it. I'm sick of being treated like some second class citizen. Its BS excuses one after another, and we all know it.

Deep down, I wanna say: Screw it! F**k'em all! Let's grab a Windows box (not connected to the web), acquire the software we mostly use, and figure out what makes it tick, how the file formats or protocols work, etc...Then write our own opensource implementation from scratch.

This is what Samba has essentially done. And guess what? Microsoft couldn't do crap about it! (as its within the bounds of the law).

Do note: when I say "figure out", I do NOT mean directly hacking the code ("reverse engineering"). That would be breaking the law, depending on where you live. Either way, it'll get you into legal strife, given the number of lawyers these corporations can throw at you. (Usually by the dozen after they've sent you a number of "cease and desist" notices).

What is done (based on what I hear of Samba and the Nouveau driver projects), is that they figured things out through observation.

An analogy: You go on a holiday to another country. You have absolutely no idea of the local language. So what do you do?

(1) Observe the locals.
See/hear what they ask and what result they get.

(2) Try it yourself.
You may not get what you want the first time around. So you go back to step (1) and look for more clues.

(3) Keep repeating...Until you get it right.
Eventually, based on this approach, you'll get it right.

The problem with this approach is that, its time consuming. (maybe a few years of patience and persistance). Its something a lot of people don't want to do, given the nature of our impatient "instant satisfaction" society. (At least the Western ones).

The thing to note about re-implementing an idea under the opensource model, is that we should NOT blindly copy GUIs of the existing solution. We should look at what's good and what's bad. There is always a better (more intuitive) way to do something. Apple's OSX has proven that you don't have to emulate Windows to create a user friendly solution. (looks also play a big role).

As well, our implementations should be lean on system resources. uTorrent (on Windows) has proven that, in this age of dual/quad-core with 2GB+ RAM systems, nothing beats a small, well coded application that does the job well. Bloat and resource hungry are bad. No user wants to wait. Just because systems are more beefier than they were a few years back doesn't mean we should be careless in writing apps!

So what's the other choice?

See what's already out there right now, and see if we can use that, or if we have some coding skills, improve it.

* Does the existing solution allow me to share files with others, but without compatibility issues?

* Do they offer the same feature set as commercial solutions?

Take for example, accounting software.
http://en.wikipedia.org/wiki/Comparison_of_accounting_software
http://www.linux.com/feature/61672

* Which one has the best GUI? Can we do it better?

* Which one is the most used? Feature set?

* What formats are out there that need to be supported?
ie: MS Money (OFC), Quicken/MYOB (QIF), Comma Separated Values (CSV), Open Financial Exchange (OFX), etc.

I guess what I'm saying is that we shouldn't put up with our current situation. We need to band together, organise, and start some opensource projects (or join existing ones) with some clear goals.

But remember, when critiquing someone else's application, don't do it like a troll. Offer good constructive view with examples backing your point. Acting like a teenager is gonna bring a negative response!

If no one listens to you, that's OK. Its not the end of the world. Take the code of the existing solution and either change things yourself OR work with someone who shares the same view as you. (There's a few million coders out there, I'm sure there's atleast one person who agrees with you and would like to help!)

We simply can't rely on large corporations. They only think of money and how to make more of it regardless of how they treat people. They really don't care, as money matters more.

I say forget them! Let's take the initiative and do it our way. If we start growing, eating into their marketshare and thus, their profits? Tough! Maybe they'll listen next time! (I doubt it...Money is the substance that corrupts most of humanity).

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.