In re Bilski, Software Patents, and FOSS – by “Benjamin S”

Our discussion and readings in class last week talked a lot about software and copyright; everyone by now has a solid idea about what GPL and BSD-style licenses mean, so I thought I’d digress into related part of the topic that we haven’t spent so much time on and that doesn’t look like we’ll be seeing too much of later.

So, yesterday brought exciting news of another amicus brief being filed for In re Bilski, this one by the Software Freedom Law Center (for detailed analysis, Groklaw’s summary is terrific).  For those who don’t know (which I’m assuming is most of the audience, here): Bilski concerns patentability of abstract ideas.  Bernard Bilski and Rand Warsaw  filed for a patent on “a method of hedging risks in commodities trading”.  At no point did the patent application involve an invention of any kind; Bilski claims that his patent application is valid, and that innovation in business is just as valuable and needs patent protection just as much as true technological innovation.  Bilski’s patent was rejected by the USPTO; he appealed to the Board of Patent Appeals and Interferences, where he was also denied; and Bilski at last appealed to the Federal Circuit Court.  Bilski appealed to the Supreme Court and was accepted on June 1 of this year.

Now, Bilski is a very big deal.  The Federal Circuit decision held that the machine-or-transformation test should be the only test for the eligibility of a patent, rejecting several other tests (some of which have been used in other decisions, though never in Supreme Court cases) .  The machine-or-transformation test states that “A claimed process is surely patent-eligible under § 101 if: (1) it is tied to a particular machine or apparatus, or (2) it transforms a particular article into a different state or thing.”  At every court, Bilski’s patent has been rejected for various different reasons; the real question is how far-reaching the case will become.

What does this have to do with free software, you ask?  Everything, essentially.  While we’ve focused on copyright in class, plenty of software is patented, too.  Take FAT tables, for one: the file system that’s used on your USB flash drive, that is well-supported and implemented by every operating system that matters.  It’s what lets you plug a flash drive into a Mac, dump some files on it, then go pull those files off on a Windows machine.  Microsoft holds the patent on that one; last year they caused a gigantic ruckus when they sued TomTom (a company that writes Linux-based GPS systems) over violating that patent.  The lawsuit threatened the entire Linux community (because Linux includes FAT support); the buzz died down after TomTom settled the case, but plenty in the free software community are still uneasy.

Most free software types, including the Free Software Foundation, the Software Freedom Law Center, and End Software Patents are opposed to the idea.  Plenty of them oppose software copyrights too, but with the advent of the GPL, the FOSS community has learned how to make copyright work for them, not against.  And software patents have HUGE problems; there is an entire industry known as “patent-trolling”, in which companies do nothing but obtain or file software patents on obvious ideas, and then sue existing companies for patent infringement.  The patent-troll ecosystem is enabled by the deplorable state of the USPTO (huge backlogs, huge rates of patent approval for non-patentable material, technologically incompetent patent inspectors, etc. etc. etc.).  And it’s worst in high-tech.  Major players acknowledge that the system is broken, but everybody still plays the game; big companies throw their weight around, threatening smaller groups (and each other) with ruinous patent-infringement lawsuits, sometimes for purposes of naked extortion.

There are all kinds of reasons to dislike software patents; see the End Software Patents wiki for the laundry list.  While copyright’s not likely to get fixed anytime soon, Bilski creates an opportunity for the court to make a huge improvement.  There are amicus briefs on all sides, and the rosters lined up here have a lot to say about how this might come out.  Larry Lessig gave up on copyright reform because vested business interests are more powerful and better-connected than would-be reformers; but there are vested business interests on all sides of Bilski. There are financial groups (American Express, Accenture) saying Bilski should be overturned and business method patents should be allowed.  Microsoft, Dell, and IBM, among others, argue that business method patents should be dropped but that software patents should survive.  FOSS supporters like the EFF, FSF, SFLC and Red Hat have urged the court to invalidate software patents as well.  It’s likely that any decision the court makes will improve the state of things; here’s hoping they make the right one.

Google Wave! – by “David K”

Google’s Wave is the latest technology whose whole business plan depends on distributing the source code and having multiple developers work to improve and elaborate on the app beyond Google’s control.

Wave is Google’s proposed replacement for email, and it is a sort of combined Gmail, Gchat, Facebook, Google Docs, and Yahoo games.  The core unit is a “wave”, which is a topic many users can be invited to, inside which multiple threads can be started consisting of “blips”, like messages.  It’s more dynamic than just a forum, because all users work on all the content in real time, and can rearrange and restructure the whole wave, replacing it with a conclusion when a concensus is reached, or anything else.  Google stores the history so important information is not in danger of being lost in this way.  Here is a more in-depth explanation.

Google depends on third-party developers in 3 key ways.   First, the wave interface, like email, can support multiple implementations, so this will allow applications like Thunderbird to adapt to user preferences for how to represent the wave abstractions.  To this effect, Google has published the code for OT, its operation transformation framework, which is what allows all users to edit the wave concurrently, so that developers can match it with the high level of consistency it requires.

Second, Wave will support robots, bots which have the same privileges and status as users, so they can edit waves, and will allow users to do things like translate waves between languages in real time or interact with other businesses sites like twitter.  This can allow Wave to be used as a back-end for the business practices of other sites.

Finally, Wave will support a gadget system, so waves can include things like chess games, group piano collaboration, or working together making a route on a google map.  Developers can add whatever they like onto this to enable any kind of collaborative project.

One of Google’s biggest worries is that the OT protocol for editing simultaneously will be too complex for developers to be able to make their own functioning apps.  It’s offering as much support as possible for this and is going to open up the fully documented code for its own application shortly.  Another worry is that the interface itself will be too complicated, not just for companies to make implementations for, but for users to catch on to.

It’s a big question whether users will accept this as a replacement for email, or whether they’ll prefer the old stability linear nature of email.  Email and chat might be enough–I can’t see any way I’d really use google Wave at the moment.  But often the uses of a program expand beyond what it was originally intended for, and maybe google is acknowledging this by having very few originally intended uses and counting on them expanding after time.  If this catches on, proprietary software will seem even more obsolete.

Free and Proprietary Software: Google’s Balancing Act – by “Eric F”

Free Software has pushed itself into the spotlight with Mozilla Firefox and Linux.  Businesses, while wary of its philosophy, are beginning to understand its usefulness.  Google, notably, has tried to work closely with the open source community, as both an user and a contributor.

One of their most recent projects, the Android operating system for mobile phones, was built by Google and then released under the Apache license to the open source community.  Android was initially met with some controversy, especially given its licensing.  Instead of licensing under GPL, Google chose the Apache license, which allows for proprietary modifications be made to Android, so long as the copyright notice and disclaimer are preserved.  Android was released in Q4 2008 and Google has since benefited from the work of programmers, who have developed ‘mods’ aiming to increasing Android’s functionality.

However, on September 25th of this year, one of the Android community’s most prominent ‘modders,’ Steve Kondik, received a Cease and Desist letter from Google.  Steve Kondik had been distributing a ROM called Cyanogen, which was built from the Android framework.  The problem lay not in that Kondik was distributing Android, which was open source, but that he was distributing Google’s core, but proprietary, apps, Gmail, Google Maps, etc.  These apps were part of the “Google Experience” phones and were licensed through the phone manufacturers.  Therefore, while Cyanogen could be continued to be developed and distributed, Google’s apps would need to be removed and anyone who installed Cyanogen would be left without them.  Normally, this would be a minor issue.  However, Google’s apps were central to the Android experience, with the average user expecting  Google’s apps to come baked in.  Without them, any development would be crippled.

Since, Google has experienced a tremendous backlash on the Android community.  While everyone assents to Google’s legal right and its self interest (Google, in a blog post responding to the controversy, has stated that, “Unauthorized distribution of this software harms us just like it would any other business, even if it’s done with the best of intentions.”), many insist that leaving developers such as Kondik alone is better for everyone, especially Google’s reputation among developers.

This issue has clarified the important difference between free software and open source.  And while this issue may have hurt Google’s reputation or even dampened developer enthusiasm, it is important to remember that mobile networks remain extremely closed and manufacturers, as they tentatively take steps towards an open source platform, are another key part of innovation.  Google’s demonstration of its willingness to protect proprietary software on this open system may ensure that more devices are developed for Android, thus increasing its relevance and hopefully its market share.

The resolution to this particular story has been predominantly positive.  Developers, including Cyanogen, have formed the Open Android Alliance, which is dedicated to developing open source alternatives to Google’s primary applications.  Kondik, himself, blogged on the Cyanogen site that “[a] lot of people are helping to work many of these issues out, notably the guys from Google (Dan and JBQ) who manage the open-source project.”

Given the community of developers and Google’s private interests, conflicts were bound to happen.  Yet, the compromise that Google has struck – making its rights clear while working the community – seems to be the right way forward.  Android will continue to be developed in ways outside of Google’s control, but will nonetheless increase user usage of the internet and, by extension, Google’s services.  And the ordinary customers, outside of the open source community, who have never heard of Android and know of ‘open source’ only as a catch phrase, will not care, so long as Android remains a good user experience.  As stated in our Two Bits reading, “Giving away the Communicator source code in 1998 endeared Netscape to geeks and confused investors; it was ignored by customers.”