News: JDO Maintenance Review Draft (to be JDO 1.0.1) Available
Sun has posted a maintenance review draft for the JDO specification. It focuses on errata and clarifications or the specification, the reference implementation, and technology compatibility kit. This will eventually become version 1.0.1 of the specification.
- Posted by: Dion Almaer
- Posted on: February 03 2003 04:45 EST
If you look through the ChangeLog you will see that it is trying to firm up the "rules" of the spec, and adding some items like:
Added new section 9.5 for new security checking for StateManager. The new authorization strategy does not require that the persistence-capable classes be authorized for JDOPermission
We have until March 3rd to comment on these proposed changes.
Read JDO maintenance draft Change Log
Go to the JSR 12: JDO Specification Page
What do you think of these changes? Are they too minor to worry about? Are we all waiting for JDO 2.0, to come up with something that everyone can work with (e.g. O/R vendors)
- Limited Spec by John McRobb on February 03 2003 07:15 EST
- for a discussion of JDO... by Juergen Hoeller on February 03 2003 08:00 EST
- Real world JDO experience by Rong Ou on February 03 2003 12:25 EST
- Real world JDO experience by Drew McAuliffe on February 03 2003 18:10 EST
Hibernate is a good idea by Kirt Henrie on February 03 2003 07:48 EST
Hibernate is a good idea by Ward Mullins on February 04 2003 02:56 EST
Hibernate is a good idea by Ward Mullins on February 04 2003 03:03 EST
Hibernate is a good idea by Aapo Laakkonen on February 04 2003 03:47 EST
Innacurate Rants by Gavin King on February 04 2003 07:22 EST
- Incontinent Rants by Gavin King on February 04 2003 07:48 EST
Innacurate Rants by Ward Mullins on February 04 2003 01:43 EST
- Innacurate Rants by Ward Mullins on February 04 2003 01:53 EST
- Patents on O/R mapping by Christian Bauer on February 04 2003 03:45 EST
- Innacurate Rants by Gavin King on February 04 2003 07:22 EST
- Hibernate is a good idea by Aapo Laakkonen on February 04 2003 03:47 EST
- Hibernate is a good idea by Kirt Henrie on February 04 2003 05:18 EST
- Hibernate is a good idea by Ward Mullins on February 04 2003 03:03 EST
- Hibernate is a good idea by Ward Mullins on February 04 2003 02:56 EST
JDO is a standard by Steve Lee on February 05 2003 02:08 EST
JDO is a standard by tim fox on February 05 2003 11:25 EST
JDO is a standard by Steve Lee on February 05 2003 10:39 EST
- JDO is a standard by Juergen Hoeller on February 06 2003 01:31 EST
- JDO is a standard by tim fox on February 06 2003 04:26 EST
- JDO is a standard by Steve Lee on February 05 2003 10:39 EST
- JDO is a standard by tim fox on February 05 2003 11:25 EST
- Hibernate is a good idea by Kirt Henrie on February 03 2003 07:48 EST
- Real world JDO experience by Drew McAuliffe on February 03 2003 18:10 EST
I think JDO is a great idea.
Unfortunately the Spec is fairly limited.
I would like to see a standard means of defining the object relational mapping (after all most people will be persisting to a relational database) othewise anything people say about it being portable is a joke.
We've been using JDO (SolarMetric Kodo) since the pre-1.0 days on real world projects. It's a nice option for persistence, especially if you are not doing EJB's. However, I do see some major issues with the current spec:
1) The spec only provides transparent persistence, but doesn't specify the object relational mapping layer, leaving that to vendor extensions. This essentially makes vendor neutrality a pipe dream.
2) There are no major commercial vendors or Open Source implementations so far for various reasons (requirement for byte code enhancement frequently quoted as one). The long term viability of current JDO vendors, in my mind, is a big question.
Combining these two points together, any projects using JDO now is put into an awkward position.
Frankly, if we start over now, I'd rather go with Hibernate. "Standards" be damned.
I completely agree on going with Hibernate. It just seems to me to be cleaner, it works well and works today, and is free. I really don't see a whole lot of point in JDO now that I have non-intrusive persistence layer that doesn't force byte-code modifications on my objects.
I have already began using Hibernate in enterprise applications and I am very impressed. I think they have achieved their goal of doing one thing right (persistence) and keeping it as simple as possible. There is a lot of power in this small API and who cares if its proprietary, its free and you have the source code what else do you need.
There is a lot of power in this small API and who cares
> if its proprietary, its free and you have the source code
> what else do you need.
Performance, integrations, support, documentation, a proven install base that have been deployed for years in the real world. Or how about thorough and documented product, customer support, many tool & platform integrations, multiple standards based query options (QBE, SQL & EJBQL) and a GUI administration tool that can change all maps across all applications in a single simple step? How about tools that allow DBAs to actually manage and improve SQL mapping without having to edit XML or text files? How about basic O/R features such as the ability properly reconcile all instances of a collection - Hibernate can't even detect when a collection is changed other than by size - very lame, and very dangerous when enterprise and mission critical data is involved (I pulled this straight off their website documentation today)... If that seems like an enterprise library, then wow - lowered expectations comes to mind...
Or maybe the fact that your company becomes legally liable for any plagarism, copyright or patent violations in the open source library (anyone remember the GIF incident?) if you choose to use it in your application. Does your management know that you are making those decisions and taking those risks for them, and without informing them of their implications? I know that the Open Source community hates patents because it makes it difficult for them to 'borrow' the work of others, but it doesn't negate the fact that software patent violation is illegal under the current law, and it's unlikely to change.
I find hard to believe you don't consider more than the fact that you have the source code and it 'appears' to be free. The difference is that with an enterprise O/R product you don't 'need' the source code, because it does what you need without wasting your valuable time. If it costs your company time and money because you have an incomplete infrastructure, you obviously must add that time into the cost of the free software. If you haven't done this, then you are definitely deluding yourself... I work with free and commercial software all of the time, and I can tell you that open source is not free...
If you're impressed with Hibernate and are doing real enterprise work, why don't you look at CocoBase? It's 7 years old, integrates with more servers, ide's, modeling tools, etc. than you can probably imagine. There are like 40 tutorials just on different integrations, each ~50 page PDF documents. If you truly are doing enterprise development - I'm sure you will find it indispensible once you familiarize yourself. Oh, and our overhead is in the +/- 1-5%, and that's often 'faster' than JDBC, not slower
depending on the task. Hibernate advertises they are
5-15% which means that they are anywhere from 1-15 times
more overhead than CocoBase on average. And CocoBase Object caching can improve performance as much as 450 times doing a primary key lookup over hand coded JDBC. This is what an enterprise solution means to me...
Oh and CocoBase also does 'one thing right - persistence', we're the original vendor of Java O/R mapping, and produced the first dynamic, Object to Relational mapping tool in java. We also invented the table spanning, joining design, and completely transparent persistence including dynamic lazy loading (even over J2EE) and non-invasive programming models. Most of the things you probably like about Hibernate, we invented - so you should have a look at the real thing, not just the copy...
As for JDO, the 2.0 version should be better if Sun lives up to its promises of including O/R vendors in it's formation. The 1.0 didn't include companies used to dealing with large O/R projects, and frankly it showed... The spec was fine for ODBMS requirements in C++, but it showed its legacy creation and was totally inappropriate for O/R mapping in java.
Just my $.02
Oh, and in case you might think I'm against open source, please note that we integration with Ant, Eclipse, Netbeans, ArgoUML, JBoss, HyperSonic, SAPDB, etc., etc. We were in fact the first O/R vendor to integrate with and support JBoss when it was a new project...
The facts don't bear it out, just in case you wanted to demonize me :)
Just my $.02
We were in fact the first ...
I think that your point was "WE ARE THE BEST! - THE FASTEST! - THE MOST BEAUTIFUL! - THE ORIGINAL!". In fact all ideas are borrowed from some other. Even yours, and your product doesn't seem to be that innovative at all. Just a nice implementation of those very old theories and mathematics, nothing more - nothing magic. Definitely not a silver bullet.
Why are you bashing Hibernate? I think that you see it as a threat:
> Hibernate can't even detect when a
> collection is changed other than by
> size - very lame"
You have also some serious attitude problems.
What comes to software patents, I think that it was a cheap shot.
Or how about thorough and documented product
Hibernate has 100s of pages of documentation and is covered in two forthcoming books.
>> many tool & platform integrations,
Does Cocobase support anything half as powerful as XDoclet?
>> features such as the ability properly reconcile all instances of a collection - Hibernate can't even detect when a collection is changed other than by size - very lame, <
And also absolutely incorrect. Proving that you are commenting upon something you know NOTHING about.
For the record Hibernate detects changes to individual collection rows and updates / inserts / deletes them accordingly.
Please stick to commentry regarding things you are an expert upon.
>> Or maybe the fact that your company becomes legally liable for any plagarism, copyright or patent violations in the open source library <
I'm sorry??!! Are you alleging that we violate a patent or copyright? Or are you indulging in FUD.
You just completely destroyed your own credibility and everyone here realises that.
>> I know that the Open Source community hates patents because it makes it difficult for them to 'borrow' the work of others, <
No that is NOT why we are suspicious of patents. We believe that software "inventions" are usually obvious and always have unknown prior art. But that is because we are more nuanced thinkers than thou.
>> Oh, and our overhead is in the +/- 1-5%, and that's often 'faster' than JDBC, not slower
depending on the task. <
Our performance numbers are quoted assuming inhumanly excellent JDBC that uses JDBC batch updates, prepared statement caching, etc. In reality, Hibernate usually outperforms handcoded JDBC.
>> And CocoBase Object caching can improve performance as much as 450 times doing a primary key lookup over hand coded JDBC. <
Hibernate also has an optional caching feature that fills a similar role.
>> We also invented the table spanning, joining design, and completely transparent persistence including dynamic lazy loading (even over J2EE) and non-invasive programming models.<
Oh puh-lease. These are standard patterns that I have seen in ten-year-old SmallTalk systems. You Did Not Invent Them.
Clearly grounds for a patent. LOL.
>> Most of the things you probably like about Hibernate, we invented - so you should have a look at the real thing, not just the copy...<
How much does it cost again?
>> As for JDO, the 2.0 version should be better if Sun lives up to its promises of including O/R vendors in it's formation. The 1.0 didn't include companies used to dealing with large O/R projects, and frankly it showed... The spec was fine for ODBMS requirements in C++, but it showed its legacy creation and was totally inappropriate for O/R mapping in java. <
The facts don't bear it out, just in case you wanted to demonize me :) <
You demonized yourself just fine ;)
I remember at BEA eWorld last year I saw the Thought, Inc. booth and all I could think of was this guy. I quickly moved on.
Thanks, Gavin, for the information on Hibernate.
I remember at BEA eWorld last year I saw the Thought,
> Inc. booth and all I could think of was this guy. I
> quickly moved on.
> Thanks, Gavin, for the information on Hibernate.
That's too bad Steve, folks that take the time to meet me generally get over this. Next time come by and lets talk - I'd be happy to dispell your fears. I'm actually a very likeable guy - or so I'm told. But I'm not easily bullied, so I can understand how that would make some people a little uncomfortable...
So what don't you like, what I say, or how I say it? Do you disagree with any of my technical points, or do you have trouble with folks who are passionate about what they say and do?
The facts don't bear it out, just in case you wanted
> to demonize me :) <<
> You demonized yourself just fine ;)
Well, many people will always demonize those that speak a truth they don't want to hear. Especially if it implies they are doing something either illegal or immoral. It's human nature - I don't take it personally.
People that take the time to talk to me at the trade shows generally walk away liking me, so I'm not worried. Besides this isn't a popularity contest, unless you're running for mayor and I didn't get the flyer :)
Hibernate has 100s of pages of documentation and is
> covered in two forthcoming books.
CocoBase has more like a 1000 pages of PDF docs, plus a
similar amount of HTML, etc.
> Does Cocobase support anything half as powerful as
CocoBase was generating java classes and components from
Table & UML structures years before XDoclet existed...
We have a template based source generation template that
generates EJBs, BMPs, CMPs, batch files, ant build scripts,
etc. And there's no reason you can't use XDoclet with
CocoBase - is there?
> And also absolutely incorrect. Proving that you are
> commenting upon something you know NOTHING about.
I confess that my knowledge is limited to the documentation
on your website, so maybe you should correct the errors.
Here's the text from your own website that contradicts you.
> However, it isn't smart enough to know that if you just
> removed twenty elements, leaving two and then added thee
> new elements,
Maybe you should correct these docs, they are misleading.
> For the record Hibernate detects changes to individual
> collection rows and updates / inserts / deletes them
The docs disagree with this, so I'm going on your docs.
> Please stick to commentry regarding things you are an
> expert upon.
A little terse don't you think?
> I'm sorry??!! Are you alleging that we violate a patent
> or copyright? Or are you indulging in FUD.
> You just completely destroyed your own credibility and
> everyone here realises that.
I don't know if you do or don't - I haven't done any due dilligence on your efforts, but I do know that many companies have software patents, and that the open source licenses (yours included) basically pass the buck on intellectual property to the user. The argument that I hear most often is that 'software patents are wrong', and that might be true, but it might also be just an excuse to not have to pay royalties or copy software and ideas. I'm really curious to hear your viewpoints on this? Did you do any patent or intellectual property analysis? Do you think it's appropriate to pass on that responsibility to the end user? It just doesn't seem very responsible to me...
> No that is NOT why we are suspicious of patents. We
> believe that software "inventions" are usually obvious
> and always have unknown prior art. But that is because we
> are more nuanced thinkers than thou.
So because they are 'usually' obvious, all patents should be violated? When we invented repository based O/R mapping, it was neither obvious nor common. We spent the first several years just explaining, and educating developers - and having to fight bias (mainly from the ODBMS & ODMG camp) on its viability. So do you think in that case it is 'obvious' or doesn't deserve protection? And besides, most non-software (real world) inventions are somewhat obvious as well, but that doesn't remove their patentability.
Patents were created to ensure that smaller companies (like ours) could build & protect novel inventions from larger and more financed competitors. The Open Source community takes a very social bent of 'fighting for the little guy', and frankly I love that aspect of. But in this one, you screw the little guy more than the big guy unfortunately...
> Our performance numbers are quoted assuming inhumanly
> excellent JDBC that uses JDBC batch updates, prepared
> statement caching, etc. In reality, Hibernate usually
> outperforms handcoded JDBC.
Our performance is based on identical sql statements and coding techniques, it sounds like yours are a little more slanted than ours...
> Oh puh-lease. These are standard patterns that I have
> seen in ten-year-old SmallTalk systems. You Did Not
> Invent Them.
> Clearly grounds for a patent. LOL.
You are Wrong. You show me a single document that is 10 years old that demonstrates network based lazy loading with server side transactions? You show me a single document that shows a single object with a repository based design for persistent across tables where the object is persisted by a persistent manager and is unaware of the task that is 10 years old? Most solutions were either 1-table to 1-object, or they generated embedded SQL statement in the objects so they could self persist. Name one commercial product that had these features? Besides the product is 7 years old, but the actual patent comes from research and implementations that are years older. Even if they did exist at 10 years ago as you claim, our patent still would be valid. I understand your great desire to undermine our patent so you can feel justified if you did in fact copy it. But that isn't the only patent in this space, and your blatant disregard for legal issues should certainly disturb your users - one would hope...
It seems that you're confused on the details. It 'sounds' familiar (like all great ides), but read the details - it didn't exist. When our patent was awarded, it was reviewed and recognized as a 'landmark patent', because no prior work could be found in print, or patent that demonstrated this technique. If it was as common as you say, this would have shown up.
> How much does it cost again?
The complete package including UNLIMITED email support, telephone sales engineering support, free product upgrades for a year, all integrations, documentation, etc. is $6000 per developer, but that includes free deployment and no server fees. How many times do you set on the phone, or support customers when they have to deploy the next day and a bug in a database or driver requires workarounds? Real enterprises require not just technology, but companies with expertise they can count on to serve them.
Just my $.02
Clearly grounds for a patent. LOL.
FYI, It is YOUR responsibility to ensure that you don't violate a patent, not the responsibility of the patent holder to do so. Also patents are all considered valid and they don't require 'proof a validity', they must be disproven as valid. This means that if you either by ignorance or intentionally violate a patent in your project, then all burden of proof is on you, and not the patent holder.
And just in case you're curious, there are several O/R patents held by IBM, Sun, and ourselves. Unless you are SURE you don't violate those patents, then you are doing your customers a great disservice by passing on all liability to them. If you retained the liability yourself, it would be one thing, but I personally find the pass the buck to the engineers very cheesie...
Just my $.02
I remember at BEA eWorld last year I saw the Thought,
> Inc. booth and all I could think of was this guy. I
> quickly moved on.
By the way, you may not like my style, but remember that I was virtually the lone voice against the JDO spec when it first arrived, and now 80% of the engineers on here are using almost the same points to criticize it. Why? Because they had a chance to use, and experience it and recognized that I was right. Even the Hibernate engineer agreed with me on JDO.
So even though you might not like my style, I am an expert in this field, and I don't criticize or provoke lightly. I only do so when I have a heartfelt and deep conviction about a subject. For instance, there are many things I don't really care for about the EJB spec, but it's useable enough by vendors like us, that I don't go slamming it every chance I get. I think your vision of me is probably more skewed than you realize. Please try to read the content and ignore the style, because obviously from your response I'll never win you over based on that :)
Just my $.02
I think it was Nietzsche who said something like "style is substance." Good luck with your company.
I think it was Nietzsche who said something like "style
> is substance." Good luck with your company.
How 'L.A.' of you. To confuse style with facts requires a lot from engineers. So you probably believe that an application with a pretty gui is a better app, even if it does nothing? Good luck your company, I think it needs it more than mine...
Patents were created to ensure that smaller companies (like ours) could build & protect novel inventions from larger and more financed competitors. The Open Source community takes a very social bent of 'fighting for the little guy', and frankly I love that aspect of. But in this one, you screw the little guy more than the big guy unfortunately... <<
I'm the "little guy". Fortunately, I'm living in Europe:
EUROPEAN PATENT CONVENTION
PART II - SUBSTANTIVE PATENT LAW
Chapter I - Patentability
(1) European patents shall be granted for any inventions which are susceptible of industrial application, which are new and which involve an inventive step.
(2) The following in particular shall not be regarded as inventions within the meaning of paragraph 1:
(a) discoveries, scientific theories and mathematical methods;
(b) aesthetic creations;
(c) schemes, rules and methods for performing mental acts, playing games or doing business, and programs for computers;
One interesting obvervation is that smaller companies (like yours) are not likely to make a bug with licence fees from their patents, because big componies are not likely to pay.
They will present "counter"-patents to you and the result will be an agreement that both sides can happily go along using each others patents without any fees at all. Of course, IANAL.
You have patents on different aspects of objects/relational mapping in the US. Can you offer me a licence if I wanted to use one of the methods described in your patents? Have you offered any licencing conditions to the big companies you mentioned (SUN, IBM)?
Anyway, I've got only one question I'm asking every vendor who would try to sell me a middleware software: Do I get the source with it?
Why don't I use CocoBase? hmmm..... Oh yea its because of you.
I agree with the post above, I too sense fear in your posts against Hibernate it is this fear that caused me to look into it. Hibernate does everything I want it to and every time I post a question on the Hibernate forum I get a quick answer. In addition Hibernate documentation is great and I will most certainly purchase any books about it.
What else do you need?
Why don't I use CocoBase? hmmm..... Oh yea its because of
Wow, I would have hoped that product quality, support, sophistication and the appropriate tool for the task would be your reasons for picking a tool. Do you like Bill Gates? Do you use windows? Your reasoning seems a little simplistic, and probably not very consistently applied.
> I agree with the post above, I too sense fear in your
> posts against Hibernate it is this fear that caused me to
> look into it. Hibernate does everything I want it to and
> every time I post a question on the Hibernate forum I get
> a quick answer. In addition Hibernate documentation is
> great and I will most certainly purchase any books about
> What else do you need?
Legal indemnity for your company? Especially if the Microsoft Halloween memo is consistently executed by them or another large company. There's a great discussion thread on the prudence and general requirement of running open source through corporate legal. Especially since most newer software systems are now based on intellectual property, unlike the previous generation of open source projects which were based on software systems that were typically created before software patentability existed...
Have a good read!
This has been fun guys, but I have work to do...
Enjoy whatever technology you pick, and don't forget to read the license. This was my point, and it still is. If you are going to choose open source, make sure you don't put your job and your company at risk by choosing something that violates intellectual property issues. You may not agree with it, but it is the law, and your company is responsible for honoring it...
And those of you who see to some sort of hate happening, it ain't that important, and you might try 'St. John's Wart', I've heard it can be very effective those uncontrollable emotions that cloud rational judgement...
Have fun, and I'm done... Good luck whatever you choose.
Just my $.02
I am quite positive Hibernate is a sophisticated tool and probably the best options for some developers.
But lets face it, standards are there for a reason. Its hard to justify building a multi-million dollar project on one that is susceptible to spontaneous disappearance. Yeah, you have access to the source, but the whole point of a persistence layer is that you don't have to maintain it. This is not to say Hibernate will die, but that Java's rise is a direct fruit of vendor-neutral standards, such as EJB, JMS, JSP, JAXP, and servlets.
And its not an open-source, close-source argument anyways, since that is just a matter of time (as JBoss for application containers) for open source alternatives for those who go that route.
I remember quite some time ago, I was evaluating some O/R products with a view to using them in our project.
Our finding should that _for our particular product_ cocobase had serious failings, so we didn't go for it (that's not to say it isn't the right choice for other projects).
I remember, at that point, still thinking cocobase was a quality tool, but as I say, just not right for us.
Sometime later I was partaking in a thread on some forum somewhere and the topic of "what o/r tool to use" came up - I remember expressing my experiences, and then getting utterly flamed from a salesman from thoughtinc (can't remember if it was Ward - probably not), for the gall of suggesting that Cocabase might have some flaws.
Bottom line is, the guy left the impression he was a complete a*rsehole, and that his company was run by a bunch of fly-by-night cowboys.
You can probably guess that cocobase hasn't been considered on any other of mine or my colleagues projects since.
Moral of the story - don't act like an angry schoolboy to your potential clients, you're only losing sales and damaging your company's reputation.
I hope you weren't referring to me, as I do not endorse vendor locked products, nor do I work for CocoBase. Which is my point with JDO. If you get pissed, you're free to move on with trivial changes (in JDO's case, most likely a simple .properties change)
If you get pissed, you're free to move on with trivial changes (in JDO's case, most likely a simple .properties change...
...and rewriting your whole non-standardized mapping file for the new JDO implementation, in the extremely common case of a distinct data model, assumably with legacy contents!
Actually, most JDO tools allow generate a default mapping tool that generates the mapping for you. The age of writing the mapping file manually, table by table, column by column is passe. And with these tools, the 'moving on' is not as difficult as you percieve.
S Rajesh Babu
(A JDO vendor as well as an O/R mapping tool vendor)
FrontierSuite for JDO & FrontierSuite for J2EE
Steve: I was referring to my experience with cocobase - not you.
I am curious on a couple of points and agree on a couple of points.
First, you are right that it is the company's responsibility to avoid duplication of patented technology. However, it is the patenter's responsibility to find the violator and to prove that they are in fact in violation. While this is terribly inpactful to large companies, it is typically to cost prohibative (legal fees) for a small patent holder like yourself to pursue. Either way, yo are in violation of the law; then again this doesn't really stop speeding either. I think this is why large companies are passing open source licensing through legal deparment; simply it is easier for companies to get wind of the violation and the cost benefit ratio for the lawsuit is nicer.
In terms of open source's disdain for patents, I think that the problem is the nature of many of the patents that are awarded and the length of time that they are awarded for. I believe that there are a lot of software inventions that deserve patent protection. Then again, I believe that there are many that do not (amazon one-click checkout :)). However, the length of time that they are awarded for seems terribly unreasonable. Granted you need an advantage in the market place, but if it takes you more than a couple of years after development is complete to build any market share, then your technology is likely irrelevant. I don't remember the exact law on this, but I believe that the patents last 17 years. Do you remember what people were doing on computers 17 years ago....it is simply too different to apply. Further more, I believe that it would do the market some good to both protect intellectual property (let the little guys compete) and to then release the intellectual property into the public domain so other little guys can compete. Let's face it, if Microsoft or Oracle wanted to end around your patents they could and would, despite the law.
Now, I am just curious...When I used Toplink (some years ago) I thought I remebered them claiming that they held many of the patents in OR. I thought they controled many of the caching and distributed caching patents. Am I wrong?? I know that they were around during the SmallTalk days, but I don't know if they proceded you. Also, I thought that many of the patents (that I think they had or have) came out of both IBM and ParkPlace. Is this incorrect?
Just my $0.03 :)
First, you are right that it is the company's
> responsibility to avoid duplication of patented
> technology. However, it is the patenter's responsibility
> to find the violator and to prove that they are in fact
> in violation. While this is terribly inpactful to large
> companies, it is typically to cost prohibative (legal
> fees) for a small patent holder like yourself to pursue.
> Either way, yo are in violation of the law; then again
> this doesn't really stop speeding either. I think this is
> why large companies are passing open source licensing
> through legal deparment; simply it is easier for
> companies to get wind of the violation and the cost
> benefit ratio for the lawsuit is nicer.
While it is true that it can be expensive to prosecute a
patent, the general cost of actually determining if a
product or solution violates a patent is inexpensive. The
cost comes if the parties decide to litigate, and this is
generally the legal costs for court preparations, etc. If
however the company is proven to violate the patent, it is
responsible not only for losses, but all court costs. This
means that many law firms will in fact take on this kind of
court case for relatively little money for cases where
there is a clear case of violation. It also means that
any rational company that violates a patent, but isn't in
the business of selling that technology will generally
license to avoid the costs.
I recommend you read about Acacia Media if you doubt the
ability of a small company to enact such a strategy:
> In terms of open source's disdain for patents, I think
> that the problem is the nature of many of the patents
> that are awarded and the length of time that they are
> awarded for.
Actually, I think the main disdain comes from ignorance. Because most engineers don't understand patent law, they make many wrong assumptions. For instance they confuse whether something is 'obvious' versus 'logical'. Because many patents are logical, they assume they are obvious, and shouldn't be patented. Which is in fact very wrong. In the same way Lawyers shouldn't generally write Computer Software, engineers shouldn't be spouting legal doctrine. This is why I consult my legal consultants on a regular basis, on a variety of topics. They are after all the experts on that subject...
> I believe that there are a lot of software inventions
> that deserve patent protection. Then again, I believe
> that there are many that do not (amazon one-click
> checkout :)).
I'm curious why you think this? After all, while this invention might be very logical, if they invented it, and no-one else had done this before, it is a patentable idea. Any invention is patentable if it is new, and can be reproduced. I think this warrants both of those measures. Considering what a pain it was to do shopping carts before this design, personally I think it's worth it. Not to mention that a court agreed with me on this, so despite your disdain for it - the law contradicts your opinion, and companies that violate it are still subject to patent violations. Be careful about encouraging people to break the law, even if you don't agree with it...
> However, the length of time that they are awarded for
> seems terribly unreasonable. Granted you need an
> advantage in the market place, but if it takes you more
> than a couple of years after development is complete to
> build any market share, then your technology is likely
> irrelevant. I don't remember the exact law on this, but I
> believe that the patents last 17 years. Do you remember
> what people were doing on computers 17 years ago....it is
> simply too different to apply.
Really? Many of the same programming techniques used in the 50's, 60's and 70's are still in wide use. I don't think this is really true. While it is true that computer seem to advance on, Java for instance is ~ 8 years old, and you could argue that it's just now coming into being. I think that 17 years is very reasonable... Although I seem to recall that it's actually 20 years for international patents...
> Further more, I believe
> that it would do the market some good to both protect
> intellectual property (let the little guys compete) and
> to then release the intellectual property into the public
> domain so other little guys can compete.
Why? The open source guys who simply 'copy' software and never innovate could then unfairly compete with companies that invested large sums of money and time into R&D. I couldn't disagree more. If Open Source guys want to create new and innovative software that is their own original idea, they should have every right to patent, copyright and give it away. They should have no more right to steal the ideas, and the work of others than any thief should however. Robin Hood stole from the Rich, not the working class, this is no different...
> Let's face it,
> if Microsoft or Oracle wanted to end around your patents
> they could and would, despite the law.
This further argues my point. Who suffers when patent law is violated by an open source project? Is it Microsoft, or is it the independent software vendor that has innovated and changed the technology landscape? Many folks who are drawn to Open Source seem as though that they are brought there out of a 'sense of fairness', and 'anti big corporate' attitudes, which I understand. The large corporate attitudes that leave average customers as nameless sources for money are certainly unpleasant when you are a consumer. But in fact open source has very little impact on those companies. How much has Linux or Open Office really hurt Microsoft? They have 45 BILLION dollars in the bank, and they make profits virtually every quarter. Corel however has been devastated...
> Now, I am just curious...When I used Toplink (some years
> ago) I thought I remebered them claiming that they held
> many of the patents in OR.
No, that's not true. In fact one of the Webgain IPO disclosure documents mentioned that none of their products had any Intellectual Property(IP) claims, and that it was a risk for their IPO strategy. That they might have to rewrite some of their technology if a Patent License couldn't be negotiated by the IP holder.
> I thought they controled many
> of the caching and distributed caching patents.
Toplink didn't have any caching patents, they were actually being sued by Persistence for caching patent violations when Webgain became their owner.
> Am I
Yes, I do believe that you're wrong on this. As far as I know, Toplink wasn't backed by any IP... They had the typical engineering response that IP and patents didn't matter, so they disregarded filing or apparently respecting the IP of others. Our company however has international patents that are 'landmark', which means that no patent, journal or published work showed up to indicate that it had been implemented before our implementation. This means that it is a VERY strong set of patents, and its defense becomes much simplified...
We've never needed to defend our patents to protect our business success. We actually increased sales last year despite the crappy economy for instance. But that doesn't mean that we wouldn't fight to protect them and our business, I assure you that we would and could readily do so.
> I know that they were around during the SmallTalk
> days, but I don't know if they proceded you. Also, I
> thought that many of the patents (that I think they had
> or have) came out of both IBM and ParkPlace. Is this
They were around in the Smalltalk days. In fact when we first began to compete with them (they ported their runtime to Java) they didn't do anything that our patents cover. I argued with one of their architects at JavaOne about how they didn't offer enough features to be considered useful, and we debated the external repository based and table spanning architecture. They didn't even understand what they were when I spoke to them. I even remember when they finally added repository and table spanning features to their products to try to compete, and our sales people talking to customers and me about this 'change' in their features. I never worried about their products however, because I knew that their business model focused on 'consulting-wear', would self-destruct their company before we would ever need to worry about them in any real competitive sense (as it did). I think Webgain lost ~200M USD in 18 months if memory serves me. Why worry about a competitor who manages his business this way - I say :)
Anyway the real issue is still that patents are a reality, and that in fact smaller companies can VERY effectively defend their patents if they choose to. And please don't forget that many larger companies also own patents in several software areas that Open Source now offers software projects in. Many of these larger companies will probably choose to also enforce them in the coming months - especially as this economy starts forcing creative revenue generation. Most well established open source projects are based on software that was written before patents could be filed (Unix for instance). Newer Open Source projects are emboldened by this success, but they are trying to clone software IP that is protected. This will effect some users of that new software in unpredictable ways.
The reality is that if you buy a commercial product, you know the price up-front, and the company shields you from additional legal and IP costs. If however your company violates a patent yourself or through using an Open Source project that violates it, the IP holder may choose to negotiate a percent of your revenue, or other measure that are MUCH less favorable in terms than just paying for a product. By saving a few dollars, an engineer may unwittingly compromise the profitability of his entire company. This is a fact, it is real, see the article I refer to for this happening today. I know that some individuals in love with open source for open source's sake will disregard the warnings and place their companies in jeapordy. I doubt their management will be pleased though, when they discover that the engineers knew the risks (because of this and other forums) and didn't convey those risks to their management. This is known as 'negligence' in the real world, and will most certainly cost some their jobs, and probably worse. This is the real world, and all things cost something, even free software...
And if you guys are interested, I can post a primer on IP & Patent philosophy. I've had to write, file and work with lawyers on several IP issues over the years, and I can probably put this in terms that engineers can relate to. There appears to be a LARGE set of misconceptions, especially from the Open Source implementors on Patent issues. Since their choices affect so many companies and jobs, they should probably take the time to be more educated on this issue before making these decisions recklessly for others...
Just my $.02
And if you guys are interested, I can post a primer on IP & >Patent philosophy. I've had to write, file and work with >lawyers on several IP issues over the years, and I can >probably put this in terms that engineers can relate to. >There appears to be a LARGE set of misconceptions, >especially from the Open Source implementors on Patent >issues. Since their choices affect so many companies and >jobs, they should probably take the time to be more >educated on this issue before making these decisions >recklessly for others...
Please do. Some of us are in small companies, and don't have an attached legal department.
It might be better to post the primer as a separate article, though.
On the cost issue:
While I agree that you are likely to have your legal expenses covered in a favorable decision, the key is having confidence in a win. In order to pursue a patent infringement case you have to be willing to spend the money to do the sue diligence to see if they are in fact infringing. In many cases, this will require a court order to examine the source code. Even at that point, the line where patent infringement in technology is drawn is gray at best. It is somewhat similar to artistic copyrights, a 30% change constitutes new work. Of course, this is somewhat determined by the breadth of the patent. A patent can be too broad, in which case the court will throw it out, or it can be too narrow, in which case it will not be able to prove violation. Either way, it is an investment that has to be made to see if you can win. In a small company, that money is typically better spent on marketing or on product development. Certainly, as you come into head to head competition with vendors (open source and otherwise) that violate your patents the legal wrathes will start to work their magic. However, for cases where there is no direct competition, I would expect the due diligence to be cost prohibative.
As to the disdain:
I believe that you are right, to a degree. I absolutely agree that engineers, largely because they deal in logic, believe that they understand and can interpret law as well as lawyers. The problem is that law is rarely logical :). However, I think that there is a broader issue that you are not considering. Most open source software, indeed the concept of open source, originated in academia. As a result, they believe in open processed peer reviewed work. Most of the academic folks that develop this software tend to be students. As a result, they have not graduated to the "How do I make money with this if I just published it in a magazine?" perspective. Instead they look at it as the manifestation of an old debate; cooperate to compete. They, at this stage of their lives are simply not capatalists.
It doesn't stop here though. We as a society are running into some issues with our base of ideals. We have a governance system based on openness and sharing of power. We have an economic system based upon human fraility which discourages sharing in order to increase value. This was apparent when patents were first introduced and is currently in the limelight with copyrights. To take it a step further, it becomes more apparent when you look at job role in society. Why is it that teachers, police officers, and firemen are payed little and pro atheletes are paid exhorbenantly. Simply put, pro atheletic skills are harder to find (and other issues). However, the impact to our society as a whole is tells a different story. Privatization won't help. No we are running up against the boundaries of the dichotomy that our forefathers created. Capitalism (in its current model) and democracy are not perfect fits. As a result, we have to create an incredible amount of legislation to make them fit. This is where the issue around copyrights and patents come in. The fundamental concepts do not fit in either system. Capitalism would say, let the market decide. Democracy would say share for the public good. Now, we both know who wins this battle in the short run, but this will not be the last time this and other issues come to the front.
My point in this little diatribe is that it is not so simple as to call people ignorant. In fact, those that call people ignorant generally should be looking inward. The problem is that most of the folks that started and continue the open source movement are troubled by these "join points" between the two systems that we are running in our country. This also explains why they tend to be very politcally involved. They are engineers that want a simple elegant solution. Ironically, when it comes to patents they simply don't recognize the genious of simple. :)
The one click thing:
I do not believe that a business process should be patentable. I also find it hard to believe that there is no prior art to this patent.
Now, we get down to one of my issues with patents. The responsibility of proving the novelty of the invention should rest with the applicant. The responsibility of verifying the novelty should rest with the government. However, it is impossible for the government to afford to employ the types of individuals and the quantity of individuals necessary to make this happen. As a result, many patents are awarded without proof of novelty. This translates to the patent infringer having to disprove novelty. The problem is that patents are used to intimidate. If I am a small company, I am not going to invest in developing a product that may violate a patent (valid or not) because I do not have the cash to waste on a worthless product or on legal fees. As a result, the patents become recognized be default. So, suddenly we have a mechanism of companies with cash being able to spend money to get a certification, that may or may not be correct, in order to keep others out of the market. Depending on the correctness of the patent it flirts with the underlying premises of anti-trust laws; that everyone should be free to compete in the market and that one company should not be allowed to use cash to stimey that market (of course, we know how effective and grey that hole area is). Do you see my point? While the concept of a patent is valid, our (as a country) inability to properly implement them has made them as detremental to market places as they are helpful. For example, look at the BT hyper link patent. We all knew there was prior art, but who had the money to challenge it?
On the timeframe issue:
I think that the frustration is not necessarily the usefulness of technical concepts over time. I think it is deciding at what point a company with an invention has had the opportunity to take advantage of an invention and at what point the need of society becomes more important. The pace of innovation in technology leads many to believe that 17 years is too long. It is, in fact, the length of several careers (these days). I think this is especially important in software. For instance, for how long should a humanitarian program have to pay license and royalties for using a web based system to register victims?? Maybe the company that owns the patents to this prosecutes or doesn't (maybe they look at the UN as a money bucket, who knows). However, at some point these types of technical advances need to become available to the world at large. In the case of complex caching mechanism it is not so important. In the case of a one click checkout, or a hyperlink, it can be very important. So, I suppose we can fix the time frame or get in the business of forcing governments to buy out patents.
The Toplink thing:
You are right, I was getting confused between toplink and persistence. I was doing business with both in the same time frame.
I will probably right more on this later...but, I think it is important to realize the the open source phenomena is rooted in the 60's flower child beliefs. It is important to realize that it is pointing out flaws in our system. It is important to realize that open source is forcing the transition that economists have been claiming was coming for years; a transition from a manufacturing society (and yes software construction is manufacturing) to a service society. Those of us with vested interests in manufacturing are fighting it tooth and nail, but it is coming.
I have no idea if any of this makes any sense...especially since I am now late for a meeting. :)
I appreciate your candor and your debate on this Ward. I like to learn :).
and btw, that's a dime's worth.