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

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 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.

* 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

Microsoft EEE

  • Why the Windows Subsystem for Linux Matters to You – Even if You Don’t Use it [Ed: Microsoft pulling an EEE on GNU/Linux matters. Sure it does... while suing GNU/Linux with software patents Microsoft says it "loves Linux".]
  • Canonical Teams Up with Microsoft to Enable New Azure Tailored Ubuntu Kernel
    In a joint collaboration with Microsoft's Azure team, Canonical managed to enable a new Azure tailored Ubuntu kernel in the Ubuntu Cloud Images for Ubuntu 16.04 LTS on Azure starting today, September 21, 2017. The Azure tailored Ubuntu kernel is now enabled by default for the Ubuntu Cloud images running the Ubuntu 16.04 LTS (Xenial Xerus) operating system on Microsoft's Azure cloud computing platform, and Canonical vows to offer the same level of support as the rest of its Ubuntu kernels until the operating system reaches end of life.

Servers: Kubernetes, Cloud Native Computing Foundation (CNCF), and Sysadmin 101

  • Kubernetes Snaps: The Quick Version
    When we built the Canonical Distribution of Kubernetes (CDK), one of our goals was to provide snap packages for the various Kubernetes clients and services: kubectl, kube-apiserver, kubelet, etc. While we mainly built the snaps for use in CDK, they are freely available to use for other purposes as well. Let’s have a quick look at how to install and configure the Kubernetes snaps directly.
  • Kubernetes is Transforming Operations in the Enterprise
    At many organizations, managing containerized applications at scale is the order of the day (or soon will be). And few open source projects are having the impact in this arena that Kubernetes is. Above all, Kubernetes is ushering in “operations transformation” and helping organizations make the transition to cloud-native computing, says Craig McLuckie co-founder and CEO of Heptio and a co-founder of Kubernetes at Google, in a recent free webinar, ‘Getting to Know Kubernetes.’ Kubernetes was created at Google, which donated the open source project to the Cloud Native Computing Foundation.
  • Kubernetes gains momentum as big-name vendors flock to Cloud Native Computing Foundation
    Like a train gaining speed as it leaves the station, the Cloud Native Computing Foundation is quickly gathering momentum, attracting some of the biggest names in tech. In the last month and a half alone AWS, Oracle, Microsoft, VMware and Pivotal have all joined. It’s not every day you see this group of companies agree on anything, but as Kubernetes has developed into an essential industry tool, each of these companies sees it as a necessity to join the CNCF and support its mission. This is partly driven by customer demand and partly by the desire to simply have a say in how Kubernetes and other related cloud-native technologies are developed.
  • The Cloud-Native Architecture: One Stack, Many Options
    As the chief technology officer of a company specialized in cloud native storage, I have a first hand view of the massive transformation happening right now in enterprise IT. In short, two things are happening in parallel right now that make it radically simpler to build, deploy and run sophisticated applications. The first is the move to the cloud. This topic has been discussed so much that I won’t try to add anything new. We all know it’s happening, and we all know that its impact is huge.
  • Sysadmin 101: Leveling Up
    I hope this description of levels in systems administration has been helpful as you plan your own career. When it comes to gaining experience, nothing quite beats making your own mistakes and having to recover from them yourself. At the same time, it sure is a lot easier to invite battle-hardened senior sysadmins to beers and learn from their war stories. I hope this series in Sysadmin 101 fundamentals has been helpful for those of you new to the sysadmin trenches, and also I hope it helps save you from having to learn from your own mistakes as you move forward in your career.

Databases: PostgreSQL 10 RC1 and Greenplum

  • PostgreSQL 10 RC1 Released
    The PostgreSQL Global Development Group announces today that the first release candidate of version 10 is available for download. As a release candidate, 10 RC 1 should be identical to the final release of the new version. It contains fixes for all known issues found during testing, so users should test and report any issues that they find.
  • PostgreSQL 10 Release Candidate 1 Arrives
    PostgreSQL 10 has been queuing up improvements to declarative partitioning, logical replication support, an improved parallel query system, SCRAM authentication, performance speed-ups, hash indexes are now WAL, extended statistics, new integrity checking tools, smart connection handling, and many other promising improvements. Our earlier performance tests of Postgre 10 during its beta phase showed some speed-ups over PostgreSQL 9.
  • Pivotal Greenplum Analytic Database Adds Multicloud Support
    Pivotal’s latest release of its Greenplum analytic database includes multicloud support and, for the first time, is based entirely on open source code. In 2015, the company open sourced the core of Pivotal Greenplum as the Greenplum Database project. “This is the first commercially available release that we are shipping with the open source project truly at its core,” said Elisabeth Hendrickson, VP of data research and development at Pivotal.

Graphics: NVIDIA Progress, VC4/VC5, Intel's Linux Driver & Mesa

  • NVIDIA 384.90 Linux Driver Brings Fixes, Quadro P5200 Support
    One day after releasing updated GeForce Linux legacy drivers, NVIDIA is now out with an update to their long-lived 384 branch. The NVIDIA 384 Linux series is the current latest series for their proprietary driver. Coming out today is the 384.90 update that is primarily comprised of bug fixes but also includes Quadro P5200 support.
  • NVIDIA Continues Prepping The Linux Desktop Stack For HDR Display Support
    Besides working on the new Unix device memory allocator project, they have also been engaged with upstream open-source Linux developers over preparing the Linux desktop for HDR display support. Alex Goins of the NVIDIA Linux team presented on their HDR ambitions for the Linux desktop and the work they are still doing for prepping the X.Org stack for dealing with these next-generation computer displays. This is a project they have also been looking at for more than one year: NVIDIA Is Working Towards HDR Display Support For Linux, But The Desktop Isn't Ready.
  • The State Of The VC4 Driver Stack, Early Work On VC5
    ric Anholt of Broadcom just finished presenting at XDC2017 Mountain View on the state of the VC4 driver stack most notably used by the Raspberry Pi devices. Additionally, he also shared about his early work on the VC5 driver for next-generation Broadcom graphics.
  • Intel's Linux Driver & Mesa Have Hit Amazing Milestones This Year
    Kaveh Nasri, the manager of Intel's Mesa driver team within the Open-Source Technology Center since 2011, spoke this morning at XDC2017 about the accomplishments of his team and more broadly the Mesa community. Particularly over the past year there has been amazing milestones accomplished for this open-source driver stack.