It's not that simple. If the interface is unique to the GPL-ed library and there is no other non GPL-ed replacement software that can be used instead, and the user code cannot function without the GPL-ed library in place, then the user code is properly derived from the GPL code, dynamically linked or not. If however the GPL-ed code is merely optional and it can be replaced by a different library or not used at all, then the user code is not derived from the GPL-ed library.
As an example, take SWI-Prolog. The GPL-ed version comes with readline dynamically linked. You can however buy a commercial license of the Prolog engine from the developer, for instance to embed it in your own software. This commercial version however does not link to libreadline. Because of the optional dynamic linking, this is a valid approach. If however you need to dynamically link (for instance because you're writing a gui around GPL-ed software), your software is covered by the GPL.
Although the council of ministers are indirectly elected, there's a big danger in allowing them to have legislative powers. In the country where they rule, the have the executive power, and what is easier when you have the legislators (national parliament) against you then to concoct something with your executive buddies in the council of ministers. This is how much 'difficult' legislation was introduced in the EU, and especially in this swpatent business, it proved to be a very promising way for the executives of Denmark, Netherlands and Germany to bypass their legislators.
I would only support this if Senators and Congressmen would be regarded as any other publically traded for profit business. Thus, clear contractual obligations to deliver whatever is agreed upon, arbitrage in a court of law, and (speaking as an employee of a small for profit publically traded company), full SOX compliance.
It might be "possible" to innovate in pharmaceuticals this way, it is however impossible to actually make money with your innovation without considerable expense in getting your innovation approved by all the diverse bodies that are there to make sure people don't die right away from pharmaceuticals. Clinical trials cost a lot of money. It however doesn't cost a whole lot of money to sell software, a simple webspace will do.
When reading your reply for the first time, I actually agreed with you, as I wasn't too happy with my answer in question form as well. Then I started thinking again. Your set of possible questions are also no good. They do not describe a technical problem to be solved, they describe a business problem. With the advent of patenting business methods in the US, this might be allright but completely flies in the face of regular patent law. So I think my point still stands. If the technical problem to be solved contains the solution, it's a damn good sign of obviousness.
Maybe you can find a technical description of the problem solved by one click, that doesn't contain one-click and the immediate obvious solution (use a database) for it, but for the life of me, I can't.
But actually, the point I'm trying to make is more subtle. If the answers of the 5 techs are on file, and attached to the patents, implementing one of these answers would clearly not violate the patent. If they would violate the patent, the patent by definition would be obvious, as someone skilled in the art found it in a relatively short time. If it doesn't violate the patent, well, it doesn't violate the patent. The only case the patent seeker can argue is that the 'infringing' implementation is closer to the patented invention than to the 'obvious' implementation. This is actually much clearer than the situation now, at least I think so. It would clearly make it more difficult to patent trivial stuff as you have to come up with a description of the technical problem that the examiner finds is actually technical, and you have to hope that none of the engineers finds a simple workaround for your patent.
Of course, it will never fly, as it does presuppose even the tiniest bit of intelligence and integrity in the patent office to make sure the problem description is concise and descriptive, but at least one can dream.
What competition are you talking about? The kind where I can work into a regular business without using a Windows machine? For regular desktop use, thus excluding servers and specialised apps, Windows+Office is ubiquitous.
Personally I run linux on my laptop, but got a vmware partition running Windows+Office to be able to interoperate. In the past years I had several jobs, two at different universities, two at research institutes, three at commercial firms, and at each and every place, it was assumed that you run Windows and can handle Office files. I work in tech, where the liberty to run whatever you like is much greater than in most places. A normal desk-job is 100% windows.
If that's not a monopoly, care to tell me what is?
Having a monopoly is not so much of an issue, but using the monopoly to gain monopolies in other areas is. The competition comes from these areas that Microsoft is invading through leveraging its monopoly.
What I try to argue for is that the solution *is* the invention, while the question isn't. I know that asking the right question is often very creative, but it doesn't logically follow that questions should therefore be patentable.
The fact that Bezos came up with an interesting question does not automatically make that question patentable. As far as I know this is the law, you get patents for solutions, copyrights for works and trademarks for names used in trade. No protection for questions.
Imagine a world where questions were patentable. This would wreak havoc if you start protecting questions like this:
I need a list in descending order (patenting all possible sorting algorithms)
I need a way to stream video over the internet (patenting all possible ways of streaming video. Note that this one already happened)
I need a way to group items my customer bought together.
I need to show a picture of the product (patented)
I need a way to compress data (patenting *all* compression algorithms for 20 years. Didn't happen, but could have if such patents are allowed)
etc.
You seem to be arguing that a problem can be an invention, and should be patentable. I think that's about the most dangerous thing that can happen as this would shut down entire fields for 20 years, all with asking a single question.
Just a thought I had the other day for patent reform and to get rid of the horrors of 'one click shopping' patents. For every patent, there needs to be a clear statement of the problem that is solved. Although in invention one of the hardest parts is to identify the problem, the problem (i.e., problem area) is in itself not patentable. At least not officially.
Then, the examiner invites 5 people skilled in the art that are unaffiliated to the patent seeker. They are confronted with the problem description and come up with a solution to tackle that particular problem. If some of the five come up with something substantially similar to the invention that the patent is sought for, the patent doesn't get granted due to obviousness.
Even if the engineers don't come up with the actual answer but with alternative solutions there will be a win, as a legal circumvention of the patent will be on record.
Such a system would have killed Bezos' original patent right of. Problem: "I want to be able to allow my customers to buy things with a single click". The patented solution would have been proposed by 5 out of 5 people skilled in the art. Similar questions as "I want to be able to stream live video to a computer", "I want to show a picture of the product I'm selling " will be shot down.
One of the big dangers of software patents currently is locking out entire problem domains, by patenting the questions, not the answers. If the question contains the answer, it should not be patentable.
Note that with this scheme the question "How does one exercise a cat" would most likely allow for this patent.
In the IBM sense, playing chess is searching an enormous tree defined by the possible moves in an artificially constrained domain using heuristics created by chess-masters and -grandmasters, optionally manually tweaked in between consecutive searches through the tree. So my bet is on the ZIP codes. Deep Blue like all chess computers is a hack.
Funny post this. So you would be complaining if you would make $2,000 due to piracy instead of $1,000 without? Let's assume that you just made an honest mistake and meant to say you only made a 1,000 bucks instead of a supposed 2,000 due to piracy, even though many software companies have grown big and rich on being pirated extensively.
First of all, let's ignore the fact that you cannot possibly know that you would have made 2,000. You didn't, so you can't know. Maybe it's 1,000.10, maybe it's 5,000, you don't know. But here's the economic breakdown of your situation:
If someone steals my car, a replacement car costs $1,000. I lost $1,000.
Someone copies software I've written and I only made $1,000. I made $1,000.
See the difference, in the first case I actually lost money, in the second case I made money. Subtle difference, but you'll get around to understanding that some day.
Yes, you can expect the DB to use the index, which is subtly different from instructing the database to use the index. The whole idea behind SQL is great: a declarative language for specifying the job, and a procedural, smart, engine for performing the job. Unfortunately, databases have failed to deliver on the latter part, leading to implicit techniques to get the performance out. What I claim here is that we should take a step back, not forward, with SQL and get back to explicit programming of the databases, with strong guarentees about the performance. No more "let's add an index and I'm sure it will go faster", but, "instruct the query to first make and then use the index". Much easier to comprehend, and much faster.
The relational model is great, but what we need for speed is absolute control over the order in which records are stored. If you know that order and you have an underperforming "general" query, you might be able to speed up the thing with smart programming instead of trying to prepare the environment in such a way that the procedural engine does its job. Say you want to insert a bunch of records which have consecutive primary keys. Writing the procedure for adding them is trivial, letting the database sort it out often leads to dissapointing performance.
My problem with tuning is that I want to do this programatically, not by measuring cache utilization at the processor level. I have the same problem with Java, where for performance issues you end up using generate and test to set the parameters for the garbage collector and JIT parameters. In my opinion this is a step back from total control from the language itself.
But definitely: stability and acidity of the database are extremely valuable, I just wish I could simply get rid of it sometimes. Again programatically.
Google's web index and desktop search facility is a database. I don't know about point 1, but Google definitely blows any relational database out of the water on point 2 to 4.
As for SQL I do not agree with point 4: SQL does not perform very well. We're in the age of Ghz processors, fast disk drives and it *still* is an performance issue to add a few million records to a database? What SQL sorely lacks is a recognition that the 4th generation of software languages was a bad mistake, and get back to a third generation language: explicit indices, explicit loops over these indices and fast (compiled) execution of said loops. Just freaking program the database instead of waving chicken bones at it.
A small thing really, but one I like nevertheless: octave(-forge) supports the c-style += *=.*=/=./= etc. operators. Thus when you have to do the clumsy
very_long_identifier = very_long_identifier + 1;
in matlab, octave allows you to write it as:
very_long_identifier += 1;
All in all, I feel that octave has evolved more into improving the basic language itself, while matlab has put most effort into gimmicks such as GUI-building and (poor/slow) OO-support.
What on earth gave you the idea that Microsoft needs to make better products? IE is a complete loss for Microsoft as they give it away for free (or more accurately, hide the cost in the 'windows' package). Why would they be interested in improving the browser? They try to improve Office, simply because they need to sell it, but IE? No extra margin from that one.
You've got it wrong. Unlike many think, it has never been the intention that you can patent an idea. You can patent a device, that's it. The whole point about math being unpatentable is that it is pure idea. The whole debate on software patents is about the thin line in software between devices and ideas. That patent law has degenerated into the patenting of ideas, and that the population in general seems to be comfortable with the concept that ideas (and concepts, and thoughts, and anything anyone can come up with) can be exclusively owned by someone is a pretty scary situation.
Woops, hit submit too quickly. I wanted to go back to the original claim as well:
3. The GNU Foundation has not been able to show that it can produce a *singular* project of the complexity of Java without the assistance of major corporate backers.
So I'm trying to show that this *singular* (sic) project is gcc. Note that the point also depends on 'major corporate backers', so Cygnus doesn't apply, and RedHat is not really major compared to the likes of Sun, Microsoft, Apple, Novell and IBM. So, apart from non-major RedHat, which major corporate backing is there that makes gcc tick?
Gcc pre-egcs was capable of compiling linux and BSD kernels + userland tools. At that time it was used as a C-compiler practically everywhere. Cygnus simply decided to change it to suit their (x68) needs better. Hence egcs. If gcc was not too useful, would you think Cygnus would have betted their future on it? The fact is that gcc was fully functional and well-know in 1997, so well-known that the egcs fork was a big deal at the time.
The current dependence of the software industry on the existence of gcc and their current help in development is a testimony to the importance of gcc, not to its lack of ability. It's not that industry saw a simplistic and not too useful beast and decided to make something good out of it. Industry simply doesn't do that. They took a good c-compiler and made it better. All you can possibly argue in this case is that corporate backed development simply gets the job done quicker, not that it can handle intrinsically more complexity. The truly difficult bit of setting up a compiler architecture for deployment on a multitude of platforms was already done by the lowly GNU volunteers. Industry took that and to this day builds on that.
3. The GNU Foundation has not been able to show that it can produce a *singular* project of the complexity of Java without the assistance of major corporate backers.
Please explain the existence of gcc, which was fully functional, supporting zillions of platforms and was heavily used before any corporate backer (i.e., RedHat) started helping in the development.
As an example, take SWI-Prolog. The GPL-ed version comes with readline dynamically linked. You can however buy a commercial license of the Prolog engine from the developer, for instance to embed it in your own software. This commercial version however does not link to libreadline. Because of the optional dynamic linking, this is a valid approach. If however you need to dynamically link (for instance because you're writing a gui around GPL-ed software), your software is covered by the GPL.
Although the council of ministers are indirectly elected, there's a big danger in allowing them to have legislative powers. In the country where they rule, the have the executive power, and what is easier when you have the legislators (national parliament) against you then to concoct something with your executive buddies in the council of ministers. This is how much 'difficult' legislation was introduced in the EU, and especially in this swpatent business, it proved to be a very promising way for the executives of Denmark, Netherlands and Germany to bypass their legislators.
My guess is that Leibniz did laugh at Newton. Leibniz's calculus and terminology is what we use today.
The best democracy money can buy.
It might be "possible" to innovate in pharmaceuticals this way, it is however impossible to actually make money with your innovation without considerable expense in getting your innovation approved by all the diverse bodies that are there to make sure people don't die right away from pharmaceuticals. Clinical trials cost a lot of money. It however doesn't cost a whole lot of money to sell software, a simple webspace will do.
Maybe you can find a technical description of the problem solved by one click, that doesn't contain one-click and the immediate obvious solution (use a database) for it, but for the life of me, I can't.
But actually, the point I'm trying to make is more subtle. If the answers of the 5 techs are on file, and attached to the patents, implementing one of these answers would clearly not violate the patent. If they would violate the patent, the patent by definition would be obvious, as someone skilled in the art found it in a relatively short time. If it doesn't violate the patent, well, it doesn't violate the patent. The only case the patent seeker can argue is that the 'infringing' implementation is closer to the patented invention than to the 'obvious' implementation. This is actually much clearer than the situation now, at least I think so. It would clearly make it more difficult to patent trivial stuff as you have to come up with a description of the technical problem that the examiner finds is actually technical, and you have to hope that none of the engineers finds a simple workaround for your patent.
Of course, it will never fly, as it does presuppose even the tiniest bit of intelligence and integrity in the patent office to make sure the problem description is concise and descriptive, but at least one can dream.
Personally I run linux on my laptop, but got a vmware partition running Windows+Office to be able to interoperate. In the past years I had several jobs, two at different universities, two at research institutes, three at commercial firms, and at each and every place, it was assumed that you run Windows and can handle Office files. I work in tech, where the liberty to run whatever you like is much greater than in most places. A normal desk-job is 100% windows.
If that's not a monopoly, care to tell me what is?
Ok, you scared me now.
Having a monopoly is not so much of an issue, but using the monopoly to gain monopolies in other areas is. The competition comes from these areas that Microsoft is invading through leveraging its monopoly.
The fact that Bezos came up with an interesting question does not automatically make that question patentable. As far as I know this is the law, you get patents for solutions, copyrights for works and trademarks for names used in trade. No protection for questions.
Imagine a world where questions were patentable. This would wreak havoc if you start protecting questions like this:
I need a list in descending order (patenting all possible sorting algorithms)
I need a way to stream video over the internet (patenting all possible ways of streaming video. Note that this one already happened)
I need a way to group items my customer bought together.
I need to show a picture of the product (patented)
I need a way to compress data (patenting *all* compression algorithms for 20 years. Didn't happen, but could have if such patents are allowed)
etc.
You seem to be arguing that a problem can be an invention, and should be patentable. I think that's about the most dangerous thing that can happen as this would shut down entire fields for 20 years, all with asking a single question.
Then, the examiner invites 5 people skilled in the art that are unaffiliated to the patent seeker. They are confronted with the problem description and come up with a solution to tackle that particular problem. If some of the five come up with something substantially similar to the invention that the patent is sought for, the patent doesn't get granted due to obviousness. Even if the engineers don't come up with the actual answer but with alternative solutions there will be a win, as a legal circumvention of the patent will be on record.
Such a system would have killed Bezos' original patent right of. Problem: "I want to be able to allow my customers to buy things with a single click". The patented solution would have been proposed by 5 out of 5 people skilled in the art. Similar questions as "I want to be able to stream live video to a computer", "I want to show a picture of the product I'm selling " will be shot down.
One of the big dangers of software patents currently is locking out entire problem domains, by patenting the questions, not the answers. If the question contains the answer, it should not be patentable.
Note that with this scheme the question "How does one exercise a cat" would most likely allow for this patent.
In the IBM sense, playing chess is searching an enormous tree defined by the possible moves in an artificially constrained domain using heuristics created by chess-masters and -grandmasters, optionally manually tweaked in between consecutive searches through the tree. So my bet is on the ZIP codes. Deep Blue like all chess computers is a hack.
If someone steals my car, a replacement car costs $1,000. I lost $1,000.
Someone copies software I've written and I only made $1,000. I made $1,000.
See the difference, in the first case I actually lost money, in the second case I made money. Subtle difference, but you'll get around to understanding that some day.
With cell phone provider, do you mean Nokia, Ericson, Motorola, or the soon to be obsolete mobile phone company?
Price.
Yes, you can expect the DB to use the index, which is subtly different from instructing the database to use the index. The whole idea behind SQL is great: a declarative language for specifying the job, and a procedural, smart, engine for performing the job. Unfortunately, databases have failed to deliver on the latter part, leading to implicit techniques to get the performance out. What I claim here is that we should take a step back, not forward, with SQL and get back to explicit programming of the databases, with strong guarentees about the performance. No more "let's add an index and I'm sure it will go faster", but, "instruct the query to first make and then use the index". Much easier to comprehend, and much faster.
The relational model is great, but what we need for speed is absolute control over the order in which records are stored. If you know that order and you have an underperforming "general" query, you might be able to speed up the thing with smart programming instead of trying to prepare the environment in such a way that the procedural engine does its job. Say you want to insert a bunch of records which have consecutive primary keys. Writing the procedure for adding them is trivial, letting the database sort it out often leads to dissapointing performance.
But definitely: stability and acidity of the database are extremely valuable, I just wish I could simply get rid of it sometimes. Again programatically.
As for SQL I do not agree with point 4: SQL does not perform very well. We're in the age of Ghz processors, fast disk drives and it *still* is an performance issue to add a few million records to a database? What SQL sorely lacks is a recognition that the 4th generation of software languages was a bad mistake, and get back to a third generation language: explicit indices, explicit loops over these indices and fast (compiled) execution of said loops. Just freaking program the database instead of waving chicken bones at it.
Yeah I know. I was once singing Kumbaya at a campfire and suddenly realized I was ripping of the maker of that song. This shut me up immediately.
in matlab, octave allows you to write it as:
All in all, I feel that octave has evolved more into improving the basic language itself, while matlab has put most effort into gimmicks such as GUI-building and (poor/slow) OO-support.
So all in all, no mistake from MS at all.
You've got it wrong. Unlike many think, it has never been the intention that you can patent an idea. You can patent a device, that's it. The whole point about math being unpatentable is that it is pure idea. The whole debate on software patents is about the thin line in software between devices and ideas. That patent law has degenerated into the patenting of ideas, and that the population in general seems to be comfortable with the concept that ideas (and concepts, and thoughts, and anything anyone can come up with) can be exclusively owned by someone is a pretty scary situation.
3. The GNU Foundation has not been able to show that it can produce a *singular* project of the complexity of Java without the assistance of major corporate backers.
So I'm trying to show that this *singular* (sic) project is gcc. Note that the point also depends on 'major corporate backers', so Cygnus doesn't apply, and RedHat is not really major compared to the likes of Sun, Microsoft, Apple, Novell and IBM. So, apart from non-major RedHat, which major corporate backing is there that makes gcc tick?
The current dependence of the software industry on the existence of gcc and their current help in development is a testimony to the importance of gcc, not to its lack of ability. It's not that industry saw a simplistic and not too useful beast and decided to make something good out of it. Industry simply doesn't do that. They took a good c-compiler and made it better. All you can possibly argue in this case is that corporate backed development simply gets the job done quicker, not that it can handle intrinsically more complexity. The truly difficult bit of setting up a compiler architecture for deployment on a multitude of platforms was already done by the lowly GNU volunteers. Industry took that and to this day builds on that.
3. The GNU Foundation has not been able to show that it can produce a *singular* project of the complexity of Java without the assistance of major corporate backers.
Please explain the existence of gcc, which was fully functional, supporting zillions of platforms and was heavily used before any corporate backer (i.e., RedHat) started helping in the development.