Wednesday, August 29, 2012

Software patents -- are they evil?

Software patents are commonly misused by companies to kill competition; practically there're just 2 companies (apparently protected by the US government) which does so, and following it's tactics, all other companies also do it to remain in competition. In the mean time there's major harm to one community – the Opensource.

Unlike software patents, patents not relating to manipulation of information are never misused, cause they can't be misused.

Definition of software patents -

In abstract form, I define software patents as “method of manipulating/generating information using information”.

In this context, the program is a method of manipulating/generating information and program itself is also information.

For programs to be run, we need hardware; when a program manipulates/generates information, so does the hardware running it, but the hardware never does it directly, it does it through the program, but the program is directly manipulating/generating information.

In that case, any instruction (programs in this e.g.), needs a real world object to to execute it. Either it be a human following instruction to solve numerical or a computer (hardware) following instructions (software) to do the same.

Arguments against software patents -

Mathematical methods also come in the same context, mathematical methods are methods to manipulate/generate information using the mathematical method, which's itself information.

The difference between computer program and mathematical procedures is that a mathematical procedure is executed by a human being and a program by a computer.

Actually in this context, I can even patent methods to write an essay or method of managing a log book. Other include -

Special margins to write both page no. and date.

Special formatting lines on a page designed for scientific use (diagrams).

Labeling methods of diagrams.

Method to write content to criticize the government and set people against them.

Method to write articles to convince conservative people to buy your product.

Method to write a patent document.

Etc... etc... etc...

If you can patent things in written form, why cant you patent methods of speaking in specific structural ways; finally it's a method of manipulating information (speaking)? e.g. -

Method to talk in such a way to convince people to take your products.

Method to respond to your opponent in debates (lawyers will have to pay royalty in other to use this methods)

Method to structure your statements in a speech so as to not make them boring (politicians will have to pay royalty for this).

All these fall under the category of “method of manipulating/generating information using information”.

Why software only? -

Question is, if you're allowing software patents why are you not allowing patents of mathematical methods; why are patents on the above examples (method to write/draw/speak) forbidden? Why are software developers targets and not anyone else?

If your arguments is the fact that writing and speaking are trivial things then are electronic devices in the 21st century trivial? If they are according to you, then you're discouraging people to adopt and code for electronic medium by using concept of software patents, similar to the way you'll be discouraging people to talk in public or distribute their writings cause it may be violating a patent.

Also developing mathematical methods are not trivial, yet patenting it is not allowed.

Thus I suggest, every patent covered under “method of manipulating/generating information using information” be allowed or software patents should be forbidden. No use targeting developers.

Freedom –

If you allow patent on basis of “method of manipulating/generating information using information” it'll rob basic freedom of the common people, this's apparent from the above

In the same way, as the law “method of manipulating/generating information using information” robs freedom of from people, software patents, falling under the same principle robs the right of developers to write code... and writing is a fundamental right.

Even if a software developer is selling a software using a patented technology, his basic rights to write code is taken away; in contrast if we patent a “Method to respond to your opponent in a debates”, lawyers and a lot of other people who also earn money by talking; so if they use this method, they should pay for the license. Similarly a method of writing story for kids to make it more entertaining can also be patented and book authors should be charged for selling a book with patented technology. This'll rob the freedom of everyone, enforcing this law will force people out of the country, and we see the same trend with developers (atleast they threaten).

Root of innovation is not money -

This's specially true with software.

Did scientists and mathematicians made their mathematical methods or derivations for money? Maybe – if they were hired, but you cant ensure their payment'll increase cause of this work, thus this work done was not intended for money. The employment was done to ensure that continue working without survival issues.

My point is, the source of innovative work is not always money – this's true for the larger majority of software. If you really want money, there're other ways to get it. To name a few -

Vorbis and mp3 – Vorbis is a better compression yes does not use any patents (point is – the developers have not copied over any patent methods).

Internet and MS exchange – Yes, all common protocols used over the Internet are not patented. The MS exchange protocols is proprietary and probably uses a lot of patents; still the standard protocols are much better and show more innovation than MS exchange.

NFS and CIFS – Agreed, NFS is not as feature rich as CIFS, but it's designed to work over local networks where security is not much of an issue; NFS is a lot faster than CIFS (30 – 40%), yet it's a free implementation by Sun (now Oracle).

C, C++ were revolutionary languages and yet not patented.


Countless others........

Instead, patents have a large role in stopping innovation.

For real life inventions, there're no non-profit inventions. If there are, they're not as good as the profit ones.

Preventions of innovation, discouragement of opensourcing software development -

Imagine a developer making a new opensource protocol (for public cause (RFC)), considering the amount of software patents in the market, the probability of him violating a software patent are high. Cause of software patents he could not make the new protocol or improve the new protocol or software patents hindered development of a new innovative protocol.

He can apply for a license, but there are legal issues in the way – too much work. Then you don't know if the company will provide a license even.

All in all, the developer has to spend money to make a software for public cause – this's forbidding developers (or sponsors) to make a new innovative technology for public cause; in this case the patent office favors the the powerful (to make them become richer and powerful) and leaves the common people in dismay. By powerful I mean someone holding a lot of patents.

This way, if there's a sponsor of the software, he'll be encouraged to make it closed source to avoid patent infringement (by not disclosing to the world the code) and so use it only for internal purposes only, depriving world off the technology and yet violating patents. The disadvantage of close source software is also to be considered.

Thus, my conclusion is that if software patents are abolished, it'll not stop innovation, instead it'll increase it by causing less hazel.

Cross licensing of technology results in complications -

For a video format to be best possible in the market, it should violate many patents (or method of efficient encoding). If the maker of the format itself applies patent on newer methods that he developed – it'll just increase the complications.

All in all, cause of many violations in patents, making this ideal video codec will be impossible cause you'll be on the mercy of the companies holding the patents all the time discouraging people form making the video codec.

Unfortunately this very concept can be turned against the concept of patents as a whole – even in real world things. Thus this fact may be invalid.

Objective of software patents fail -

When you implement a software patent, it's success and utility also lies by the way you enforce it.

A software patent is of no use if don't enforce it.

Unlike real world machinery, information can be hidden, it can be encrypted such that it's practically impossible to decode or reverse engineer; this fact can be used by a company to hide the use of many types of software patent (for e.g. use of an algorithm/method in a compiled program, compiler related patents, file formats which are encrypted by the software to escape patent infringement etc... ).

Considering the no. of closed source software available in the market, one can ensure that the number or patent violations are in the order of millions if not billions – they get away with it with no effort and sometimes without even knowing.

Opensource projects are targets -

Opensource projects are projects made for public interest, even if a company sponsors a projects, it being opensource (having a free license) means that other companies can use it for it's own purposes – thus if a companies (like Google), sponsors an opensource projects and keeps it opensource, it means the companies also thinks about global standards and benefit of the public rather than money. The competition between companies will be at a different front rather than wasting resources on software development and re-implementing an implemented piece of code in another project.

So a companies funding an opensource project doesn't mean it's doing it for profit; the reason for it being opensource, has to do with more than just money.

All in all, I wanted to say that if a software has a free non-restrictive license, it always benefits the public by a higher amount than closed source software (their only intentions being profit most of the time).

See 'why opensource' document for more advantages of opensource software than closed source.

Since you cant reverse engineer the code and may be the file formats of closed source projects, the only easy target that you have are opensource projects which's for public cause.

This's ironic cause the end objective of the patent system was for the benefit of the public, but projects which are also for the benefit of the public is being targeted by use of this same patent system. In the mean time, closed source software which breech the law and have a main intention of profits, escape unharmed.

Discourages use of opensource software -

If a patent holder targets a company using an opensource software, then also it's not fair. Doing do discourages the company to use and develop opensource software, instead, it'll now make and use the software patent internally, this breeches the law, and also wasts the company's efforts by redeveloping closed source software.

Then there're disadvantages of closed source software.

The company holding the largest no. of software patents today blackmails companies using opensource mobile operating system to pay them taxes for using opensource software cause of their violations of patents.

And today we have the perfect e.g. Apple (a closed source software vendor) targets Samsung (using opensource software) and surprisingly Apple wins. The (Apple/Microsoft favoring) US courts were blind to the advantages of opensource software and were so immersed into Apple's profitability that they didn't mind actions and decisions which harms opensource software projects like Android. This's a direct and serous attack to opensource projects.

As of people who stupidly claim Google profits from Play store, it's to be noted that Play store is not tied down with Android, Android can be modified to unofficial stores which may be run by non-profit organizations like Mozilla.

This encourages the companies to drop opensource alternatives and adopt/develop closed source software which directly harms the public, furthermore this enforces monopoly of a monopoly – Microsoft, reducing competition and verity in the market.

On the other hand – companies already using close source software start to realize the benefits of using it, the only benefit being avoiding patent infringements.

All in all, this system directly harms the public and the thing fueling it is the government itself.

Law not implemented is a joke -

People/companies who want sell their products which violate patents can do so easily with assurance that the violation will be ignored. The software if available in binary form, cannot be reverse engineered to see if it violates software patents.

Even if a law is passed that such that a software patent owner can obtain the source to check if it violates patents or not, then also it's a huge waste of time and effort – just to see if the software is violating patents or not.

There're billions of close source software available today, imagine the number of software patents they violate.

Software is mathematics -

Most software patents are basically algorithms – algorithms are a method of manipulating information, but every country forbids patenting algorithms.

But magically, if you write the algorithm in a C/C++/java/etc.. program, you can patent them! So you're basically patenting an algorithm by fooling the patent system.

This's like you can patent a technique to write books, but only if you give examples in Latin or French... or any non-english language.

Discourage developers/students -

A student can violate a software patent while making a program during practicing.

Since he has breeched the law, he should be fined and pay royalties.

If a target student looks at the amount of patents and controversies related to patents, he will probably drop the idea of being a developer following the fact that he's being restricted to write what he wants.

Financially difficult for commoners to manufacture things, but easy to make programs –

One of the reasons why patents on methods of talking and writing are forbidden cause it can be done by anyone. Especially in today's world, it can be published by anyone without spending huge amounts of money or efforts (for e.g. publishing your work in a blog, website etc...).

Programs come in the same category. Everyone has a computer, so everyone should be allowed to publish or do anything with their original work – programs can be made by anyone, free of cost and can be published by the author free of cost or via small free. One can even distribute it's binaries easily; but software patents are hinder this right.\

Software concept is always used -

When there's a new software concept, we always use it somewhere – or inventions in software are made for the cause of using it somewhere. Have you ever heard of someone getting paid to ponder concepts penetrating computer software? They get paid to code, but they don't get paid to invent. Thus, before a software concept is born, it's used.

A software concept doesn't require you to spend money, and it's designed to be used in a piece of software (that's the original motive of the invention); so this piece of innovation is certainly getting used if this's your concern.

This theory meets facts – there're plenty of people who're inventors full time, but are there any people working on 'software inventions' (NOT coding) full time? Inventors of real world things have one job – just make the concept, but with software invention, they are made cause of requirements in the software.

If software patents didn't exist, innovation will continue out of requirements -

With software patents, it makes sense to start software R&D, patent software concepts and ask opensource non-profit software developers/organizations/projects for royalties.

But what if software patents where not allowed? Will it harm innovation.

As stated before, a software concept is always used. The developer of a software method is almost, all the the time, is the sole developer of the software or part of the team making the software itself – he codes apart form developing the concept.

Thus a new method of software is being developed for a need, not for money. Thus innovation in software is always fueled by the need of it, and if software patents don't exist, software innovation will continue cause of requirement.

If men can follow instructions why can't their computers?

We have freedom to follow instruction or make anything we own follow our or other's instruction (depending on the permission we give) – this's especially true when it comes to manipulating copyleft information (your own work for e.g.). For e.g. via the remote, we can give our TV instructions... we have the freedom to do so.

So why are we restricted to give instructions to our computers?

We can publicly display free (copyleft) material to the public, hosting it via our computer and our domain and our Internet connection.

Displaying something, in IT terms means downloading it, to view information you need to download it. So why are we not restricted to display information... but are restricted to host (and download) copyleft programs cause of software patents?

One argument may be that objects that one owns and that has the capability to manipulate and generate information are not a part of a human being, so manipulating/generating information through that object may not be considered a 'right'. But when a person owns an object, it becomes a part of it; a pacemaker is an object and a part of a person... but a person has the right to make any of his objects his part, including your computer, his phone or a chip. An object owned by a person and not being a part of his body doesn't mean that he can be restricted to things with it.

Information can only be copyrighted -

As stated before, if you can patent information, if you allow patents on information, you can patent, methods of writing, speaking and method of filing a patents itself.

As of the current time, patents on any kind of information is not allowed, except software.

X86 is the largest scam ever -

x86 in a patent on information, although it doesn't directly fall into the category of “method of manipulating/generating information using information”, it has caused us enough trouble.

Via this patent, Intel has monopolized the desktop and server markets as a result, the condition of the market was very bad until AMD came up.

Today also the condition is striving competitions and an innovative idea of manipulating x86 and amd64 cannot be implemented cause of these patents. Everything lies on the hands of Intel and AMD.. if they reject the innovation, the idea will be lost and waisted.

Also x86 and amd64 is just a method of representing information to a processor – it just represents the things which a programs wants to do.

Infact, if x86 and amd64 can be patented, I think the concept of a program communicating with a processor via an instruction set can also be patented. That way the whole IT industry will be owned by Intel.

Same is not true for a particular CPU architecture, they are patentable, cause it's a physical machine to manipulate information and many can be manufactured.

So I tend to think, any kind of patent on information should be forbidden.

Copyright on information should be only allowed.

Patenting artistic work vs patenting software -

Artistic work requires technique, every artist has a technique to paint, and every author has a technique to write book, and also software developers can make techniques to code for a particular purpose.

Patents on techniques to code is allowed, but techniques to make art and write books is not allowed.

Patents discourage adoption of opensource software -

We know that the more the world uses opensource, the better the software industry will thrive. A key event in adaptation of opensource software is it's use in business organization, and it's use in the organization's products.

With software patents, a company will prefer using and giving closed source software to the public and hinder it's adaptation. In the closed source software, they will themselves be violating patents, but without the knowledge of the patent holder.

If software developers wants monopoly on the method, they may not release the source –

The objective of software patents, apart from extracting money from non-profit organizations, is also to ensure that their technique is not used by competitors (this includes non-profit organizations) and so they don't gain the upper hand.

To do so, the company/person can simply make it's software closed source. But it can happen that the concept is re-invented by another developer for or not for profit.

A software method can be called the best, but not real world methods –

Mathematical methods and techniques apply in a software, but not directly in real world inventions. Software can be considered a form of mathematics, it involves techniques to manipulate information, it can be said to be a mathematical procedure/algorithm designed to be executed on a computer.

On the other hand, a machine invented for a certain task has no such limitations, there're infinite directions and concepts that the machine can apply – it has to do more than mathematics, mathematics is just a part of this.

Since software is a part of mathematics, we can define the best method to do a particular mathematical task (all tasks at programming level are mathematical) in the best way possible or we can 'prove' it to be the best mathematical way. If this method is patented, there's no scope of innovation in that field, there's no inspiration for another better way to do the task cause it can't be done in a better way. Thus the person/company will have a monopoly on it and tax everyone from using it; this forces everyone to make a lower quality software, specially FOSS projects.

Get royalties from the source, not consumers -

In every product, patent royalties are taken form the place where the patents are used, it never happens that someone targets the consumers and asks them to pay royalties cause the people providing the product didn't take care of it so it doesn't add convenience to consumes.

Same can be said at a higher level too, if a company (A) provides products to another company (B) patents shouldn't be taken from B, but A.

What I mean to say here is that the source where patents are violated should pay for the royalties.

But this's never seen with software patents. In software patents, the only target is non-profit software, but companies holding patents never target them, they target the companies using opensource software causing all of frustration, inconvenience and confusion to both FOSS developers and the company.

Companies pay frauds to sway trouble -

Some people patent ridiculously simple things (and they're also granted), and ask a small fee from large companies.

The company, to avoid legal inconvenience, pays the person/company fueling more such frauds.

Royalties only from opensource non-profit organizations -

If a software patent inventor wants to get royalties, he has to get it from opensource organizations, cause only they revel the sources. Closed source software can freely use the patented invention without the users permission and without the users notice. They can encrypt file formats for better security.

Things become obvious in the future -

The IT industry develops at a rapid pace. 5 years is considered revolutionary... whereas even 10 years is less for scientific work.

So patents in the IT fields which were not-so-obvious 5 years ago are obvious now, but these fundamental things, being patented may not be used... this hinders development of better technology; obviously patents ties your hands down.

If the concept of web browser whould've been patented, there'd be only a few implementation of it (only people who had money could market it) and would be available at a price. There would've been no Firefox or chrome, only IE. Since there would've been less competition, innovation whould've stopped. People using the Internet would've been less cause the web browser had a price (apart from the computer hardware).

Methods of displaying information -

Now a days, even layout of UI components are patented. This does not fall in the category of “method of manipulating/generating information using information”, but is a more fundamental right.

As stated before, why the layout (margins, lines etc...) of a book can't be patented, but the same thing when applied to Ui of a website or software can be patented?

If they were patented -

If we had patented the following would the world be a better place?

HTML, TCP, IP, IP6, HTTP, FTP, blog, Toolbars concept, menu concept, forums (bulletin boards), Desktop, Windowing system, graphical file manager, taskbar, titlebar, double-clicking, mouse clicking, system tray, various common window components like slider, drop down box, a button, radio/check button, office suit, OS concept etc... etc.. etc...

Cause today all these thing are patentable.

Restrictions on so many thing would've restricted the development of the IT industry to a standstill... only a few rich and powerful would be able to host websites and provide software to the end user that too at a hefty price. We would still be writing on pen and paper if the people who made these patented it.

In no way these patents would have improved technology to humanity.

Reap benefits but give nothing back -

Various non patented technologies is used freely by companies having a strong patent portfolio (and rest of the world), but when they invent or develop a technology, they don't give it back to the world for free use, instead patent it.

The inventor of the free technology has to pay licences if he wants to use the patented technology developed by the technology, even if it's for public cause.

Apart from being unfare, this encourages the developers to patent technologies which he would otherwise not.

Layered architecture means simple software has many patents -

Almost all application software work on layered approach. Since in each layer, there may be patented technology used, the end cost of using the application software will increase exponentially.

All software royalties should be given back -

The main target of software patents are companies using opensource software. Since this hinders adaptability of opensource software, all royalties taken as software patents should be given back, infact a penalty should be imposed on such companies for doing such a thing.

Arguments favoring of software patents -

None in public interest.

This only favors companies who have a strong patent portfolio. Via software patents, they can enforce the use of their bad products, and replace a good one.

e.g. Windows phone and Android.

No comments:

Post a Comment