Frans Bouma's blog

Generator.CreateCoolTool();

Syndication

News



    Visit LLBLGen Pro's website

    Follow me on Twitter

    Add to Technorati Favorites

About me

Fun stuff I created

My work

Software Patents are evil, here's why

I was looking for a reference in ADO.NET Entity Framework documentation (via Google) if a Complex type in an EDM could be part of an association (relationship) like Hibernate supports. I needed this for some tool I'm working on . Google gave me an interesting link, namely to a patent held by MS about relationshipsets in the EDM. It refers to other patents of similar straight-forward concepts, either based on stuff defined by Codd or defined by other O/R mapper frameworks like Hibernate or Toplink long before the filing took place. Why these common concepts are even patentable (as they're discoveries in math-space, so not really inventions) is beyond me.

I think it's great that people get credited for their work, after all they put in the hard effort. The problem with these kind of patents like the example above, is that unless you patent the living daylights out of every line of code and every design you think of (which costs a lot of money), you'll sooner or later find that some company owns a patent of work you perhaps thought of first but you don't file a thousands of dollars costing patent request for every design, so someone else filed a patent.

This is a big risk for software engineers out there. I know Microsoft in general doesn't use patents to bitch on competitors or companies who make stuff they also make. But some other company, e.g. a patent-trolling lawfirm who bought a stack of patents, might. It's good the EU forbid software patents for now and it's likely they'll never be valid here. Let's hope the US patent office is following suit.

Btw, 'Object relational mapping' is patented a lot of different times, often duplicates more or less. Oh, and the answer to my initial question is: no, complex types can't refer to entity types. (Which is expected, having a reference to an entity from a complex type (Value object in DDD) seems rather strange and a true edge case)

Published Friday, August 22, 2008 5:20 PM by FransBouma

Comments

# re: Software Patents are evil, here's why@ Saturday, August 23, 2008 11:40 AM

John Locke (1632-1704), writing in his "Second Treatise of Civil Government," stated that our labor (work) separates those things that are common from those things that then become our property.

While this may seem a very old speech, read through it a few times.

"The labour that was mine, removing them out of that common state they were in, hath fixed my property in them." [www.constitution.org/.../2ndtreat.htm]

Since I no longer dig in "turfs" for my property, do you suggest that my labor is now insufficient to become my property?

The intellectual property "owned" by General Electric that allows them some advantage in making turbofan jet engines should and must be protected.  The intellectual property that differentiates Coca-Cola from Pepsi should and must be protected.  And the way I implement my O/RM engine should and must be protected.

Indeed, there are literally tens of thousands of patents protecting the intellectual property of a single jet engine assembly at GE.  Adobe Reader has eight lines of patents listed in its "About" dialog.  These are fences around someone else's property.

It does not mean that the property is not desirable.  It actually acknowledges that it is highly desirable.  Neither does it mean that the property is unavailable.  As a matter of fact, a company holding a patent is usually very willing to share the intellectual property with an agent for a fee.

This is the same fee someone might charge me to park in his driveway, or play rugby in his coliseum.

I get the use.  He keeps the ownership of the property.  I use the property if I think the cost is reasonable and my expectation of return is sufficient.

But to use his property without consent is either theft or fraud.  Where is the difference when the property is something staked out in thought, rather than dirt, or in algorithms rather than mechanics?

I see no difference.

And you are still protected in your use of your intellectual property (so long as you can show you invented it without benefit of the patent holder's work) because there still exists copyright protection -- even if you did not file.  (You will be limited in compensation, though, without a filing.)

I think you are just harping because (waaa!) you were walking in a pleasant dream and were blocked by someone's fence line.  

Property rights are the very foundation of individual rights.  Individual rights are the only separation between liberty and tyranny.

Yes; I made an association between intellectual property and liberty.  The converse can be said for the socialism that occurs when property rights are denied.  

Do you believe in individual rights?  Then stand up for intellectual property rights and defend the patent and copyright as if you were fighting for your home.  In a very real sense, you are.

phat shantz

# re: Software Patents are evil, here's why@ Sunday, August 24, 2008 5:23 AM

@phat shantz:

I'm not ranting because someone else patented something before me. The problem is that there's apparently a fuzzy definition about what's patentable. A discovery of something can't be patented. So if you try to patent something which is a discovery, like a 'relationship' between two elements in a set, you're trying to troll the patent system.

You forget that there's something called copyright. Copyright is enough to protect software development. The problem with software patents (which is the subject here) is that they often if not every time are simply about a discovery. the problem with patented discoveries is that another person who wants to use that element of truth which was discovered can't do that because s/he would violate a patent.

It's like you sort a list of elements in your code because someone patented the sort algorithm you want to use. Algorithms are simply math, discoveries, not inventions. The same goes for datastructures.

Yes, that's a silly example of a stupid patent, but so is a patent about set theory which is simply math.

FransBouma

# re: Software Patents are evil, here's why@ Monday, August 25, 2008 11:49 PM

Huh?  Property rights aren't independently-verifiable fundamental objects like protons or bricks, they're just ideas about stuff, no matter how tangible they might appear in someone's world view.  Laws are rules that are made up to establish limits of behaviour that allow people to get on as best as possible, given the nature and culture of the group involved.

Given our complex conflicting natures.  Humans are constructed to "believe" in property so this should be a consideration in the framing of laws.  There are also inherent concepts of fairness and common wealth that need to be included.

Patents are an attempt to maximise productivity, after all.  Other considerations like our intuitions of fairness, ownership, sharing, etc, should be considered but the best test for whether an area should patentable is whether it maximises the general benefit.

This is an emprical question, albeit difficult.  I don't know what the answer is, but I've read that one study suggested an 14 year limit to copyright would be optimal.  I guess a similar anyalysis of patentability could be made.  (I suspect that any serious attempt would induce a deafening roar of rent-seekers.)

But it's just plain crazy to say that we should behave in a certain way because of some words made up hundreds of years ago by a philosopher who knew nothing of evolution, didn't have the current  understanding of the brain, hadn't seen modern communication or used the internet.  He probably thought a man should own at least one horse too.

Jim Birch

# re: Software Patents are evil, here's why@ Wednesday, September 10, 2008 9:45 PM

Thanks Frans, an interesting topic as always.

I'm definitely no attourney, but I would have thought an algorithm might be a good case for a patent? They are well defined and may involve quite a bit of IP via research/creative thinking both its creation and potential implementations, even though maths is at the guts of it.

James

# re: Software Patents are evil, here's why@ Sunday, September 14, 2008 7:06 AM

Not having software patents in europe is really a big advantage.

Why do you think, the need of a reference to an entity from a complex type, is an edge case.

The most cited examples, e.g. address- or money- types need references to other entities, e.g. country or currency.

I hardly can imagine an example, where a complextype doesn't need a reference to another entity.

If you want to persist a fine grained object model using orm you need it.

Günter Zöchbauer

# re: Software Patents are evil, here's why@ Monday, September 15, 2008 4:01 AM

@James: Algorithms are not really inventions, they're discoveries of a way to do things. It's actually the same as with math: you can't patent that a*0=0 for some solution spaces, as it's simply a matter of a discovery.

Sure, research is put into FINDING these algorithms, but that's not a reason to allow patents. Just because someone puts research in finding some solution to a problem doesn't justify a patent system. In theory, a patent system might work, but in practise it's not the case, because every stupid silly thing is filed for a patent, and if such a patent is granted, it's sometimes sold to patent troll companies, who didn't invent anything, just bought up the patent to squeeze license fees. As soon as that happens, the patent system works counter productive and actually stiffles invention and human progress.

I'm not convinced that a patent system increases innovation, especially in software, in fact it only increases wealth and market share for big corporations and limits the power of small(er) companies. One of the first hurdles is the price tag of filing a patent, which is very steep. Then, you have to make it worth something so you have to file lawsuits against competitors which violate your patent otherwise why bother filing the patent? This all costs a lot of money small(er) companies don't have.

@ Gunter: I didn't refer to the Customer 1:n Order relationship, but to the fact that some parts of Customer, e.g. Address, are the full FK side of a relationship. That's particularly rare.

FransBouma