Oracle continue to circumvent EXPORT_SYMBOL_GPL()
mjg59.dreamwidth.org
mjg59.dreamwidth.org
My managing director dictated Libre Office over Open Office because it solves his problems with OO.
My dev team are keen as mustard to replace the remaining MySQL instances with MariaDB. Supporting an opaque platform that in turn is not likely to be supported by the distro's we use is not an appealing proposition.
Oracle respin of Red Hat was never an appealing option. We're a SUSE crowd at heart anyway.
From Oracles offerings (the ones they bought, we'll never use oracle DB) that leaves Java as a language and tool set. Dev time is too costly, the language is too clunky, the memory pressure is too high.
Are there languages out there with lower memory pressure that cost less in dev time?
I can say, "Language X is designed to be fast". But that doesn't tell you what it is good for.
What if I say "Language X is designed to be faster than Python"? Doesn't that tell you way more about Language X?
It's worth keeping in mind that the "dev time" is a function of existing libraries, internal and external. At any fairly large company (e.g. Google) that has many existing internal libraries in some language (java), the dev time will be massive to switch. By this logic, the dev time is too costly for absolutely any language you pick other than the one being used. There is little exception to this.
For a programmer or programmers with no legacy cruft, I'd argue that dev time is more a function of the programmer's familiarity with a language than the language itself. Perhaps there are a few exceptions to that, but in general I don't think that a language should be described as "too" anything. Java might be memory inefficient, but does that mean it's usage "too high"? Clearly not for some people as it's still used frequently.
Oracle's association with pretty much any product (free software or otherwise) is enough for me to head in the other direction, and those are the recommendations I pass on to my clients, employers, and/or others asking for recommendations.
Things have gone too far when you start namespacing by license.
Here's an example of Microsoft suing TomTom over components of the off-the-shelf Linux kernel.
> How does that help exactly?
Here's what GP asked about:
> Programming like that must be an absolute nightmare. Not only would have to understand the convoluted API scheme, you'd have to research the origins to see if you can legally use it.
So, I guess the answer is "because if you take my (and every other kernel developer's) advice, you don't have to program like that." Was the not clear? Sorry.
I guess the follow up question is, what the hell does the Tom Tom case have to do with GP's question?
More importantly, why is there no high resolution clock available from EXPORT_SYMBOL()? Is it deliberately gimped, or is there issues with getting such a piece of software into the kernel whilst not being GPL'd?
Yes. It's deliberately gimped because the author of the function decided Freedom™ is more important than functionality and so they hid it behind a license check.
Most new symbols exported after its introduction are exported with the GPL check. See this for more info: http://lkml.iu.edu/hypermail/linux/kernel/0110.2/0369.html
Would have been a good comment without that remark, and almost certainly why you got downvoted. I gave you an upvote anyways, because the link is actually relevant and helpful.
The question is "does my modification to the kernel make a derivative work?" The _GPL defines are there to warn developers "Yes, using this function means you're probably doing something derivative."
In short, Oracle knew what they were doing, knew it was wrong, and are doing it anyways. Now it just comes down to the lawyers arguing whether DTrace becomes a derivative work or not, when and if someone files suit against them for not being able to use DTrace on TheirLinux.
Maybe when more people realise the distinctly unique aspects of digital data and how, for lack of better words, pliable and copyable it is, we can have a real copyright reform. Of course that requires the population understand this type of thing, but a copyright reform is exactly what companies like Oracle don't want, so the probability is pretty low...
As that author of the product, I took a different approach to the GPL symbols - one which may be questionable, but nobody has raised the issue as yet.
Yes, GPL symbols are problematic, and the dtrace4linux is CDDL - the GPL vs CDDL - means its impossible, from a legal perspective to get the balance right. That does not preclude generation of a useful tool - the beauty of all open source - is the ability to learn from it.
CDDL is a bit weird. It's a free license that has a pointless restriction merely in order to make it GPL incompatible. Why people want to make things deliberately GPL incompatible is beyond me.
It didn't make itself "deliberately incompatible" with all free licenses before it, for example MIT/X11 is definitely compatible. Why is the original BSD license singled out?
https://www.gnu.org/philosophy/bsd.html
Many people besides you believe proprietary software is harmful enough to enact defense mechanisms when proprietary software vendors harm the user and lock down free software into their products.
Well, we're in a thread in an article about the GPL, what did you expect? :-)
Furthermore, I'd argue that a lot of those defense mechanisms that copyleft supporters claim are necessary cause much more harm to Free Software than they do to proprietary software. The ability to use GCC for static analysis, for example, was muddied for many years by the GCC team's unwillingness to create a suitable API out of fear that it would become easier for proprietary software teams to use GCC without contributing. Meanwhile, proprietary compiler chains, like those Microsoft provided, were easily able to create those same tools because they were not driven by such fears. Additionally, you have statements from people like RMS trying to memory hole software ( http://gcc.gnu.org/ml/gcc/2001-02/msg00895.html ) that doesn't agree with his political views. While the goals may be noble, the route the free software community has chosen to get there has devolved into stubbornness and childishness to the detriment of everyone.
That is irrelevant if DTrace used copyright assignment to ensure that there was always one copyright holder, regardless of the number or affiliations of contributors. I honestly don't know if they did or not, but from what I've heard in this thread it sounds like they did.
http://en.wikipedia.org/wiki/Common_Development_and_Distribu...
I would like to know your source or methodology for making that statement.
Freshmeat: 21185 projects tagged "GPL", 49 projects tagged "CDDL", 2500 projects tagged "BSD", 1807 projects tagged "BSD Revised", 1311 projects tagged "MIT/X", 1079 projects tagged "Apache 2.0", 314 projects tagged "MPL"
Sourceforge: of 1236 "OSI Approved" listed via the search refinement interface, 983 GPLv2, 22 BSD, 10 Apache 2.0, 8 MIT.
Unfortunately, neither Github or Oholo provide aggregated license information or it's not easy to find [0]. I did find this two year old post [1] about licenses of the most watched repositories on github, but popularity of the project isn't necessarily an indicator of popularity of the use of the license -- except as much as the type of license indicates which projects people will want to use because the the license lets them contribute. I do vaguely remember some random blog posts that attempted to do license counts in a repeatable and objective way, but my google-fu is failing me right now.
These are hardly conclusive numbers, and it becomes difficult to consider it in aggregate. Is all of OpenBSD considered one "project", as it's effectively distributed as one piece, or are the individual components themselves projects? Is everything in GNU core-utils one project? Maybe each binary counts as the use of the license. However, just going by these services' self-promoted "project" delineation being ~10x in favor of GPL (GPLv3, LGPL may or may not be included in the above numbers), the non-GPL licenses seem to be significantly low enough that "The GPL is the world's most popular license" may be a reasonably safe, even if not entirely accurate, position to take. I suspect that if you pick 10 projects at random, more than half of them will be GPL.
[0] A four year old post on this not being straight forward on github at that time. https://groups.google.com/forum/#!topic/github/9WH6LtsPYtM
If you summarize for GPL/LGPL and what projects are compatible, it winds up being about 45% of projects GPL/LGPL and up to 87% or more of all open source projects are compatible with the license. I go over it in a handy chart here: http://johnhaller.com/useful-stuff/open-source-license-popul...
As thwarted said, it can be problematic looking at 'projects' as something like bootstrap on github, which is MIT licensed, has over 24,000 forks. Now, most of those are nonsense and have no changes (or at least nothing useful) but do you count that as 24,000 projects?
Beyond that, given how Linus himself thinks that 'Making Linux GPL'd was definitely the best thing I ever did. ' and him attributing it as being a huge part of why Linux became such a success, I'd say there would zero chance of a Linux license change even if it was all up to Linus, which of course it is not.
The GPL is picky about what licenses are compatible with it (or more specifically, what licensing terms), and for very good reasons given its intended purpose (to promote the availability of yet more GPLd code).
The misrepresentation is of the module as being validly licensed under the GNU GPL where it clearly isn't. In an earlier case concerning copyright, the question rose whether or not a brief citation for functional reasons was valid or an infringement of copyright. The court's decision was that a literal quoting that served functional purpose was not, in fact, a violation of copyright.
https://en.wikipedia.org/wiki/Sega_v._Accolade
The case with regards Oracle involves the use of one of two largely equivalent mechanisms. As the article discusses:
The kernel actually has two levels of exposed (non-userspace) API - those exported via EXPORT_SYMBOL() and those exported via EXPORT_SYMBOL_GPL(). Symbols exported via EXPORT_SYMBOL_GPL() may only be used by modules that claim to be GPLed, with the kernel refusing to load them otherwise. There is no technical limitation on the use of symbols exported via EXPORT_SYMBOL().
Use of EXPORT_SYMBOL and EXPORT_SYMBOL_GPL are equivalent except for the expressed compatibility with the GPL license. Use of EXPORT_SYMBOL_GPL where it's not justified is making a claim about suitability of use. That is the basis for my fraud claim.
This makes me wonder how easy it would be to write a (GPL'd) kernel module whose only purpose is to scan for and NOP out these silly checks!
Props to Oracle for taking the "fuck you" approach with this. And a "fuck you" to Oracle for everything else they've done...