Tim Bray Finds An Affinity Between Patents And OSS
Manuzhai writes "Tim Bray, of XML co-invention fame, is writing about software patents and Open Source software today. While he deprecates the 'business-method' patents like one-click ordering, he thinks some (Open) source code could tell the truth about a patent application: 'In fact, in an ideal world, I'd rewrite the law to allow software patents but require a working Open-Source implementation as a condition of getting one.'"
sombebody's who doesn't agree proposes a constructive solution.
I like it provided there's no more 1-click-purchase involved.
Trolling using another account since 2005.
Sounds more like a "shared source" (look, don't touch) than "open source" to me.. Especialy the freedom part doesn't seem to be there as the open source implementation is needed to get a patent. So the contents is patented and unusable as open source.. Or did I mis something here?
Nobody expects the spanish inquisition!
Well, with Novell now throwing its substantial patent portfolio behind open source, and Microsoft having promised they won't use their patents to crush open source, I don't see what all the fuss is about.
Perhaps if slashdotters relied on a software patent as their primary source of income, as I do, they wouldn't be so critical of them.
I think a way to handle the patent problem
is to make a patent license which work with patent law
as the GPL work with copyright law.
Sorry this may seem slightly offtopic but.. How come John Kerry or GWB don't patent their ideas for laws? That way innovation in legislature can be boosted. Hell, you can then have companies R&D'ing effective legislation that can boost the economy. They can then sell the law to the politicians who will pay a either a one time lump sum or portion of the laws revenue to the company.
.. why isn't this a practice for legislature as well. Also it will cut down on Democrats stealing Republicans ideas and vice versa .. and spur innovation within these parties.
.. I'm off to patent my universal healthcare idea.
If patents boost innovation and improve quality of life
Technically existing business process patents can be utilized to patent laws.
Anyway, nuff said
Works for me.
[insert witty sig here]
The article argues that the patent system is not broken and that the only problem is the implementation. That's not a consistent argument because the way it's implemented is part of the system. Even his opening example, where an individual programmer comes up with an innovative algorithm and wants to patent it, contradicts the premise. The way the current patent system is written, the ante for playing the patent game (in terms of lawyers and fees) is too high for most individual players or small businesses. Before patenting software can even be considered, the patent system itself needs fixing. There is a good alternate proposal for this on Groklaw.
===== Murphy's Law is recursive. =====
It's a way of pinning down patents to a specific algorithm. Some (most) of these applications are so broad it's difficult to figure out what the patent covers and what it doesnt. A working implementation makes this 100% clear.
If you use the code, if you use their patented stuff, you had best negotiate a license or be sued out of existence. However, if you want to code around the patent, this could be very useful.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
No, because despite having the source, you may not just use it due to the patent (after all you wouldn't even be allowed to use it if you had written it yourself). Therefore for the duration of the patent, it eliminates the benefit of open source. Of course after the end of the patent period it will recover the OSS advantages - unless at that time it's obsolete anyway.
The Tao of math: The numbers you can count are not the real numbers.
No. The point is anyone can look at it, anyone can use it, if they want to make money off it, they have to pay up.
Given that there is concrete evidence for what the patent is about (the source code), it becomes much harder for companies to claim that patents have been violated. It also becomes harder for patents to be put forward for such simple stuff as "one-click purchasing", patents would then have to be awarded on innovative algorithms.
East Coast Brewers
I still think that software patents stifle innovation. The average useful program is made up of numerous components, not like an improved butter churn. Imagine if every little part of a program were patented: people would be way too caught up in liscensing fees to be able to write anything, especially a large application. If the patent system were to ever reasonably be applied to software, it will definitely need standards, something it sorely lacks now.
I do agree with him that anything software that is patented should be open source. At least this way, the company is forced to essentially put their idea in the public domain. Don't they make inventors of mechanical systems publish a blueprint?
I sure hope we get this figured out soon, because with multibillion dollar lawsuits flying around, I don't see how even giant corporations can feel safe doing business here in the US
Aside from whether software patents are good or bad, wouldn't that totally defeat the purpose of getting a patent in the first place? Why would people pay the patent-holder royalties if they can get the source for free?
Maybe I just don't understand what he's saying...
Socialism: A feeling of discontent and resentment caused by a desire for the possessions or qualities of another.
Just how long do patents last on software, 75 years(ish)? It strikes me that innovation should be rewarded by a short patent of say 7 years then the IT community benefit straight after.
A patent was supposed to grant you a monopoly on your invention in return for describing said invention such that when the King decided your monopoly expires then other members of the kingdom could share the knowledge.
Thus when source code is the documentation one could argue that presenting such code is *already* a pre-requisite.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
In fact, this is more like the way patents work in real objects. Take a car engine for instance.
You can patent parts of the engine. Everyone can look at how you did it, and maybe create a better solution for it. The only thing patent protects the owner from, is using the same exact implementation in products that are sold for profit.
IMHO this is an excellent proposition
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
A recent discussion on Groklaw included the idea of mandating that royalties on use of patented software must be based on a percentage of the sales price. Any percentage of zero is a reasonable amount to pay for including patented algorithms in free software. I couldn't care less what impact this might have on proprietary software makers; let them all sue each other into oblivion if that's what they do best.
How can you have an 'open source' implementation of something which is patented?
If it's patented, you'd need a license to develop the program further. You'd need a license just to run it.
How is that 'open source'?
It would be nice if the patent law was modified to make it so anyone can use your patent, they are just forced by law to give a set percentage of their income from that patent to the patent holder.
I suppose this would be open to abuse, but the benifits from this as I see them are that patent holders cannot hold back use of the patent but they are guaranteed to gain from its use.
East Coast Brewers
It doesn't have to be 'free open source', just open and source.
:) )
ie. The patent applicant not only has to write some code showing how his invention works in detail, but also has to show it to anyone who wants to see it. Those people who see it may not use it in their own applications (or they'd be violating the patent) so all the benefits of having a patent apply, but no-one would be able to patent anything that didn't have a concrete implementation (like 1-click for example).
I think that's the idea, but if you think about it - if you wrote code for 1-click, either you'd be restricting people from using the same techniques but they could implement 1-click in a different way, which I think does invalidate the idea of a patent after all.
Imagine I come up with a novel way of toasting bread, and I have to create my 'toaster'. If patents are to work, that'd have to stop other people from inventing the 'grill'. If that is true, then my way of implementing 1-click would stop other people from implementing 1-click in their own way.
The alternative, if my software only applies to my way of doing 1-click, then someone could legally invent the grill even though I have the toaster patent.
(I think I'll go lie down and wait for someone knowledgeable about patents to tell me what I mean
As I recall, you are also free to use patented stuff in your own home without paying for it - only commercial use would actually infringe.
IANAL, and while this seems like an attempt to weasle around the system I rather like it.
Suppose you're a keen young programmer and you've figured out a keen new algorithm for securing a communications channel or crash-proofing a database or animating an MMPORG monster.
He goes on to suggest "well, why not" a patent.
He expects us to believe that he doesn't realize that "a keen young programmer" hasn't got the tens of K dollars to get a patent, and certainly hasn't got the millions of dollars needed to defend a patent against wilful infringers.
I think the article is probably just astroturf; after all, Bray is now a Sun employee and the Sun's line is that software patents are a Good Thing.
I don't believe being bound to an 'open-source' rule would justify getting a patent. One should not be forced to supplement confidential product plans or company "trade secret" in order to apply for a patent. That's like buying a car, test driving it, insuring it, washing it, then getting a license for it. Its back-ass-wards. When other companies decided to make similar products of another company, they reverse-engineered the product and changed enough of the architecture and called it their own.
-- Game Developers: Stop porting badly-textured games from crappy console systems!
And just out of curiosity, what happens when you write a piece of software which uses 11 patents, all of which are guaranteed 10% of the profits?
May work for you, but what about the company that invested in the discovery? Do you believe they should be compensated for the money invested in the discovery process? I realize some patented ideas are very obvious, but some are for ideas that required some real effort/money and should allow for some level of reward. I realize that some people are motivated to innovate for the sake of innovation, but many innovate for the rewards.
I read the article. It's basically incoherent, or rather, it doesn't give enough details to even properly evaluate the idea. One thing's for sure. It does not answer any of the major, show-stopping problems with software patents.
If you have a patent office staffed with geniuses, gifted with eidetic memories, even if every patent holder submits open-source code along with the patent, you will still have a body of hundreds of thousands or millions of patents, and hundreds or thousands more each day.
A software developer will have to read the entire patent database, and then stay current with all the new applications. Obviously this is physically impossible. The end result? Every piece of code is a ticking patent timebomb.
"Hello, sir. I see you are violating my patent on dereferencing pointers on Tuesdays. I assure you this was extremely innovative in 1992. My fee is $1,000 per asterisk, of I will see you in court. By the way, a little hint about court: it will scare off your customers, cost you millions in attorneys fees even if you win (and you might lose!), and take ten years. Your choice."
Software patents are purely an anticompetitive tool designed and maintained exclusively for a few large corporations who just happen to have created large, shockingly broad software patent portfolios. It allows them to sue any small competitor out of existence, and threaten even larger competitors. They have already been seriously destructive to our economy, and their effect on innovation, and eventually America's place in the global technology industry, is an ongoing catastrophe.
There is no possible compromise. The system is inherently, obviously broken - a ridiculous legal con game. Software patents must be repealed, or our technology industry will wither and die (and happily be replaced by Europe - or, if Europe isn't smart enough to steer clear of them, in Asia).
Want to Know How to Cheat the GPL? Read On!
Inventors are already required to disclose how the invention works to someone skilled in the domain of the invention. Hence, such a diagram should be either in a programming language, or some sort of standard design (e.g UML). For some reason, a vague, verbose wordy description seems to be accepted by the USPTO.
If I were to try to patent a car part, I'd have to show a schematic of the part to the Patent Office, and after that, the schematic would be on the public record, forever. Seems like software patents should be the same: Want a patent? Publish your code or just live with only having a copyright on the binaries. This way, when the patent expires, we'll still have the code out there for inspiration. Also, if the patent is public record, it would be easier to tell if someone was using stolen code. Give the disputed code to an arbitrator, tell them how to compile it, diff the binaries to make sure it's the same as the commercial product. As long as the source that generates the product isn't using code that's the same as the patent code, no problem. The SCO case closed would be closed in the time it takes to grep the linux source.
Or am I missing something?
Bray says that software patents do a lousy job of disclosing inventions: they are (sez he) ``notoriously inaccurate, incomplete, and unreadable.'' He assumes that the patent office, which can't even seem to read the patent applications, would be able to test the software and determine whether it was indeed a functional and useful implementaion. That sounds optimistic.
Furthermore, any patented methods and the code which embodied them would be of no value to Libre software until the patent had run out. After all, public domain implementation or not, you still have the problem of a license for the method!
See what I've been reading.
What the author speaks about here is in my opinion the same Microsoft tried to do in regard to the Sender ID standard draft, and it did not work because according to the (well fundamented, in my opinion) Apache Software Foundation's position (just to name an example), the problem happens when people insist that there must be end users. One of the main goals of free software is to allow everyone who gets a copy of a program to be able to do whatever he wishes with that program, provided that credits to previous changes remain intact, new changes are disclosed, and the receiving party gets exactly the same rights. A patent system is closed in respect to this problem, because the receiving party is forced to ask the original author of the patented software for a royalty if he wishes to make changes and/or redistribute.
Well for one I don't think making it 10% would be silly.
But even today, writing something which uses a large number of patents becomes prohibativly expensive.
Of course they could put an upper cap on the amount, so 1% (pure thumb suck number) could never be more than $10 (another thumb suck number).
East Coast Brewers
I think the author has some fundamental misunderstandings about patents. They are statutory granted monopolies that allow you to decide how your "invention" is used. Therefore, if you release your patented software under an open source license, your patent is now meaningless since the oss license now says how your software can be used. This may be a good thing in that everyone can benefit and no one else can patent it, but this is not what the author is saying. The author seems to thing that you would still get the benefits of the patent, which is incorrect.
I read the article and actually see nothing he covered that is anything different than patents now. I'm not a patent lawyer though. I suppose copyright law doesn't require an open source version, but patent law usually requires a working prototype of whatever it is that you are going to patent. It's the reason why I don't own the patent on the windowed refrigerator, even though I originally came up with the idea in class when I was 7. I knew it'd be possible one day, but I didn't know how.
To get straight to the point, though, I don't like this suggestion at all. The copyright and patent system is inherently flawed and stifles competition far more than it dulls innovation. Innovation is driven by *need*. By patenting a pair of pants, you can get down to the very atomic makeup and they are actually quit different from each other. The only difference is, what we "see" is two pairs of the same kind of pants, so when the two owners of said jeans come in and complain about each other stealing the others idea, we somehow came to the conclusion that the "first guy" is the one that owns the patent.
It's easy for us, as programmers and scripters, to know why software patents are horrible. It's because we will run into software on a regular basis that is something that we *can* make and indeed *could* have. If people were patenting and copyrighting these ideas, they'd be basically getting the government thugs to route out competition.
What kind of an environment is the US government promoting when it can't see that it's being "used" to enforce anti-competitive policies?
mentioning profits? Whether or not you are profiting from using a patented invention has nothing whatsoever to do with enforcement of said patent. Conditions of use stipulated by patent owners can be completely arbitrary, i.e. "you must release any software using this patent under an OSS license", "you must pay me $1 for every item sold", or "you must stand on one leg while using this patented algorithm". Of course, the latter is somewhat less enforcable, but still... whether or not the patent-using party profits is completely irrelevant.
HAND.
obfuscated source code contests> .
( It should be clear to us that, without very strong safeguards against it, that is what patent lawyers would tend to make out of writing source code for software patent applications, just like what they have made out of the descriptive text for normal patent applications. )
> Can you find one argument in that article for the reason *why* an Open Source implementation would help?
According to the article, the author complains about how software patents are implemented in US, so the only way to avoid the US patent mess in other countries would be to disclose the source so that everyone could see and avoid copying.
There is a big disvantage with this proposed patent implementatiom though: one may not be able to implement THAT algorithm, but one can still use the idea they got from it with their superior programming skills to make a 10 times faster algorithm which didn't look anything similar to the original one besides producing the same results.
Software patents, aren't in themselves bad. The thing that isn't addressed is their timespan.
Patents for physical things took into account the fact that they needed to be drawn, engineered, factories built to create them, distribute them, have them installed where necessary, and then cover them through a fair lifespan.
Take, for example, valves on a chemical plant. A new and innovative one could be thought of and patented.
Then, the factories set up to produce it (say a year from patent perhaps, now safe to give the designs under contract, as it's patent protected), then it needs to be marketed, so, perhaps 2 years from inception to starting to get used. Initial tests and usage in industry, say, 4-5 years until it really starts to be used industry wide.
Lifetime of a valve, perhaps 10 years if they're in a harsh environment, more if not. So, you get in one round of replacement of the same thing.
But, the timescale there for a physical item that's supposed to last 20, 30 or more years isn't terrible. It's still VERY useful in 30-40 years.
Now, software, protected for the same duration.
Patent is drawn up. Software out the door days later, as there are no real tooling and production costs (relatively speaking). It's possible for sales to ramp up and reach market saturation within a year, if it's something innovative and useful. Industry acceptance and having it treated as 'old and established' within 2.
Within about 5 years, it's (usually) classified as obsolete.
So, for the next 20 years after being obsolete, it's holding back the market from developing it's successor, because it's patent encumbered, and license fees need be paid on it. So, the next generation flounders.
If Patents took into account the average obsolescence period of the market, and allowed a patent for the given period, things would work nicely.
Once it's in the 'getting a little old and clunky' period, anyone can then make a free implementation of it, or perhaps design it's successor based on the original. OR a proprietary new version, or whatever! But it keeps things moving, which is what patents were meant to do all along.
5 years for a software patent? Sure, that sounds fine. Maybe 7 or 8 at a push. If you've not made money off an idea in that time with a captive market in the tech game, you're probably not going to.
But the 5 years is enough to allow something to prosper, while ensuring that you keep thinking of the next idea, or allowing someone else to.
And perhaps it would stop all these patent shops churning out nothing in the knowledge that they've got 20 odd years to sit on it and hope someone comes up with something they can shoehorn into what they've got on their papers.
5 years is a lot less time, enough, really, to say "If you're not going to use it, then you've had your chance to, now let someone else actually do something good with the idea"..
He misses the next logical chain in the arguement.
To apply for COPYRIGHT registration on code, you should have to submit the source code. It would still be copyrighted, so people can't create derivitive works from it legally. But shipping copy-protected executable code certainly doesn't promote the progress of science and the useful arts. Having the source code available does.
SCO business model, sure, nothing broken here.
Except what I'm not talking about is fabricating claims that are highly unlikely to be true and somehow conning people who ought to know better into believing them.
RMS must be rotating in his... uh... bed or so.
This is where "Open Source" meets "Free Software" and the two don't agree, not in the least.
Free Software is incompatible with patents, both from the license terms (the GPL even explicitly mentions patents) and the spirit (sharing of knowledge).
Open Source allows such abominations as "you can look, but if you copy we'll sue you from Alaska to Hell".
Isn't that essentially what DRM is trying to do?
The idea is nice at first glance, much like patents of old required a working mechanical model. It does fit well to the basic idea behind patents, which is essentially "tell us all how it works and we'll give you some rights for teaching us".
It doesn't fit with Free in any sense. Whether or not it fits with Open Source depends on your philosophy. Mine certainly isn't one of prison-but-with-walls-of-glass. I prefer not having to live in a prison at all.
Assorted stuff I do sometimes: Lemuria.org
The problem with the current patenting scheme as it applies to software is that it's a conceptual patent. Patents, however, were meant to protect applications of concepts.
Take, for instance, the fire service. My dad's a career fireman and sits on several technical committees that draft and approve the specifications for different types of equipment used in firefighting (specifically, breathing apparatus). Every time the specification changes (recently, to include a visual warning device in the face mask to display the percentage/amount of breathable air left in a tank), the vendors have to build new functionality into their gear. Each one has to design something that meets the standard, and each one patents their implementation of the standard, or licenses an already patented mechanism that meets the requirements. Point being, the vendors can't patent the CONCEPT of having a heads-up display, just their particular electro-mechanical implementation if it's something novel.
Software, on the other hand, has been allowed to patent a CONCEPT (such as one-click ordering) rather than a particular implementation simply because they claim that exposing their particulars with respect to implementation (source code) would give someone a competitive advantage against them.
Hogwash. In fact, it's easier to modify a physical device enough to get a new patent... it's harder to modify software to make it apparently distinct from the original patented source, esepcially if it's written in another language where someone is going to make comparisons not on a line-by-line basis but a method-by-method basis, and get into comparative analysis.
I agree that the system is broken and needs to be fixed... and I think the way to do that *is* in fact to require software patents to include their source code as well as a solid description of the methods used (perhaps an object model, as well?)...
When Bill Gates was recently speaking at Berkeley, he stated that Microsoft made and allowed software to become an international thing. I was laughing so hard that I almost cried.
Regards,
Steve
Bray's suggestion seems a lot like the way the system originally worked. Didn't patent applications originially have to include a small working model? The two big problems are business methods patent (completely wrong-headed), combined with all-inclusive language (just sloppiness). Used to be, if you patented an improved thresher, you had to send along a small working model of what you were applying for, not just an application that said "A method and procedure for seperating grain from chaff...."
Are you...Are you some kind of genius?
No, ma'am, I'm just a regular Slashdot reader.
1. Free Redistribution
- The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
If a patent is restricting the use of the code then it is not Open Source. If it cannot be used then it is really no different from a software company releasing a proprietary closed source
Tim has missed the entire point of the patent debate.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
I disagree, patents are there to protect the people who invested in the R&D to produce something new.
The sad state of patents is partially due to people who can think of a flying car, but have no idea how to build one.
If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy. - James Madison
And this is where the debian folk try to tread when they decide which packages are "free" and which are not.
Unfortunately, from an end-user perspective, it can be quite tedious. Sometimes a package goes from "free" to "non-free" and unless you have your ducks in a row, you lose it.
So: how do you want to get paid? If you only want to be paid in the satisfaction of a job well done and/or helping others, Free Software and Open Software are probably close enough for you on the pragmatic level, so long as nobody comes after you claiming their own rights. But if you want to make money (barter, whatever) so that you can eat and have a roof and a 'net connection, Bray does hit the nail: others out there can easily eat your lunch.
I don't see a perfect solution here. I knew the fellow who claimed to have "the" patent for color TV, which, as an employee, he had to assign to RCA. AFAIK, he wasn't a millionaire, but he had a secure job for the rest of his life. RCA evidently recognized his contribution and treated him "fairly". Unfortunately, the world tends more to Scar of The Lion King, as he says to the mouse, "Life isn't fair..."
"...While he deprecates the 'business-method' patents like one-click ordering..."
You keep using that word. I do not think it means what you think it means.
IM
Patents are unbelievably expensive compared to copyright. There are two ways that they are expensive.
The second point makes the system entirely un-workable as there are so many patents that it is impossible for any one person to be sure that they aren't stepping on someone else's claimed invention. What makes the system just laughable is that now ideas are being patented (software and business processes) which are vague by nature. On top of this ridiculous situation is the notion of triple damages if you are almost aware of a patent that you later infringe upon (so you are horribly punished for trying to play by the rules and read through ambiguous patents). The system is horribly broken and stacked many times over against the little guy. I deeply wish that the case law that made software and business process patents legal is overturned quickly.
Godspeed EFF, you fight for all of us little guys and gals."I'm a loner Dottie, a rebel."
- Pee Wee Herman
In any case, the traditional model of a patent is absolutely inapplicable to software. The original purpose of a patent was a compromise deal between an inventor and a government {acting as a representative of Society}. The problem was that an inventor might have exhausted their capital developing a working prototype; if they now show this directly to an established manufacturer, the manufacturer might decide to cut the original inventor out of the loop; whereas if they approach a {non-technically-minded} banker hoping to obtain a loan on the strength of the invention, with which to set up their own factory to make it, the banker might not be convinced of its viability. So the Patent Office was set up, to give inventors an official letter precisely describing their invention, and granting them a time-limited monopoly over it. This can be used as proof that the invention works {to obtain financial backing} and as a description of how to make it {to obtain manufacturing services}, but it also specifies a date after which the invention is to be given to society at large for the benefit of everyone. If the invention is a good one, then any loan should have been paid off long before such time.
In the case of software, where the cost of reproduction is essentially nil, the inventor is not prevented by financial constraints from further developing their idea beyond the prototype. So the original need for a patent is absent.
Je fume. Tu fumes. Nous fûmes!
Well said! Well said!
Only one slight clarification: Software patents do not need to be repealed, because they were never legislated. The US Supreme Court has always held that software for general-purpose digital computers is not statutory material for a patent. What is needed is legislation that clarifies that no software is statutory material for a patent. In the meantime, we need a policy at the USPTO that is consistent with the Benson, Flook and Diehr cases.
All ideas for Software Patent reform ignore this simple but basic equality. Regardless of the complexity of the data handling that we have enabled our software to perform it still just comes down to bit-twiddling. Adding, subtracting, multiplying and dividing ones & zeros.
No matter how ingenious we get at it, mathematics has never been a patentable commodity. The fact that software has patents is a failure in the education system to properly teach this very basic concept. A concept that any 6 year old should be able to grasp.
As I get older, I become more a realist, so whatever methods can be used to reduce the harm from this stupidity is not out right a bad idea. However, we must always keep our eyes squarely on the fact that we have perverted the use of patents completely and the long term goal should be to out right ban software patents of any form.
There are places where software/algorithms can be used to elucidate a patent, but they still cannot be an essential element of receiving a patent. Basically I'm thinking here of embedded controllers and such, where the softare is used to guide the operation of hardware. The hardware itself can receive a patent but not the software. In fact one test of such hardware's patentability should be the idea that all essential data handling, manipulation etc. could be abstracted in to software, if all you have left is a broom than all you've patented is a broom.
Sure information wants to be free, but how much are you willing to pay for the packaging?
Compulsory licensing is a nice idea, but I don't think anything quite so simple would work. Some standards organisations have a concept of "Reasonable and Non-Descriminatory" licensing, which may be possible to apply to all patents, but while a standards committee can be fairly arbitrary when it decides what's reasonable, the legal definition has to be a lot more specific.
If a patent is restricting the use of the code then it is not Open Source.
This is the sort of reason that the FSF makjes a distinction between "free software" and "Open source". It is open source (because the source is available). It isn't free software (because its use is heavily restricted).
In fact, I think the whole patent system should be gone, and replaced by something completely new. Reason? Patents were designed to ENCOURAGE INNOVATION, due to the possible money income for the inventor. The Wright brothers patented their flying machine (nobody paid them sh*t, but anyway), Edison patented the light bulb, etc. Patents were a good thing. Were. Now they've become only another mean to enrich megacorporations in spite of the poor. Current software research is based on OTHER researchs. And designing programs isn't a big deal. Software today couldn't be made without the contribution of the thousands of people who made the tools for it. i.e. who would have come to the idea of having Object Oriented Programming if it wasn't for procedural languages? Did the people who designed them agree on people getting rich via patents using THEIR inventions?
We can analyze and discuss ways of making patents work and work for open source software till we're blue in the face. But it really comes down to this:
Software patents suck. They have no upside except to large corporations to try and maintain dominance.
In the case of software, where the cost of reproduction is essentially nil, the inventor is not prevented by financial constraints from further developing their idea beyond the prototype.
You mention the cost of reproduction, but what about the cost of discovery? If a person/company invest time/money into development of a unique software concept, what allows them to cover the cost of time/money for the discovery process? Should this person/company be able to recover the cost of time/money at all? I'm gathering by your posting that individuals should figure to not to recover any of the investment of discovery. In that case, do you have any software ideas that I can market? I don't know about you, but I have financial responsibilities to my family.
but it also specifies a date after which the invention is to be given to society at large for the benefit of everyone.
I totally agree with you on this. A patent on an idea should allow the inventor a reasonable time period to recover the price of discovery after which it should become public domain.
FYI, I'm not involved in patent type work, so I'm not trying to justify any work I'm doing. I can just appreciate some of the protections offered under the patent system. I'm not saying the system is without flaws and I certainly don't claim to understand much beyond the basics of patents.
I agree with Bray about the consistency of patents with Open Source (and the insanity of intangible "business process" patents and their ilk). But you can't patent the prototype and sell the proprietary, secret final product. That's why source code is covered by copyright, and only actual binary images with published source ought to be covered by patents. Software is uniquely compatible with patent requirements for working models, design documentation, and searchability for precedent and references, not to mention demonstrations and available analysis experts. The source helps courts decide when a "reasonable facsimile" infringes a patent, and helps info architects both avoid reinventing the wheel, and deciding whether that wheel will run on their roads when they invent a new car that could license it.
--
make install -not war
- It provides a working example of the patent as a clear indication of what it does, and by so doing,
- It puts the engineer/inventor back in the drivers seat rather than the patent lawyer.
By so doing it evades the "overbroad" patent, but that will also be levied against it as a criticism: it also is a stark limitation on the potential utility of the patent and can be used to restrict the patents scope.I also think that because of that its power could also be eroded by the patent lawyers and it could be equally subject to attacks as the current system has been.
Therefore, other than the benefit of seeing the working example of the patent and being subject to searches by the engineer, it is of marginal benefit. There are many other factors contributing to the patent problem. They must be addressed as well:
- Patents are granted frivolously.
- Litigation is heavily weighted in favor of large corporations; in fact, individuals and small companies simply can't litigate.
- It is almost impossible for an innovator to know if there is a patent already covering his/her innovation.
- Patents can be used to block use of an innovation rather than encourage its use.
- Holders of "submarine" patents can deliberately lurk, predator-like, waiting for honest, unsuspecting innovators to invest huge amounts of time in already-patented technology. Straightforward and fair changes to patent law would completely change the landscape of patent litigation and innovation.
This proposal would have a marginal effect on some of these issues, but the onus of discovery is still on the public, and the individual developer. More than this suggestion is needed.mefus
In Open Society, GPL Software frees YOU!
Well, there's precedent for it. The USPTO used to encourage inventors (strongly) to submit a working model of each invention with their patent application. The models would then be publicly displayed at the USPTO, partly because it's a neat idea, and partly to evidence the subject matter of the patent.
This process was deprecated a while ago, but is still present in new forms, e.g., patents claiming DNA sequences must submit an appendix containing a listing of the DNA sequence. This can be absurd and pointless in practice - I've seen patent applications containing hundreds of pages of As, Cs, Ts, and Gs - but it's a nice concept, anyway.
The pushback on making this a strongly encouraged, or even required, practice for software patents is that potential infringers have an entire, working instance of the invention that they can drop into their own products. Obtaining a software patent (after two years, at a cost of $15,000, and with subsequent maintenance costs pending) is actually the easy and cheap part of the process - finding people who are using it, and trying to enforce the patent against them, is much more difficult. It requires reverse-engineering closed-source competing products. This sucks. Withholding functional code is at least one small hindrance against secret infringement.
- David Stein
Computer over. Virus = very yes.
We can live without those who are only in it for the money. The fact is, in every field of endeavour, there are people who are in it for the "right" reasons. Even if someone did not throw millions of pounds at a problem just in the hope of earning billions of pounds as a consequence, someone else would be bound to make the same discovery sooner or later {and given the number of demonstrably independent, but almost simultaneous, inventions, I would say sooner rather than later}.
What do you do for a living?
Coming soon - pyrogyra
I don't think the author really thought this out well. The point of software patents is to protect indivduals and companies from competition when they come up with an idea. For example: a random developer comes up with an incredible new idea for an unheard of system. He goes to patent it but is now not allowed to get that patent until he has written a prototype of the entire system. While he is working his way through hundreds of thousands of lines of code on his own, a competitor gets wind of what he is doing and designates an entire team to code an implementation and get the patent first.
Some projects take years with hundreds of developers working on them to get into a working state. Think of IBM for example - if any small company had thought up the ideas behind the products of Tivoli or Lotus do you think they could have provided a prototype to go with their patent? If not, this addition would make software patents even more useless and harmful to small companies and individuals then they currently are.
It's not like somebody can just turn around on a dime and duplicate a non-trivial piece of software and sell it as their own. Copyright already protects against outright copying, and creating a knock-off takes time and resources, during which time any decent product should have made enough money to cover the amount of time put in.
However, if all you did was create a new, ingenious algorithm that has no financial viability, you don't inherently deserve to be compensated just because somebody else was able to come up with something similar and do something useful with it. It is the responsibility of the software's creator to find a way to sell a product in a timely fashion.
Everyone needs to pick up at least a certain level of marketing skills to survive in the tech industry. The sooner people realize that, the sooner tech patents will be seen as they truly are: unnecessary.
Check out my sci-fi/humor trilogy at PatriotsBooks.
I hadn't considered the Copyright aspects of this. In most cases, your probably right that the companies could make back their investment but at the individual level, this might not be true. If you take a very small company that creates a very desirable (new/unique) product, they may not be able to ramp up marketing/sales as fast as a huge company that realizes the benefits of the product and duplicates it with it's resources. The huge company could easily take the idea and surpass the originator before they can recover. Using a patent should provide a limited amount of protection, particularly in the case of an individual or small company.
As for someone someone coming up with a similar idea (you don't inherently deserve to be compensated just because somebody else was able to come up with something similar and It is the responsibility of the software's creator to find a way to sell a product in a timely fashion.), who determines how much time a person/company has to recoup the investment cost? Some companies have the resources to do this at a much quicker pace than others so should they get the advantage? If so, would you forsee a decline in business startups due to the likelyhood that they would be driven out by high development cost with a very high risk of not being able to recover that development cost due to weaker marketing?
"There is a big disvantage with this proposed patent implementatiom though: one may not be able to implement THAT algorithm, but one can still use the idea they got from it with their superior programming skills to make a 10 times faster algorithm which didn't look anything similar to the original one besides producing the same results." Okay, help me out here, doesn't this stifle improvement, innovation, and progress? Where I'm coming from: for example- first automobile (arguably) by C. Duryea (sp?) was patented on " concept of automobile". Now as I understand it your way, Henry Ford would never have been able to apply mass production of automobile, and until C.D.'s patent expired, if you wanted an automobile ,you would have to buy one (hand-made at high cost) from C.D. IMHO we've gotten where we are today (technology) by innovations and improvements on existing ideas. I'm just not sure where your coming from to be honest. BTW, I don't agree with TFA. I think the current situation with software patents is heavily geared to protecting corporate profits and hindering improvements/progress, but I think there needs to be some major reform in the present system.
Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
Read the commentary that goes wiht the article on Groklaw. The article is good, legal-sounding political speach.
That is not the same thing as a good idea.
If software patents were, by ANY stretch of the imagination, good for the business of innovating software then the ninties-through-today (the domain of time when software patents have existed) shoudl have produced several more Software Company Levithians than the eighties.
Where are they?
How did the eighties-and-before produce Microsoft, Lotus, SAIC, Computer Associates (etc, etc, etc) in the absence of this boon-to-innovation?
ALL evidence suggests, and NO evidence opposes, a simple truth, that patenting software is *only* efective in keeping innovative new entities from competing against larger, established business entities.
This is *not* a reasonable definition of "promoting innovation."
Statement: Software Patents are Bad.
Repeat statement as necessary.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
I think the greater difficulty is that non-trivial software patents are embedded in the rest of the application. I assume Microsoft has patents on COM/OLE (Apple has some on OpenDoc) -- if they were to disclose that source code, that would involve perhaps millions of lines of code. Patent attorneys charging $10k to come up with 15 pages of text and 5 Visio charts, there's no way any of this would come from the patent attorneys, and with inventors doing nothing more than filling out a two page invention disclosure statement there's sure as heck not going to be any dummy sample code from them either.
What about patents on compiler improvements? What about a patent on the Pentium 4 bus? Would Intel have to disclose the Verilog for the entire chip?
With great power comes great fan noise.
Let me try to convince you. You actually remind me of someone talking about spam circa 1995. "Oh, sure, it's an annoyance, but it's just a cost of doing business, you'll never stop it, life goes on, etc." Fast forward to today, when I get 200-300 spam a day, phishing is a multi-million dollar industry, and for many applications email is becoming useless.
You have to think 10, 20 years into the future, and consider what the software patent system will look like as it scales. The body of patents will grow and their "legitimacy" will as well. You're right, currently they're hardly ever enforced. But every year we have more software patent action than the year before. Taken to its logical conclusion, this is a system that renders software development as we know it impossible, and it is simply stating the facts that our domestic software industry would indeed wither and die in that scenario. This is hard to refute, because it is impossible to do any uninfringing software development at all. Certainly it would be impossible to compete successfully with developers from any unencumbered country.
The only option is a defensive patent portfolio and a healthy legal department. But even if you say "OK," write off 99% of the companies in the business, kiss innovation goodbye, and welcome the mini-monopolies of the few remaining giant corporations, that doesn't work against outsider or IP-only firms that aren't in your industry, that you can't cross-license with. So even the big firms will continue to get twisted.
It's impossible to safely work under this system. I cannot find anything in what you say that touches this basic point. The best I can make out, you're suggesting that we'll keep this equilibrium, where most patent holders are afraid to ride the pony too hard for fear she'll break a leg, and we'll maintain some kind of status quo. But there is no equilibrium. All that will happen is that, sooner or later, either the law will change, or we'll move further towards the regime's logical conclusion and software development will become something that's done overseas.
Most likely scenario: you'll see software patents seriously overhauled or invalidated altogether within a year a of any giant corporation (like Microsoft or IBM) finally losing patent roulette and being forced to write a 9 or 10 figure royalty check to some tiny upstart.
Want to Know How to Cheat the GPL? Read On!
Hey, hey, I don't like software patents either, but I think his idea would narrow concept a little too much to even be usable, that's just my point, don't get me wrong. :-)
The original aim of the patent system was actually quite a noble one. An inventor is at a disadvantage compared to an established manufacturing company -- so a compromise is struck, in an attempt to artificially reduce this disadvantage, by offering limited exclusivity to an inventor in exchange for their invention being presented for the benefit of all of society. The "fairness" of the compromise depends upon the duration of the limited exclusivity. If it is too short {in the limiting case, no exclusivity at all} then it leads to a situation where the ones with the money get all the benefit from new inventions. If it is too long {in the limiting case, forever} then it leads to a situation where nobody can invent anything new for fear of infringing upon a prior patent.
So there is evidently a balance to be struck somewhere -- a point where the exclusivity protects good inventors, allowing them to offset their investment before the benefits of their invention are released to everyone, but does not create a climate where innovation is discouraged for fear of infringement.
And some things just should not be patentable anyway. IMHO these include, but are not limited to, chemical formulae, mathematical processes, business methods, and anything which can be shown as the sole means to a particular end {otherwise the patent would effectively cover the end, not just the means}.
I'm also not keen on the idea of allowing the temporary privileges {they are not strictly "rights" in the sense that they are granted artificially, as part of a compromise deal} conferred by a patent or copyright to be permanently transferred. However, I don't see a problem with using so-called "intellectual property" {by which I mean such privileges considered as a desirable commodity} as collateral security for a loan {which could be used to finance development of an invention beyond the prototype; or market a book, recording, movie &c.} -- the lender would have to understand that the privileges are time-limited, but in the case of a genuine innovation with commercial viability this should not be a deterrent. The time limitation would be no different, in practice, from accepting perishable goods as collateral. And of course if the loan is repaid in full before the expiration of exclusivity, then the privilege would be transferred back to the copyright / patent holder.
Je fume. Tu fumes. Nous fûmes!
The anonymous coward parent should be modded up as a good question.
Red Hat make their money from services, don't they? Support contracts and so on?
That doesn't have to do much with developing the code other than the loose tie-in that they might know more about the code if they wrote it.
Of course, when the code is freely available for all to view, anybody who understands code can take a good look at it and offer their own independent support contracts.
Red Hat modify linux and the overlaying system tools, but they don't directly sell *them* (it's free software, after all). If they add anything on top that isn't free software, then by all means apply patents to that.
from: Isaac, Alan G. and Walter G. Park, "On Intellectual Property Rights: Patents vs. Free and Open Development" chapter 18 of the Elgar Companion to the Economics of Property Rights.
Imagine if patent clerks were required to search registries of public-domain and other free-license IP for prior art before issuing a patent. Instead of defensive patenting, IP creators could simply publish their IP to the registry.
;-)
Free-IP ideologues could rush to publish all of their wild ideas as public domain, GPL, or whatever, just to make sure no money-grubbing corporation ever gets a patent on it.
Registries might just be such things as SourceForge and CPAN or might be established specially for this purpose, with a record format similar to that of the actual patent registry. Maybe it could be called Not A Patent Server (NAPSER).
Wouldn't this benefit all parties? All that is, except the patent lawyers, USPTO, and the government that is diverting the patent fees for general budgetary needs?
-ldg
Withholding functional code is at least one small hindrance against secret infringement.
Irrelevant. The idea behind patents is that after the patent expires, the technology covered by the patent goes into the public domain. How can a software patent go into the public domain without source code to support it?
The government granting patents serves the purpose of securing the technology for wider usage. If you want to keep your invention locked up tight as a secret, you have no protection. In exchange for the protection offered by a patent, you agree to give the technology to society by placing it into the public domain upon expiration of the patent.
So why should source code be required? Without the soruce code, you could die, disappear, your house could burn to the ground, whatever, and the patent you have been granted will expire with no way of retrieving the source code so the technology can become public domain. Therefore, you should give up the source code in order to receive the patent, and the USPTO will publish it a million times (or whatever) so that it will be known. What good is technological innovation if nobody can build on it? THAT is the ultimate goal and benefit of patent.
You see, in the meantime, we *can* take the source code and drop it into our programs. We *can* take it and make it do work you didn't even imagine it could do. The fundamental principles behind patent can be found coded in the open source definition provided by the open source initiative. Stand on the shoulders of giants, and so forth.
What we can't do is produce our work commercially in the marketplace without licensing the patented technology we've used. For that we have to negotiate with you, the inventor. And that's where the incentive is to invent. Because what good is the technology if nobody can use it?
So, a patent serves several purposes all at once (it can be said they're all shades of the same purpose). 1. To provide a mechanism for new technology to achieve wider adoption by allowing small-time inventors (the guys that do the real work) to license to big-time manufacturers and distributors and so forth. 2. To secure the technology for the benefit of society. 3. To secure the designs of the technology for the purpose of researching and advancing technology in general.
As you can see, only one of the purposes of patent provides a way for an inventor to make money. The other purposes are about securing the technology for society. We've come to believe, as a society, that the only purpose of a patent is to make money, and that's patently false. The only purpose of a patent is to secure new technology for society. The mechanism is uses is "making money". It could use a different mechanism, but I doubt a different mechanism can be found that would be more effective in the free market.
Like what I said? You might like my music
What about patents on compiler improvements? What about a patent on the Pentium 4 bus? Would Intel have to disclose the Verilog for the entire chip?
A little application of the scientific method works wonders. :)
The proper disclosure should be (and used to be) whatever is needed for a reasonably competent peer in the field to duplicate the invention by their own means. So you would provide designs of a flex-wing used to steer an airplane, but let the reasonably competent peer provide the canvas, frame, cables, and so forth, and build the thing themself. You should be able to take what the patent office has on file, acquire needed supplies, and build the invention.
So for source code you should provide makefiles and so forth that build on the system you developed it. Another programmer should be able to acquire a system identical to yours and build it. To build it on a dissimilar system, it is reasonable that the other programmer should have to modify makefiles and source code, I think. Others may disagree on this specific, but I think it's unreasonable to require an inventor to ensure that their invention can be built on the widest variety of platforms available, and there is room to argue that they should only have coverage on the supported platforms at the time they apply for the patent.
My only point being that for intel to get a patent on the Pentium 4 bus, they should have to disclose whatever information it takes for someone to build a Pentium 4 bus, whatever that information actually is. If building a Pentium 4 bus requires a Pentium 4 which is also patented, there's no problem to build the bus because you just retrieve the information for the Pentium 4 and build it too.
Like what I said? You might like my music
I hadn't considered the Copyright aspects of this.
Let's keep in mind that Copyright and Patent represent the same fundamental concepts. Copyright is the concept applied to Creative Works, such as music, works of fiction, and so forth. Patent represents the same concept applied to technological invention. They are not intended to be applied to the same thing.
So in the case of software, according to the intent of the law, it should not be possible to copyright and patent the same part of the software. So where's the split? both the source code and the compiled binary (if there is one, interpreted languages and byte-compiled languages blur the distinction) require a computer to interpret and process, the binary is just closer to the metal than the source code. But software does work, which is what it appears is the difference between a Creative Work and an Invention. A Creative Work doesn't do work, it is the result of work, whereas an invention does work of some sort. Software definitely fits the mold of invention in that regard, insofar as it has the right gear to interpret it. Remove the gear and the software is worthless.
OTOH, source code also represents the design portion of an invention. Or at least part of it. Using the source code directly, reading it, and understanding it is part of building on it to make more software. In the old days you could do the same thing with the binary directly, but it's not so anymore. Furthermore, there are numerous language (Perl, anyone?) that do get interpreted directly, so source code in those languages acts as both the invention itself and the design of the invention. (By "design" I'm generally referring to the position occupied by drawings and so forth in a physical invention) Finally, there are still other languages that use byte-compiling, and at least one of them byte-compiles transparently to the user (Python)! I can't even begin to figure out the relationship between the source code and the part that actually does work there.
The fundamental question shouldn't be "Patent, copyright, or both?" It should be "What is the appropriate mechanism to encourage software development innovation in order to secure the software developed for the benefit of society?" The answer to that question may not even be patent or copyright, but will be an application of the same concept that underlies both patent and copyright to a new platform for invention and creativity.
Like what I said? You might like my music
OOPS!, Sorry. Was just confused! :-)
Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
What you say is true. The question is whether mere programming according to a high-level plan is within the ordinary skill of the art. The Federal Circuit in Robotic Vision Systems said that it is. Most developers would disagree with that assessment, including me.
Now your statement is that a developer should submit anything required to make the sample code go. Say the sample code is for a new kind of peephole optimization in a compiler. You say that the developer should make that code runnable.
My contention, which you didn't disagree with, is that complex programs cannot be broken down. This peephole optimization function would rely on the rest of the compiler to work. It would be possible to make it work on its own, but I remarked that neither the patent attorney nor the inventor would have the time or wherewithal to adapt the function to standalone use.
I shouldn't have said the Pentium 4 bus because it confuses things too much, mostly because I was mixing semiconductor patents and software patents (they have effectively the same public policy issues). What I meant by that is: A pentium 4 bus is exceedingly complex to design. If the inventor is required to submit Verilog code to make the Pentium 4 go, the only practical way to do that is to submit a good chunk of code for the Pentium 4 itself, most likely all of it. Not the chip itself - we're talking about a part of the chip, and if we're disclosing plans for someone else to make a chip that can talk the same way as the P4, it doesn't do any good to just tell them to go buy a Pentium 4.
That will never happen. No patent is worth describing all of the internals of a state-of-the-art compiler or CPU.
I must confess my initial response was drawn by the old-fogey grandparent complaining about sequences being published on reams of paper, which hasn't been true for a long time. Either he's not a patent attorney, or he doesn't practice much.
With great power comes great fan noise.
My contention, which you didn't disagree with, is that complex programs cannot be broken down. This peephole optimization function would rely on the rest of the compiler to work. It would be possible to make it work on its own, but I remarked that neither the patent attorney nor the inventor would have the time or wherewithal to adapt the function to standalone use.
I don't see why it should have to work on its own. Consider your optimization function is to be used in GCC. GCC is open source, so you merely (heh) have to cite where the function belongs in GCC in your patent application, and provide the code for your function. Now let's say GCC is patented itself. You cite GCC still, but you also provide a patent number. (For simplicity's sake I reduce it to one patent, but you can easily visualize thousands aroujnd GCC alone in this scenario) Now let's say GCC is not patented, proprietary, and kept closed. You *can't* patent your function without providing GCC. If you want to patent your function, the technology needed to run it must already be available for use. The open source GCC is ok (even if there are problems with a patent and the GPL, let's ignore those because it'll only cloud our discussion). The GCC patented is ok. In both cases GCC itself is available for someone to use your patent for research. GCC locked up as a trade secret is not ok, because in order to use your function we need GCC open somehow. If GCC is locked up, there is no benefit to society to grant a patent on your function, therefore no patent can be granted.
Make sense?
A pentium 4 bus is exceedingly complex to design. If the inventor is required to submit Verilog code to make the Pentium 4 go, the only practical way to do that is to submit a good chunk of code for the Pentium 4 itself, most likely all of it.
not necessarily. Let's look at it again the same way we looked at the compiler optimization. If the parts of the Pentium 4 that you need in order to make the bus are open (by open I mean patented is open, the documentation is there), then you can get a patent on the bus. If it's open and not patented, you can still get a patent on the bus. If the P4 is locked up entirely, you can't patent the bus. If the bus patent depends on the P4, then the P4 has to be open, somehow. It can be public domain, it can be patented. Going down the chain we find the motherboard chipset, the board itself, and various other parts all need to be open in order for you to get your patent on the bus, because each part, starting at the bottom and working its way up, has to be open for the next piece to be patented.
The obvious metaphor is the house-building brick-laying thing. Foundation, first layer of bricks, etc. No need to get detailed on a worn-out metaphor, eh?
That will never happen. No patent is worth describing all of the internals of a state-of-the-art compiler or CPU.
The point of a patent being to keep the technology open in the sense that others can build on it, with commercial viability being determined by the market and a commercial edge given to the patent holder. So the only situation where you'd have to describe the internals of the compiler or the CPU is the situation where those internals aren't already available. So you could reference an ISBN number of a book that describes the P4 in such a way someone can build one. How about if the instructions you need to build the bus aren't tied to the P4? So i could build another processor different than the P4, different design, even a different set of patents, but uses the appropriate instructions needed to communicate with the P4 bus. (I think this event has already happened numerous times in the history of Intel and its knock-offs)
Ack, I'm just repeating myself now. :) Your turn.
Like what I said? You might like my music
Effectively it would kill software patenting (which I'm all for), but if we're trying to do that it's just as easy (nearly impossible) to ban software patents outright. The bottom line is that a lot of big political players make bank on software patents, and this kind of change would never slip past them.
Your example of GCC shows that this would work fine for open-source software, but no closed source vendor would go for it. For closed source vendors to patent anything, under this proposal, they would need to reveal much more than the invention at issue.
I think you understand the enablement and written description requirements (and the former model requirement) of patent law pretty well, but there's no need to rehash it for my benefit. I've worked on both sides of the engineering / patent law fence.
With great power comes great fan noise.
Yeah, this is how I'd like it to work. :) I'd really like to get back to what patent law was originally intended for. It may have been in this thread, or another, that I said it, but I'll say it again. It's become common wisdom that patents are all about making money, and they're not. That's just the mechanism used to secure technology for the benefit of society. Let's get back to patent law being about the benefit of society, using a mechanism that works very well in the free market.
It is my opinion that when you return patent law back to the benefit of society, then software patents will require source code at the very least. If that kills software patents, fine. If it doesn't, fine. It'll at least make software patents a little more practical.
There are numerous problems with the system. Awhile back I interviewed Monty of Xiph on it, it's on my website. I think we covered many of the problems surrounding software patenting pretty thoroughly. Of course, neither of us are lawyers, but we're both interested in the subject so it's not like we know nothing. We just don't know enough to practice law on it, and iirc patent law is one of the only (or the only) specialization in Law, and you get in big trouble if you don't actually know what you're doing. ;) In any case, I don't think that just requiring source code for software patents is going to fix anything at all. It might reduce some of the abusive patents filed, but it won't fix the general abuse problem. Software is an area where we see the abuse acutely, but it's hardly the only area where abuse is occuring. :(
Like what I said? You might like my music
Uh, because the patent discloses the invention with sufficient clarity to allow one of reasonable skill in the art to make and use the invention for its intended purpose without undue experimentation.
Those words - from memory, but practically verbatim - comprise one of the core requirements of a patent application. If you don't do that, your patent application is rejected. (Now, the question exists whether or not that requirement is being satisfied for the software arts. But any problems of this kind are related to a poor implementation of a sound principle, and the USPTO is working to improve that.)
In short: For any true software invention, I don't need source code to understand what's going on. I just need someone to explain the functional principle to me, and then I can go code it up in my language of choice. You have a new and more efficient hashing algorithm? Great! Tell me what it's doing differently.
If your invention is so heavily dependent on a particular implementation that one need the source code to make it work, then it's not much of an invention.
So why should source code be required? Without the soruce code, you could die, disappear, your house could burn to the ground, whatever, and the patent you have been granted will expire with no way of retrieving the source code so the technology can become public domain.
But which is harder: Reading about the functional principles of an invention and coding an implementation, vs. hashing through someone's undocumented source code to figure out what it's doing? I maintain that the latter is, on average, far more difficult. Most interesting code still gets wrapped in many layers of trivial or unrelated code; logically teasing them apart can feel like conducting brain surgery.
Here's my concern about your principle: It is commonplace and easy to implement even a very simple software concept as a convoluted, obfuscated tangle of spaghetti code. Hell, that's the whole reason anyone uses Perl. ;) This is frequently done to protect a trade secret, and sometimes to ensure the coder's job security. If we require source code to accompany software patents, software patentees have every incentive to provide code that is completely functional, but completely impenetrable by people without a lot of work.
Consequently, the poor patent examiner, already balancing the software concept against prior art against the entire contents of the MPEP, must now also strive to make sense of intentionally obfuscated code. If he complains, the patent applicant will put forth the argument that the code demonstrably works, and will assert that the examiner is just technically incompetent. The examiner will likely not be able to counter that argument, and will just allow the application.
You think the state of software patents is bad now? Wait until it's flooded with thousands of patents, undoubtedly entitled "Software process" or something similarly vague, stapled to thirty pages of intentionally bungled source code.
You see, in the meantime, we *can* take the source code and drop it into our programs.
Is that the goal of the patent system - to produce a bunch of working models that we can copy and set into motion without comprehension? In that case, why not just register the copyright for your source code? Everyone gets your source code, but you keep the rights to it - that's exactly what copyright does.
Patents are intentionally removed from a specific implementation - they focus on the underlying principle. If explained in sufficient clarity (as required), the principle can then be taken away and used in any implementation (subject to the limited-term rights of the invento
Computer over. Virus = very yes.