Showing posts with label rms. Show all posts
Showing posts with label rms. Show all posts

Monday, January 16, 2012

What's Wrong With Proprietary Software?

In the 1960's, Richard Stallman witnessed the rise of proprietary software when he was denied the source code for the firmware of a printer he was in charge of administrating.  Now, because of his work over the course of nearly 50 years, we have the option of running an entirely Free Software system without lacking the tools we need.

Why did he go to the trouble?

Proprietary software arose as a tool which large corporations could use to control and manipulate their users.  They used this control to obtain more money and in the process violated some of our basic rights as citizens of the digital age.

This post is about a few examples of how these violations affect users today.

How Does It Work?

Proprietary software, first and foremost, prevents users from knowing how it goes about accomplishing what it claims to accomplish.  Proprietary tax software cannot be examined to be certain it truly conforms to the tax laws it purports to help users with.  Proprietary antivirus software can't be examined for correctness.

For those users who are more concerned that their software works the way it advertises than they are about having someone to point the finger at when it breaks, not being able to look under the hood is not acceptable.  It should concern everybody that their electrical grids and cable signals may not be run by provably reliable software.

This opaqueness also prevents those wishing to learn about software from learning through example.  Children should have the benefit of knowing how their world works, including how their computer works.  Don't you think?

Can I Improve It?

Traditionally, when you purchase something, you obtain the right to do with it as you will.  This includes modifying it to function more effectively or more in line with the owners needs.  Car owners frequently modify their vehicles for appearance, gas mileage, horsepower, or any number of other purposes.  There are entire communities dedicated to modifying their game consoles.

However, proprietary software does not offer this basic right.  A user who wishes that the proprietary music player he uses included a "loop" feature cannot feasibly add such a feature.  A gamer who can't progress past a particular point in his favorite proprietary game cannot add new cheats to the game.

This places the users at the mercy of the software publishers and forces them to settle for software which doesn't fit their needs as well as it could.

How Do I Know it's Not Misbehaving?

Software which prevents users from scrutinizing it can get away with all kinds of dastardly behavior in secret.  One of the earlier examples was the sheer amount of identifying personal information the media player RealPlayer collected from the user's computer and sent back to the company which published RealPlayer.

Today, Google Chrome, one of the most popular web browsers, collects similar information from its users for advertising and tracking purposes.  Some software comes with advertising and spying software from third parties.

With the right tools, some of this misbehavior may be detected.  It's not easy unless you know where to look, however.  More alarming still is the fact that most users don't seem to so much as care what their programs are doing when they're not looking.

This is a small sample of the problems with proprietary software.  However, it's fairly easy to come up with numerous ways in which proprietary software violates a user's liberties.

More information on the topic of proprietary software and its negative effects on our liberties may be found at the website of the Free Software Foundation.

Tuesday, January 3, 2012

Are We In Control Of Our Machines? Part 1

Thom Holwerda over at OSnews published a very enlightening article recently entitled "Richard Stallman Was Right All Along".  It expresses a viewpoint which I've had for quite some time.  I believe that if a person has purchased a computer, s/he should be in complete control of it and should have the ability to do with it as s/he sees fit.  Proprietary software is an impediment to that ideal.

That said, I don't have that kind of control over all of my hardware or software.  I use almost no proprietary software on my computers, but my non-x86-derivative machines such as my Nintendo Wii and my cell phone are mostly opaque to me.  I allow this because one cannot truly take part in society without such things as a cell phone or Adobe Flash.

But how close could one come to the ideal, what would one have to live without if one came as close as possible, what could be done to fill in gaps in functionality for those unwilling to use proprietary software, and how much work would be involved?

How Close Are We?

Very close, actually.  The bits which we can't do without proprietary software are minutia as opposed to foundational.  This certainly was not the case when the GNU project was young.  One may reasonably use their computers without much proprietary software.  People who use mostly proprietary software largely do so because they have developed a dependence on proprietary software and are unwilling -- not unable -- to move to mostly Free Software setups.

The exceptions I can think of are:
  • Reasonable 3D acceleration for some graphics card vendors
  • Adobe Flash
  • Firmware and BIOS
The first of these may be mitigated by purchasing graphics cards for which there are drivers which support 3D acceleration (such as Intel).  Even the second can be largely mitigated with (incomplete) Free Software Flash implementations such as Gnash.  For YouTube in particular, there are some video players such as Minitube.

What Would We Have to Live Without?

The first answer to this question which rings in my head (and that of many of my readers, I'm sure) is "gaming," of which I myself do a fair amount.  Many of the games I play are Free Software.  I've spent a good deal of time playing Crossfire MMORPG, Nexuiz (which is now proprietary, but there is a community fork of the latest Free Software version called Xonotic), OpenTTD, and even Frets on Fire.  However, many of the games I play are proprietary.  Right now, I'm nearing the end of The Legend of Zelda: Skyward Sword.

Many of the really popular games don't have a Free Software alternative.  There are strong efforts to correct this, but there is still quite a way to go.  One major deficiency I've noticed is that Free Software gaming seems to be lacking when it comes to the "plot-driven" genre.

How Can We Improve This?

As mentioned, much work is already being put toward efforts to resolve these issues.  The nouveau project aims to make a fully functional replacement for the official Nvidia drivers for the Nvidia graphics card chipset.  Please do consider putting some of your effort into such projects if you can.

Gaming is an interesting challenge, however.  You can't exactly make an open-source Legend of Zelda game.  And you certainly can't write the same Legend of Zelda game as has been released by Nintendo.  To do so without risking litigation from Nintendo would require developers to write the engine, artists to produce models and textures (but they couldn't be *too* similar or they would infringe on Nintendo's copyright), and lawyers to make sure the legal aspects were taken into account properly.

Obviously, one option would be for those interested in Free Software gaming to write the kind of games they most like without infringing in any way and make them as high quality as the proprietary alternatives.

There might be an interesting loophole which could be taken advantage of to produce Free Software versions of proprietary games, however.

The game Frets on Fire is a clone of the popular game series "Guitar Hero."  It supports importing the playable songs in Guitar Hero I and II directly from the official game disks.  This allows gamers in practice to have largely the same game experience without using proprietary software as they would playing Guitar Hero I or II on the Playstation 2.

Why couldn't this be done for many other games?

Suppose one were to write a clone of (for instance) the Legend of Zelda: Skyward Sword game engine without any art or plot elements from the original game and include a feature which would fetch said game elements from an official game disk inserted into the DVD-Rom drive.  The 3D Legend of Zelda game engines are in fact similar enough that one could most likely create one game engine which would support importing its content from any or all of the 3D Legend of Zelda games.

Unfortunately, even this is not exactly legal (at least in the U.S.).  Wii games, and games of many previous game systems as well employ DRM to prevent users from using the content on the disk.  The Digital Millenium Copyright Act (a U.S. federal law enacted in 1998) makes circumvention of DRM criminalized the act of circumventing DRM.  Hence, even if one circumvented DRM in this way but did not in any way infringe on Nintendo's copyright, this scheme would require U.S. users to commit a felony.  However, for those governed by laws which do not make circumvention of DRM illegal, this would be an excellent way to allow gamers to have the experience of playing such games without using proprietary software.

This still feels like the right direction to move, however.  Perhaps with enough support, an exemption in the DMCA could be made a reality for this kind of use.

Stay tuned for Part 2 where I plan to speak about how we can be in control of consumer electronics products which are not x86-derivative.