Saturday, September 25, 2010

my letter to the USPTO against software patents

Below is a copy of my letter to the US Patent and Trademark Office arguing against software patents, which I wrote after seeing the FSF posting that the USPTO is seeking public feedback on new guidelines for accepting software patents. Despite my ignorance about the patent process I want to register my opinion.



As a professional software developer, I'd like to contribute feedback about your planned new guidelines for reviewing software patent applications.

I strongly prefer that software patent applications be rejected now and retroactively. Failing that, software patent applications should have stricter requirements in order to discourage frivolous software patents and allow innovation.

The following points argue for rejecting all software patents outright:

* PRIOR ART: I don't believe the USPTO can or will ever have the resources to determine whether a software design is an example of prior art, any more than a person could read every book ever written. Due to the intractability of determining prior art, software patents should never be granted.

* MATHEMATICAL: Software is mathematics (per the Church-Turing Thesis) and therefore not patentable, according to the precedent set forth in the case of  Parker v. Flook (1978, USA).  For this reason, software patents should never be granted.

* FREE EXPRESSION: Software is a form of written expression, and should therefore be protected as free speech. Software patents infringe on the free speech of software developers to write down their ideas in the form of source code. Compiling and running source code is nothing more than a sophisticated way to interpret that free expression, like reading a book containing specific instructions. For this reason, software patents should never be granted.

* ECONOMICS: The sheer volume of software created, the increasing rapidity of development, and the fluidity of software integration renders software patent checking and enforcement impractical and counterproductive. Software developers write code for work, recreation, and community service; most lack the resources to check their code against the system of patent entitlements. Fear and doubt about unrecognized patents hinders innovation and progress. Meanwhile lawsuits abound to enforce protections on absurdly broad and obvious software applications. The United States Constitution established the patent system to "promote the Progress of Science and useful Arts", but prominent studies have shown the opposite effect in the case of software patents. The USPTO has a responsibility to uphold the intent of patent law, and should examine the research showing how software patents hinder innovation and progress.

The following arguments suggest an approach toward stricter requirements for software patents:

* IMPLEMENTATION REQUIREMENT:  An invention is not a real invention if it is only a plan or idea. The invention must be functional in a testable way; automated tests must be presented to validate described functionality.

* ALLOW FOR "A BETTER MOUSETRAP": The patent should apply to the implementation, not the high level functionality. Third parties who wish to implement the same idea should not be restricted from pursuing the same functionality as long as the implementation (source code) is publicly disclosed. This requirement puts software patents back in the game of encouraging innovation, by discouraging closed source software.

* SOURCE CODE REQUIREMENT:  Human readable source code is a pre-requisite for making a determination of prior art. If the code is obfuscated in any way, then the application should be considered too sloppy to accept.

* DEPENDENCY REVIEW:  If a particular implementation is not self contained, but depends upon another piece of software, serious questions should be raised about whether the software is truly original.

* PEER REVIEW: Review of software functionality and implementation is highly subjective. A public peer review process should be established to balance the subjectivity of patent examiners.

This may not be the forum to argue about the societal harms and benefits of software patents; regardless, I hope the USPTO patent officials clearly understand that by accepting software patents they contribute to an accumulating societal cost with no redeeming benefits to society at large.  After all, the original purpose of patents was protecting the efforts of those who invested in innovation; today the reality of the software marketplace shows that innovation happens not because of software patents, but in spite of software patents.

The views I have expressed here are common among software developers and in industry news publications. Frequently I hear that many corporations bear heavy costs to patent their software "defensively", and might breathe a collective sigh of relief if they could somehow achieve multilateral software patent disarmament.

Please review my comments with careful consideration, and consider establishing a public forum to further explore these considerations.

Thank you!

Saturday, July 24, 2010

Open Wonderland, a promising free collaboration environment

Recently listening to my favorite podcast, FLOSS Weekly, about open source software, learned about a project called Open Wonderland, originally developed by Sun but discontinued after the Oracle buyout.   This project was too compelling for the community to let it die, so a foundation was started to carry the work forward.

Disclaimer: Everything I know at the moment about Open Wonderland came from that podcast. I have not yet read that much about it or tried the software. This posting only expresses why I'm so excited about the possibilities presented by Open Wonderland.

Open Wonderland is a server and fat client designed for running within an organization, to provide a collaboration environment, including application screen sharing, CD-quality VOIP, and most significantly a 3D virtual reality environment.

That last bit may require some imagination to consider.  Think about how important instant messaging has been for so many people, but how much better it is to be "in person". Now imagine an instant messaging system where you navigate a 3D environment where you can walk around and talk to other people who are logged in. If they are your co-workers, and they could be for example, carrying on conversations while showing their screens and drawing diagrams. You can walk up to these "avatars" of your co-workers and talk to them, as if you were in the same building.

For private meetings, "cones of silence" can be created whereby only the avatars inside can hear what's happening.

I hope that Open Wonderland could provide a low cost alternative to services such as WebEx and GoToMeeting, though the feature set isn't a direct mapping.  I'll know more about that after I get a chance to try it.

The CD quality audio is another important feature for me; so many conference calls are plagued by bad quality audio, and it's often difficult to hear participants clearly. High quality audio can help with pronunciation subtleties, especially when accents are involved.

This kind of tool is the future of collaboration, and solves all kinds of problems, such as the high cost of air travel, the traffic jams associated with crowded cities, and the challenges of businesses with distributed workforces. Already today, screen sharing collaboration tools provide an alternative to business travel for presentations and training, and better collaboration tools hopefully strengthen that trend.

Maybe one day even the most crowded cities will see their traffic problems abate as people move away from the traffic and pollution to disperse into smaller population clusters.

I don't know the environmental implications of such a migration, but it seems likely given the tremendous negatives of traffic and pollution in cities like Bengaluru (previously named Bangalore), for example. The booming business and the increasing affordability of small cars enables everyone to fill the roads beyond capacity.  Since that city has such a strong IT industry, I would expect the people there to be some of the first who are both motivated and enabled by telepresence technologies to work more from home, or move to smaller surrounding cities from which they can work remotely.

Sunday, June 6, 2010

My new blog

This is a place for me to publish a few random musings, realizations, and personal experiences.