MySQL's Influence On the GPL
An anonymous reader writes "Ex-MySQL'er Brian Aker goes into the history of MySQL and the GPL. His point is that MySQL used the GPL in an over-reaching manner; and now that MySQL is gone as an entity, and the campaigns are over, that the GPL may return to an accurate definition."
The FSF also requires contributor agreements, and I would argue that the practical reason for this is the freedom to choose otherwise incompatible licenses in the future (such as migrating from GPLv2 -- not GPLv2-or-at-your-option-any-later-version -- to GPLv3). One common reason that the FSF says they want contributor agreements is to make it easier for them to pursue enforcement actions, but that should be available if they hold any copy rights in the work. They don't need to own all copy rights, but they require that as a condition of distributing the code anyway.
Setting aside all the arguments over whether it's a good idea to require contributor agreements, given that the FSF requires them, it's really hard for me to see how it constitutes any kind of "over-reach".
People loved when CDDB offered to identify CD's so when ripping you could not have to type everything in for your music app. Many people donated time to this "project"... but once it was done, suddenly developers started to have to pay Gracenote for the data, and "free" music programs went away for paid-for-somehow models like Windows Media Player, iTunes, and the such.
It seems like bait and switch is a viable business model these days. Start off as a free project taking free help, then turn around and exercise your copyright burning your former free help but having plenty of money for paid help to take their place.
Seems like the Afro GPL is what they actually wanted.
I don't think the "overreached" was about the contributor agreements, but rather the MySQL claim that the protocol for talking to the database (sending SQL queries) was GPL. Thus non-GPL software was not allowed to use the database, and you should buy the commercial versions.
I think that the point of the article is that MYSQL overreached in claiming that the MYSQL protocol was subject to the GPL. Protocols cannot be copyrighted and therefore cannot fall under the GPL.
MySQL caused a bit of a stir where I worked for the same reasons mentioned in the article. It is not always about doing the legwork, as anyone can pretty much take a few hours of research to find out licenses, variants in code and so forth.
What IS the problem however, is the fact that the GPL is a complex legal document and some companies don't want to pay the fees necessary for a small battalion of lawyers to confirm its use on a server platform or within a product. Its polar opposite the BSD license however is far easier for anyone to interpret and has a lot of legal precedence behind it.
The MySQL dual licensing issue reminds me of another project I encountered. iText PDF (http://www.itextpdf.com) is a Java open-source license that was traditionally released under the Mozilla Public License 1.1.
Oddly enough, just as their tutorials disappeared when the author of the library published a book. To which is used exclusively when asking for help in the forums, they also changed the license to the AGPL.
This seemed to be a way to force companies into buying their dual license. Apparently a lot of people used their product on a back-end servers to generate PDF invoices and so forth. By forcing the license change it meant that their changes to the code would have to be released and the viral nature of the AGPL forced the hands of many formerly legal products.
Fortunately, their MPL licensed version is only a few months older then their new code and oddly works with their Tutorial files they have hidden away in an old archive on Source forge.
Not that myself or my organization was opposed to licensing legally. However when you have a small, no fee, in house product being distributed within your organization and they are looking for 100$ US or more per instance for licensing fees, it rather makes it a hard pill to swallow.
MySQL had the same problem some of their fees seemed to range in the 300$ US per instance depending on the type of licensing involved and overhead of the company you used to get them. Some individuals at our organization recalls getting Oracle licenses for that price!
In a way, are these open source products or are they simply using the moniker as a way to attract people and force them into costly solutions?
Well the GPL used to be much longer, but was somehow mysteriously truncated.
Me I'm a maker, mostly of axioms.
Protocols cannot be copyrighted and therefore cannot fall under the GPL.
[citation needed]
Not a typewriter
DELETE FROM comments WHERE title="MySQL sucks";
There's no -1 for "I don't get it."
You can't copyright a protocol. A protocol is a logical construct. Compare it to something like COM. Microsoft couldn't copyright COM. They could patent it though. They copyrighted MSDN articles about COM, and the COM libraries themselves are copyrighted, but the interface itself is not encumbered by copyrights.
You could however copyright a manual or other "artistic" work describing the protocol, but not the header files required to use the library. Additionally, a protocol could be patented. The MySQL name was trademarked as well. They had their bases covered, but saying the MySQL protocol itself was copyrighted is just blowing hot smoke.
You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
Since the contributor agreement had nothing to do with the over-reaching, that's pretty much irrelevant.
of course you're correct about the protocol, you cant apply copyright to a set of conventions, just
documents describing them or implementations of those conventions
but i'm curious about your statement about headers. even though headers are commonly believed .h files
to be non-copyrightable, i don't see any particular reason why they shouldn't be, and have
seen plenty of license language in
I personally think the FSF does overreach in this area. Certainly RMS's rhetoric about what the GPL requires overreaches. If we believe RMS, the GPL reaches well beyond areas traditionally covered by copyright law and into areas like interoperability, which I think is just plain wrong. Indeed, I think linking itself is in no way sufficient to argue derivation.
I think more level heads, like some of the more moderate lawyers at the SFLC, and more level-headed engineers like Linus are closer.
LedgerSMB: Open source Accounting/ERP
A protocol is a method, process, and system of communication. Here's what United States copyright law has to say on methods, processes, and systems: "In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work." Likewise, the IBM PC BIOS syscall interface is a protocol for applications to communicate with hardware drivers, yet Compaq and Phoenix were able to clone it by having one team of programmers make a description of the protocol (which isn't a derivative work) and having another team implement it.
Vendors selling knock-off print cartridges have been allowed to use code copied outright from legitimate cartridges in order to fulfill a "security protocol" between the cartridge and printer -- a finding which has held up on appeal.
You might also find Groklaw's analysis of whether the set of values found in the SysV UNIX headers (not the comments, but the functional portions) are copyrightable interesting. Hint: they're not; this is because there's no artistic choice in making them what they are -- their form is precisely dictated by their function.
In the same way, the minimal necessary set of similarities between a 3rd-party MySQL driver and the official one compromises the MySQL protocol, and that protocol (as opposed to documentation describing it or code implementing it at an abstract enough level that the implementer has choices to make in the process) is uncopyrightable for the reason given above.
Sure, MySQL sucks. MySQL sucks technically. The licensing sucks. The whole thing stinks.
However, if you read the story (a lot to ask of Slashdot readers, I know), you would realize that this was about folks discussing the negative influence of MySQL on the whole FOSS industry. Moreover it is about Oracle's purchase possibly ending that era.
Oracle may be a very menacing, evil corporation, but they might have done us all a favor now.
(Honestly, PostgreSQL is a much better RDBMS all around. So is Firebird. Heck SQLite is better for many applications than MySQL.)
LedgerSMB: Open source Accounting/ERP
MySQL is more scalable than SQLite and available from more shared web hosting providers than PostgreSQL. In many cases, a web hosting provider such as Go Daddy will make MySQL available to shared hosting customers but require an upgrade to a virtual dedicated server (and its memory-hogging Java-based administration tool) in order to use PostgreSQL.
I don't know every little detail of what's happened and frankly I don't care. If people want it to live on and Oracle don't live up to their agreement, and assuming the code is readable, the community can fork it and move on. If that's no longer legally possible, as far as I'm concerned it's not GPL code. Regardless, my guess is that MySQL will decline but that other projects like Postgress will fill the niche for small free databases. As for the effect on the GPL, things cannot be undone. Once a license is challenged or abused in some way the only possible response is to adapt it to take that into account.
I'm MUCH more worried about Java, OpenOffice, VirtualBox. I'm also concerned about zfs and MySQL, but not as much. Roughly in that order.
These posts express my own personal views, not those of my employer
Brian works for Monty. Monty made something around USD$130M selling MySQL to Sun, who then sold themselves to Oracle. Monty, instead of buying a yacht and taking a vacation, wants to stay in the MySQL business. The problem is that he sold his rights. If someone was "over-reaching" with the GPL at MySQL, Monty was one of the three people behind that. Now, Monty wants to both take back the licensing scheme that made him a very rich man, and keep the money.
Give it up, Monty. Work on something else.
Bruce Perens.
The Afro GPL?
I think you meant Afero, or have I just been whooshed?
I don't care why you're posting AC
Read the article.
If this is true, and protocols are subject to the GPL, then Linus's understanding of it is flawed and userspace in a Linux based system cannot talk to Linux kernelspace in the trouble-free way he describes. A non-GPLed piece of software cannot talk to a GPLed piece of software via HTTP......... The list goes on. Obviously we know that this does happen and that the concept is bullshit. MySQL merely used it to muddy the waters, confuse people over licensing and get people to pay for licenses when perhaps they didn't really need to. Certainly, the vast majority of software for internal use doesn't require licenses from MySQL. Monty is now off into his own little world railing against that when it was what made his company money and got it sold to Sun for a stupidly overpriced amount, making him some pocket change as well I wouldn't wonder.
Thankfully, the article knows this is silly and not only says so, but blames MySQL for it. This is the way the GPL has always worked in other projects, and was known to work. MySQL simply used it as an avenue for confusion and to get people to cough up, which had the side-effect of people being more afraid of the GPL than they needed to be.
You're the one who needs to provide the citation. What exactly is being copyrighted in order to copyright a protocol?
Sure the code that implements is would be a computer program, that's copyrightable.
A document that specifies it would be a literary work, that's copyrightable.
But the protocol itself??? So my clean room implementation without ever seeing any of the work of the protocol author violates their copyright? What did I copy?
I mean "Affero."
D'oh!
I don't care why you're posting AC
Modded as flamebait because the modder couldn't come up with a rebuttal that wouldn't get him laughed off of Slashdot.
Companies don't make money by giving anything away, except in a very restricted set of circumstances where the gift is of no particular value and induces customers to spend actual money, or when there are substantial money-based strings attached. Why is this so hard for the FOSS world to grasp? A for-profit company, particularly a publicly-traded company, is always going to extract every last penny from its customers in exchange for the least value they will settle for. That's how capitalism works. Altruism is a pointless expense from the capitalist point-of-view, and companies that engage in much of it are going to lose their markets to companies that do not because those competitors are using their resources more efficiently.
I know this runs contrary to a lot of the wishful Adam Smith's invisible hand rainbows-and-unicorns thinking that is popular with a fairly large faction around here, but pixies don't make the flowers grow, either, and bitching about it isn't going to change anything. Capitalism works thus: you pay workers the least you can get away with in exchange for the most effort you can get out of them, to produce the least valuable products you can sell at the highest prices possible. Period. It does occasionally contribute to the common good, but because that contribution is itself an inefficiency in the system, there is a very strong incentive for all companies to reduce the amount of public good they do in order to cut costs and maximize profits.
Despite the window-dressing efforts of ESR and the "Open Source" faction, the underlying mechanism of FOSS (or whatever you want to call it) is altruistic charity. We make useful things and give them away. There's some money to be made on support, customization, dual-licensing, and systems integration, but it's negligible in terms of the oceans of cash flowing through the software industry. If a FOSS project significantly menaces any of the profit-streams of a large software company like Oracle or Microsoft, they are in a position to spend more money fighting it in an hour than you earn in a lifetime. Rarely, a FOSS project makes a significant dent in those profit streams: Apache, Firefox, Linux, and MySQL being the most successful.
If your overriding consideration is offering the best possible software package to the public as a gesture of personal generosity or some other personal commitment, and you happen to be both lucky and very, very good at what you do, you might well make a substantial dent. In some smaller markets, you might even become the dominant player. But that has to be your overriding consideration. If, as with MySQL AB, you are willing to sell your ownership in the software, you are back in the world of capitalism and no matter what bullshit assurances you receive from the army of salesmen and lawyers who will suddenly appear to offer them, all of the usual rules of the market apply, and you may rest assured that you are in no position to change how those rules work. You sold the goods, and from the point of view of the purchaser, you no longer exist.
If we are, as FOSS developers, committed to serving the public good, there's a lot we can do. If we're in it primarily for personal profit, 99% of us will get nowhere, and the remaining 1% will be bought out one by one. If you have something sufficiently valuable and you have a price, someone will eventually pay it. MySQL AB thought it could be an exception to the rule, and as a result, we are all a lot poorer.
Proud member of the Weirdo-American community.
GPL who?
"I agreed to do so, contributing my services at no charge, for the good of the Open Source community."
It does occasionally contribute to the common good, but because that contribution is itself an inefficiency in the system, there is a very strong incentive for all companies to reduce the amount of public good they do in order to cut costs and maximize profits.
Every voluntary transaction introduces new wealth into an economy. It actually creates wealth.
I do agree with your point about companies being directly altruistic, though, which is either misguided or the result of an ulterior motive.
As you've already been informed, nothing. I made some pocket money on the article you read, but I am not able to make a living that way.
Bruce Perens.
Yes, assertions of copyright do exist in header files. There could be artistic aspects of a header file that are copyrightable, but the functional aspects cannot be copyrighted. If you're not sure which parts are copyrightable, but you have a good faith belief that some aspect of a file could be considered artistic, it's better to put the notice in the file as a CYA. This holds true despite the fact that in Berne convention signatory countries it should be assumed to be copyrighted by default.
Saga v. Accolade(FN89: 977 F.2d 1510, 24 USPQ2d 1561 (9th Cir. 1992)) established that it is fair use to use header files, but narrowly defines them as interoperable function-only definition files.
The only artistic aspects of a header file that I can imagine would be a complex macro, lengthy comments or header-defined media data(static byte arrays representing audio sounds or pixmaps).
You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
Ask the Eighth Circuit, which ruled that bnetd infringed upon Blizzard's copyrights (as well as violating the DMCA) despite the bnetd authors not even having access the code for the servers which implemented the protocol they reverse engineered.
Hi Bruce!
I don't work for Monty :)
I also don't work on MariaDB (and never have).
Please get your facts straight.
Cheers,
-Brian
You can't grep a dead tree.
I don't have time to look this up at the moment, but what I recall as the most important and least conventional GPL interpretation is that MySQL (the company) took the position that applications that depended on MySQL (the RDBMS) as one of their components were derivative works that incorporated the RDBMS--and that details about linking or protocols were just not relevant. Therefore, unless you bought a commercial license from the company, such applications had to be distributed under GPL terms.
Put more carefully, the idea is an application is a derivative of MySQL is whether if it relies critically on MySQL to provide its functionality. So, for example, a blog management tool that absolutely required MySQL as its backend would be a derivative work, while a graphical SQL client that could connect to many different RDBMSes and generically examine and modify the schema might not be (at least not under this criterion).
They may have additionally taken the position that the protocol is subject to the license, or something similar to that, but that would hardly be the whole position they've taken.
Note that the FSF itself takes a similar position with regards to linking to libraries, as shown by this old exchange about CLISP and readline. Quoting from one of RMS's emails there:
So the lesson here is one should not put too much stock on arguments about static vs. dynamic linking, linking vs. network protocols, or other such technical details, because judges will most likely find that none of those details are really the essential issue.
Are you adequate?
Erm... I think that would be the article he didn't read.
You misunderstand the case. The Court did not rule that Blizzard could copyright protocols. Rather, it ruled that BnetD violated the DMCA's anti-circumvention provisions as well as provisions of Blizzard's EULA forbidding reverse engineering.
Brian,
Well, your article sounds identical to the presentation we've been hearing from Monty for some months now, and you are behind the Drizzle fork.
Bruce Perens.
I wonder if I could use that as defense to legally download all the crappy music and movies on bittorrent I want. I am almost 100% certain no creativity went in to most of it (at least in recent years).
Living in Chile
Because they can be patented.
Bruce Perens.
I agree with you, but I believe you to be wrong on a technical point. The license applied to the kernel is the GPLv2 with the specific stipulation that the userspace boundary was not considered a derivative work by the author. Otherwise, I believe distributing a binary that linked with the Linux kernel would have been a GPL violation (depending on the weird interpretation about OS/tools libraries "get out of jail free" clause in the GPLv2).
See COPYING from the linux kernel. The absolute top clarifies the copyright owners distinctions.
The thing about the GPL is that it isn't "viral" despite what folks claim. It merely has terms of usage, just like virtually any other software. When found in violation of the terms, the easiest way to comply happens to be to release your source. You could stop using the GPL software and move along. The only person who can take you to court over the GPL is a copyright holder. Your "customers" sure can't. So if Linus says: "I don't consider that a derivative work", in the legal document describing it, he'll have a really hard time telling folks in court: "I think that's a derived work, and they are in violation of my license".
Kirby
Hi!
My article sounds like something Monty would publish? I don't think so, Monty is a firm believer that the GPL does influence the protocol (aka, you can have a GPL based protocol). If you would bother to read some of the published material around what was said for the benefit of the EU you would know that. Quite a bit of his argument to the EU is based on the belief that the protocol follows GPL.
Drizzle? Monty has nothing to do with Drizzle. He has never committed a line of code, and I doubt he has even looked at it. MariaDB, the databases he works on, is very different. The two are nothing alike other then sharing a common ancestor.
Once again Bruce, read up a bit, and get your facts straight.
Cheers,
-Brian
You can't grep a dead tree.
Oh, why did you have to remind me of that? That was the most infuriating thing.
You're the one who needs to provide the citation.
That's an interesting statement. Usually it's the one making assertions that needs to back up their info with facts, not the one asking for clarification.
I can see plenty of reasons why protocols shouldn't be copyrightable. I can see plenty of reason why "Method and system for placing a purchase order via a communications network" shouldn't be a patentable invention, but it technically still is. I'm looking for a direct court case ruling on this sort of thing. Until that happens, it's all just armchair lawyering, even if it's done by actual lawyers.
Not a typewriter
I agree with you, but I believe you to be wrong on a technical point. The license applied to the kernel is the GPLv2 with the specific stipulation that the userspace boundary was not considered a derivative work by the author. Otherwise, I believe distributing a binary that linked with the Linux kernel would have been a GPL violation (depending on the weird interpretation about OS/tools libraries "get out of jail free" clause in the GPLv2).
Wouldn't that make ndiswrapper and the Nvidia drivers into GPL violations?
But that can't work. The proprietary bits of the latter were ported from another platform (Windows) and an LGPL wrapper was provided. It is hence not a derivative work.
The same goes for using proprietary wireless drivers under ndiswrapper with or without a linking exception. An NDIS driver doesn't suddenly become derivative of Linus's work just because it is indirectly linked to it.
LedgerSMB: Open source Accounting/ERP
It follows immediately from the definition of copyright. Contrary to the views of many people, including /.-ers, copyright is not some vague and general form of ownership of intellectual property but applies specifically to the expression of ideas, not ideas. A document describing a protocol is subject to copyright, but not the protocol since it is merely an idea, not the expression thereof. Virtually any competent treatment of copyright, including the Wikipedia article, will explain this.
Actually, I was just explaining what the article meant, not making an independent claim about copyright, so a citation was hardly required. And no, this is not a borderline case like the example that you cite. The circumstances under which methods may be patented are a matter of contention. That pure ideas like protocols are not subject to copyright is not a matter of contention.
Postgres.. the REAL free alternative. Mysql licensing has always been hairy at best, and the performance has not been up to enterprise levels.. unless you only do reads. I've switched all my customers to Postgres about 3 years ago, and everybody is happy.. and this whole Oracle/Mysql debate is a non-issue.
When you SELL something.. and then you want to CONTROL it.. it's like being an Indian Giver.. There is nothing that Mysql can do that Postgres can't and there's plenty that Postgres can that Mysql can't. So stop the whining, if you want to pay for Oracle, go for it. If you don't want to pay, sqlite and postgres area available.
The only person Mysql has to blame is itself; ridiculously overreaching licensing made me dump it, and I encourage everybody else to do the same. If you want to donate time to a database, sqlite and postgres.
I know you mysql'ers aren't use to hearing the truth; the sky is not falling but mysql usage is. Live with it.
I mean, the facts in the article are facts, but it's an opinion piece.
MySQL claimed they could copyright a "protocol" and that it was covered under the GPL. That seem sketchy to me, given the GPL is a license designed to cover source code. You could apply it to books.... but that would just mean large parts of the GPL were out of scope in the context of books. (Your text would still be protected... but rules about distributing object could would have no relevance, I imagine.)
As to requiring contributors to assign rights to the project owner - that's a common practice of many projects, and has nothing to do with the GPL itself, and everything to do with ownership of a project. The FSF requires this as well. You are, of course, free to fork and do what you want on your own.. but if you wanted code in their official releases, you had to assign them the rights to it as well - this let them dual-license it as they saw fit. I can't say I wouldn't do the same with my own projects, if it came down to it.
This really doesn't change the GPL much in any way I can see... the GPL has mostly been misunderstood, and will continue to be misunderstood, by many, forever.
I gave you everything you needed to look up some on-point rulings elsewhere, but to make it more explicit, here's the print cartridge case, and . See also section 1201(f)(3) of the DMCA, which explicitly permits reverse engineering for purposes of interoperability. To make it even more clear, see Title 17, Circular 92, Chapter 1, Section 102, which lays it out explicitly:
(b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
Clear enough?
Linus has also stated publicly: "The NVIDIA driver is not a derivative work, because it existed outside of the Linux kernel, and runs almost totally independent of any of the Linux internals". Note, that the small section that is Linux specific, is GPL'ed, and is distributed in source form. I can find the exact quote for you, if you'd like. If we applied the same logic for the NVIDIA to the kernel to a new back end optimizer for the GNU C Compiler (aka GCC), you can bet that the owners of the copyright (the FSF), would come after you with a vengeance. I believe they are highly likely to win. In fact, the FSF does believe that the NVIDIA driver is a GPL violation (and many of the other bits of the various firmwares are a violation), but Linus is far more practical, and says: "I don't care, you aren't using my code in any way that offends me, but you're making the OS more useful, more power to you".
You're thinking that the GPL is viral, again, it isn't a damn disease, you have to analyze who the copyright owners are, and what complaint could be made and who is allowed to make it. As for the NDISWrapper situation, it would break down as follows: The original driver author (read the hardware manufacturer) might take legal action against folks distributing their compiled binaries, because that is likely a copyright violation. The person who is using NDISWrappers could realize that person who distributed the software to them, didn't comply with the GPL (because the binary portions were given to them without source in the "preferred form"). The only person who could could take legal action to remedy this situation is the author of the NDISWrappers as they are the copyright owner. Thus it's highly unlikely that there could be legal action. Alternatively, if NDISWrappers doesn't actually ship the binaries for the actual drivers, there is no violation. The end user is doing what is hypothetically a violation of the GPL. The end user can do absolutely anything they like, the GPL only kicks in when it is distributed.
This is the same loophole that Sun used to make Linux drivers run under Solaris, because they forced the end users to actually compile the drivers from source using a shim compatibility layer. Solaris would load those drivers that the end user compiled, and because they were distributed in source form to the end user, there was no GPL violation according the letter of the license, but was widely viewed as a violation of the spirit of the license. So if you ship the GPL'ed source/binaries in compliance with the GPL, and a separate piece that can operate on that source/binary it's no problem (see the GPL FAQ section about "works in aggregate").
Kirby
Microsoft released DCOM and Active-X to ECMA for standardization (this was around 1996, I think), so they never attempted to assert patent or other exclusivity rights to the protocols themselves. So that is not a good counterexample.
CIFS and FAT are more interesting examples, since in those cases it seems that Microsoft tried to assert IP protection against outside implementers.
Well, protocols are the subject of patents rather than copyright so I never felt any need to listen to Monty about that particular point. It's more his protesting the GPL's terms now that they are being applied to him rather than by him. And in that regard your presentation sounds really familiar.
Bruce
Bruce Perens.
You are mixing up things, causing confusion, most probably unintentionally.
As unfortunate the CDDB/Gracenotes was, it is very different from MySQL.
First, MySQL is code, not data. The GPL is a good license for free software, but should not be used to non-code stuff. It was not meant to be used for things that are not code.
Second MySQL is GPL, the CDDB data is, well, there is a dispute about it. The GPL protects a given version that it will remain free forever. The copyright holder, if they so chose, can license newer versions under something else, but the old version will remain GPL.
So, Oracle can choose to not license future versions of MySQL under the GPL, but the existing versions will remain GPL. If enough people care for it, and rally behind it, it can be a viable fork of the product by a community team and/or sponsored by other companies. MySQL is being used by large companies and web sites all over the place. This includes Google, Yahoo, Facebook, Digg, Slashdot, ...etc. It is too widespread to be just killed off ...
2bits.com, Inc: Drupal, WordPress, and LAMP performance tuning.
Hi!
Would you please find a single "your presentation sounds really familiar" to backup anything you say?
As I have had to point out a number of times, you should spend some time reading up on a subject before you post on it.
Cheers,
-Brian
You can't grep a dead tree.
So let's say you were a lawyer for MySQL/Sun/Oracle/whoever owns it now, and you were told to prosecute a case involving the company's supposed copyright on the protocol. The argument on the defense involves many of the case laws cited in this thread (printer cartridge case, header files, etc.)
On hearing those arguments from the defense, are you just going to roll over and take it? Or are you going to find an obscure piece of case law from the 1950s involving a local dispute involving a bizzare combination of sheep, a telephone poll, and a WWI-vintage howitzer that actually manages to win your case?
Until that case actually happens, it's all just a guess. Ask 10 lawyers on this subject, and they'll give you 10 different reasons for one way or the other (a few of which won't be immediately obvious).
I don't want protocols to be copyrightable, but I'm not going to assume they're not until I hear of a direct ruling on the matter.
Not a typewriter
You, like many people, confuse wealth with investment.
The fact is, you do not need money to produce wealth. Wealth is simply a thing that has been mined, thought up or created that betters the human condition. To have a Linux installation is to have wealth. To have a free song is to have wealth. It doesn't matter how you got it, it is only the matter that it exists.
What you are talking about is a means of creating wealth, and that's investment.
There's basically two kinds of investment systems. Capitalism lets private individuals invest in order to get a profit from that investment, and socialism, where public taxes are invested in order to get a profit from that investment. In both cases, there is some third party that has a fistful of cash and uses that cash to facilitate work, but at a price.
Indeed, despite my own bad karma rating and countless other left vs right flamewars, both basically are a matter of a class which uses its money to exploit somebody elses ability to produce, you guessed it, wealth. What's even crazier is that functionally, at the very top level, both capitalism and socialism have the same fundamental working, because both rely on the power of the government to create and manage money.
In the case of capitalism, you have a central bank, which is essentially a government body even though its "independent" on paper. What it does, is well, creates money out of thin air and then deposits it at banks. Banks then lend it to people, and guys at banks basically get rich charging interest on phantom money that the Federal reserve created.
In the case of socialism, you have a central bank, which is the government, and it creates money out of thin air and then uses it to reward those who build or produce goods it deems necessary. The guys in the government basically get rich because they control where all the money is going, and they get free goodies too. Like Brezhnev famously made himself a Hero of the Soviet Union for basically being Brezhnev.
This is my sig.
Brian, it is the meme of "we must now reform GPL over-reaching" which has risen only because Oracle is now the entity enforcing the GPL on others rather than MySQL. I agree that MySQL used FUD to cause customers to buy, especially before MySQL 5 came out. But the only folks who ever believed that the GPL applied to a protocol were those who didn't know the scope of copyright from that of patent. This was not an issue that anyone who could discuss the situation intelligently with an attorney ever believed, with one exception, and it does not need reform now because it's not for real. The one exception was the MySQL principals themselves. They got the most draconian read from a lawyer at some point, something that wouldn't ever have flown in court, and Monty still believes it today.
Bruce Perens.
I agree with you, but I believe you to be wrong on a technical point. The license applied to the kernel is the GPLv2 with the specific stipulation that the userspace boundary was not considered a derivative work by the author. Otherwise, I believe distributing a binary that linked with the Linux kernel would have been a GPL violation (depending on the weird interpretation about OS/tools libraries "get out of jail free" clause in the GPLv2).
It is not at all certain that is the case. Linux added the 'specific stipulation' mainly because he didn't want FUD spreading to Linux application developers.
Well if API compatibility is all it takes, then I can say *any* piece of GPL code is an API, therefore I can re-use it as a library. That's a very, very slippery slope. The only piece that makes it strange is that the GPL has specific and explicit exceptions for OS and system libraries, which Linux obviously is the OS, so it is not extremely clear to me how that would apply. However, you can see the same type of care is taken by the FSF with respect to various supporting libraries they ship with GCC, you'll find that the libgcc_s.so.1 library that is linked via GCC are "GPL + exceptions". See this e-mail about the topic, that includes the special exception.
If it is the API nature of the Linux kernel that makes it okay to link with the kernel and not be GPL'ed, that's very, very bad. All I'd have to do is make an API out of any old GPL'ed software I feel like, and then I would appear to be free of any GPL terms. I believe that to be wrong. If it is the fact that it's an Operating System, that's just a flaw in the wording of the license that for the most part doesn't hurt anything. If it is because there's an explicit exception, that's a very good thing.
Kirby
Well, protocols are the subject of patents rather than copyright so I never felt any need to listen to Monty about that particular point.
So, although you never listened to Monty on the subject on which this article was written, it seems very similar to what Monty said? This fails the logic test, and your subsequent weasel words do nothing to change that.
In response to one of the comments under TFA Brian says "You can choose to pay based on FUD, but really it is just FUD." Brian does not protest the GPL's terms; he only states that Monty's interpretation of same was FUD-fodder. Actually, he says it was FUD, but from Monty's position on the field, it was not FUD, but a bullying threat.
Your response to this article makes it seem like you have not read the article, and your later response makes you seem not only like a petulant child, but also like someone genuinely unqualified to comment upon this article. Finally (I hope) your "we must now reform" comment depends on an empty assertion contradicted by the article itself, which is acceptable — but not without providing any proof. It's hard to believe that Monty has been for some time presenting documentation of his spreading FUD. Could you please provide a citation?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Submission to ECMA standardization does not limit Microsoft's ability to seek remedy for patent infringement by other implementations of the device or format. This is a common misconception about standardization in software. ECMA only requires Microsoft issue reasonable and non-discriminatory licensing. The problem therein is that only for-profit implementations can afford the licensing.
I am not aware if they did or did not submit FAT or FAT32 to ECMA, but even if they did, they could continue to sue other implementors to force them into revenue sharing license agreements. The funny thing is if you've seen graphs of Microsoft's revenue, this money is a tiny tiny fraction of their income and is likely counterproductive. FAT support is included in a huge array of devices because Windows is ubiquitous and Microsoft shouldn't do anything to dissuade device manufacturers from supporting Windows out of the box with as little hassle as possible.
As Linux and OSX slowly creep up in marketshare, device manufacturers may start to natively support other operating systems to save money, forcing their products to use a serial protocol and host software to access it(much like many smartphones or graphing calculators). This is a hassle for consumers because the device manufacturers often don't work with the newest operating systems like Win7 or Vista 64.
You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
That didn't parse. Do you want me to present you with Monty's recent arguments to the EU? They've been pretty widely publicized. Essentially, he protested that the GPL terms were anti-competitive in this case. But of course he was one of the three people who put those terms in place.
Bruce Perens.
What IS the problem however, is the fact that the GPL is a complex legal document and some companies don't want to pay the fees necessary for a small battalion of lawyers to confirm its use on a server platform or within a product. Its polar opposite the BSD license however is far easier for anyone to interpret and has a lot of legal precedence behind it.
Seriously... are you this dense or is this something you do on the side?
Oh wait, you are pushing the BSD-its-safer-better-and-easier so youre starting to believe your own BS.
I mean, how hard can it be to implement a clean-room version of a mysql client library and make it BSD-like licensed? it's just a client that talks to a server over a socket, using an open and well known protocol. The fact that it never happened tells me that mysql wasn't very irreplaceable at all.
--
Stay tuned for some shock and awe coming right up after this messages!
...or have I just been whooshed?
No, you have performed the "Reverse Whoosh".
I give you an 8.6
You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
"That's an interesting statement. Usually it's the one making assertions that needs to back up their info with facts, not the one asking for clarification."
In an academic paper or a news source I would agree. When it comes to slashdot postings I think everyone is free to state opinions and verifying their accuracy is up to the reader.
I don't think the "overreached" was about the contributor agreements, but rather the MySQL claim that the protocol for talking to the database (sending SQL queries) was GPL. Thus non-GPL software was not allowed to use the database, and you should buy the commercial versions.
To programmers and tech weenies such as ourselves, this statement seems absurd: An SQL stream is part of the product? Surely you jest! We can all point to many products that are database agnostic: there are perhaps a billion such products available for download on SourceForge that work with MySQL, PostgreSQL, and maybe Oracle and/or SqlServer.
But, for a moment step out of nerd land and into the life of an executive. When you say "database engine" he hears "mwah mah fua bua!" And when you say "SQL Stream" he hears "Muff wa ha dia". But when he sets up a product (such as a Customer Relationship Manager) it's a single product. It might have a half-dozen distinct codebases (DBMS, SQL, PHP, HTML, Javascript, etc.) but even though they are all distinct products in their own right, they are "one product" It's the "Augustus CRM!". It's what he bought.
So do these technical distinctions mean anything at all? Not in the least. And thus, the terms of the GPL would easily and happily apply to the entire product, no matter how technically distinct the pieces.
I've often wondered what makes a product "separate". It's a distinction that's forever being debated on the LKML. Is VMWare in violation of Linux Kernel's GPL License? What about ATI's binary driver? What about somebody who sells hardware with a Linux kernel?
And sure, you have your opinions on each of these examples, but each of these examples have their own gotchas that would make sense to a significant portion of the population, especially the non-technical part(s) of humanity.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
DieSQL: The Sequel!
People loved when CDDB offered to identify CD's so when ripping you could not have to type everything in for your music app. Many people donated time to this "project"... but once it was done, suddenly developers started to have to pay Gracenote for the data, and"free" music programs went away for paid-for-somehow models like Windows Media Player, iTunes, and the such.
They just used Free DB instead. K3B works just fine apart from the dd typo (and checking track names when you rip is not a huge issue).
It's not men's posting if it doesn't have a quad woosh. - Evgeni Wooshenko
Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
MySQL merely used it to muddy the waters, confuse people over licensing and get people to pay for licenses when perhaps they didn't really need to. Certainly, the vast majority of software for internal use doesn't require licenses from MySQL.
Shocker, dual licensing company points people in direction of product with highest margins. In other stunning news, this applies to retail clerks and pretty much everyone else. I remember Trolltech's site also went very far into pointing you in direction of the commercial version, you'd have to know the GPL to know you could use it in a commercial setting with some caveats.
Live today, because you never know what tomorrow brings
I second that. I live in Finland which is part of EU. Of course Finnish laws applies only in Finland and not in other EU countries. Here's my translation of our copyright law's opening section. I couldn't find official translation.
This is pretty clear. Protocol specification document is a literary work and it can and will be placed under copyright law and it can be GPLed too. But not the actual protocol since it is not a literary work. Literary work is something concrete like a book or computer program while protocols are abstract by nature.
Unfortunately I couldn't find a single precedent from our supreme court or in any other lower court. This means that no-one has ever tried to copyright protocols and defend them in the court or that someone has tried but the court hasn't even taken it under consideration.
And yes, I'm not a lawyer but I love doing research on legal stuff.
You don't know what you don't know.
Start with patent 4,549,302 on the guard time in the Hayes Modem protocol. That's from 1985. I'm sure there are others. Surely the touch-tones were patented before then. Indeed, there must be telephony ones going back to the 1920's.
Bruce Perens.
That's a U.S. patent, I forgot to mention.
Bruce Perens.
ll I'd have to do is make an API out of any old GPL'ed software I feel like, and then I would appear to be free of any GPL terms. I believe that to be wrong.
That is why intent matters. Did you make an API just to bypass the licensing terms, or was it always intended to be an API to begin with?
Torvolds was wise enough to understand he was writing an open-source OS kernel, and he wasn't in the business of claiming intellectual property rights on API consumers. I don't see what's "bad" about that ... in fact you could argue that Linux is the most successful piece of free software precisely because it has a firm legal boundary.
Truth be told, use of the GPL for libraries has always been on shaky legal firmament, and while the FSF has acknoweldged it, they have not admitted to it. Meanwhile, its better to see the license conditions in black-and-white on top of the file rather than listen to numerous blowhards spew FUD about it.
The bigger problem with header files is that they are a specific engineering construct to certain programming languages, and therefore a poor foundation for a general legal construct.
This conversation actually happened:
RMS: Header files copyright blah blah blah
Developer: What about Java, it doesn't have headers?
RMS: uhhh errr ahbb errr. Well then, never program in Java!
I like this post
I like this post
Here you obviously have not read the GPL, or are spreading FUD. GPL clearly states that you only have to re-distribute sources with your products, i.e. to the users. If you have an in house you only have to distribute your sources in house, something that should not be a problem in most organizations. So unless you need to keep your programs secret from your own organization you don't have to pay anything.
The GPL does not say that you have to distribute your sources to the world.
This is a common misunderstanding, or way of spreading FUD about GPL.
At 4.1, the GPL just suddenly stopped working and the logs filled up with error messages.
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
Yes, but I wasn't talking about patents. I was talking about copyrights and especially EU since Brian brought it up. I don't have much knowledge about patents.
You don't know what you don't know.
Bruce, before claiming something, you should do some basic resources to ensure that you get your facts right.
- Brian Aker doesn't work for me. He is an old friend, nothing more.
- You know Bryan and should know, as all his friends does, that you can't influence what Bryan is saying; He is always speaking his own mind!
- I personally never got any 130M USD; Not even a fraction of this. (Can easily be verified as all tax information is public in Finland)
- I am not doing business with any rights that has been sold. My company, Monty Program Ab, is doing business on developing MariaDB, a branch of MySQL. We are fully entitled to do this under GPL.
- I have never said or claimed that the GPL affects you over the protocol. The GPL in MySQL does however affect your application if it is distributed with the MySQL server and/or require the MySQL server to work.
- The claim on the MySQL web site about the protocol is the brainchild of other people in the MySQL management (not the MySQL founders), people that you know very well.
- It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning.
Regards,
Monty
Brian, as you should know I never said that GPL affects the protocol. (See my previous answer to Bruce)
What I have told you is that Richard Stallmans opinion is that if you have a client/server application (both GPL) and the protocol is proprietary (ie not public), then if someone creates a new client for the server this client will also be GPL.
However, this was never an argument that I have used with MySQL; My argument has always been that if someone has an application that require MySQL and this application is distributed directly or indirectly with MySQL, then the whole is a derivated work of MySQL and thus affected by the GPL.
As a separate comment, we never had any notable problems in MySQL with getting people to agree to sign a contributor agreement for donating code to us. Talking with other companies, as long as the contributor agreement is sensible (ie, you don't loose any rights yourself), then people don't have a problem signing it. As a reference, see how many people have donated code to FSF!
The reason MySQL stopped getting contributors was that when I stopped working with the contributors (because the internal developers took up all my time), MySQL AB never assigned anyone else to do this and when the potential contributors didn't get any feedback they stopped working on MySQL.
When it comes to Drizzle, you require the code to be under BSD; In practice this is a contributor agreement too.
As I never ever talked about the MySQL protocol with you, I don't have a clue what you are referring to.
From your comments, I can however agree with that you are not listening at all, but in spate of that think you have a right to criticize others for things they have not done.
Bruce, it's time to start listening instead of speaking!
Bruce, please get your fact rights before commenting! As a 'lawyer' you should know better...
What I have said in the EU case, is the GPL is not enough to ensure that competition in the market continues if the owner of the GPL copyright would benefit more by killing the product than keeping it alive.
This is something that even Richard Stallman agreed with in this EU case.
Regards,
Monty
If you distribute the kernel and the nVidia blob as a combined work, then they must be distributed under the GPLv2, which is not possible due to the blob's license. nVidia, however, does not distribute the kernel, only the blob and the shim. This is entirely legal, however it is not possible for a third party to then redistribute the combination of the kernel and the blob without violating the GPL. This is why PC-BSD and Nexenta come with the nVidia drivers on the install disk, but Ubuntu does not.
I am TheRaven on Soylent News
What I have told you is that Richard Stallmans opinion is that if you have a client/server application (both GPL) and the protocol is proprietary (ie not public), then if someone creates a new client for the server this client will also be GPL.
RMS is wrong - even under US law, a third party is free to reverse engineer the protocol (see the provisions for this in the DMCA, albeit with caveats about circumvention of encryption). This is how projects such as Samba can legally exist. The developers may not be able to have the specifications of the "proprietary" protocol, as the originator hasn't made them publicly available, but they are still free to reverse engineer the protocol itself.
Bruce,
Having read your previous posts on Slashdot, I know with at least 40% certainty that you can read, but did you actually even try to RTFA? Your comments in this thread make it seem like you read a version published in an alternate universe, containing content completely unrelated to the topic at hand.
I am TheRaven on Soylent News
It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning
Are you sure about this last point? Not sure if it's still there, but the FSF's GPL FAQ used to suggest driving a GPL'd program via a pipe if you wanted sufficiently loose coupling not to invoke the GPL.
I am TheRaven on Soylent News
First, how do you kill a GPL-project? Anyone can just fork it, or better yet, just contribute to Firebird or Postgres. Secondly, what would Oracle gain from killing MySQL? The customers that use MySQL aren't the ones that will pony up cash for Oracle, they'll much rather just switch to Postgres or Firebird.
-- Linux user #369862
The claim that a protocol can be copyrighted is the assertion. Since it's pretty damn obvious they can't given there's no copying involved in implementing one.
The only citation for the fact that they can't is all of copyright law - and that they don't come under any of the things specified within it.
Whereas if they are copyrightable you should be able to give a citation to the item in copyright law that says so.
The best I can do (without just saying read it all and see it isn't there) is:
17.1.102.b:
"""
In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
"""
If you have an in house you only have to distribute your sources in house, something that should not be a problem in most organizations.
Internal use within a single organization is just that, use, not distribution, and you don't need to supply source to anyone (this would make no sense anyhow, your organization as a whole already possesses the source (if modified) or has a valid offer to supply it from the orginal source (if unmodified)).
To simplify, 'internal distribution' is not 'distribution' for the purposes of the GPL so you can do what you please.
I read it more as "MySQL's handling of the GPL was wrong and maybe now things can return to normal" rather than "we must reform GPL over-reaching". I did not get the impression that he was trying to have his cake and eat it (which is what Monty appears to be trying to do.)
-- Wodin
No, the GPL is not on "shaky legal firmament", that is FUD. There is tremendous value in the GPL'ed software, if there were a hole somewhere in the GPL, you think folks would be driving a truck through it to get at that valuable source code. Notice that everybody who has gone up against the GPL has uniformly lost or backed down.
The reason it's "bad" isn't that there is something wrong with the Linux kernel, it's "bad" because it sets a very dangerous precedent. Sorta like saying that "human rights" are something the gov't allows us to have because they feel like it, but the could repeal them any time the feel like it. In the US at least, that's not possible. If somebody said: "You have free speech because the SCOTUS feels like allowing it", rather then it being a first principle of the US law, that'd be "bad" too. The GPL isn't a virus, it doesn't have magic powers to overtake IP, it's not black magic. If you violate it, you are in violation of someone's copyright. So every time someone says "That the GPL will 'steal IP', or 'accumulate intellectual rights'" is just flat out wrong. The absolute worst thing that can happen to you is that you're found guilty of copyright infringement and a judge will hand down a remedy. That could be a fine, or jail time. I'd be relatively surprised that they'd force you to open your source code. However, it's highly likely that it will include an injunction against you distributing the copyright violation. Rendering your IP mostly useless until you replace the pieces of GPL'ed software.
You'll have to actually cite any place where someone from the FSF had "acknowledged" that libraries are a problem. The only place I've ever seen anything remotely like that is the "readline" case. Where the BSD folks make a binary compatible API (note, using reverse engineering to duplicate the API and totally avoided any copyright infringement issues). I've seen folks make an argument there, but if the FSF folks really wanted to press the issue they should have a legal leg to stand on.
Kirby
Hi!
You should easily be able to find blog posts, comments, etc... from me over the years telling people exactly how far the GPL reached (this was an ongoing issue between me and others in MySQL for years, and is well known within the MySQL community).
The acquisition by Oracle, or even Sun, is not what matters. What matters is the state of the community, etc where this belief is still perpetuated. I found at SCALE that this was a topic that was still being discussed, and that there was a lot of confusion around it.
Which is why I blogged about it :)
I would also not go as far as saying all of the MySQL principals (or even the senior executives for that matter). Sit down sometime with David and I believe you might find a different answer.
Cheers,
-Brian
You can't grep a dead tree.
If you distribute the kernel and the nVidia blob as a combined work, then they must be distributed under the GPLv2, which is not possible due to the blob's license.
Are you sure that wouldn't be mere aggregation under the GPL v2?
Basically if "based on" in the GPL v2 means the same thing as "based on" in US copyright law (i.e. a move "based on" a book), then you have to ask whether it is a derivative work in copyright law. If aggregation is hence separate, I would argue that a compiled or collected work (i.e. several smaller works in one volume) would be beyond the scope of the GPL.
I see no reason why distributing the nVidia driver on the same CD as the Linux kernel would violate the GPL v2.
LedgerSMB: Open source Accounting/ERP
You're thinking that the GPL is viral, again, it isn't a damn disease, you have to analyze who the copyright owners are, and what complaint could be made and who is allowed to make it.
We're on the same page here. I am arguing against the viral interpretation of the GPL given by folks like RMS.
The original driver author (read the hardware manufacturer) might take legal action against folks distributing their compiled binaries, because that is likely a copyright violation.
Not if the Linux community says "download the drivers from the hardware manufacturer's site." Hence any copyright violation would be independent of the intended use of NDISwrapper.
The person who is using NDISWrappers could realize that person who distributed the software to them, didn't comply with the GPL (because the binary portions were given to them without source in the "preferred form"). The only person who could could take legal action to remedy this situation is the author of the NDISWrappers as they are the copyright owner.
I disagree here that the GPL is binding on the drivers in such a hypothetical.
Basically my reasoning is that the proprietary hardware drivers are in no way derivative of a GPL'd work REGARDLESS of whether they are linked at run-time to a GPL'd work.
Here is my reasoning.
NDIS drivers in general have been written for Windows. NDIS is an ABI specification. As an ABI specification, it is purely functional in form and the actual practical elements to it are outside the reach of copyright law. Consequently, if I create an ABI implementation of this (say, NDISwrapper without the linking exception), it might be derivative of the Linux kernel or it might not be and that would be very fact-sensitive. However the work is NOT derivative of any given NDIS driver, nor is any given NDIS driver derivative of it. Consequently, the fact that any given NDIS driver works under NDISwrapper doesn't imply derivation either way.
In this case, you can see NDIS as being sort of kernel-level equivalent to HTTP. Certainly using Internet Explorer to connect to an Apache web server would not make the installation of IE derivative of Apache, would it?
Derivation is a tough issue though because in some cases it may be possible to share no code and still have a work be derivative. Video game clones are the most obvious example here, as might video game mods if they alter the underlying audio-visual work that is the video game itself.
LedgerSMB: Open source Accounting/ERP
If I left it out of my post, I was trying to cover the case where the NDIS folks make you download their driver. Obvious if you make the end user do all the work to assemble the pieces, it's all good by the GPL. That's the whole reason the AGPL was constructed.
I agree with your post. I'm willing to concede that it's plausible that NDIS drivers might be found to be a non-derived work and thus you are distributing them "in aggregate" (assuming you had permission of the NDIS driver copyright holder). However, if it were found to be a violation, the only people who could do anything about it are the authors of NDIS, so it doesn't matter. Which was my point. I mean, I could tell a distribution that they are in violation of the terms, but the only folks with legal standing to actually do anything would be the NDISWrappers author. Which is why it can't be "viral", there is no way the GPL can "attach" itself to the NDIS driver itself. That was what I was driving at.
Kirby
If you distribute the nVidia drivers, the GPL prevents you from distributing the kernel. More accurately, copyright prevents you from distributing the kernel. If you don't distribute the nVidia drivers, then the GPL grants you the permission to distribute the kernel.
Aggregation only applies to completely independent components.
Note: this is not legal advice, and this would need to be tested in court for you to be 100% certain, because it's one of the slightly grey areas of the GPL. What I have said is in line with the view of the FSF, the SFLC, nVidia's legal team, and all Linux distributions that I'm aware of. A sufficiently enterprising lawyer could argue the converse, and may even win in court.
I am TheRaven on Soylent News
Well, if they want a talk about the issue next time, I can hook them up with a lawyer who works with me.
Bruce Perens.
Hi!
"When it comes to Drizzle, you require the code to be under BSD; In practice this is a contributor agreement too."
We don't require contributions to be made under the BSD license, we do ask that new modules are, but that is all. From day one we have never mingled GPL and BSD headers in files. Derived work has always been derived work. We never have had as a goal for Drizzle to be embedded so copyright assignment is not required. Ask Kristian for the IRC conversation I once had with him on this topic where I explained my reasons for this (or... I'll just blog most of them up again: http://krow.livejournal.com/684329.html).
Richard's statements imply that a protocol is somehow wrapped up in licensing. In the US this is just not true (someone in another comment pointed out the Lotus Notes legal case where the FSF argued this itself ). Richard says all sort of things, but it doesn't make an ounce of them all true.
Bradley Kuhn has pointed out that while the FSF has done copyright assignment, it has promised to never assign its rights for commercial purposes. It also doesn't require sign over of all rights to a given body of code. It just asks for enough so that it can be a legal partner in the defense of the GPL should something come to court. That is very different in nature, to the code assignment that occurs when someone is assigning code to a commercial entity.
Cheers,
-Brian
You can't grep a dead tree.
If you don't get contributor agreements you didn't get ownership of the contributed code. You can't assert a copyright on code you don't own. This was a key element in the SCO/Linux suit. SCO didn't own the code it was claiming infringement on.
That's a crap defense! Surely you're not too small just to say "Oops, sorry, my mistake, I take it back" are ya? Don't slate someone on public forum if you can't even man up when you get it wrong, that just makes you come across as a dick, how can that possibly be a good thing?
The revolution will not be televised... but it will have a page on Wikipedia
"then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning"
Just like how the word 'lose' loses it's meaning when spelt 'loose'? ;-)
(sorry couldn't resist)
The revolution will not be televised... but it will have a page on Wikipedia
I guess I was thinking more about the rhetoric RMS uses about linking, about how Linus could enforce his copyrights against Nvidia if he wanted to, etc. and rejecting them. The FSF faq regarding the GPL has stated that such things are GPL violations since well before the GPL v3 was released.
In that theory (RMSs), the GPL work author (Linus) might have standing to sue the ndiswrapper author on the basis that the work is derivative of the Linux kernel (maybe, it is, maybe it isn't, and I am not sure) and that indirectly linking to proprietary drivers violates the license to create derivative works. This is fairly close to the viral derivation arguments raised by SCO against IBM which were thrown out of court. (Basically, SCO argued that if A is derivative of B and B is derivative of C, then A is always derivative of C, but the court said you had to prove that A contained derived components of C in that case.)
Here is another case that comes up more frequently.
OpenRadius (under the GPL v2 as of last time I saw this discussed) has a plugin that allows one to authenticate against PostgreSQL via libpq (BSD licensed). Libpq can optionally be built with SSL support by linking to OpenSSL (old BSD with obnoxious advertising clause). Most distros ship SSL-capable versions of Libpq. So the question becomes whether shipping the Openradius plugin causes licensing issues. If I were maintaining a distro I would argue that it does not cause licensing issues because I don't think indirect linking, esp. of an optional component is sufficient to cause such problems. However Debian has generally gone the other way.
However, if RMS was right, and linking creates derivation, then the license granted to exclude system files is merely granted as a matter of copyright license and not required by copyright law. Such an opinion would, if it turned out to be correct, given Microsoft rights over EVERY piece of software that would run on Windows and allow them to ban as copyright infringement competing word processors and the like.
LedgerSMB: Open source Accounting/ERP
I don't know about you but I always thought "based on" meant "based on" in the same way it was used in copyright law (i.e. the movie was "based on" the book) and aggregation meant the same thing as a "compiled" or "collected" work (i.e. an anthology or a scientific journal).
There are several kinds of works under US copyright law, and the best reading of the GPL v2 only requires passing the license on if it meets the legal definition of "derivative work" (i.e. a work based on another work in the same sense that a movie might be based on a book, or a sequel might be based on the original book).
So let's look about this in the area of published documents. In this area, if I plagiarize or if I translate another work into a new language or medium, I may create my own copyright-worthy work, but it may be derivative of another. I.e. only if I have permission to create derivative works could I legally distribute my own work. This is the sort of permission the GPL grants if my first paragraph is correct, but adds the requirement that the new derivative work must be under the same license.
On the other hand, I could take your articles, add others, bound them together into a single volume and distribute that. This would be mere aggregation under the GPL.
Under this, it is hard to see why linking would be a magic test. After all, suppose I go out to a bunch of astrophysicists and get permission to use a set or articles in a compiled work I will call "Astrophysics Today." I then add cross-referencing footnotes to the articles like [^2, but see page 443, paragraph 2] (which will cause most readers to JMP to page 443, paragraph 2, read that, and then return). Is this suddenly a derivative work instead of a compiled work? I don't think so. But this is arguably the sort of thing the linker does. Linking by default should be seen as creating aggregated works while adding or taking nothing away which is sufficiently expressive to create derivative works.
Now, as I see it, the linking question is not decisive to the question of whether work A is derived from work B. There can be cases where derivation exists where no code is shared in any way. There can be cases where derivation exists where linking exists. There can be cases where no derivation exists where linking exists.
In the first case, suppose I make a video game and release it under a standard Eula. You come along and, without looking at my code, make a clone of that game and release it under the GPL. In all likelihood you are infringing on my copyrights not so much of the software code, but of the audiovisual work component of the game. Most likely I could sue you and win.
In the second case, suppose I make a video game and you create a module for it which, say, makes walls transparent, etc. The combined work as presented to the user becomes derivative of my work and I can sue, particularly due to the audio-visual components. This would be no different if you were using pipes instead of linking.
In the third case, suppose I distribute the Linux kernel, ndiswrapper, and a bunch of proprietary wireless drivers (with the permission of the hardware manufacturer). I don't think even if these link together at runtime it would be any different than assembling a single bound copy of several related scientific articles (and hence aggregation as opposed to being derivation). I don't think Linus could sue me and win.
There are distros that do distribute both the kernel and the nVidia drivers, for example.
The proper way of looking at linking in my view is to ask a few specific questions:
1) Are the interfaces standard? Remove all standard interfaces (API or ABI) from consideration. Hence it doesn't matter what C library you are linking to if you are programming in ANSI C. Similarly it doesn't matter what driver you are using if using ODBC.
2) How tightly bound are the two works? This would require more than knowledge of header structures and probably require some sort of functional assessmen
LedgerSMB: Open source Accounting/ERP
Uh oh, Bruce, are you having a bad day?
You could easily verify from Brian's blog that he nowadays works for nobody, having left Sun some days ago. He works on Drizzle, Monty works on MariaDB, different open source projects.
Monty is spending his time and significant share of money to work on an important GPL licensed piece of software and you're telling him to work on something else?
Brian is speaking up on something that for many years troubled him at MySQL AB. Last time I met you you yourself said that in your opinion MySQL AB FUDded the GPL. Now you attack Brian because of whom you (wrongly!) think he works for, even if what he's saying is something you (used to?) agree with. Is the truth dependent on who is speaking it?
What happened? Where is the real Bruce? Did your account get cracked?
Well, in that context, I want to think differently. I suppose I could be having my cake and eating it too with this interpretation: The derivative work isn't the "derivative work" in the strictly legal meaning, it's a "These are the terms by which I'll extend to you the right to copy my stuff and redistribute it". In that case, I think that RMS is "correct". So if Microsoft put such a term in their EULA or their copyright license, I believe it would be legally binding assuming I agreed to it.
I mean, they could say: "I consider anyone using this software named 'Bob' to have the right to copy this software and re-distribute it to whomever they want", and that'd be a legitimate (if stupid), license.
I mean the copyright owner has strict controls over how their works are used. Just ask Disney. I'm not sure if it'd hold up in a court of law if put under strict scrutinty, but I think that there is nothing legally stopping RMS from saying exactly what you think is bad, if he assembled the legalese correctly.
For better or worse, I'd like to respect the copyright owners wishes. If they told me: "You can't ship libpq that way", I'd just get over it, and move along. Either write an SSL that is GPL-compatible, or re-compile libpq without SSL support. It's their ball, and I'm thrilled they let me play with copies of it.
Kirby
Ok, let's step back a moment here and look at what the issues with both approaches are. I don't think RMS's view here is tenable, and I'll explain why.
In a derivative work, the work is derivative regardless of how it is distributed. I.e. if you write a novel and I write (and publish) an unauthorized sequel to your novel, I am violating your copyrights by producing an unauthorized derivative work. Furthermore, if my novel is translated into, say, Nootka, it doesn't become any less derivative. In essence my book is "based on" your book. If you release your book under the GPL, I have to release my book under the GPL as well. Indeed a derivative work doesn't lose it's status just because of how it is distributed.
On the other hand, suppose you write a whitepaper. I write another whitepaper on a similar topic and distribute the two of them together as a single compiled work (say a single printed work). If I don't have permission from you to do this, I am violating your copyrights by distributing copies of your work without your consent. On the other hand, it is not true that the file as a whole is based on your work. Rather your work forms part of an aggregate which includes your work among others. If your work is under the GPL, I can do this and I dont have to license the joint file or printed volume under the GPL as a whole. Does this make sense?
Now, on to the linking argument. Suppose I take the GCC C extensions, create a new language that is fairly C-like which includes them, and create a module which can only be used via the GCC, which plugs into it, provides a common user experience, etc. there might be an argument that this is a derivative work of the GCC (I personally question this but let's see where this goes). If this is the case, it doesn't matter how it is distributed, it still violates the FSF's copyrights. See their position over the originally proprietary GCC extension for Objective C released by Apple back in the day. Note that Apple was not distributing the GCC.
In essence a derivative work is a derivative work, regardless of how it is distributed. A compiled or collected work is a collection or aggregate of specific other distinct works.
If linking always creates a derivative work then merely compiling against the headers of an open source library is enough to render the work a derivative work and under the ambit of the original author's copyrights. This would mean that any software that could run on Microsoft Windows, by virtue of being compiled against the header files, would be strictly subject to Microsoft's permission and would be illegal to distribute in the absence of such permission. The court in SCO v. IBM did not hold this sort of thing though (looking at questions of header copyrights).
So the question is what the GPL allows and what it doesn't allow. The only line that makes sense is to see derivative works as being under its ambit and compiled/collected works as being unrestricted. Note that a derivative work doesn't suddenly become derivative just because of how it is distributed. Derivative works are derivative in their essential nature.
So the question is:
If I compile a program using MinGW, I am linking against GPL'd components which are compiled against Windows system libraries. The GPL allows this. But to do this I haven't obtained a license from Microsoft. Does this mean anything I compile in this way is an unauthorized derivative work of Windows?
LedgerSMB: Open source Accounting/ERP
I think you missed what I was trying to say, so one more go at that. Replace the legally loaded concept of "derivative work" in the GPL, with "morality". The crux of the GPL is to say: "Here are the properties I consider moral, and if your software when added to these is still moral, then you have my blessing and permission to redistribute the modified version of the software. If I don't consider your software moral, then you can use your modified software and do anything you want with it, but you can't redistribute it to others". I use "moral" because it'd make RMS happy, not because I in any way agree with the whole "free-software-as-morality" movement the FSF is trying to lead. You could change that to be moral to be "baz" and immoral to "non-baz", and nothing about the discussion changes.
A copyright holder has that right. Now the GPL might have mixed legal metaphors and what not, I'm not a lawyer, I don't really want to debate the finer points of copyright law, or the finer points of the legal text of the GPL. The crux of what I'm saying is that the legal definition of derivative work isn't the point, what the copyright holder wishes to allow is. The GPL is about giving you rights you otherwise don't have if the copyright holder approves. The GPL (v2 especially) might have flubbed on that, and I really don't care, that's just a "bug" to be fixed by releasing a new license with better legalese. I thought that was one of the reasons that GPLv3 moved away from the concept of "derivative work".
I grok derivative works, and could have laid most of what you said out for you. I'm a bit fuzzy on the "collective copyright" vs. individual copyright, and how the details work out there, but conceptually I've got derivative work down. It agrees strongly with what you're saying.
Kirby
I think the FSF is fairly clear in their actions that they believe "based on" to mean "derivative of."
If linking doesn't make a work derivative, then the components to be linked later on can be distributed separately (as Apple tried to do with the Objective C plugins for the GCC). The FSF threatened to sue Apple over this and Apple capitulated, meaning that the FSF believed that Apple's modules which were compiled in order to be linked with the GCC were derivative works, or at least said so. Otherwise Apple would not have been arguably violating the FSF's copyrights by that separate distribution. In essence what MySQL is accused of doing here, they just copied from the FSF.
The FSF seems to draw the line at what RMS and Eben Moglen seem to think is a "derivative work." I happen to think it is about as correct as SCO's definition in SCO v. IBM (indeed it is not far different). (I am actually somewhat thankful that SCO made their lawsuit because it helps clear up a lot of issues regarding copyright and open source software.) This view of derivation however is pretty much unique to RMS, Moglen, and their followers.
(Collective copyright is a different issue entirely and largely makes joint owners unable to sue eachother for license violations. This leads to interesting questions which I think cause folks to be far more concerned than they should be. For example, if the Linux kernel has many joint authors, I don't think that any one of them could just break from the GPL and start selling a proprietary version. I say this because there are likely to be identifiable works within the Linux kernel which might not be jointly owned, such as different files or functional units like filesystem drivers. Otherwise contributing to XFS would give you a right to misappropriate JFS and I just don't see a court allowing that.)
LedgerSMB: Open source Accounting/ERP
(The GPL v3 is closer to what you are saying RMS could do. However I think that license needs to be read fairly narrowly because reading it expansively makes it incompatible with any BSD-style license. The issue here has to do with what "additional permissions" are and who can revoke them.)
LedgerSMB: Open source Accounting/ERP
Fair enough, in the end, I think that Linus got this right by saying: If it exists only to work with this GPL'ed software, then it's a derivative work, if it has standalone functionality then it ain't a derivative work. Which is roughly the resolution to virtually all of the cases described. So lets see if I got the logic on all this right:
Which seems pretty sensible, and appears to be what you're saying is came out of the IBM case? I think if you use the "line of thought" from the GPL FAQ about "shared data structures implies derivative works", that also lines up with the above thought processes. The FSF might not agree with that interpretation, but it would sure seem a very sensible line of demarcation. I'd have to ponder strange corner cases carefully.
Kirby
I think Linus's view is correct for the most part. I would add that there seems to be a "tightly bound" requirement as well. For example, if I write shell scripts that parse some Linux-specific stuff in the proc filesystem, I don't think either he or I would suggest that shell script is derivative of the Linux kernel.
I would argue one would still have to look at an abstraction-filtration-comparison (aka AFC or Gates Rubber) type analysis to see whether a work is derivative, but some general indications might be how much functional dependency exists, whether the work was originally developed for a different application, etc.
But this leads to some odd issues. It might mean, for example, that the XFS and JFS drivers might not be strictly derivative of the Linux kernel but the Objective C plugin to the GCC might. Yet that doesn't seem very satisfying if that is where the line is drawn.
Regarding the FSF's position on shared data structures, I don't know. It would seem to imply some sorts of control via copyright law that, if were correct, would allow Microsoft total control over all software running on their platform. Does this suddenly change just because the developer writes the code to work on WINE or ndiswrapper too?
In the end I think certain types of sharing of data structures would imply derivation, while certain types of sharing wouldn't. If we are working in C++ and my program inherits your data structures, I think that would be clear derivation. If the data structures are used extensively and deeply, and the program is deeply coded around the shared data structures, I would think it would be derivative. On the other hand, if the program was coded separately and then a glue layer handled the differences in data structures, I would be hard pressed to call that derivative. In short I think it requires more than just sharing data structures or including a .h file.
(AFC analysis means that you abstract the works out, filter out elements that are not protected by copyright law, and compare what is left. Purely functional elements would not be protected and many shared data structures may fit there.)
(The parallel issues which occurred in SCO was whether header files were subject to copyright and whether derivation was contagious.)
LedgerSMB: Open source Accounting/ERP
The crux of what I'm saying is that the legal definition of derivative work isn't the point, what the copyright holder wishes to allow is. The GPL is about giving you rights you otherwise don't have if the copyright holder approves. The GPL (v2 especially) might have flubbed on that, and I really don't care, that's just a "bug" to be fixed by releasing a new license with better legalese.
Except GPLv2 was advertised as a "Copyleft" license that relied entirely on copyright law for enforcement and had zero EULA conditions.
Any defects in that approach wasn't simply a "flub" it was the whole "point" of the exercise.
Plus, even if you believe it was just an oversight on the FSF's part, at this point there are many free software developers (like Linus Torvolds) that don't want a license that extends beyond copyright law.
Business. Numbers. Money. People. Computer World.
Except the whole point is that it was relicensed under the AGPL (i.e. any web service based around the library has to release its code), and the main use of the code was in websites to generate documents like invoices.
Well the same applies to AGPL. I quote:
"Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version ".
In other means you still only have to distribute source to the users of your service. If used internally this is still 'internal distribution' as mentioned above.