Open Source Software and Patents: An Uneasy Journey of Discovery and Understanding


Over the past three months, I've been communicating at length with several leaders in the Open Source Software (OSS) community about how best to license software patents in a way that supports the goal of OSS developers, users, and distributors. I've learned a great deal along the way about the uneasy relationship between OSS and software patents.

Briefly, OSS products:
…are systems whose human-readable ("source") code is always freely available to anyone who is interested in downloading it. This is in contrast to most commercial software, whose source code is considered intellectual property and a trade secret not to be disclosed. Advantages of open source include availability, extensibility, and the opportunity for peer review. Open source products are made available under a variety of licenses. …
Open source solutions have a number of advantages for a healthcare enterprise. The collaborative sharing of ideas and concepts practiced by users of open source software can create 'communities' of developers, partners, testers and users who interact with each other to further improve the software. This can speed up the development process, bringing in skills that a single software vendor would not be able to provide. And the community can also provide an alternative, though unconventional, avenue for technical support….At the data level, an open source software application does not strand critical health data in a proprietary format. [Reference Link]
There are two types of OSS licenses:
  • "Permissive" licenses—also called the "BSD style" license, come in many styles. They allow "derivative works" (different software programs in which some OSS code is embedded) to be used in proprietary (i.e., non-open source) software programs, which, I assume, makes BSD a type of "Commercial OSS (COSS)" license.
  • The "Copyleft" license, which comes in only one style, and is promoted by the General Public License (GPL) published by the Free Software Foundation. Unlike the BSD licenses, the GPL requires the original source code and all derivative works to be free and open to anyone for any purpose, that is, they can never be used by proprietary programs. The GPL is one of about 50 different Free Open Source Software (FOSS) licenses.
The advantages of each is discussed in the Reference Link above.
OK, my conversations with leaders of the Free Software Foundation made very clear the deep-rooted resentment their community has against software patents. They claim that:
  • ALL software patents (but no other types of patents) are "evil"
  • ALL software patents are invalid or trivial, i.e., prior art already exists, but the patent office didn't realize it, or else the patent is for something that is obvious given the state of the art
  • ALL people and companies who (might) sue for infringement of their patents are "predatory, unethical, greedy, freedom-destroying gangs of bandits" who don't care about hurting the world in order to make a quick buck at others' expense
  • ALL software developers and distributors who use free software must be protected from lawsuits by any patent-holder, even if the developers and distributors make a profit by use of someone else's patented code/techniques.
Why do free software supporters have such a strong view and adversarial feelings; are they justified?
As I understand it, there has been a rash of invalid/trivial software patents granted in recent years. Take Amazon's 1-click technology, for example. This patent claimed that running a common software process using a single mouse click is patentable compared to running that same process using several mouse clicks. How novel and unobvious is this? Not very! So, the free software community argues that it is justified in defending developers who use any type of one-click technique—or any other patented software techniques—against any infringement lawsuit. [See this link for more] I can certainly sympathize with them and do see their position as valid.

There is one aspect of this argument, however, that is invalid in my view. It has to do with the way they consider ALL software patents as trivial/invalid, and ALL patent-holders/inventors as evil, greedy, menacing predators. My psychological training has taught me that very few things are so black & white, and such gross generalizations are usually faulty. It would be much more rational to claim that (a) SOME software patents as trivial/invalid, or even MOST if you can prove it, and (b) SOME patent-holders/inventors rely on underhanded, unethical, predatory practices driven by solely greed. Failure to make any such distinctions weakens their case considerably! I've also learned that in adversarial situations, the greatest understanding and best resolution often comes from looking at things from both sides at the same time and then moving toward a "middle ground."

For example, imagine you are an inventor of a patented software technique that is neither trivial nor invalid, and it has great potential value. If you were ethical and truly want to contribute something beneficial to the world, you want to offer that patented process for free to nonprofit/noncommercial organizations, and maybe even to individuals for their personal use.

Further imagine that your family has sacrificed a great deal in the past two decades, and that family & friends have helped support your efforts by taking a big risk investing in your company. So, you figure it's reasonable to receive a small licensing fee only from companies and individuals who would make a profit by using your invention in their own software programs. After all, you reason, it's only fair since you've spent many thousands of hours and dollars developing your invention, and you would be helping others make money.

Now imagine you want to use an OSS license to offer your patented technique to nonprofits and for personal use, and you explain this plan to the FOSS folks. As soon as they hear you would be requiring profit-making companies to pay you a licensing fee, including profit-making FOSS companies, they threaten to defend those FOSS companies if you were to sue them for infringement, should they "happen to get in the way." That is, they would try to destroy you if you sued any profit-making FOSS company that uses your patented technique and refused to pay your royalty because those payments would eat into their profits. In other words, you, the inventor, would be consider unethical, greedy, and menacing because you have no right to restrict the profits others gain by using the invention you worked and sacrificed for years to develop! Maybe it's just me, but this all sounds very counterintuitive and outright unfair!

If you were that inventor, what would you do … how would you feel?

Well, that's precisely the situation I found myself in! I admit that it took me a while to figure out why I was feeling attacked, yet was being accused of being the attacker. But since I believe in the value of free open source, and since I do believe the FOSS folks with whom I've spoken are decent and honest people who have been abused by our patent system, I didn't want to become defensive, hostile … or give up. So, I offered several compromises.

Back in April, when I first started to consider open source, someone suggested the Trolltech "dual-licensing" model. It's an interesting approach, but not appropriate since as it is now written, it is for the dual licensing of copyrighted code and has nothing to do with patents. And then there's a Patent-Based Dual-Licensing Open Source Business Model, but that doesn't apply to me either since it distinguishes between software code alone and code used in a computer.

So, after lengthy consideration, I suggested that I would be willing to offer the patented technique for free to everyone in the FOSS community, as long as it was tied to a particular type of software program. That is, it could be used in a PHR, for example, but not in an EMR or CCR.

I was informed, however, that this constraint is called a "field of use" restriction, which is "completely antithetical to the purpose of the license, which is to make it both clear and legally binding that all recipients of the program have every right to copy, modify and redistribute the code for any purpose [italics added], so long as they don't limit anyone else's rights by e.g. changing the license terms on modified versions of the work. Such a modification of the license…would vitiate [i.e., trivialize] its purposes completely [which is why we] use the copyright on the license itself to prevent such modifications."

I then suggested that I strip out the code in my programs that run the patented technique and offer the remaining source code (which includes trade secrets) for free in a fully functional program under the liberal GNU GPLv3 FOSS license. I would concurrently offer the patented technique under a separate commercial license. Anyone who wanted who wanted to combine the code in the free programs with the patented technique, or use the patented technique in other programs, could do so by paying a small licensing fee via the commercial license. Unfortunately, they didn't see this as a good compromise because it precludes free software developers from using it, which "restricts their freedom."

Due to the lack of an adequate alternative, I concluded that the safest and fairest way forward is to start by publishing for free (via GNU GPLv3) at least one fully functional software program (including trade secrets); it will not, however, contain any code related to our patented techniques. Elsewhere, I will offer a commercial license for our patented technique to those who want to profit financially from its use. The patented technique will not have any "field of use" restrictions, but will require a small royalty fee. I expect this to be done in the next month or two. Depending on the interest and response from the OS communities, I will revisit this issue and decide what to do about our other programs.

I believe that by being open, honest and fair with the people in the OS communities, there will be no need for patent infringement litigation since developers and distributors will appreciate my position, realize that we're not "gangs of bandits," and act with integrity for a win-win relationship.

I welcome any comments & suggestions and will respond, although I'll be available only sporadically over the next two weeks.

3 comments:

Steve Beller, PhD said...

[Note: The original post and the following comments were copied from another blog.

Martin P said...
hey Steve. I appreciate your dilemma but I believe you're shooting wide. If the software you release as OSS is only there to drive the horde towards the fee-paying scenario, then OSS or not, it simply will not be adopted (as OSS) and you won't get the benefits therein. The reality is, many companies have tried over the years to build a wall between open and closed software but most (that have survived) have ended up very much on the 'free' side (even Trolltech have opened up in the last few years).

As for patents? I agree with much of what you say, and the concept of a patent is clearly valuable in promoting 'innovation', but in terms of software, it just hasn't worked. I don't think its necessarily evil, just completely and utterly inappropriate. Why? becuase with software, it is too easy for any number of folk to independently happen on the same way of doing things. In my view, patents are for ideas that required a genuinely novel progression of technology - something that is rare (not non-existent) in software

4:27 PM


Steve Beller, PhD said...
I certainly hear what you're saying, Martin, and I thank you!

But, for the sake of argument, WHAT IF you had one of those rare software technologies that is genuinely novel?

What if you were a self-taught developer who barely knew what a database was when you started to create a spreadsheet-based application for you healthcare profession then, 15 years into its development, you realized you had invented a novel report management and delivery system in which content was transmitted in a "spatially-based" (as opposed to table/tuple-based) format and consumed & rendered for viewing by templates that applied formatting instructions to the content based on their spatial locations?

And what if it took you years of study to learn about conventional software technologies so you could speak with IT professionals in a language they could understand?

And what if, despite the unique set of benefits it offers, no one ever said they saw nor heard anyone speak of anything even remotely resembling what you invented?

Well, that’s my situation and what my patent’s about. I truly believe it is a discontinuous (disruptive) technology and thus my patent is actually valid/non-trivial. Very frustrating, indeed!

5:16 PM


Jonas Maebe said...
But, for the sake of argument, WHAT IF you had one of those rare software technologies that is genuinely novel?

The general answer to this has, perhaps surprisingly, little or nothing to do with (F)OSS. It's simply that the interests of the many outweigh those of the few. And I don't mean this in a hippie-like way.

Physical property rights primarily exist because without them, you end up in a so-called tragedy of the commons.

"Intellectual property rights" on the other hand have often been introduced either based on a natural rights doctrine ("I own what I create", aka Locke and friends, such as copyright in Europe), perks for the King's (or, nowadays, legislator's) influential friends (the reason for many of the earliest patents!), or as market regulation measures (avoid disincentivising innovators because they would otherwise not be able to turn a profit from their work).

At least most scholars will agree that patents are not rewards (sweat of the braw is a neither necessary nor a sufficient reason to be awarded a patent) nor based on natural rights theory, but rather a tool for use in economic and innovation policy (as nicely described in the US Constitution: to promote science and the useful arts).

And the point is simply that, on the whole, it doesn't work that way in the software development industry (open nor proprietary). On the one hand you get all sorts of companies being "milked" by "patent trolls", standardisation troubles, patent thickets, money-gobbling lawsuits, blocked follow-on innovation, legal uncertainty (writing a program all by yourself is no guarantee that you'll be able to market it), ...

You end up with a tragedy of the anti-commons: many companies having exclusion rights (not exclusive rights; often they themselves cannot us it either because they depend on other's rights as well!) to fundamental bits of a non-scarce resources, resulting in under-utilisation of said resources because many don't have enough rights to exploit it to its fullest extent).

On the other hand, there are no indications that these downsides are actually compensated by the claimed advantages of having software patents. I once collected a bunch of studies on this topic. Two of the ones best explaining the issues at a both intuitive and factual level are:
* The Digital Dillemma: Intellectual Property in the Information Age by the US National Research Council
* To Promote innovation: The Proper Balance of Competition and Patent Law and Policy by the Federal Trade Commission (extracts related to the software & semiconductor industry)

There's been a ton more research since I made that overview, see e.g. Jim Bessen's page, but it should give you an idea of the broader picture.

It certainly can be unfortunate for individuals who think they got a ticket to get rich quick (although even that seldom works out the way they had hoped), but with patents the same goes for all the individuals who wrote programs all by themselves and then have to start paying rent because someone turned out to have "thought first" of one tiny bit that took the programmer 10 minutes to think up and 5 minutes to write, but which is a fundamental part of a program which on the whole took 3 man years to develop, debug, optimise and polish.

PS: many people nowadays are also doubting the overal claimed beneficial effects of patents in other fields. But since I am only knowledgeable about the software field, I'm not going to make any statements about that.

5:57 AM


Steve Beller, PhD said...
I actually agree with everything you’re saying, Jonas! There have been many abuses of the patent system, and I can see how & why there’s a “tragedy of the anti-commons.” This is why I support OSS and the free software movement.

Yet, in our current capitalistic model (of which I see many very serious problems), patents can help that rare little inventor with something truly novel (and his/her supporters) to get compensated for a unique and beneficial innovation that took great personal effort and risk to materialize. Patents are an alternative to trade secrets, and help protect the little inventor from having his/her novel ideas stolen by mobs of 800-pound gorillas via reverse engineering or hacking macro module passwords. So, while some (most?) patent-holders see patents as a “quick & dirty” way to make money through predatory practices, assuming that this applies to ALL inventors is, well, misguided!

So, I agree that the (F)OSS communities ought to do its due diligence and examine every software patent involved in an infringement lawsuit to determine its legitimacy; and then do its best to destroy it should it prove invalid/trivial. But, I contend, it’s foolish to assume, a priori, that ALL patents MUST be invalid and that ALL inventors MUST be slime balls. That’s equivalent to “throwing the baby out with the bathwater.” It’s unfair to ethical/legitimate inventors. And it would result in the nondisclosure of useful and novel techniques through stringent trade secrets because the patent “safety net” is removed.

7:41 AM


Jonas Maebe said...
That's an interesting way of agreeing...

I was trying to illustrate that software patents (no matter how well the patent offices examine them) simply cause more risks than that they avert, and thereby reduce the overal capital available to invest in software innovation rather than increase it.


patents can help that rare little inventor with something truly novel (and his/her supporters) to get compensated for a unique and beneficial innovation that took great personal effort and risk to materialize.


Even if the patent system actually did the above, it would at most be a means to an end (a healthier market) rather than the primary purpose of the patent system. The patent system is a government tool for steering the free market in cases where on its own it would collapse (e.g. in cases where rampant plagiarism would drive all innovators out of business).

However, to a certain extent plagiarism is actually essential for a free market/capitalist system/whatever-you-want-to-call-it to function properly, as it increases competition and therefore induces more innovation (since you need it to stay ahead of the competition, rather than resting on your patent laurels).

Only if innovation investments would never be made in the first place should no patents be available, then it actually makes sense to think about granting them. I don't really see that being the case in the software industry though.


help protect the little inventor from having his/her novel ideas stolen by mobs of 800-pound gorillas via reverse engineering or hacking macro module passwords.

You may want to read a real life story of what happens when an 800-pound gorilla really wants something from a smaller competitor.


I agree that the (F)OSS communities ought to do its due diligence and examine every software patent involved in an infringement lawsuit to determine its legitimacy

I don't agree with that (nor did I say anything like that, as far I can tell). In fact, I think it's a huge waste of everyone's time. You get companies spending tons of money on patents and infringement lawsuits, and then some volunteer community is supposed to spend their time (and possibly money) to basically subsidise the patent offices, courts and lawyers involved, rather than on what they do and like best (programming).

Unless there are some huge (economic or otherwise) advantages compensating all these costs, I really don't think this is a particularly good way to spend time and money.


it’s foolish to assume, a priori, that ALL patents MUST be invalid and that ALL inventors MUST be slime balls

This is not about validity or slime balls. It's about simple economics: software patents at large cause more trouble than they're worth, hence abolish them (especially since it's not just because the system is running haywire, but because of the specific nature of the software development economy, as illustrated by the studies I mentioned earlier).


That’s equivalent to “throwing the baby out with the bathwater.”
I'd rather say that software patents are like trying to swat a fly with a sledgehammer.


It’s unfair to ethical/legitimate inventors.

This is not about fairness, ethicalness or legitimacy. Patents are not about natural rights or entitlement. They're just a government regulation tool, and a very blunt one at that.


And it would result in the nondisclosure of useful and novel techniques through stringent trade secrets because the patent “safety net” is removed.

As both the NRC and FTC reports explain, there are plenty of other disclosure and innovation mechanisms at play in the software world (of which (F)OSS is just one).

11:51 AM


Steve Beller, PhD said...
Again, you make excellent points. Below I summarize my understanding of your points (please correct any errors) and offer comment:

Pont 1. Software patents do more harm than good for most, and are a waste of time and money for volunteer communities (though a boon for paid patent attorneys), due largely to the history of 800 pound gorillas with tons of invalid patents menacing the little guys through greed-driven tactics that harm many while benefiting a selfish, manipulative few.

My Comment: I have no argument with this point, assuming I have accurately reflected it.

Point 2. In light of Point 1, there should be NO software patents at all, including valid patents by those rare small inventors who (a) create something truly useful after many years of struggle and sacrifice, (b) want to protect their intellectual property from predators, and (c) have an obligation to deliver ROI to their supporters. After all, there are many other disclosure and innovation mechanisms that could be used.

My Comments follow:

My reply is hampered by my lack of understanding about those “other disclosure and innovation mechanisms” to protect inventors. Not being an attorney, and not having the time to read and decipher 300+ pages of NRC/FTC reports, I ask that you please explain in plain language what useful alternatives small inventors can use to protect their innovations and stimulate investment, and how they compare with patents.

But even if there are good alternatives, it’s "water under the bridge" for the (few?) ethical small inventors who have been granted a software patent.

In my case, I was granted a patent having followed advice I was given many years ago that getting a software patent would be good for my company. True, my purpose for getting the patent was apparently quite unusual, i.e., it was NOT a get rich quick scheme aimed at suing people for what they were currently doing, since I believed that no one could possibly be infringing due to the unusual nature of my patented technique. Instead, I thought it would be the best way to protect my invention and to offer an enhanced reason to invest in my company. Sure, if such protection meant suing someone who found out about my patent and stole my innovation for their own selfish gains, we would sue for infringement. But it would be a defensive/protective tactic by a small company with only one patent, not an offensive tactic as with the underhanded practices of 800 pound gorillas threatening developers you’ve cited with their thousands of most trivial patents.

So, once again, my argument is not with the case you make about the perversely destructive way software patents are typically used, but instead with the insistence that all small ethical inventors should be demonized and punished due to the actions of others who are nothing like them!

What’s the solution? Well, let’s see. I suppose the patent office should not to grant software patents that are invalid or trivial. We should change the primary purpose of our patent system to focus on protecting ethical inventors with truly novel innovations. And we should encourage investment in small innovative companies developing novel non-patented technologies and protect them with tools that cannot be abused the way patents can.

But if you’re not going to convince me that we should take valid, useful software patents away from hard working, ethical, small-time inventors who have sacrificed much, just because others have abused the system. Bottom line: Instead of killing the entire patent system and the (few?) decent folks for whom it protects and rewards for their great sacrifices and creative ideas, either fix the system so it cannot be abused, or else punish the abusers.

4:40 PM


Jonas Maebe said...
Point 1: I agree up to but not including "due largely to the history of 800 pound gorillas ...". The latter part makes things worse (to an extent that even those gorilla's themselves are starting to experience problems with the system), but it's not the root of the problem.

Point 2: I agree with "there should be NO software patents at all", but what follows is based on the wrong prerogative as far as I'm concerned. The last part (about disclosure/innovation) is unrelated to people getting exclusion rights to what they created, but rather to innovation at large.

In more detail:

You appear to be starting from the axiom that smart algorithms/software designs/... which cost a lot of work to develop by smart people are by definition intellectual property, and that patents on them therefore by definition are "valid".

That is not the case. "Intellectual property" only pops into existence when the law defines that a particular immaterial creation can be associated with certain exclusion rights. The default situation is that "creations of the mind" are free for use by everyone (as is still largely the case for e.g. mathematical algorithms and proofs).

It's just like the default market situation is free competition, except where anti-trust law, competition law, "intellectual property" law etc say otherwise. In other words, "intellectual property", and therefore patents, are the exception to the rule/default situation.

So when should a legislator deviate from the default situation? When there's a pretty good reason for doing so, obviously. And what the 300 page reports of the NRC and FTC explain is that there basically is no good reason for doing so in case of software patents (in the sense that the upsides don't outweigh the downsides). Not (only, or even primarily) because of abuse of the system, but because, a.o.,

a) plenty of innovation also happens without giving companies/people access to broad 17-year exclusion rights (the primary innovation driver in the software market is plain competition: if you don't innovate, you lose).

b) given the complexity of software (in terms of number of components/algorithms/datastructures/design paradigms/...), a single patent (no matter how smart you thought you were thinking it up) virtually always affects an immense number of independently developed programs during the course of its lifetime. As some scholars once wrote: researchers and engineers are today no longer standing on the shoulders of giants, but on top of an entire pyramid. This creates a huge amount of legal uncertainty.

c) network effects (the more people use a particular product/technology/file format, the more valuable it becomes) mean both that developers often are pretty much required to adopt certain technologies, and that consumers profit more the more the technology gets adopted. So erecting artificial barriers is counterproductive for both groups (at large; that doesn't mean that a small group can't profit from that).


So when you say:

We should change the primary purpose of our patent system to focus on protecting ethical inventors with truly novel innovations.

This is besides the point, as far I'm concerned, because

a) the purpose of the patent system is not protection of inventors (that's at most a means), but handing out exclusion rights in cases where not having these exclusion rights is overal detrimental to *society as a whole* (since it's society as a whole that's handing out these exclusion rights to a single person/company, allowing that entity to shut out everyone else in this same society from using the claimed invention unless they meet his/her terms)

b) ethics have absolutely nothing to do with the patent system. It's not a reward system (for that we have subsidies and tax breaks). It's not a recognition (for that we have various prizes). It's not an ethics-based decision (the decision is not made by religious, human rights, philosophical or other organisations with a certain moral authority).

The conditions of usefulness, novelty and practical purpose in the US, and that of subject matter, novelty, inventive step and industrial application in Europe, for being awarded a patent have been set up by the governments/society as a filter in order to attempt to limit the awarded patents to those innovations where patents do more good than harm.

If those rules turn out not to be sufficient to attain the intended results, they should be adjusted.


But if you’re not going to convince me that we should take valid, useful software patents away from hard working, ethical, small-time inventors who have sacrificed much, just because others have abused the system.

First of all, nobody is taking away anything. The proposal is for society to stop giving certain things.

And the (primary) reason is not that others have abused the system. The primary reason is because the system, even in a perfect world where communism would result in happy people working hard and motivated together for the better good of all mankind, just does not work when applied to the software economy.


Point 2. In light of Point 1, there should be NO software patents at all [...]. After all, there are many other disclosure and innovation mechanisms that could be used.

The "after all" suggests that the latter is a conclusion of the former, which is not what I meant. The fact that there are many other disclosure and innovation mechanisms only implies that society is not required to hand out software patents (i.e., extremely heavy-handed exclusion rights) to stimulate innovation in the software field, because the innovation will happen due to other dynamics anyway. It's like how you don't want to hand out sledgehammers to kill flies: it makes it harder to hit the fly, and you're likely to cause quite a bit of collateral damage in the process.


That said,

I ask that you please explain in plain language what useful alternatives small inventors can use to protect their innovations and stimulate investment, and how they compare with patents.

A study ordered by the German Ministry of Economics and Technology in 2003 focussed on exactly this topic. The presentation of the results shows, on slide 15, how various "protection instruments" are used by companies. On slide 16, the reported significance of the various instruments is shown.

The "primary sector" are pure software development companies, the "secondary sector" are companies who design software for use in embedded systems, software for special hardware etc (e.g. for controlling industrial machines).

And there is in fact not a single protection instrument which offers an as broad combination of coverage in terms of both the covered object (patent claims are fairly broad) as the people to whom it applies (everyone, even those who independently came up with the same thing) as a patent.

That's why I keep referring to patents as the sledgehammer solution. And that's why you (as a society) really don't want to hand them out unless absolutely necessary for a properly functioning market/innovation climate.

7:21 AM


Steve Beller, PhD said...
Here’s a summary of your points -- You said that I “…appear to be starting from the axiom that smart algorithms/software designs...which cost a lot of work to develop by smart people are by definition intellectual property, and that patents on them therefore by definition are ‘valid’…[I’m incorrect, however, because] ‘intellectual property’ only pops into existence when the law defines that a particular immaterial creation can be associated with certain exclusion rights. The default situation is that ‘creations of the mind’ are free for use by everyone…and therefore patents are the exception to the rule/default situation…[There is no good reason to deviate from this default situation because:]

(a) plenty of innovation also happens without giving companies/people access to broad 17-year exclusion rights…

(b) given the complexity of software…a single patent (no matter how smart you thought you were thinking it up) virtually always affects an immense number of independently developed programs during the course of its lifetime…

(c) network effects (the more people use a particular product/technology/file format, the more valuable it becomes) [for developers and consumers]…So erecting artificial barriers is counterproductive for both.”

Following is my reply to each of your main points.

Actually, the intelligence of the inventor and amount/cost of work is irrelevant in defining “validity.” Novelty (i.e., is it unobvious to anyone knowledgeable in the art) and usability (i.e., does it do what it purports to do) ought to be the key criteria for judging the validity of an invention, imo.

Since I appear to have used the term “intellectual property” incorrectly — being that I’m referring to more than an “immaterial creation,” but rather to an actual software technique (process, method) executable by numerous possible algorithms/code — please replace my use of the term with a more suitable term, like “invention.”

Regarding item “a,” about innovation happening without patents, it seems to me that, without patent protection, if you do innovate, others have the right to steal your innovation (e.g., through reverse engineering or modest modification of your code) in order maximize their own profits, and then try to put you out of business in to lessen their competition. Sure, you can say “survival of the fittest” is just the nature of business in America, which reinforces your assertion that it’s so important to keep innovating.

This all means, to me, that if you’re an innovator without patent protection, you had better work for a big company with deep pockets, which provides the means to roll out innovation after innovation, as well as warding off those who want to rob and destroy you. But if you’re a small inventor with limited resources and no patent, you had better hope you can keep your innovation a trade secret or make a deal with a large company to protect you (or else get a patent).

Regarding item “b,” about how software patents virtually always affect many independently developed programs, I’ll assume this is a valid statement. Nevertheless, I still have a problem with the operative word: “virtually.” It means it IS PROBABLE that a patent will eventually appear which is so unique that it affects NO independently developed software programs.

BTW, I contend that intelligence (“being smart”) is only one factor in creating such a patent, and it may not even be necessary. In my situation, for example, I had invented something unique largely by chance. Having no formal software development training, and starting off with very minimal understanding of conventional information systems, I relied only on my imagination, trial & error, and discovery during the first 15 plus years of developing my first software program. It wasn’t until I gained greater knowledge of databases, report writers, tabular and XML data structures, and other such things that I realized the program I created included a fundamental technique so different than those conventional programs that I wanted to protect it. Shortly thereafter, I was advised to get a patent on the technique, a patent, btw, that contains no particular code (which makes copyright protection pretty much meaningless).

Regarding point “c,” network effects are certainly important, and I see trade secrets, copyrights, as well as patents are “artificial barriers” to the effects. In a capitalistic society, these barriers may serve to protect little “the guys” with something special to offer from mobs of predators out to rob and destroy them. I suppose that in a socialist society there would be no need for these barriers since everyone is inherently “part of the network.” In our predatory economic culture, on the other hand, ethics are often viewed as a sign of weakness (or financial foolishness), government polices favor large corporations whose lawyers and lobbyists are paid big bucks to “beat the system,” ideas are routinely stolen and plagiarism is anything but rare, and the idea of a “level playing field” is a joke. There must, therefore, be something, like patents, to protect the small guy. But why patents? Isn’t there something better?

Well, you seem to be saying that patents, although not typically considered a protection mechanism, are more powerful than other methods, when you wrote, “there is in fact not a single protection instrument which offers an as broad combination of coverage in terms of both the covered object (patent claims are fairly broad) as the people to whom it applies (everyone, even those who independently came up with the same thing) as a patent.” But you follow up with the assertions that this makes it a “sledgehammer” method of protection and that “society is not required to hand out software patents (i.e., extremely heavy-handed exclusion rights) to stimulate innovation in the software field.”

I can certainly understand your points. I, for one, was not motivated to innovate because of patents. Instead, I focused on getting a patent AFTER I discovered that I the software technique I invented was novel and I wanted to protect it; the “lure of a patent,” therefore, was not a stimulus/stimulator in any fashion. I invent because I like inventing. Furthermore, the particular need I was trying to address at the time actually had little to do with the technique I subsequently patented. That is, while working on process Y for 15 years, I inadvertently invented sub-process X, which I eventually patented.

Nevertheless, I would argue that having such a robust protection mechanism as a patent is important to (the few) small inventors like me with something unique. What turns an “effective shield” into a “sledgehammer solution,” it seems to me, is if the patent claims are used against “those who independently came up with the same thing." Maybe that’s one thing that should be changed in patent law, along with doing more to assure novelty before granting patent, as opposed to stripping this powerful means of protection from small inventors.

What would you do if you were in my shoes?

2:53 PM


Anonymous said...
"What would you do if you were in my shoes?"

In my case, I probably wouldn't have filed for a patent in the first place.

I think a question needs to be asked: what is a patent?

My answer as I understand it: A patent is a grant for filing a public document which gives the details of the invention over to the public in exchange for a limited monopoly grant on the invention.

Question: You've mentioned you have your invention patented, could you please provide the patent number?

Perhaps you would have a better response with the invention if you let people know what the invention was beyond a brief description.

RAS

5:25 PM


Brendan said...
The FLOSS community takes as a foundational belief that freedom is not negotiable. There is disagreement on exactly what is encompassed within "freedom" and what is appropriate to protect "freedom". However, there is a core of concepts which are agreed. To the extent a patent licence interferes with that core it impinges on freedom and is therefore inconsistent with FLOSS. If you want to interface with the FLOSS community you need to licence the patent in a freedom preserving way.

You need to remember that having to search for patents and/or secure licences over them is a transaction cost. In a highly distributed development environment even small transaction costs can have a big negative impact on participation. Now multiply that across every patent holder.

I have some floss policy related posts on my website:
http://brendanscott.wordpress.com/

11:36 PM


Lawrence D'Oliveiro said...
One of the many problems with software patents is that software is also protected by copyright. Why does software need two kinds of protection? Nothing else does.

2:58 AM


Almindor said...
Your views on the little guy using software patents to defend his hard earned work are at best romantic with pink glasses on.

You don't realize that as soon as something useful gets patented by somebody not IBM-sized, they get over-sued by bigger beasts over trivial crap like mouse color xor-ing or pageup/pagedown "patent infringements", ending selling their thing, or even giving it up for free (if their lucky). If they're not lucky they'll end up in dept for all those "infringements" on top of losing all of their work.

Capitalism combined with patents just doesn't work, end of story. There's no "if I'm a small company" scenario which makes much sense if you take all things into consideration

5:01 AM


Anonymous said...
Very interesting article, very interesting comments. Here's my $0.02:

Here's the problem with your assumption that patents "always help the small guy".

Say you make your patented software, and sell it, and make a good profit. So good, in fact, that an 800 pound gorilla, with 800 patents, gets jealous. Maybe your stuff infringes 5 of his patents, so he sues you. Maybe he ignores your patent and intentionally violates it and you sue him. Do you, the little guy, have hundreds of thousands of dollars available to see the lawsuit through? And can you afford to spend years on it? And what if one of their patents is valid?

Subjective impression of having invented something new isn't worth much. When I was about 8 years old, I invented a wonderful inventive system, a super-secret code -- replacing letters with numbers (a=1, b=2, etc.). Then about a week or so later, I saw a show on Nickelodeon where they disclosed *my invention*. I was shocked.

Paul Graham has an essay on wealth that I highly recommend, especially the bit about "running upstairs" being a way for the little guy to compete with the big guys.

Part of your frustration is coming from trying to combine two things that are so utterly opposite. The whole point of open source is to forbid exclusion. The whole point of patents is to exclude.

Direct combination is impossible, but indirect might be possible. The GPL, the most popular of open source licenses, combines the exclusion of copyright with the open source ethos by excluding exclusion.

Also, I don't think you should bet your whole business on one patent -- what if it gets invalidated for one reason or another? What if enforcing it through the courts turns out to be harder and more expensive than you thought? Patent reform is in the air -- what if congress bans software patents next year? You seem to think of patents as some sort of natural right. They aren't. They were administratively given, they can be administratively taken away.

I've got a lot of sympathy for the little guy doing something innovative and trying to make a buck. Just don't mistake that sympathy for your business for agreement with your position on patents.

1:06 PM


Jonas Maebe said...

Regarding item "a," about innovation happening without patents, it seems to me that, without patent protection, if you do innovate, others have the right to steal your innovation

First of all, I think the term "stealing" is an unfortunate choice of words in this context. It automatically puts a negative moral stamp on reuse of and building on innovations, while there is nothing inherently immoral with that. Instead, it's the natural course of business and evolution, even (or rather, especially) in cut-throat competitive environments.

It's like making music inspired by someone else's music (even when reusing a riff here and there) is not stealing music. Doing a similar promotion when your competitor launches one is not stealing their business model. In general, learning from someone else how to do something and then doing it yourself is not stealing. Imitation/copying, often coupled with incremental follow-on improvements, is rather the foundation of learning and scientific progress.

Only if this in certain situations leads to an overall regression in innovation or to an unhealthy market situation, then you want to term this as a bad thing and outlaw it. But in general, it's really a positive action for the market and society as a whole.


(e.g., through reverse engineering or modest modification of your code)

These are not so good examples. The second case would be illegal under every copyright law I know of, unless the copyright license under which the code is distributed explicitly allowed it (e.g., all software distributed under an OSI-approved open source license). The first example would also be illegal under the European Software Copyright Directive (and its national implementations), but I don't know what contemporary US copyright law/jurisprudence says about it.


This all means, to me, that if you're an innovator without patent protection, you had better work for a big company with deep pockets, which provides the means to roll out innovation after innovation, as well as warding off those who want to rob and destroy you. But if you're a small inventor with limited resources and no patent, you had better hope you can keep your innovation a trade secret or make a deal with a large company to protect you (or else get a patent).

If you are the first with an innovation, you have a lead time advantage. You also have the human capital and know-how in place. If you can convert these assets into sales and new customers, then you have monetised your innovation and more power to you. Whether you can retain them and further exploit the market value of the innovation afterwards with a combination of follow-on innovation, customer service, licensing deals, branding and whatnot, is another question, but that's simply how business works.

I can understand that a 17 year (or even 5 year) exclusion right to convert a innovation in the software field into something that appears more certain in the long term may appear more attractive at first sight, but I have not seen any reason why society would want to keep this overhead into the system. All of the money that you poured into obtaining the patent and that you and others will spend on negotiating licenses is just wasted. It goes to lawyers, patent offices and other people/organisations who have nothing to do with IT innovation. They provide useful services when needed, but it's always better if you can avoid involving their services in the first place.

It is also not clear to me whether you are arguing based on the current reality, or from a utopian situation with a (mostly) perfectly functioning patent system (which is not in sight, even after its existence for over a hundred years, nor after arguing about how to improve the software patents situation in particular for about 15 years).


Regarding item "b," about how software patents virtually always affect many independently developed programs, I'll assume this is a valid statement. Nevertheless, I still have a problem with the operative word: "virtually." It means it IS PROBABLE that a patent will eventually appear which is so unique that it affects NO independently developed software programs.

It's not appropriate to instate this whole financial and administrative burden on the entire software development sector for this one (or even handful, or even 100) patent(s). There is also no way (I can't even think of a theoretical one) to determine whether or not a particular innovation will be independently developed or not within the lifetime of the patent.


BTW, I contend that intelligence ("being smart") is only one factor in creating such a patent, and it may not even be necessary.

I completely agree.


Shortly thereafter, I was advised to get a patent on the technique, a patent, btw, that contains no particular code (which makes copyright protection pretty much meaningless).

Patents never contain particular code in the claims, as that would render them ridiculously narrow (not worth the cost of obtaining the patent), and probably also unacceptable to the patent office. Software patents are always on algorithms/data structures/presentation of information/business methods/... when implemented by way of a computer program running on a computer (or when implemented in a program stored on a carrier, or in a program transmitted using a signal, ...).


Regarding point "c," network effects are certainly important, and I see trade secrets, copyrights, as well as patents are "artificial barriers" to the effects. In a capitalistic society, these barriers may serve to protect little "the guys" with something special to offer from mobs of predators out to rob and destroy them.

In case of patents, they don't. Not by design and not in practice either. Patents serve to keep the innovation market healthy, that's all. This has nothing to do with capitalism vs socialism or big vs little guys.

There are very few of these small software companies which actually have patents, yet they survive just fine. When big industry lobbied for codifying software patents in Europe, they actively searched for small companies who thought software patents were a necessary part of their business model because one of our main arguments was that it was just large multinationals pushing for it. The show they put on was however not very convincing.

Conversely, organisations representing two million and eleven million small and medium-sized enterprised (not just IT companies; software patents have effects far beyond just the IT sector since everyone uses tons of software for everything nowadays) were heavily opposed.


I suppose that in a socialist society there would be no need for these barriers since everyone is inherently "part of the network." In our predatory economic culture, on the other hand, ethics are often viewed as a sign of weakness (or financial foolishness), government polices favor large corporations whose lawyers and lobbyists are paid big bucks to "beat the system," ideas are routinely stolen and plagiarism is anything but rare, and the idea of a "level playing field" is a joke.

Imitation is indeed routine in a capitalist market, because without it there's little or no competition. That has nothing to do with "big" vs "small" though: the small ones can also imitate the big guys, and often with much more agility. In fact, big companies say exactly the inverse of you: that everyone else is free-riding on their large R&D departments.


There must, therefore, be something, like patents, to protect the small guy.

Even if we'd live in an utopian world where they did overall have that effect, then still patents would only be desirable if without patents, the economy/market/innovation would suffer (having no innovating small companies would probably even qualify). But in case of the IT sector, once again, there are really no indications that this would be true.

Competitive advantages of small companies are their agility, reduced management and internal communications overhead, personalised customer support, locality, human resources (know-how!), and they can cover enough assets using trade secrets, copyright, branding/trademarks, etc that also throwing patents into the mix is not necessary for their survival and indeed is overall detrimental.


Nevertheless, I would argue that having such a robust protection mechanism as a patent is important to (the few) small inventors like me with something unique. What turns an "effective shield" into a "sledgehammer solution," it seems to me, is if the patent claims are used against "those who independently came up with the same thing." Maybe that's one thing that should be changed in patent law,

It's pretty much one of the foundations of patent law. Next to the broadness of the claims, it's what makes a patent so powerful. Abolishing this would certainly solve a lot of problems, and would restore the "I wrote it myself so I can sell it"-principle that copyright originally guaranteed.

Network effects would make it not ultimately effective in solving the problems though, and it the patents will still block follow-up innovation (software innovation is mostly evolution based on recombining and improving existing things, not revolution) and depending on whether you only allow patents on algorithms or also on user interface paradigms etc "accidental exposure" might still be a problem. In any case, should this change actually be made, you'd end up with something which would not be a patent anymore, but a new form of "intellectual/industrial property".


What would you do if you were in my shoes?

Focus my energy on providing as much value as possible to my customers based on this technique, establish trademarked branding for it in my target market (unless you prefer to try to go the "secret" route and prefer to simply tout the side effects such as increased speed or so), and work on further improving it while the competition is still working on reverse-engineering everything to figure out what it actually is that I do.

BTW: you may also want to have a look at the average cost of a patent lawsuit (slide 9) in the US.

2:20 PM


Steve Beller, PhD said...
I'm back from vacation and reply to the four comments posted while I was away. Thank you all for your helpful input!

RAS wrote: “…could you please provide the patent number?”

My reply: 5852819

Brendon wrote: “To the extent a patent licence interferes with that core [of concepts] it impinges on freedom and is therefore inconsistent with FLOSS. If you want to interface with the FLOSS community you need to licence the patent in a freedom preserving way.”

My reply: Please describe the kind of patent license that would be consistent with list the “core of concepts” defining FLOSS’s view of freedom. My current thought is to license our patented technique/methodology for free to any individual and organization that are non-profit, and to charge a small fee in commercial/profit-making situations.

Lawrence D'Oliveiro wrote: One of the many problems with software patents is that software is also protected by copyright. Why does software need two kinds of protection? Nothing else does.”

My reply: My patented methodology provides a unique system for obtaining, structuring/configuring, and presenting information. It differs considerably from current open source code projects that focus on such things as desktop controls/gadgets; web tools and processes; databases, database queries, XML, and database report writers; multimedia techniques; encryption; etc. Since my patented methodology can be executed in many different ways, on many different platforms, and using many different programming languages, it is unrealistic for us to copyright all possible code alternatives/variations. Thus, in my situation, copyright protection seems to be minimally useful, if at all. Instead, I want to protect the methodology itself, not just particular versions of code. That is, while copyright protects just an expression of an idea, I want to protect the idea itself (i.e., the functionality of the elements in a work). I discuss this more below.

Almindor wrote: “You don't realize that as soon as something useful gets patented by somebody not IBM-sized, they get over-sued by bigger beasts over trivial …If they're not lucky they'll end up in dept for all those "infringements" on top of losing all of their work. Capitalism combined with patents just doesn't work, end of story. There's no ‘if I'm a small company’ scenario which makes much sense if you take all things into consideration.”

My reply: I do understand many of the risks and hassles faced by a small business coming under attack by big bullies using underhanded tactics/maneuvers, but that doesn’t deter me since my patent involves a fundamental paradigm shift in the way report contents are organized and formatted (e.g., it requires neither database tables nor XML nor the web). So, it’s not so much an issue of being a small company, per se, but rather a (small) company with a truly original software process that wants to protect itself from the big bullies. I do realize, however, that the challenges are great, especially when you don’t have deep pockets to hire hordes of attorneys.

The following is my continued conversation with Jonas.

In response to my assertion that “others have the right to steal your innovation” if you don’t have a patent, Jonas wrote: “…the term ‘stealing’ is an unfortunate choice of words [since]… It automatically puts a negative moral stamp on reuse of and building on innovations [which is] … the natural course of business and evolution, even (or rather, especially) in cut-throat competitive environments…like making music inspired by someone else's music…[which] is not stealing music. …learning from someone else how to do something and then doing it yourself is not stealing…[it is] the foundation of learning and scientific progress. Only if [it]… leads to an overall regression in innovation or to an unhealthy market situation…[would] you want to term this as a bad thing and outlaw it.

My reply: But it is stealing if your music is too similar to the composer’s who, btw, does receive a royalty for the original work (royalties that free open source opposes if it’s software rather than music). Nevertheless, I do agree that building upon prior knowledge & innovation is the basis for scientific/technological progress (evolution), and it is something I truly hope my invention will do! My main point is that, in a capitalistic society, an inventor ought to have the right to be compensated by those who profit financially from using the inventor’s exact, nontrivial invention.

In response to the examples I gave about reverse engineering and modest modification of someone else’s code as forms of stealing, Jonas wrote: “These are not so good examples. The second case would be illegal under every copyright law …The first [is] illegal under the European Software Copyright.”

My reply: As I said in an earlier reply, since there are innumerable ways to write code that would execute my patented methodology, I just don’t see how copyright law would be adequate in my situation. It’s not like I’m offering a modified version of a commonly used software technique in which protection of the actual code is critical; instead, what I’m offering requires a fundamental paradigm shift in the way information is structured for presentation in reports.

Jonas wrote: “If you are the first with an innovation, you have a lead time advantage…[and] human capital and know-how in place [so, you may be able to] …convert these assets into sales and new customers…and further exploit the market value of the innovation afterwards…that's simply how business works… I have not seen any reason why society would want to keep this overhead into the system. All of the money that you poured into obtaining the patent and … on negotiating licenses is just wasted …It is also not clear to me whether you are arguing based on the current reality, or from a utopian situation …”

My reply: Your points appear valid to me. I am arguing from current reality with an eye on changing/improving situation (although I wouldn’t necessarily my vision “utopian”). As evident in posts on other topics in this blog, I’m the kind of person who believes we need to make radical reforms (fundamental changes) in many aspects of today’s political, legal, economic, and other key social systems.

The kind of profound changes I’d like to see, which is relevant to our discussion about OS, is to create a more “level playing field” in which small undercapitalized innovators can compete head-to-head with the 800 pound gorillas who currently receive favorable laws as payback from lawmakers for their campaign contributions and other lobbyist activities. It matters not to me whether reformed patent law or other suitable legal methods are used to level the field and give small innovators a fighting chance. And while you come from an honorable position of seeking ways to stimulate innovation without the overhead of patents, I’m not focusing as much on sparking new inventions as I am in protecting small inventors who already have significant inventions, especially since I have not been convinced that copyright is an adequate way to protect novel paradigm-shifting inventions.

Jonas wrote: “It's not appropriate to instate this whole financial and administrative burden on the entire software development sector for this one (or even handful, or even 100) patent(s). “

My reply: I can sympathize with you here. My question is: What’s wrong with a system in which a few independent minds--with compassionate hearts and creative innovations (for which copyright protection is inadequate--are rendered more vulnerable due to the abuses of those whose greed-driven motives and deep pockets have trampled the freedom of others? Should these few individuals be disregarded, or should the system be changed to make it a more level (and ethical) economic playing field?

Jonas wrote: “There is also no way … to determine whether or not a particular innovation will be independently developed or not within the lifetime of the patent.”

My reply: I don’t really understand this point. While I can understand how to determine if independently developed prior art currently exists, what does “will be independently developed within the lifetime of the patent” mean? How are such future predictions made for non-software inventions?

In response to my assertion that patents offer a level of protection for the “little guys,” Jonas wrote: “…they don't. Not by design and not in practice either. Patents serve to keep the innovation market healthy, that's all.

My reply: Even if not be design or practice, in a situation like mine, no one has refuted that patents do offer the greatest protection, albeit excessive in some circumstances.

Jonas wrote: “…small and medium-sized enterprises (not just IT companies; software patents have effects far beyond just the IT sector since everyone uses tons of software for everything nowadays) were heavily opposed to software patents.”

My reply: I would actually agree with them IF you added “in general” to the end (i.e., opposed to software patents in general). My disagreement, as I’ve stated in prior posts, is that it ignores the possibility of special situations, such as the one I am claiming to be in.

Jonas wrote: “Even if we'd live in an utopian world where [patents] did overall have that [protective] effect, then still patents would only be desirable if without patents, the economy/market/innovation would suffer…But in case of the IT sector, once again, there are really no indications that this would be true. Competitive advantages of small companies are their agility, reduced management and internal communications overhead, personalised customer support, locality, human resources (know-how!), and they can cover enough assets using trade secrets, copyright, branding/trademarks, etc that also throwing patents into the mix is not necessary for their survival and indeed is overall detrimental.”

My reply: Even though I’m viewing patents as a protective shield and therefore am not focused on whether they stimulate software innovation, your comments about ways small companies can gain competitive advantage seems valid. My only argument is that patents have advantages over the other protective measure you mentioned, i.e., (a) trade secrets can be discovered (e.g., corporate espionage, weakly enforced NDAs, reverse engineering, hacking module passwords, etc.) and (b) copyrights are not always adequate (as I discussed earlier), which, aside from the cost, does not seem to be detrimental to the patent-holder. Two ways software patents are used in a detrimental manner are (i) through claims that are excessively broad and (ii) when people already using a software process are hit with a patent infringement suit after the fact (see below), neither of which, I assert, refers to my situation.

In response to my suggestion that patent law be changed so its claims cannot be used against “those who independently came up with the same thing,” Jonas wrote: “It's pretty much one of the foundations of patent law. Next to the broadness of the claims, it's what makes a patent so powerful. Abolishing this would certainly solve a lot of problems, and would restore the ‘I wrote it myself so I can sell it’-principle that copyright originally guaranteed. …should this change actually be made, you'd end up with something which would not be a patent anymore, but a new form of ‘intellectual/industrial property’.”

My reply: Well then, that’s what I want to do!

12:09 PM

Steve Beller, PhD said...

[Continued]

Jonas Maebe said...
Frankly, I think your patent is a perfect example of a horrible software patent. Not because it does not contain any good ideas (although you have to do dig down below the legalese to find them, since software patents are most of the time written by lawyers for lawyers rather than for software engineers), but mainly because of the claims (which specify what other people are not allowed to do anymore).

For example, consider these parts from claim 1 (emphases mine; and of course, the claim is only infringed if all of what is described in that claim is implemented):
* the ability to compile a multitude of data efficiently and with minimal sparseness and overhead
* the ability to integrate, analyze, and organize a multitude of data and information from a multitude of sources utilizing a multitude of algorithms and a multitude of data, information, and computer function and formula patterns
* the ability to transmit raw and processed data and
information in a substantially compact and efficient form
* the ability to generate, with substantial ease and flexibility, reports comprised of a multitude of formats and contents.

I really don't understand how someone can ever consider that they have the right to exclude other people from implementing the above. It only describes "abilities", not ways of actually doing these things. The hard work is in actually figuring out how to make all of that possible in an efficient way (and then debugging everything and making it user friendly), not the mere fact that it should have those properties.


I'm also not convinced that what you describe is actually very novel. It immediately reminded me very much of Google's MapReduce. Your patent predates their publication on it (you could try suing them to see how the little-vs-big guy stuff plays out in the court room), but MapReduce itself isn't a revolution either.

As the name implies, it is based on the commonly used concept of map/reduce in functional programming languages. The first one was developed in the late 1950's. In functional programming languages (such as Prolog, LISP and Haskell), data entities can indeed be of any type and no particular structure is enforced.

In such languages you can define algorithms independent of data types and then "map" them on (a subset or all of) the data (i.e., apply the algorithm to a collection of data), which will then cause the data to be "reduced" (transformed) according to whatever is specified in this algorithm. Such algorithms are inherently oblivious to how the original input and output are stored or formatted, and often even to what the data itself is. You can also easily interpose as many input and output reformatting functions as you want (i.e., all of these abilities are present).

If we go over all of claim 1 of your patent, then the prerequisites are a "modular structure" which basically boils down to any computer with the following "modules":
(a) a computer program (e.g., written in a functional language)
(b) any input device for a computer
(c) computer storage (memory, hard drive, ...)
(d) a program to store the user input (data and program code) in the computer storage
(e) another storage device (not sure what the purpose of this is, seems like it could be merged with (c))
(f) a storage structure (record file, database) which be used to store and obtain data from
(g) a processor
(h) output ("in report ready format")
(i) ways to format the output (generating a report)
(j) a display to show the report
(k) a way to "output" reports (I guess a printer or so, or the ability to store the reports)

Then, you infringe the claim if the computer with all of the above can do all of the following:
* provides a substantially flexible and efficient means by which to compile, process, transmit, and report data and information, including the ability to readily modify modules without disrupting the structure or content of the other modules;

So you have to be able to easily modify (a) through (k) without influencing the other points. For (a), (b), (c), (e), (g), (j) and (k), this is basically true for any computer. The others are true for pretty much any functional programming language environment.

The reason is that one of nice thing about these environments is that they almost all contain an internal compiler or interpreter for their own language. This means that if you write a program which you give to users and they provide e.g. an input mapping function to your program, you can pass on this code on-the-fly to the run time environment and it will be integrated in the program as if the original author wrote it (a bit like Javascript's "eval()" function).

* the ability to compile a multitude of data efficiently and with minimal sparseness and overhead;
This is just a matter of optimisation and interpretation (what is "minimal overhead"? How is a judge supposed to interpret this? And why should any one person be the only one that is allowed to implement something efficiently?)

* the ability to enter a multitude of data types in a single field;
* the ability to utilize independent record files with differing fields;
These are inherent to any functional language environment (or program written therein), unless you start explicitly restricting what can be done.

* the ability to track data and information longitudinally
Functional programming environments only operate on immutable data. This means that you never directly modify existing data, but (semantically) always create a new instance when modifying something. Therefore, the ability to keep a historical overview of all changes to a particular piece of data is also pretty much inherent functionality of such systems (you'll never accidentally modify data without having the original available; of course, you still have to maintain the history if you want to be able to use it later on).

* the ability to integrate, analyze, and organize a multitude of data and information from a multitude of sources utilizing a multitude of algorithms and a multitude of data, information, and computer function and formula patterns
Again, trivial with any functional programming environment (or program implemented therein).

* the ability to transmit raw and processed data and information in a substantially compact and efficient form
This is again a quite general statement which is hard to properly qualify. There do exist several highly optimised (and distributed) implementations of functional programming run times.

* and the ability to generate, with substantial ease and flexibility, reports comprised of a multitude of formats and contents
Again very general ("with substantial ease and flexibility"), and the ability to generate reports "comprised of a multitude of formats and contents" is also just a matter of implementation (and again is by definition fully customisable by a user in case of a properly designed program in a functional programming environment).


So as far as I can tell, you've been granted a patent on pretty much every functional programming/run time environment that has been developed since the late 50's, provided that they are sufficiently efficient and such. Not just because "it is trivial" to implement what claim 1 of your patent describes in such an environment, but because the basics of what claim 1 describes are fundamental concepts of such environments.

I know this is probably not what you intended, but it is what claim 1 of your patent says. All those "abilities" combined with subjective qualifiers (ease, efficiency, overhead) make your patent immensely broad. It reminds me of Richard Stallman's speech on software patents (although I don't agree with him on many things, I do agree with his stance on software patents):

Start quote
One of the things they cited was that engineers don't try reading patents to learn anything, as it is too hard to understand them. They quoted one engineer saying "I can't recognize my own inventions in patenteese".

This is not just theoretical. Around 1990, a programmer named Paul Heckel sued Apple claiming that Hypercard infringed a couple of his patents. When he first saw Hypercard, he didn't think it had anything to do with his patent, with his "Inventions". It didn't look similar. When his lawyer told him that you could read the patents as covering part of Hypercard, he decided to attack Apple.

When I had a speech about this at Stanford, he was in the audience, he said "That's not true, I just didn't understand the extent of my protection!" I said yes, that's what I said! So, in fact, you will have to spend a lot of time talking with lawyers to figure out what these patents prohibit you from doing. Ultimately they are going to say something like this: "If you do something in here, you are sure to lose, If you do something here, there is a substantial chance of losing, and if you really want to be safe, stay out of this area. And, by the way, there is a sizable element of chance in the outcome of any lawsuit".
End Quote


And even if there were no prior art, do you really feel that you should have the right to forbid other people from writing and selling flexible and extensible information management systems that are "efficient and easy to use"? Even if you support the concept of software patents, it's as if in case you invent a car which can get 200mpg, you would get a patent on "a car with an efficient engine that gets a very high gas milage", rather than on whatever you actually did to get this gas milage out of it.


And in case you wonder why, if all of this has been possible since the late 50's, (pretty much?) all of the the existing databases are so rigid and inflexible: originally, things actually were a lot looser (more akin to what is described in your patent). People moved away from it for management reasons (easier input validation, data consistency checks, etc). You can find quite a bit of information about this in the articles MapReduce: A major step backwards and MapReduce II.

If you found a way to use these concepts in a way which does not suffer from those management downsides: more power to you! But I don't see why on Earth that should allow you to forbid everyone else from also trying (big or small).

And copyright in fact does protect the greatest value of your system in that case: the implementation of such a system. If someone wanted to replicate it, it may very well be much cheaper to just license your implementation rather than to spend tons of money on reverse engineering and reimplementing it.

BTW, have you ever tried reverse engineering a moderately sized program from from machine code in order to figure out high level concepts such as those described in your patent? My PhD dissertation was about dynamic binary instrumentation (modifying programs while they are running in order to observe them, find bugs, change their behaviour, ...), and the implementation of my proof-of-concept framework sometimes involved weeks of starting at machine code to find bugs in it, and I can assure you that it is not something that sane companies are likely to undertake if they have other, more reasonable avenues with more certain results.

9:42 AM


Steve Beller, PhD said...
I do thank you for your time and effort, Jonas! Snips from your comments and my replies follow.

"For example, consider these parts from claim 1 … I really don't understand how someone can ever consider that they have the right to exclude other people from implementing the above. It only describes 'abilities', not ways of actually doing these things."

Well, I'm not a patent attorney, but I did write the patent, so let me address your concern.

Those “abilities” you reference are extracted from the claims optional “whereby clause,” which simply states some of the advantages of using the patented method. As I understand it, they aren’t meant to help to define over prior art; instead, such clauses are included so the patent examiner will consider the advantages, that’s all. Nothing in those clauses are exclusionary (i.e., other methods offering the same advantages need not infringe on the patent).

"I'm also not convinced that what you describe is actually very novel. It immediately reminded me very much of Google's MapReduce."

After reading your description of MapReduce (and some descriptions on the Web), I’m not clear about its relationship to my patent. Please identify where in the substantive parts of my patent claims (not in the “whereas clauses”) you see an overlap with MapReduce (or any other program/technology for that manner) and how they refer to the same basic processes. But before you do, please read my next reply, which I hope clarify any confusion.

"So as far as I can tell, you've been granted a patent on pretty much every functional programming/run time environment that has been developed since the late 50's, provided that they are sufficiently efficient and such. Not just because 'it is trivial' to implement what claim 1 of your patent describes in such an environment, but because the basics of what claim 1 describes are fundamental concepts of such environments.

To help clarify things, I suggest you focus on these sections of my two independent claims: 1h, 1i, 9e, and 9f. They say that to infringe on my patent, you must use of a “portable report file” and a “report format file.” Knowing what they are and how they are different from all prior art is essential.

At the highest level of abstraction, the patent discloses a type of software coder/decoder (codec) in which the encoder arranges content (data and/or information) elements in configurations (i.e., matrix structures such as arrays) that enable the decoder to locate and process those content elements based solely on their positions within the configurations, without the use of database queries or markup tags. Although the terms codec, encoder and decoder are not used in the patent application, other terms are used to refer to them: (i) the term “digital signals” refers to the content elements; (ii) the term “portable report file” refers to the content element configurations output by the encoder; and (iii) the term “report format file” refers to the decoder, which locates said content elements based on their positions within the configurations and processes (renders) them accordingly. I know of nothing that has ever used this method!

"And copyright in fact does protect the greatest value of your system in that case: the implementation of such a system. If someone wanted to replicate it, it may very well be much cheaper to just license your implementation rather than to spend tons of money on reverse engineering and reimplementing it."

I’m not so sure. While my patent includes many optional components, which make it a complete information/report management system (from data input thorough storage and output), the claims I cited above are, to a large degree, what make it unique. Using a tool such as a spreadsheet, makes reverse engineering of those proprietary processes fairly simple. If I could figure out how to do it with no formal programming education, I’m sure others skilled in the art of spreadsheet programming could figure it out as well. It would be more difficult for them to reverse engineer the different applications we’ve developed that incorporate the patented method, but not the basic method itself.

11:17 AM

jim said...

Set aside rigid AP style guide for the most part and focus on crafting interesting articles that are a conversational tone. Doing so will make your articles. You will have to follow AP rules for content that flows, but lessen the restrictions and you will have better search engine results.
http://www.newslinesonline.com |

http://www.perfectwristwatch.com |

http://www.phillyaccidentlaws.com |

http://www.renoracepromotion.com |

http://www.simpleteesusa.com |