President Obama Signs Law Against Independent Software Developers

Ralph Ritoch

Most of the world is just sitting by watching as President Obama signs into law new provisions to the U.S. patent system which could ultimately destroy the software industry (Yahoo news: Obama signs 1st major patent law change since 1952). As an independent software developer, I am constantly having to rewrite code which I’ve designed myself without the help of patents simply because someone has a patent on some piece of my formula. The world stands by idly because they don’t know how these patents are slowing down their computer and limiting the amount of useful software that can be made. The purpose of this article is to open up your eyes, and hopefully someone reading this article will find a way to nullify ALL software patents once and for all!

If you are an average person with limited knowledge about computers, you are probably amazed at the 3D technologies you see in your favorite T.V. programs. My wife is always asking me, can that really be done? Sadly, the answer is no. There is no technological limitation preventing the production of amazing software, but instead, it cannot be done because U.S. patents make it impossible. One perfect example of this is the patented S3TC Algorithm. This is an algorithm used to compress 3D textures. You may not know what I’m talking about so I’ll try to simplify it a bit. Graphics in 3D are made up of triangles. For reasons too mathematical to explain here, the most basic foundation of modern 3D graphics is triangles because every point within a triangle can be easily calculated. An advanced 3D image could have thousands of triangles in them but there is a problem which needs to be solved: how do you add detail to the image with triangles? A primitive way of coloring triangles is to have each triangle have a single color. This means that if you want your 3D graphics to be detailed, you may need millions of triangles; some of them less than a pixel in size. This would require so many calculations that a computer may take weeks to simply draw a single screen. Real-time 3D animation would be impossible. To reduce the number of triangles needed, the concept of textures was introduced. Textures make it possible to draw patterns onto the triangles which greatly reduced the number of triangles required to create a detailed 3D image. The next problem is that all of these textures need to be transmitted to the graphics card and the connection between the CPU and the Graphics card has a limited amount of speed. Along comes the patented S3TC algorithm which compresses the textures. This is not much different in some ways than the patent on the GIF compression algorithm which held back the web development industry for years. There is one problem with the S3TC algorithm: you can’t use functions in OpenGL which use the S3TC algorithm without permission from the patent holder. Since most requests will be denied, unless a large bribe is offered, then as a programmer, you simply can’t compress your textures which slows down the program. The only way to keep the program running is to make the graphics less detailed, so as a consumer, you are left with low-quality 3D graphics because some greedy patent holder is holding the software industry hostage.

I did say that this new law was going to “ultimately destroy the software industry” so let me explain how. This may take 10 years, it may take 50 years, but unless software patents are abolished, it will happen eventually. These new provisions are meant to speed up the patent process. This means that patents limiting software development can be created and enforced more quickly. According to the article at Yahoo, these new provisions were backed by Apple and Google which shows that Obama was being influenced by some extremely wealthy people when he signed this death-note to the software industry. With patents getting approved more quickly, less software will actually become available for download or purchase because patent holders will be able to shut-down competitors before they get a chance to release new software.

The next thing you should ask yourself is how bad could it get? Consider this reality, every action performed by your computer is executed by the CPU. What is going to happen when the CPU manufacturers get patents on the instructions which are sent to the CPU? When that happens, and it will happen if software patents are not abolished, than it will become illegal to write software which sends instructions to the CPU. This includes every software application which is an actual executable (files with a .exe or .dll extension on Microsoft operating systems). As soon as this happens, ALL software will become extremely slow because the only way to make software at that point will be if you can’t get approval from the patent holder. The only alternative will be to use systems designed by companies which have approval from the patent holder. This will likely only include giant companies like Oracle with their Java Runtime Environment, and Microsoft with their .NET framework. Java and .NET programs run much, much, slower than software which sends instructions directly to the processor. If software patents are not abolished, then eventually, this will be the future of the computer industry. Computers will all become extremely slow because software developers will not be able to legally send instructions directly to the CPU. Protect your right to fast software by supporting the abolishing of software patents. If you just stand around doing nothing, then years from now, when this dooms-day prediction becomes a reality you will regret the fact that you could have done something to help prevent it, but instead, you just watched while it unfolded in front of your eyes. The days of fast computers may be nearing their end.

Related resources:

http://en.swpat.org/wiki/Software_patents_wiki:_home_page

http://endsoftpatents.org

https://my.fsf.org/donate/directed-donations/esp