views:

50

answers:

1

I've made this library virtually allowing porting of features of one software language into several others. Obviously, it rides on several past inventions: the library's underlying language, the method/system for allowing different languages to communicate with each other, and possibly others.

But what this library does is allow this one particular language to effectively communicate with several others since it currently lacks that feature (even though alluded to by the designers to the contrary): a basic translator using a standard wrapping method, if you will. Obviously, the concept of an API/wrapper for any use is (or should be) obvious enough to have such an idea rejected outright. What's obvious is programming an intermediary system to communicate information between the user and the target system. I've already seen random posts here and there on the internet suggest such a solution for my particular problem, though never delving deeper into exactly how one should implement it. I discovered myself just how to implement it.

From my perspective, software cannot logically be patentable because it involves nothing more than the recombination of already existing or proven ideas (the underlying language library itself). Thus nothing new or novel can be created from any language (other than another language within limits), but still creatively constructed as is a book, and therefore should be covered under copyright systems. A box on a magic window beeping device is not alien technology worthy of a patent. Maybe 50 years ago, but not today. However, obviously the patent office and several judges do not see it that way, so my opinion doesn't matter here.

I guess my question is, how can one tell if such a seemingly obscure thing is obvious or likely already created by a thousand engineers?

Also, I intend for this "invention" to be fully open source. How can I protect it to ensure free distribution is fully enforced without it being hijacked or stolen by a patent troll?

+1  A: 

The obvious sources would be decisions from the courts on the subject. You almost certainly want to start with the Supreme Court decision in KSR v. Teleflex. It's fairly recent (2007) and directly addresses the definition of obviousness. A bit of searching for "KSR Teleflex" should turn up an abundance of commentaries trying to tell you want it means.

As far as validity of software patents in general goes, the recent decision In Re: Bilski has some bearing -- it was related to a business method patent. The Supreme Court affirmed the previous decision by the Court of Appeals for the Federal Circuit that said to qualify as patentable, a process had to either involve some transformation of matter (e.g., mixing chemicals to form a specific compound) or else be tied to some specific machine (and based on an earlier decision, a "digital computer" qualifies as a specific machine).

For a general background on patentable subject matter, especially relative to electronics and software, I'd recommend a paper by Lundberg and Durant (but you might as well skip chapters 1-3).

Jerry Coffin